scrabble-solver 2.10.7 → 2.10.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/babel.config.js +1 -1
- package/lerna.json +1 -1
- package/package.json +3 -3
- package/packages/configs/package-lock.json +4 -4
- package/packages/configs/package.json +3 -3
- package/packages/constants/package-lock.json +2 -2
- package/packages/constants/package.json +1 -1
- package/packages/dictionaries/package-lock.json +2 -2
- package/packages/dictionaries/package.json +4 -4
- package/packages/logger/package-lock.json +2 -2
- package/packages/logger/package.json +1 -1
- package/packages/scrabble-solver/.next/BUILD_ID +1 -1
- package/packages/scrabble-solver/.next/build-manifest.json +15 -21
- package/packages/scrabble-solver/.next/cache/.tsbuildinfo +1 -1
- package/packages/scrabble-solver/.next/cache/eslint/.cache_8dgz12 +1 -1
- package/packages/scrabble-solver/.next/cache/next-server.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/cache/webpack/client-production/0.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/0.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-production/0.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack +0 -0
- package/packages/scrabble-solver/.next/images-manifest.json +1 -1
- package/packages/scrabble-solver/.next/next-server.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/prerender-manifest.json +1 -1
- package/packages/scrabble-solver/.next/required-server-files.json +1 -1
- package/packages/scrabble-solver/.next/routes-manifest.json +1 -1
- package/packages/scrabble-solver/.next/server/chunks/176.js +4603 -395
- package/packages/scrabble-solver/.next/server/chunks/664.js +27 -2414
- package/packages/scrabble-solver/.next/server/chunks/859.js +29 -1
- package/packages/scrabble-solver/.next/server/font-loader-manifest.js +1 -0
- package/packages/scrabble-solver/.next/server/font-loader-manifest.json +6 -0
- package/packages/scrabble-solver/.next/server/middleware-build-manifest.js +1 -1
- package/packages/scrabble-solver/.next/server/pages/404.html +2 -2
- package/packages/scrabble-solver/.next/server/pages/404.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/500.html +1 -12
- package/packages/scrabble-solver/.next/server/pages/_app.js +176 -13
- package/packages/scrabble-solver/.next/server/pages/_app.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/_document.js +1 -1
- package/packages/scrabble-solver/.next/server/pages/_document.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/_error.js +133 -17
- package/packages/scrabble-solver/.next/server/pages/_error.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/api/solve.js +16 -0
- package/packages/scrabble-solver/.next/server/pages/index.html +1 -9
- package/packages/scrabble-solver/.next/server/pages/index.js +52 -165
- package/packages/scrabble-solver/.next/server/pages/index.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/index.json +1 -1
- package/packages/scrabble-solver/.next/server/pages-manifest.json +1 -1
- package/packages/scrabble-solver/.next/static/chunks/main-74c4d6b2b5c362f3.js +1 -0
- package/packages/scrabble-solver/.next/static/chunks/pages/{404-67383848027ec49b.js → 404-d5ff00df1c687977.js} +1 -1
- package/packages/scrabble-solver/.next/static/chunks/pages/_app-52cb288dc680bdfe.js +28 -0
- package/packages/scrabble-solver/.next/static/chunks/pages/index-5c2544930e46c5ce.js +1 -0
- package/packages/scrabble-solver/.next/static/chunks/webpack-6ef43a8d4a395f49.js +1 -0
- package/packages/scrabble-solver/.next/static/css/ec4e47a6b1866fe5.css +1 -0
- package/packages/scrabble-solver/.next/static/css/f65b7b2a74f57c1c.css +2 -0
- package/packages/scrabble-solver/.next/static/fZRsz4P0gQ8Wgb9jP8eap/_buildManifest.js +1 -0
- package/packages/scrabble-solver/.next/trace +55 -55
- package/packages/scrabble-solver/package-lock.json +255 -122
- package/packages/scrabble-solver/package.json +11 -9
- package/packages/scrabble-solver/src/components/Badge/Badge.module.scss +1 -1
- package/packages/scrabble-solver/src/components/Board/Board.module.scss +14 -0
- package/packages/scrabble-solver/src/components/Board/Board.tsx +117 -19
- package/packages/scrabble-solver/src/components/Board/BoardPure.tsx +7 -15
- package/packages/scrabble-solver/src/components/Board/components/Actions/Actions.module.scss +64 -0
- package/packages/scrabble-solver/src/components/Board/components/Actions/Actions.tsx +68 -0
- package/packages/scrabble-solver/src/components/Board/components/Actions/index.ts +1 -0
- package/packages/scrabble-solver/src/components/Board/components/Cell/Cell.module.scss +22 -165
- package/packages/scrabble-solver/src/components/Board/components/Cell/Cell.tsx +0 -37
- package/packages/scrabble-solver/src/components/Board/components/Cell/CellPure.tsx +5 -75
- package/packages/scrabble-solver/src/components/Board/components/index.ts +1 -0
- package/packages/scrabble-solver/src/components/Board/hooks/useGrid.ts +16 -16
- package/packages/scrabble-solver/src/components/Button/Button.module.scss +3 -3
- package/packages/scrabble-solver/src/components/Checkbox/Checkbox.tsx +1 -4
- package/packages/scrabble-solver/src/components/Dictionary/Dictionary.tsx +28 -30
- package/packages/scrabble-solver/src/components/DictionaryInput/DictionaryInput.tsx +3 -0
- package/packages/scrabble-solver/src/components/Key/Key.module.scss +1 -1
- package/packages/scrabble-solver/src/components/LogoSplashScreen/LogoSplashScreen.module.scss +1 -1
- package/packages/scrabble-solver/src/components/Modal/Modal.module.scss +4 -2
- package/packages/scrabble-solver/src/components/Rack/Rack.module.scss +5 -0
- package/packages/scrabble-solver/src/components/Radio/Radio.tsx +1 -4
- package/packages/scrabble-solver/src/components/Results/Results.module.scss +2 -2
- package/packages/scrabble-solver/src/components/SeoMessage/SeoMessage.tsx +19 -0
- package/packages/scrabble-solver/src/components/SeoMessage/index.ts +1 -0
- package/packages/scrabble-solver/src/components/Solver/Solver.module.scss +0 -5
- package/packages/scrabble-solver/src/components/Solver/Solver.tsx +1 -1
- package/packages/scrabble-solver/src/components/Solver/components/EmptyState/EmptyState.module.scss +1 -1
- package/packages/scrabble-solver/src/components/Solver/components/ResultCandidatePicker/ResultCandidatePicker.module.scss +9 -2
- package/packages/scrabble-solver/src/components/Solver/components/ResultCandidatePicker/ResultCandidatePicker.tsx +2 -1
- package/packages/scrabble-solver/src/components/Tile/Tile.module.scss +23 -11
- package/packages/scrabble-solver/src/components/Tile/Tile.tsx +26 -9
- package/packages/scrabble-solver/src/components/Tile/TilePure.tsx +9 -4
- package/packages/scrabble-solver/src/components/Tooltip/Tooltip.module.scss +7 -7
- package/packages/scrabble-solver/src/components/index.ts +1 -0
- package/packages/scrabble-solver/src/hooks/useLocalStorage/useLocalStorageBoard.ts +6 -3
- package/packages/scrabble-solver/src/hooks/useLocalStorage/useLocalStorageConfigId.ts +6 -3
- package/packages/scrabble-solver/src/hooks/useLocalStorage/useLocalStorageLocale.ts +6 -3
- package/packages/scrabble-solver/src/hooks/useLocalStorage/useLocalStorageRack.ts +6 -3
- package/packages/scrabble-solver/src/i18n/de.json +1 -0
- package/packages/scrabble-solver/src/i18n/en.json +1 -0
- package/packages/scrabble-solver/src/i18n/es.json +1 -0
- package/packages/scrabble-solver/src/i18n/fa.json +1 -0
- package/packages/scrabble-solver/src/i18n/fr.json +1 -0
- package/packages/scrabble-solver/src/i18n/pl.json +1 -0
- package/packages/scrabble-solver/src/icons/Flag.svg +2 -2
- package/packages/scrabble-solver/src/icons/FlagFill.svg +4 -0
- package/packages/scrabble-solver/src/icons/Square.svg +4 -0
- package/packages/scrabble-solver/src/icons/SquareFill.svg +4 -0
- package/packages/scrabble-solver/src/icons/index.ts +3 -0
- package/packages/scrabble-solver/src/modals/RemainingTilesModal/components/Character/Character.module.scss +1 -1
- package/packages/scrabble-solver/src/modals/ResultsModal/ResultsModal.module.scss +1 -1
- package/packages/scrabble-solver/src/modals/SettingsModal/components/AutoGroupTilesSetting/AutoGroupTilesSetting.tsx +1 -2
- package/packages/scrabble-solver/src/modals/SettingsModal/components/ConfigSetting/ConfigSetting.module.scss +1 -1
- package/packages/scrabble-solver/src/modals/SettingsModal/components/ConfigSetting/ConfigSetting.tsx +1 -2
- package/packages/scrabble-solver/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.module.scss +14 -24
- package/packages/scrabble-solver/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.tsx +1 -2
- package/packages/scrabble-solver/src/pages/_app.tsx +9 -5
- package/packages/scrabble-solver/src/pages/index.module.scss +1 -2
- package/packages/scrabble-solver/src/pages/index.tsx +10 -8
- package/packages/scrabble-solver/src/parameters/index.ts +12 -0
- package/packages/scrabble-solver/src/state/slices/boardSlice.ts +5 -5
- package/packages/scrabble-solver/src/styles/animations.scss +10 -0
- package/packages/scrabble-solver/src/styles/global.scss +2 -2
- package/packages/scrabble-solver/src/styles/mixins.scss +60 -3
- package/packages/scrabble-solver/src/styles/variables.scss +43 -33
- package/packages/scrabble-solver/src/types/index.ts +1 -0
- package/packages/solver/package-lock.json +2 -2
- package/packages/solver/package.json +5 -5
- package/packages/types/package-lock.json +3 -3
- package/packages/types/package.json +2 -2
- package/packages/word-definitions/package-lock.json +2 -2
- package/packages/word-definitions/package.json +2 -2
- package/packages/word-lists/package-lock.json +2 -2
- package/packages/word-lists/package.json +2 -2
- package/packages/scrabble-solver/.next/server/chunks/210.js +0 -122
- package/packages/scrabble-solver/.next/server/chunks/579.js +0 -3925
- package/packages/scrabble-solver/.next/server/chunks/676.js +0 -32
- package/packages/scrabble-solver/.next/static/6RggBFm8kHrh-k1-CG3um/_buildManifest.js +0 -1
- package/packages/scrabble-solver/.next/static/chunks/490-d29992f1c264d70e.js +0 -5
- package/packages/scrabble-solver/.next/static/chunks/509-6ad4482d4351452c.js +0 -1
- package/packages/scrabble-solver/.next/static/chunks/main-f11614d8aa7ee555.js +0 -1
- package/packages/scrabble-solver/.next/static/chunks/pages/_app-c58cfa832b76cc87.js +0 -24
- package/packages/scrabble-solver/.next/static/chunks/pages/index-146039f501e49c08.js +0 -1
- package/packages/scrabble-solver/.next/static/chunks/webpack-59c5c889f52620d6.js +0 -1
- package/packages/scrabble-solver/.next/static/css/4482c4a0064d3807.css +0 -1
- package/packages/scrabble-solver/.next/static/css/78e42ad01f580f64.css +0 -1
- package/packages/scrabble-solver/.next/static/css/9d1013ec684361b9.css +0 -1
- package/packages/scrabble-solver/src/components/Board/components/Cell/Button.tsx +0 -32
- /package/packages/scrabble-solver/.next/static/{6RggBFm8kHrh-k1-CG3um → fZRsz4P0gQ8Wgb9jP8eap}/_ssgManifest.js +0 -0
|
@@ -3,6 +3,7 @@ import Head from 'next/head';
|
|
|
3
3
|
import { FunctionComponent } from 'react';
|
|
4
4
|
import { Provider } from 'react-redux';
|
|
5
5
|
|
|
6
|
+
import { SeoMessage } from 'components';
|
|
6
7
|
import { createAppStore } from 'state';
|
|
7
8
|
|
|
8
9
|
import 'styles/global.scss';
|
|
@@ -10,10 +11,16 @@ import 'styles/global.scss';
|
|
|
10
11
|
const DESCRIPTION =
|
|
11
12
|
// eslint-disable-next-line max-len
|
|
12
13
|
'Scrabble Solver 2 - 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.';
|
|
14
|
+
|
|
13
15
|
const KEYWORDS = [
|
|
16
|
+
'Scrabble Solver',
|
|
14
17
|
'Scrabble',
|
|
15
18
|
'Solver',
|
|
19
|
+
'Board',
|
|
16
20
|
'Open-source',
|
|
21
|
+
'Open',
|
|
22
|
+
'Source',
|
|
23
|
+
'Word',
|
|
17
24
|
'Finder',
|
|
18
25
|
'Cheating',
|
|
19
26
|
'Literaki',
|
|
@@ -22,6 +29,7 @@ const KEYWORDS = [
|
|
|
22
29
|
'Français',
|
|
23
30
|
'Deutsch',
|
|
24
31
|
'Polski',
|
|
32
|
+
'فارسی',
|
|
25
33
|
'Español',
|
|
26
34
|
'SOWPODS',
|
|
27
35
|
'TWL06',
|
|
@@ -55,11 +63,7 @@ const App: FunctionComponent<AppProps> = ({ Component, pageProps }) => (
|
|
|
55
63
|
</Head>
|
|
56
64
|
|
|
57
65
|
<Provider store={store}>
|
|
58
|
-
<
|
|
59
|
-
Scrabble Solver 2 is a free and open-source analysis tool for Scrabble and Literaki. Quickly find top scoring
|
|
60
|
-
words using given letters and board state. Available in English, French, German, Polish & Spanish. Source code
|
|
61
|
-
is available on GitHub - contributions are welcome!
|
|
62
|
-
</p>
|
|
66
|
+
<SeoMessage />
|
|
63
67
|
<Component {...pageProps} />
|
|
64
68
|
</Provider>
|
|
65
69
|
</>
|
|
@@ -76,6 +76,10 @@ const Index: FunctionComponent<Props> = ({ version }) => {
|
|
|
76
76
|
}
|
|
77
77
|
}, []);
|
|
78
78
|
|
|
79
|
+
if (!isClient) {
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
|
|
79
83
|
return (
|
|
80
84
|
<>
|
|
81
85
|
<SvgFontFix />
|
|
@@ -100,14 +104,12 @@ const Index: FunctionComponent<Props> = ({ version }) => {
|
|
|
100
104
|
</div>
|
|
101
105
|
</div>
|
|
102
106
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
/>
|
|
110
|
-
)}
|
|
107
|
+
<Solver
|
|
108
|
+
className={styles.solver}
|
|
109
|
+
height={solverHeight}
|
|
110
|
+
width={solverWidth}
|
|
111
|
+
onShowResults={() => setShowResults(true)}
|
|
112
|
+
/>
|
|
111
113
|
</div>
|
|
112
114
|
|
|
113
115
|
<MenuModal
|
|
@@ -6,6 +6,9 @@ export const BREAKPOINTS = {
|
|
|
6
6
|
xl: 1400,
|
|
7
7
|
};
|
|
8
8
|
|
|
9
|
+
export const EASE_OUT_CUBIC = 'cubic-bezier(0.33, 1, 0.68, 1)'; // https://easings.net/#easeOutCubic
|
|
10
|
+
export const TRANSITION = 'var(--transition)';
|
|
11
|
+
|
|
9
12
|
export const GITHUB_PROJECT_URL = 'https://github.com/kamilmielnik/scrabble-solver';
|
|
10
13
|
|
|
11
14
|
export const INITIALIZATION_DURATION = 100;
|
|
@@ -21,6 +24,7 @@ export const COLOR_YELLOW = '#efe3ae';
|
|
|
21
24
|
export const COMPONENTS_SPACING = 40;
|
|
22
25
|
export const COMPONENTS_SPACING_SMALL = 20;
|
|
23
26
|
|
|
27
|
+
export const BOARD_CELL_ACTIONS_OFFSET = 3;
|
|
24
28
|
export const BOARD_CELL_BORDER_WIDTH = 1;
|
|
25
29
|
export const BOARD_TILE_FONT_SIZE_MIN = 14;
|
|
26
30
|
export const BOARD_TILE_FONT_SIZE_POINTS_MIN = 10;
|
|
@@ -72,3 +76,11 @@ export const REMAINING_TILES_TILE_SIZE = 50;
|
|
|
72
76
|
export const RESULTS_HEADER_HEIGHT = 34;
|
|
73
77
|
export const RESULTS_ITEM_HEIGHT = 40;
|
|
74
78
|
export const RESULTS_INPUT_HEIGHT = 40;
|
|
79
|
+
|
|
80
|
+
export const TILE_APPEAR_DURATION = 200;
|
|
81
|
+
|
|
82
|
+
export const TILE_APPEAR_KEYFRAMES = [
|
|
83
|
+
{ transform: 'translateY(0)' },
|
|
84
|
+
{ transform: 'translateY(10%)', offset: 0.5 },
|
|
85
|
+
{ transform: 'translateY(0)' },
|
|
86
|
+
];
|
|
@@ -19,6 +19,11 @@ const boardSlice = createSlice({
|
|
|
19
19
|
return newBoard;
|
|
20
20
|
},
|
|
21
21
|
|
|
22
|
+
change: (_state, action: PayloadAction<Board>) => {
|
|
23
|
+
const board = action.payload;
|
|
24
|
+
return board;
|
|
25
|
+
},
|
|
26
|
+
|
|
22
27
|
changeCellValue: (state, action: PayloadAction<{ value: string; x: number; y: number }>) => {
|
|
23
28
|
const newBoard = state.clone();
|
|
24
29
|
const { value, x, y } = action.payload;
|
|
@@ -32,11 +37,6 @@ const boardSlice = createSlice({
|
|
|
32
37
|
return newBoard;
|
|
33
38
|
},
|
|
34
39
|
|
|
35
|
-
change: (_state, action: PayloadAction<Board>) => {
|
|
36
|
-
const board = action.payload;
|
|
37
|
-
return board;
|
|
38
|
-
},
|
|
39
|
-
|
|
40
40
|
init: (_state, action: PayloadAction<Board>) => {
|
|
41
41
|
const board = action.payload;
|
|
42
42
|
return board;
|
|
@@ -16,6 +16,8 @@ $media-expressions: (
|
|
|
16
16
|
* It does not work when applied on input elements.
|
|
17
17
|
*/
|
|
18
18
|
@mixin focus-effect {
|
|
19
|
+
--focus-effect--size: 6px;
|
|
20
|
+
|
|
19
21
|
position: relative;
|
|
20
22
|
|
|
21
23
|
&::after {
|
|
@@ -25,10 +27,10 @@ $media-expressions: (
|
|
|
25
27
|
right: 0;
|
|
26
28
|
bottom: 0;
|
|
27
29
|
left: 0;
|
|
28
|
-
z-index:
|
|
30
|
+
z-index: var(--z-index--focus-effect);
|
|
29
31
|
transition: var(--transition);
|
|
30
32
|
border-radius: var(--border--radius);
|
|
31
|
-
box-shadow: 0 0 0 var(--
|
|
33
|
+
box-shadow: 0 0 0 var(--focus-effect--size) transparent;
|
|
32
34
|
pointer-events: none;
|
|
33
35
|
}
|
|
34
36
|
|
|
@@ -39,7 +41,7 @@ $media-expressions: (
|
|
|
39
41
|
}
|
|
40
42
|
|
|
41
43
|
&::after {
|
|
42
|
-
box-shadow: 0 0 0 var(--
|
|
44
|
+
box-shadow: 0 0 0 var(--focus-effect--size) var(--color--focus);
|
|
43
45
|
}
|
|
44
46
|
}
|
|
45
47
|
}
|
|
@@ -86,3 +88,58 @@ $media-expressions: (
|
|
|
86
88
|
text-shadow: $size 0 $color, (-$size) 0 $color, 0 $size $color, 0 (-$size) $color, (-$size) (-$size) $color,
|
|
87
89
|
(-$size) $size $color, $size (-$size) $color, $size $size $color;
|
|
88
90
|
}
|
|
91
|
+
|
|
92
|
+
@mixin lighthouse-input-size-hack {
|
|
93
|
+
// Hack for this Lighthouse warning:
|
|
94
|
+
// > Interactive elements like buttons and links should be large enough (48x48px), and have
|
|
95
|
+
// > enough space around them, to be easy enough to tap without overlapping onto other elements.
|
|
96
|
+
|
|
97
|
+
input {
|
|
98
|
+
position: absolute;
|
|
99
|
+
top: -100%;
|
|
100
|
+
left: -100%;
|
|
101
|
+
width: 300%;
|
|
102
|
+
height: 300%;
|
|
103
|
+
clip-path: inset((100% / 3));
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
[dir='ltr'] & {
|
|
107
|
+
&:nth-child(1),
|
|
108
|
+
&:nth-child(2),
|
|
109
|
+
&:nth-child(3) {
|
|
110
|
+
input {
|
|
111
|
+
left: 0;
|
|
112
|
+
clip-path: polygon(0 (100% / 3), (100% / 3) (100% / 3), (100% / 3) (200% / 3), 0 (200% / 3));
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
&:nth-last-child(1),
|
|
117
|
+
&:nth-last-child(2),
|
|
118
|
+
&:nth-last-child(3) {
|
|
119
|
+
input {
|
|
120
|
+
left: -200%;
|
|
121
|
+
clip-path: polygon((200% / 3) (100% / 3), 100% (100% / 3), 100% (200% / 3), (200% / 3) (200% / 3));
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
[dir='rtl'] & {
|
|
127
|
+
&:nth-child(1),
|
|
128
|
+
&:nth-child(2),
|
|
129
|
+
&:nth-child(3) {
|
|
130
|
+
input {
|
|
131
|
+
left: -200%;
|
|
132
|
+
clip-path: polygon((200% / 3) (100% / 3), 100% (100% / 3), 100% (200% / 3), (200% / 3) (200% / 3));
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
&:nth-last-child(1),
|
|
137
|
+
&:nth-last-child(2),
|
|
138
|
+
&:nth-last-child(3) {
|
|
139
|
+
input {
|
|
140
|
+
left: 0;
|
|
141
|
+
clip-path: polygon(0 (100% / 3), (100% / 3) (100% / 3), (100% / 3) (200% / 3), 0 (200% / 3));
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
@@ -1,55 +1,63 @@
|
|
|
1
1
|
$easeOutSine: cubic-bezier(0.61, 1, 0.88, 1);
|
|
2
2
|
|
|
3
3
|
:root {
|
|
4
|
+
--border: var(--border--width) solid var(--border--color);
|
|
4
5
|
--border--color: #cdcdcd;
|
|
5
6
|
--border--color--light: #d9d9d9;
|
|
6
7
|
--border--radius: 5px;
|
|
7
8
|
--border--width: 1px;
|
|
8
|
-
--border: var(--border--width) solid var(--border--color);
|
|
9
9
|
|
|
10
|
+
--box-shadow: 0 0 var(--box-shadow--blur) var(--box-shadow--spread) var(--box-shadow--color);
|
|
10
11
|
--box-shadow--blur: 10px;
|
|
12
|
+
--box-shadow--color: rgba(0, 0, 0, 0.15);
|
|
11
13
|
--box-shadow--spread: 1px;
|
|
12
|
-
--box-shadow--offset: 1px;
|
|
13
|
-
--box-shadow--offset--negative: calc(-1 * var(--box-shadow--offset));
|
|
14
|
-
--box-shadow--color: #{rgba(#000, 0.15)};
|
|
15
|
-
--box-shadow: 0 0 var(--box-shadow--blur) var(--box-shadow--spread) var(--box-shadow--color);
|
|
16
|
-
--box-shadow--focus--spread: 6px;
|
|
17
14
|
--box-shadow--null: 0 0 var(--box-shadow--blur) var(--box-shadow--spread) transparent;
|
|
18
15
|
--box-shadow--error: 0 0 var(--box-shadow--blur) var(--box-shadow--spread) var(--color--error);
|
|
19
16
|
|
|
20
|
-
--color--
|
|
21
|
-
--color--background--secondary: #111;
|
|
22
|
-
--color--background--overlay: rgba(255, 255, 255, 0.65);
|
|
23
|
-
--color--error: hsl(0deg, 92%, 62%);
|
|
24
|
-
--color--success: #00a900;
|
|
25
|
-
--color--info: var(--color--dark-blue);
|
|
26
|
-
--color--warning: hsl(35deg, 90%, 60%);
|
|
27
|
-
--color--focus: #{rgba(#268fff, 0.5)};
|
|
28
|
-
--color--foreground: #222;
|
|
29
|
-
--color--foreground--secondary: #444;
|
|
30
|
-
--color--inactive: #cdcdcd;
|
|
31
|
-
--color--primary: var(--color--violet);
|
|
32
|
-
|
|
33
|
-
--color--yellow: #efe3ae;
|
|
34
|
-
--color--yellow--light: #f7f1d6;
|
|
35
|
-
--color--green: #bae3ba;
|
|
36
|
-
--color--green--light: #d6ebd6;
|
|
17
|
+
--color--white: #ffffff;
|
|
37
18
|
--color--blue: #c7d8f9;
|
|
38
19
|
--color--blue--light: #dde4f6;
|
|
39
|
-
--color--
|
|
40
|
-
--color--
|
|
41
|
-
--color--dark-blue: #1868ad;
|
|
42
|
-
--color--dark-blue--light: #86aed1;
|
|
20
|
+
--color--green: #bae3ba;
|
|
21
|
+
--color--green--light: #d6ebd6;
|
|
43
22
|
--color--red: #f7c2aa;
|
|
44
23
|
--color--red--light: #fbe0d4;
|
|
45
24
|
--color--violet: #78387f;
|
|
46
25
|
--color--violet--light: #b284b8;
|
|
47
|
-
--color--
|
|
48
|
-
--color--
|
|
26
|
+
--color--yellow: #efe3ae;
|
|
27
|
+
--color--yellow--light: #f7f1d6;
|
|
28
|
+
|
|
29
|
+
--color--focus: #{rgba(#268fff, 0.5)};
|
|
30
|
+
--color--inactive: #cdcdcd;
|
|
31
|
+
--color--background: #f4f4f4;
|
|
32
|
+
--color--background--element: var(--color--white);
|
|
33
|
+
--color--background--overlay: rgba(255, 255, 255, 0.65);
|
|
34
|
+
--color--foreground: #222;
|
|
35
|
+
--color--foreground--secondary: #444;
|
|
36
|
+
--color--error: hsl(0, 92%, 62%);
|
|
37
|
+
--color--error--opposite: var(--color--white);
|
|
38
|
+
--color--info: #1868ad;
|
|
39
|
+
--color--success: #00a900;
|
|
40
|
+
--color--warning: hsl(35, 90%, 60%);
|
|
41
|
+
--color--primary: var(--color--violet);
|
|
42
|
+
--color--primary--opposite: var(--color--white);
|
|
43
|
+
|
|
44
|
+
--color--bonus--character--1: var(--color--yellow--light);
|
|
45
|
+
--color--bonus--character--2: var(--color--green--light);
|
|
46
|
+
--color--bonus--character--3: var(--color--blue--light);
|
|
47
|
+
--color--bonus--character--5: var(--color--red--light);
|
|
48
|
+
--color--bonus--character-multiplier--2: #b8d5ed;
|
|
49
|
+
--color--bonus--character-multiplier--3: #86aed1;
|
|
50
|
+
--color--bonus--start: var(--color--violet--light);
|
|
51
|
+
--color--bonus--word-multiplier--2: #fbc997;
|
|
52
|
+
--color--bonus--word-multiplier--3: #f19393;
|
|
53
|
+
--color--tooltip--background: #222;
|
|
54
|
+
--color--tooltip--foreground: var(--color--white);
|
|
49
55
|
|
|
50
56
|
--font--family: 'Open Sans', sans-serif;
|
|
51
|
-
--font--family--
|
|
57
|
+
--font--family--latin: 'Open Sans', sans-serif;
|
|
58
|
+
--font--family--arabic: 'Vazirmatn', sans-serif;
|
|
52
59
|
--font--family--monospace: 'Roboto Mono', monospace;
|
|
60
|
+
--font--family--title: 'Lato', sans-serif;
|
|
53
61
|
--font--size--h1: 30px;
|
|
54
62
|
--font--size--h2: 22px;
|
|
55
63
|
--font--size--h3: 18px;
|
|
@@ -66,13 +74,17 @@ $easeOutSine: cubic-bezier(0.61, 1, 0.88, 1);
|
|
|
66
74
|
--spacing--xl: 40px;
|
|
67
75
|
--spacing--xxl: 80px;
|
|
68
76
|
|
|
77
|
+
--transition: all var(--transition--duration) var(--transition--easing);
|
|
78
|
+
--transition--long: all var(--transition--duration--long) var(--transition--easing);
|
|
69
79
|
--transition--duration: 100ms;
|
|
70
80
|
--transition--duration--long: 250ms;
|
|
71
81
|
--transition--easing: #{$easeOutSine};
|
|
72
|
-
--transition: all var(--transition--duration) var(--transition--easing);
|
|
73
82
|
|
|
83
|
+
--z-index--focus-effect: 1;
|
|
84
|
+
--z-index--actions: 2;
|
|
74
85
|
--z-index--modal: 100;
|
|
75
86
|
--z-index--close-button: 101;
|
|
87
|
+
--z-index--tooltip: 102;
|
|
76
88
|
|
|
77
89
|
--dictionary--height: 260px;
|
|
78
90
|
--modal--width: 370px;
|
|
@@ -80,6 +92,4 @@ $easeOutSine: cubic-bezier(0.61, 1, 0.88, 1);
|
|
|
80
92
|
--square-button--size: 32px;
|
|
81
93
|
--button--icon--size: 24px;
|
|
82
94
|
--text-input--height: 40px;
|
|
83
|
-
--tooltip--background: #222;
|
|
84
|
-
--tooltip--foreground: #fff;
|
|
85
95
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/solver",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.9",
|
|
4
4
|
"lockfileVersion": 2,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@scrabble-solver/solver",
|
|
9
|
-
"version": "2.10.
|
|
9
|
+
"version": "2.10.9",
|
|
10
10
|
"license": "CC-BY-NC-ND-4.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@kamilmielnik/trie": "^2.0.1"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/solver",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.9",
|
|
4
4
|
"description": "Scrabble Solver 2 - Solver",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -25,12 +25,12 @@
|
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@kamilmielnik/trie": "^2.0.1",
|
|
28
|
-
"@scrabble-solver/types": "^2.10.
|
|
28
|
+
"@scrabble-solver/types": "^2.10.9"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@scrabble-solver/configs": "^2.10.
|
|
32
|
-
"@scrabble-solver/constants": "^2.10.
|
|
33
|
-
"@scrabble-solver/dictionaries": "^2.10.
|
|
31
|
+
"@scrabble-solver/configs": "^2.10.9",
|
|
32
|
+
"@scrabble-solver/constants": "^2.10.9",
|
|
33
|
+
"@scrabble-solver/dictionaries": "^2.10.9"
|
|
34
34
|
},
|
|
35
35
|
"gitHead": "1e2d1ad49a288d4a44196d8e3336740da132c637"
|
|
36
36
|
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/types",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.9",
|
|
4
4
|
"lockfileVersion": 2,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@scrabble-solver/types",
|
|
9
|
-
"version": "2.10.
|
|
9
|
+
"version": "2.10.9",
|
|
10
10
|
"license": "CC-BY-NC-ND-4.0",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@scrabble-solver/constants": "^2.10.
|
|
12
|
+
"@scrabble-solver/constants": "^2.10.9"
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
15
|
"node_modules/@scrabble-solver/constants": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/types",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.9",
|
|
4
4
|
"description": "Scrabble Solver 2 - Types",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"clean:force": "npm run clean && rimraf package-lock.json"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@scrabble-solver/constants": "^2.10.
|
|
27
|
+
"@scrabble-solver/constants": "^2.10.9"
|
|
28
28
|
},
|
|
29
29
|
"gitHead": "1e2d1ad49a288d4a44196d8e3336740da132c637"
|
|
30
30
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/word-definitions",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.9",
|
|
4
4
|
"lockfileVersion": 2,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@scrabble-solver/word-definitions",
|
|
9
|
-
"version": "2.10.
|
|
9
|
+
"version": "2.10.9",
|
|
10
10
|
"license": "CC-BY-NC-ND-4.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"cheerio": "^1.0.0-rc.12",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/word-definitions",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.9",
|
|
4
4
|
"description": "Scrabble Solver 2 - Word definitions",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"clean": "rimraf build/ node_modules/ package-lock.json"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@scrabble-solver/types": "^2.10.
|
|
26
|
+
"@scrabble-solver/types": "^2.10.9",
|
|
27
27
|
"cheerio": "^1.0.0-rc.12",
|
|
28
28
|
"follow-redirects": "^1.15.2",
|
|
29
29
|
"striptags": "^3.2.0"
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/word-lists",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.9",
|
|
4
4
|
"lockfileVersion": 2,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@scrabble-solver/word-lists",
|
|
9
|
-
"version": "2.10.
|
|
9
|
+
"version": "2.10.9",
|
|
10
10
|
"license": "CC-BY-NC-ND-4.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"cheerio": "^1.0.0-rc.12",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/word-lists",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.9",
|
|
4
4
|
"description": "Scrabble Solver 2 - Word lists",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"clean:force": "npm run clean && rimraf package-lock.json"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@scrabble-solver/types": "^2.10.
|
|
27
|
+
"@scrabble-solver/types": "^2.10.9",
|
|
28
28
|
"cheerio": "^1.0.0-rc.12",
|
|
29
29
|
"follow-redirects": "^1.15.2",
|
|
30
30
|
"unzipper": "^0.10.11"
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
exports.id = 210;
|
|
3
|
-
exports.ids = [210];
|
|
4
|
-
exports.modules = {
|
|
5
|
-
|
|
6
|
-
/***/ 6495:
|
|
7
|
-
/***/ ((__unused_webpack_module, exports) => {
|
|
8
|
-
|
|
9
|
-
var __webpack_unused_export__;
|
|
10
|
-
|
|
11
|
-
__webpack_unused_export__ = ({
|
|
12
|
-
value: true
|
|
13
|
-
});
|
|
14
|
-
Object.defineProperty(exports, "Z", ({
|
|
15
|
-
enumerable: true,
|
|
16
|
-
get: function() {
|
|
17
|
-
return _extends;
|
|
18
|
-
}
|
|
19
|
-
}));
|
|
20
|
-
function extends_() {
|
|
21
|
-
extends_ = Object.assign || function(target) {
|
|
22
|
-
for(var i = 1; i < arguments.length; i++){
|
|
23
|
-
var source = arguments[i];
|
|
24
|
-
for(var key in source){
|
|
25
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
26
|
-
target[key] = source[key];
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
return target;
|
|
31
|
-
};
|
|
32
|
-
return extends_.apply(this, arguments);
|
|
33
|
-
}
|
|
34
|
-
function _extends() {
|
|
35
|
-
return extends_.apply(this, arguments);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
/***/ }),
|
|
40
|
-
|
|
41
|
-
/***/ 92648:
|
|
42
|
-
/***/ ((__unused_webpack_module, exports) => {
|
|
43
|
-
|
|
44
|
-
var __webpack_unused_export__;
|
|
45
|
-
|
|
46
|
-
__webpack_unused_export__ = ({
|
|
47
|
-
value: true
|
|
48
|
-
});
|
|
49
|
-
Object.defineProperty(exports, "Z", ({
|
|
50
|
-
enumerable: true,
|
|
51
|
-
get: function() {
|
|
52
|
-
return _interopRequireDefault;
|
|
53
|
-
}
|
|
54
|
-
}));
|
|
55
|
-
function _interopRequireDefault(obj) {
|
|
56
|
-
return obj && obj.__esModule ? obj : {
|
|
57
|
-
default: obj
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
/***/ }),
|
|
63
|
-
|
|
64
|
-
/***/ 91598:
|
|
65
|
-
/***/ ((__unused_webpack_module, exports) => {
|
|
66
|
-
|
|
67
|
-
var __webpack_unused_export__;
|
|
68
|
-
|
|
69
|
-
__webpack_unused_export__ = ({
|
|
70
|
-
value: true
|
|
71
|
-
});
|
|
72
|
-
Object.defineProperty(exports, "Z", ({
|
|
73
|
-
enumerable: true,
|
|
74
|
-
get: function() {
|
|
75
|
-
return _interopRequireWildcard;
|
|
76
|
-
}
|
|
77
|
-
}));
|
|
78
|
-
function _getRequireWildcardCache(nodeInterop) {
|
|
79
|
-
if (typeof WeakMap !== "function") return null;
|
|
80
|
-
var cacheBabelInterop = new WeakMap();
|
|
81
|
-
var cacheNodeInterop = new WeakMap();
|
|
82
|
-
return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
|
|
83
|
-
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
84
|
-
})(nodeInterop);
|
|
85
|
-
}
|
|
86
|
-
function _interopRequireWildcard(obj, nodeInterop) {
|
|
87
|
-
if (!nodeInterop && obj && obj.__esModule) {
|
|
88
|
-
return obj;
|
|
89
|
-
}
|
|
90
|
-
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
91
|
-
return {
|
|
92
|
-
default: obj
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
var cache = _getRequireWildcardCache(nodeInterop);
|
|
96
|
-
if (cache && cache.has(obj)) {
|
|
97
|
-
return cache.get(obj);
|
|
98
|
-
}
|
|
99
|
-
var newObj = {};
|
|
100
|
-
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
101
|
-
for(var key in obj){
|
|
102
|
-
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
103
|
-
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
104
|
-
if (desc && (desc.get || desc.set)) {
|
|
105
|
-
Object.defineProperty(newObj, key, desc);
|
|
106
|
-
} else {
|
|
107
|
-
newObj[key] = obj[key];
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
newObj.default = obj;
|
|
112
|
-
if (cache) {
|
|
113
|
-
cache.set(obj, newObj);
|
|
114
|
-
}
|
|
115
|
-
return newObj;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
/***/ })
|
|
120
|
-
|
|
121
|
-
};
|
|
122
|
-
;
|