@gamepark/react-game 7.6.4 → 7.6.6
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/dist/components/GameProvider/GameErrorBoundary.js +108 -108
- package/dist/components/JournalTabs/History/SetupLogItem.js +19 -19
- package/dist/components/material/GameTable/DevTools/DevToolEntry.js +9 -10
- package/dist/components/material/GameTable/DevTools/DevToolEntry.js.map +1 -1
- package/dist/components/material/GameTable/DevTools/DevToolsHub.js +47 -46
- package/dist/components/material/GameTable/DevTools/DevToolsHub.js.map +1 -1
- package/dist/components/material/GameTable/DevTools/ExportPanel.js +9 -10
- package/dist/components/material/GameTable/DevTools/ExportPanel.js.map +1 -1
- package/dist/components/material/GameTable/DevTools/GamePanel.js +41 -44
- package/dist/components/material/GameTable/DevTools/GamePanel.js.map +1 -1
- package/dist/components/material/GameTable/DevTools/SaveLoadPanel.js +65 -66
- package/dist/components/material/GameTable/DevTools/SaveLoadPanel.js.map +1 -1
- package/dist/components/material/GameTable/DevToolsHub.d.ts +21 -4
- package/dist/components/material/GameTable/DevToolsHub.js +830 -24
- package/dist/components/material/GameTable/DevToolsHub.js.map +1 -1
- package/dist/components/material/Wheel/WheelContent.d.ts +13 -0
- package/dist/components/material/Wheel/WheelContent.js +37 -0
- package/dist/components/material/Wheel/WheelContent.js.map +1 -0
- package/dist/components/menus/BugReport/BugReportDialog.js +38 -38
- package/dist/css/backgroundCss.js +3 -3
- package/dist/css/cursorCss.js +6 -6
- package/dist/css/fadeIn.js +6 -6
- package/dist/css/shineEffect.js +28 -28
- package/dist/css/transformCss.js +4 -4
- package/dist/hooks/useFailures.d.ts +1 -0
- package/dist/hooks/useFailures.js +11 -0
- package/dist/hooks/useFailures.js.map +1 -0
- package/dist/hooks/useWebP.d.ts +1 -0
- package/dist/hooks/useWebP.js +13 -0
- package/dist/hooks/useWebP.js.map +1 -0
- package/package.json +3 -3
- package/dist/components/material/Dices/OctahedralDiceDescription.d.ts +0 -48
- package/dist/components/material/Dices/OctahedralDiceDescription.js +0 -142
- package/dist/components/material/Dices/OctahedralDiceDescription.js.map +0 -1
- package/dist/components/material/GameTable/DevToolEntry.d.ts +0 -17
- package/dist/components/material/GameTable/DevToolEntry.js +0 -13
- package/dist/components/material/GameTable/DevToolEntry.js.map +0 -1
- package/dist/components/material/GameTable/DevTools/DevToolsStyles.d.ts +0 -58
- package/dist/components/material/GameTable/DevTools/DevToolsStyles.js +0 -706
- package/dist/components/material/GameTable/DevTools/DevToolsStyles.js.map +0 -1
- package/dist/components/material/GameTable/DevToolsStyles.d.ts +0 -67
- package/dist/components/material/GameTable/DevToolsStyles.js +0 -752
- package/dist/components/material/GameTable/DevToolsStyles.js.map +0 -1
- package/dist/components/material/GameTable/JsonHighlighter.d.ts +0 -3
- package/dist/components/material/GameTable/JsonHighlighter.js +0 -37
- package/dist/components/material/GameTable/JsonHighlighter.js.map +0 -1
|
@@ -1,752 +0,0 @@
|
|
|
1
|
-
import { css, keyframes } from '@emotion/react';
|
|
2
|
-
export const GP_PRIMARY = '#28B8CE';
|
|
3
|
-
export const GP_DARK = '#002448';
|
|
4
|
-
export const GP_SURFACE = '#0a1929';
|
|
5
|
-
export const GP_ACCENT = '#9fe2f7';
|
|
6
|
-
// ── Animations ──
|
|
7
|
-
const fabPulse = keyframes `
|
|
8
|
-
0%, 100% { box-shadow: 0 0 0 0 rgba(40, 184, 206, 0.25); }
|
|
9
|
-
50% { box-shadow: 0 0 0 5px rgba(40, 184, 206, 0); }
|
|
10
|
-
`;
|
|
11
|
-
const slideUp = keyframes `
|
|
12
|
-
from { opacity: 0; transform: translateY(8px) scale(0.97); }
|
|
13
|
-
to { opacity: 1; transform: translateY(0) scale(1); }
|
|
14
|
-
`;
|
|
15
|
-
const slideRight = keyframes `
|
|
16
|
-
from { opacity: 0; transform: translateX(-8px) scale(0.97); }
|
|
17
|
-
to { opacity: 1; transform: translateX(0) scale(1); }
|
|
18
|
-
`;
|
|
19
|
-
const toolReveal = keyframes `
|
|
20
|
-
from { opacity: 0; transform: translateX(-6px); }
|
|
21
|
-
to { opacity: 1; transform: translateX(0); }
|
|
22
|
-
`;
|
|
23
|
-
const modalFadeIn = keyframes `
|
|
24
|
-
from { opacity: 0; transform: translate(-50%, -50%) scale(0.95); }
|
|
25
|
-
to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
|
|
26
|
-
`;
|
|
27
|
-
const flashFade = keyframes `
|
|
28
|
-
0% { opacity: 0; transform: translateY(6px); }
|
|
29
|
-
15% { opacity: 1; transform: translateY(0); }
|
|
30
|
-
85% { opacity: 1; transform: translateY(0); }
|
|
31
|
-
100% { opacity: 0; transform: translateY(-6px); }
|
|
32
|
-
`;
|
|
33
|
-
// ── FAB button ──
|
|
34
|
-
export const fabCss = css `
|
|
35
|
-
position: fixed;
|
|
36
|
-
bottom: 16px;
|
|
37
|
-
left: 16px;
|
|
38
|
-
z-index: 900;
|
|
39
|
-
width: 40px;
|
|
40
|
-
height: 40px;
|
|
41
|
-
border-radius: 10px;
|
|
42
|
-
border: 1px solid rgba(40, 184, 206, 0.4);
|
|
43
|
-
background: linear-gradient(145deg, ${GP_SURFACE}, ${GP_DARK});
|
|
44
|
-
cursor: pointer;
|
|
45
|
-
display: flex;
|
|
46
|
-
align-items: center;
|
|
47
|
-
justify-content: center;
|
|
48
|
-
padding: 0;
|
|
49
|
-
animation: ${fabPulse} 3s ease-in-out infinite;
|
|
50
|
-
transition: all 0.2s;
|
|
51
|
-
|
|
52
|
-
&:hover {
|
|
53
|
-
border-color: rgba(40, 184, 206, 0.7);
|
|
54
|
-
animation: none;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
&[data-open="true"] {
|
|
58
|
-
animation: none;
|
|
59
|
-
background: ${GP_PRIMARY};
|
|
60
|
-
border-color: ${GP_PRIMARY};
|
|
61
|
-
}
|
|
62
|
-
`;
|
|
63
|
-
export const logoCss = css `
|
|
64
|
-
width: 22px;
|
|
65
|
-
height: 22px;
|
|
66
|
-
fill: ${GP_PRIMARY};
|
|
67
|
-
transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
68
|
-
|
|
69
|
-
&[data-open="true"] {
|
|
70
|
-
fill: ${GP_DARK};
|
|
71
|
-
transform: rotate(90deg);
|
|
72
|
-
}
|
|
73
|
-
`;
|
|
74
|
-
// ── Layout ──
|
|
75
|
-
export const hubContainerCss = css `
|
|
76
|
-
position: fixed;
|
|
77
|
-
bottom: 64px;
|
|
78
|
-
left: 16px;
|
|
79
|
-
z-index: 900;
|
|
80
|
-
display: flex;
|
|
81
|
-
align-items: flex-end;
|
|
82
|
-
gap: 6px;
|
|
83
|
-
`;
|
|
84
|
-
export const mainMenuCss = css `
|
|
85
|
-
position: relative;
|
|
86
|
-
width: 200px;
|
|
87
|
-
background: linear-gradient(170deg, #0f2035 0%, ${GP_SURFACE} 100%);
|
|
88
|
-
border: 1px solid rgba(40, 184, 206, 0.25);
|
|
89
|
-
border-radius: 12px;
|
|
90
|
-
box-shadow:
|
|
91
|
-
0 12px 40px rgba(0, 0, 0, 0.5),
|
|
92
|
-
0 0 0 1px rgba(0, 0, 0, 0.3),
|
|
93
|
-
inset 0 1px 0 rgba(159, 226, 247, 0.05);
|
|
94
|
-
animation: ${slideUp} 0.2s ease-out;
|
|
95
|
-
font-family: 'Mulish', sans-serif;
|
|
96
|
-
overflow: hidden;
|
|
97
|
-
`;
|
|
98
|
-
export const subPanelCss = css `
|
|
99
|
-
width: 320px;
|
|
100
|
-
max-height: calc(100vh - 80px);
|
|
101
|
-
display: flex;
|
|
102
|
-
flex-direction: column;
|
|
103
|
-
background: linear-gradient(170deg, #0f2035 0%, ${GP_SURFACE} 100%);
|
|
104
|
-
border: 1px solid rgba(40, 184, 206, 0.25);
|
|
105
|
-
border-radius: 12px;
|
|
106
|
-
box-shadow:
|
|
107
|
-
0 12px 40px rgba(0, 0, 0, 0.5),
|
|
108
|
-
0 0 0 1px rgba(0, 0, 0, 0.3),
|
|
109
|
-
inset 0 1px 0 rgba(159, 226, 247, 0.05);
|
|
110
|
-
animation: ${slideRight} 0.15s ease-out;
|
|
111
|
-
font-family: 'Mulish', sans-serif;
|
|
112
|
-
overflow: hidden;
|
|
113
|
-
`;
|
|
114
|
-
export const subPanelHeaderCss = css `
|
|
115
|
-
padding: 10px 16px;
|
|
116
|
-
border-bottom: 1px solid rgba(40, 184, 206, 0.15);
|
|
117
|
-
background: rgba(40, 184, 206, 0.04);
|
|
118
|
-
flex-shrink: 0;
|
|
119
|
-
`;
|
|
120
|
-
export const subPanelTitleCss = css `
|
|
121
|
-
font-size: 12px;
|
|
122
|
-
font-weight: 800;
|
|
123
|
-
color: #5a8a98;
|
|
124
|
-
text-transform: uppercase;
|
|
125
|
-
letter-spacing: 0.1em;
|
|
126
|
-
`;
|
|
127
|
-
export const subPanelContentCss = css `
|
|
128
|
-
display: flex;
|
|
129
|
-
flex-direction: column;
|
|
130
|
-
padding: 6px;
|
|
131
|
-
gap: 2px;
|
|
132
|
-
overflow-y: auto;
|
|
133
|
-
flex: 1;
|
|
134
|
-
min-height: 0;
|
|
135
|
-
`;
|
|
136
|
-
// ── Panel header ──
|
|
137
|
-
export const panelHeaderCss = css `
|
|
138
|
-
display: flex;
|
|
139
|
-
align-items: center;
|
|
140
|
-
gap: 8px;
|
|
141
|
-
padding: 12px 16px;
|
|
142
|
-
border-bottom: 1px solid rgba(40, 184, 206, 0.15);
|
|
143
|
-
background: rgba(40, 184, 206, 0.04);
|
|
144
|
-
`;
|
|
145
|
-
export const headerLogoCss = css `
|
|
146
|
-
width: 18px;
|
|
147
|
-
height: 18px;
|
|
148
|
-
fill: ${GP_ACCENT};
|
|
149
|
-
flex-shrink: 0;
|
|
150
|
-
`;
|
|
151
|
-
export const panelTitleCss = css `
|
|
152
|
-
font-size: 14px;
|
|
153
|
-
font-weight: 800;
|
|
154
|
-
color: #e0f0f4;
|
|
155
|
-
text-transform: uppercase;
|
|
156
|
-
letter-spacing: 0.08em;
|
|
157
|
-
flex: 1;
|
|
158
|
-
`;
|
|
159
|
-
export const panelBadgeCss = css `
|
|
160
|
-
font-size: 9px;
|
|
161
|
-
font-weight: 800;
|
|
162
|
-
padding: 2px 6px;
|
|
163
|
-
border-radius: 4px;
|
|
164
|
-
background: rgba(40, 184, 206, 0.15);
|
|
165
|
-
color: ${GP_PRIMARY};
|
|
166
|
-
letter-spacing: 0.1em;
|
|
167
|
-
`;
|
|
168
|
-
// ── Menu items ──
|
|
169
|
-
export const menuListCss = css `
|
|
170
|
-
display: flex;
|
|
171
|
-
flex-direction: column;
|
|
172
|
-
padding: 6px;
|
|
173
|
-
gap: 2px;
|
|
174
|
-
`;
|
|
175
|
-
export const menuItemCss = css `
|
|
176
|
-
position: relative;
|
|
177
|
-
display: flex;
|
|
178
|
-
align-items: center;
|
|
179
|
-
gap: 10px;
|
|
180
|
-
padding: 10px 12px;
|
|
181
|
-
border: none;
|
|
182
|
-
border-radius: 8px;
|
|
183
|
-
background: transparent;
|
|
184
|
-
cursor: pointer;
|
|
185
|
-
text-align: left;
|
|
186
|
-
transition: background 0.15s;
|
|
187
|
-
font-family: inherit;
|
|
188
|
-
|
|
189
|
-
&:hover {
|
|
190
|
-
background: rgba(40, 184, 206, 0.08);
|
|
191
|
-
}
|
|
192
|
-
`;
|
|
193
|
-
export const menuItemActiveCss = css `
|
|
194
|
-
background: rgba(40, 184, 206, 0.12);
|
|
195
|
-
|
|
196
|
-
&::before {
|
|
197
|
-
content: '';
|
|
198
|
-
position: absolute;
|
|
199
|
-
left: 0;
|
|
200
|
-
top: 50%;
|
|
201
|
-
transform: translateY(-50%);
|
|
202
|
-
width: 3px;
|
|
203
|
-
height: 18px;
|
|
204
|
-
border-radius: 0 3px 3px 0;
|
|
205
|
-
background: ${GP_PRIMARY};
|
|
206
|
-
}
|
|
207
|
-
`;
|
|
208
|
-
export const menuItemIconCss = css `
|
|
209
|
-
font-size: 15px;
|
|
210
|
-
color: ${GP_PRIMARY};
|
|
211
|
-
display: flex;
|
|
212
|
-
align-items: center;
|
|
213
|
-
justify-content: center;
|
|
214
|
-
width: 28px;
|
|
215
|
-
height: 28px;
|
|
216
|
-
border-radius: 6px;
|
|
217
|
-
background: rgba(40, 184, 206, 0.08);
|
|
218
|
-
flex-shrink: 0;
|
|
219
|
-
`;
|
|
220
|
-
export const menuItemLabelCss = css `
|
|
221
|
-
font-size: 13px;
|
|
222
|
-
font-weight: 700;
|
|
223
|
-
color: #e0f0f4;
|
|
224
|
-
flex: 1;
|
|
225
|
-
`;
|
|
226
|
-
export const menuChevronCss = css `
|
|
227
|
-
font-size: 10px;
|
|
228
|
-
color: #3a6070;
|
|
229
|
-
`;
|
|
230
|
-
// ── Tool buttons ──
|
|
231
|
-
export const devToolBtnCss = css `
|
|
232
|
-
position: relative;
|
|
233
|
-
display: grid;
|
|
234
|
-
grid-template-columns: 28px 1fr;
|
|
235
|
-
grid-template-rows: auto auto;
|
|
236
|
-
align-items: center;
|
|
237
|
-
gap: 0 10px;
|
|
238
|
-
padding: 10px 12px;
|
|
239
|
-
border: none;
|
|
240
|
-
border-radius: 8px;
|
|
241
|
-
background: transparent;
|
|
242
|
-
cursor: pointer;
|
|
243
|
-
text-align: left;
|
|
244
|
-
transition: background 0.15s;
|
|
245
|
-
animation: ${toolReveal} 0.25s ease-out backwards;
|
|
246
|
-
font-family: inherit;
|
|
247
|
-
|
|
248
|
-
&:hover {
|
|
249
|
-
background: rgba(40, 184, 206, 0.08);
|
|
250
|
-
}
|
|
251
|
-
&:active {
|
|
252
|
-
background: rgba(40, 184, 206, 0.14);
|
|
253
|
-
}
|
|
254
|
-
`;
|
|
255
|
-
export const toolBtnActiveCss = css `
|
|
256
|
-
background: rgba(40, 184, 206, 0.1);
|
|
257
|
-
&::after {
|
|
258
|
-
content: '';
|
|
259
|
-
position: absolute;
|
|
260
|
-
left: 0;
|
|
261
|
-
top: 8px;
|
|
262
|
-
bottom: 8px;
|
|
263
|
-
width: 3px;
|
|
264
|
-
border-radius: 0 3px 3px 0;
|
|
265
|
-
background: ${GP_PRIMARY};
|
|
266
|
-
}
|
|
267
|
-
`;
|
|
268
|
-
export const devToolIconCss = css `
|
|
269
|
-
grid-row: 1 / -1;
|
|
270
|
-
font-size: 15px;
|
|
271
|
-
color: ${GP_PRIMARY};
|
|
272
|
-
display: flex;
|
|
273
|
-
align-items: center;
|
|
274
|
-
justify-content: center;
|
|
275
|
-
width: 28px;
|
|
276
|
-
height: 28px;
|
|
277
|
-
border-radius: 6px;
|
|
278
|
-
background: rgba(40, 184, 206, 0.08);
|
|
279
|
-
`;
|
|
280
|
-
export const devToolLabelCss = css `
|
|
281
|
-
font-size: 14px;
|
|
282
|
-
font-weight: 700;
|
|
283
|
-
color: #e0f0f4;
|
|
284
|
-
line-height: 1.2;
|
|
285
|
-
`;
|
|
286
|
-
export const devToolDescCss = css `
|
|
287
|
-
font-size: 12px;
|
|
288
|
-
color: #5a8a98;
|
|
289
|
-
line-height: 1.2;
|
|
290
|
-
`;
|
|
291
|
-
export const activeIndicatorCss = css `
|
|
292
|
-
position: absolute;
|
|
293
|
-
top: 10px;
|
|
294
|
-
right: 12px;
|
|
295
|
-
width: 7px;
|
|
296
|
-
height: 7px;
|
|
297
|
-
border-radius: 50%;
|
|
298
|
-
background: ${GP_PRIMARY};
|
|
299
|
-
box-shadow: 0 0 6px rgba(40, 184, 206, 0.5);
|
|
300
|
-
`;
|
|
301
|
-
export const dividerCss = css `
|
|
302
|
-
height: 1px;
|
|
303
|
-
margin: 4px 12px;
|
|
304
|
-
background: rgba(40, 184, 206, 0.1);
|
|
305
|
-
`;
|
|
306
|
-
// ── Inline controls ──
|
|
307
|
-
export const inlineRowCss = css `
|
|
308
|
-
grid-column: 1 / -1;
|
|
309
|
-
display: flex;
|
|
310
|
-
align-items: center;
|
|
311
|
-
gap: 4px;
|
|
312
|
-
margin-top: 6px;
|
|
313
|
-
`;
|
|
314
|
-
export const stepBtnCss = css `
|
|
315
|
-
width: 26px;
|
|
316
|
-
height: 26px;
|
|
317
|
-
border-radius: 5px;
|
|
318
|
-
border: 1px solid rgba(40, 184, 206, 0.25);
|
|
319
|
-
background: rgba(40, 184, 206, 0.06);
|
|
320
|
-
color: ${GP_PRIMARY};
|
|
321
|
-
font-size: 14px;
|
|
322
|
-
font-weight: 700;
|
|
323
|
-
cursor: pointer;
|
|
324
|
-
display: flex;
|
|
325
|
-
align-items: center;
|
|
326
|
-
justify-content: center;
|
|
327
|
-
font-family: inherit;
|
|
328
|
-
transition: all 0.15s;
|
|
329
|
-
|
|
330
|
-
&:hover {
|
|
331
|
-
background: rgba(40, 184, 206, 0.14);
|
|
332
|
-
border-color: rgba(40, 184, 206, 0.4);
|
|
333
|
-
}
|
|
334
|
-
`;
|
|
335
|
-
export const numberInputCss = css `
|
|
336
|
-
width: 48px;
|
|
337
|
-
height: 26px;
|
|
338
|
-
border-radius: 5px;
|
|
339
|
-
border: 1px solid rgba(40, 184, 206, 0.25);
|
|
340
|
-
background: rgba(0, 0, 0, 0.3);
|
|
341
|
-
color: #e0f0f4;
|
|
342
|
-
font-size: 13px;
|
|
343
|
-
font-weight: 700;
|
|
344
|
-
text-align: center;
|
|
345
|
-
font-family: inherit;
|
|
346
|
-
font-variant-numeric: tabular-nums;
|
|
347
|
-
|
|
348
|
-
&:focus {
|
|
349
|
-
outline: none;
|
|
350
|
-
border-color: ${GP_PRIMARY};
|
|
351
|
-
box-shadow: 0 0 0 2px rgba(40, 184, 206, 0.15);
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
&::-webkit-inner-spin-button,
|
|
355
|
-
&::-webkit-outer-spin-button {
|
|
356
|
-
-webkit-appearance: none;
|
|
357
|
-
margin: 0;
|
|
358
|
-
}
|
|
359
|
-
`;
|
|
360
|
-
export const textInputCss = css `
|
|
361
|
-
flex: 1;
|
|
362
|
-
height: 26px;
|
|
363
|
-
border-radius: 5px;
|
|
364
|
-
border: 1px solid rgba(40, 184, 206, 0.25);
|
|
365
|
-
background: rgba(0, 0, 0, 0.3);
|
|
366
|
-
color: #e0f0f4;
|
|
367
|
-
font-size: 12px;
|
|
368
|
-
font-weight: 600;
|
|
369
|
-
padding: 0 8px;
|
|
370
|
-
font-family: inherit;
|
|
371
|
-
|
|
372
|
-
&::placeholder {
|
|
373
|
-
color: #3a6070;
|
|
374
|
-
}
|
|
375
|
-
|
|
376
|
-
&:focus {
|
|
377
|
-
outline: none;
|
|
378
|
-
border-color: ${GP_PRIMARY};
|
|
379
|
-
box-shadow: 0 0 0 2px rgba(40, 184, 206, 0.15);
|
|
380
|
-
}
|
|
381
|
-
`;
|
|
382
|
-
export const goBtnCss = css `
|
|
383
|
-
height: 26px;
|
|
384
|
-
padding: 0 12px;
|
|
385
|
-
border-radius: 5px;
|
|
386
|
-
border: 1px solid rgba(40, 184, 206, 0.35);
|
|
387
|
-
background: rgba(40, 184, 206, 0.15);
|
|
388
|
-
color: ${GP_PRIMARY};
|
|
389
|
-
font-size: 12px;
|
|
390
|
-
font-weight: 800;
|
|
391
|
-
text-transform: uppercase;
|
|
392
|
-
letter-spacing: 0.05em;
|
|
393
|
-
cursor: pointer;
|
|
394
|
-
margin-left: auto;
|
|
395
|
-
font-family: inherit;
|
|
396
|
-
transition: all 0.15s;
|
|
397
|
-
flex-shrink: 0;
|
|
398
|
-
|
|
399
|
-
&:hover {
|
|
400
|
-
background: rgba(40, 184, 206, 0.25);
|
|
401
|
-
border-color: rgba(40, 184, 206, 0.5);
|
|
402
|
-
}
|
|
403
|
-
`;
|
|
404
|
-
export const playerBtnCss = css `
|
|
405
|
-
height: 26px;
|
|
406
|
-
padding: 0 10px;
|
|
407
|
-
border-radius: 5px;
|
|
408
|
-
border: 1px solid rgba(40, 184, 206, 0.25);
|
|
409
|
-
background: rgba(40, 184, 206, 0.06);
|
|
410
|
-
color: #5a8a98;
|
|
411
|
-
font-size: 12px;
|
|
412
|
-
font-weight: 700;
|
|
413
|
-
cursor: pointer;
|
|
414
|
-
font-family: inherit;
|
|
415
|
-
transition: all 0.15s;
|
|
416
|
-
|
|
417
|
-
&:hover {
|
|
418
|
-
background: rgba(40, 184, 206, 0.14);
|
|
419
|
-
border-color: rgba(40, 184, 206, 0.4);
|
|
420
|
-
color: #e0f0f4;
|
|
421
|
-
}
|
|
422
|
-
`;
|
|
423
|
-
export const playerBtnActiveCss = css `
|
|
424
|
-
background: rgba(40, 184, 206, 0.2);
|
|
425
|
-
border-color: ${GP_PRIMARY};
|
|
426
|
-
color: ${GP_PRIMARY};
|
|
427
|
-
`;
|
|
428
|
-
// ── Save/Load styles ──
|
|
429
|
-
export const savedListCss = css `
|
|
430
|
-
display: flex;
|
|
431
|
-
flex-direction: column;
|
|
432
|
-
gap: 2px;
|
|
433
|
-
padding: 0 8px;
|
|
434
|
-
`;
|
|
435
|
-
export const savedEntryCss = css `
|
|
436
|
-
display: flex;
|
|
437
|
-
align-items: center;
|
|
438
|
-
justify-content: space-between;
|
|
439
|
-
padding: 5px 8px;
|
|
440
|
-
border-radius: 5px;
|
|
441
|
-
background: rgba(40, 184, 206, 0.04);
|
|
442
|
-
border: 1px solid rgba(40, 184, 206, 0.08);
|
|
443
|
-
`;
|
|
444
|
-
export const savedLabelCss = css `
|
|
445
|
-
font-size: 12px;
|
|
446
|
-
font-weight: 600;
|
|
447
|
-
color: #8ab8c8;
|
|
448
|
-
overflow: hidden;
|
|
449
|
-
text-overflow: ellipsis;
|
|
450
|
-
white-space: nowrap;
|
|
451
|
-
flex: 1;
|
|
452
|
-
margin-right: 8px;
|
|
453
|
-
`;
|
|
454
|
-
export const savedActionsCss = css `
|
|
455
|
-
display: flex;
|
|
456
|
-
gap: 4px;
|
|
457
|
-
flex-shrink: 0;
|
|
458
|
-
`;
|
|
459
|
-
export const smallBtnCss = css `
|
|
460
|
-
width: 22px;
|
|
461
|
-
height: 22px;
|
|
462
|
-
border-radius: 4px;
|
|
463
|
-
border: 1px solid rgba(40, 184, 206, 0.25);
|
|
464
|
-
background: rgba(40, 184, 206, 0.08);
|
|
465
|
-
color: ${GP_PRIMARY};
|
|
466
|
-
font-size: 10px;
|
|
467
|
-
cursor: pointer;
|
|
468
|
-
display: flex;
|
|
469
|
-
align-items: center;
|
|
470
|
-
justify-content: center;
|
|
471
|
-
font-family: inherit;
|
|
472
|
-
transition: all 0.15s;
|
|
473
|
-
|
|
474
|
-
&:hover {
|
|
475
|
-
background: rgba(40, 184, 206, 0.2);
|
|
476
|
-
border-color: rgba(40, 184, 206, 0.4);
|
|
477
|
-
}
|
|
478
|
-
`;
|
|
479
|
-
export const smallBtnDangerCss = css `
|
|
480
|
-
&:hover {
|
|
481
|
-
background: rgba(220, 60, 60, 0.2);
|
|
482
|
-
border-color: rgba(220, 60, 60, 0.4);
|
|
483
|
-
color: #dc3c3c;
|
|
484
|
-
}
|
|
485
|
-
`;
|
|
486
|
-
// ── Backdrop ──
|
|
487
|
-
export const backdropCss = css `
|
|
488
|
-
position: fixed;
|
|
489
|
-
inset: 0;
|
|
490
|
-
z-index: 899;
|
|
491
|
-
`;
|
|
492
|
-
// ── Paste Modal ──
|
|
493
|
-
export const modalBackdropCss = css `
|
|
494
|
-
position: fixed;
|
|
495
|
-
inset: 0;
|
|
496
|
-
z-index: 1000;
|
|
497
|
-
background: rgba(0, 0, 0, 0.6);
|
|
498
|
-
backdrop-filter: blur(2px);
|
|
499
|
-
`;
|
|
500
|
-
export const modalCss = css `
|
|
501
|
-
position: fixed;
|
|
502
|
-
top: 50%;
|
|
503
|
-
left: 50%;
|
|
504
|
-
transform: translate(-50%, -50%);
|
|
505
|
-
z-index: 1001;
|
|
506
|
-
width: min(700px, 90vw);
|
|
507
|
-
max-height: 80vh;
|
|
508
|
-
display: flex;
|
|
509
|
-
flex-direction: column;
|
|
510
|
-
background: linear-gradient(170deg, #0f2035 0%, ${GP_SURFACE} 100%);
|
|
511
|
-
border: 1px solid rgba(40, 184, 206, 0.3);
|
|
512
|
-
border-radius: 12px;
|
|
513
|
-
box-shadow: 0 24px 60px rgba(0, 0, 0, 0.7);
|
|
514
|
-
font-family: 'Mulish', sans-serif;
|
|
515
|
-
animation: ${modalFadeIn} 0.2s ease-out;
|
|
516
|
-
`;
|
|
517
|
-
export const modalHeaderCss = css `
|
|
518
|
-
display: flex;
|
|
519
|
-
align-items: center;
|
|
520
|
-
justify-content: space-between;
|
|
521
|
-
padding: 14px 20px;
|
|
522
|
-
border-bottom: 1px solid rgba(40, 184, 206, 0.15);
|
|
523
|
-
background: rgba(40, 184, 206, 0.04);
|
|
524
|
-
border-radius: 12px 12px 0 0;
|
|
525
|
-
`;
|
|
526
|
-
export const modalTitleCss = css `
|
|
527
|
-
font-size: 14px;
|
|
528
|
-
font-weight: 800;
|
|
529
|
-
color: #e0f0f4;
|
|
530
|
-
text-transform: uppercase;
|
|
531
|
-
letter-spacing: 0.08em;
|
|
532
|
-
`;
|
|
533
|
-
export const modalCloseBtnCss = css `
|
|
534
|
-
width: 28px;
|
|
535
|
-
height: 28px;
|
|
536
|
-
border: none;
|
|
537
|
-
border-radius: 6px;
|
|
538
|
-
background: rgba(40, 184, 206, 0.08);
|
|
539
|
-
color: #5a8a98;
|
|
540
|
-
font-size: 12px;
|
|
541
|
-
cursor: pointer;
|
|
542
|
-
display: flex;
|
|
543
|
-
align-items: center;
|
|
544
|
-
justify-content: center;
|
|
545
|
-
transition: all 0.15s;
|
|
546
|
-
|
|
547
|
-
&:hover {
|
|
548
|
-
background: rgba(220, 60, 60, 0.2);
|
|
549
|
-
color: #dc3c3c;
|
|
550
|
-
}
|
|
551
|
-
`;
|
|
552
|
-
export const modalBodyCss = css `
|
|
553
|
-
flex: 1;
|
|
554
|
-
overflow-y: auto;
|
|
555
|
-
padding: 16px 20px;
|
|
556
|
-
display: flex;
|
|
557
|
-
flex-direction: column;
|
|
558
|
-
gap: 12px;
|
|
559
|
-
min-height: 0;
|
|
560
|
-
`;
|
|
561
|
-
export const modalTextareaCss = css `
|
|
562
|
-
width: 100%;
|
|
563
|
-
min-height: 100px;
|
|
564
|
-
border-radius: 8px;
|
|
565
|
-
border: 1px solid rgba(40, 184, 206, 0.25);
|
|
566
|
-
background: rgba(0, 0, 0, 0.4);
|
|
567
|
-
color: #e0f0f4;
|
|
568
|
-
font-size: 13px;
|
|
569
|
-
font-weight: 500;
|
|
570
|
-
padding: 12px;
|
|
571
|
-
font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
|
|
572
|
-
resize: vertical;
|
|
573
|
-
line-height: 1.5;
|
|
574
|
-
|
|
575
|
-
&::placeholder {
|
|
576
|
-
color: #3a6070;
|
|
577
|
-
}
|
|
578
|
-
|
|
579
|
-
&:focus {
|
|
580
|
-
outline: none;
|
|
581
|
-
border-color: ${GP_PRIMARY};
|
|
582
|
-
box-shadow: 0 0 0 2px rgba(40, 184, 206, 0.15);
|
|
583
|
-
}
|
|
584
|
-
`;
|
|
585
|
-
export const jsonPreviewCss = css `
|
|
586
|
-
border-radius: 8px;
|
|
587
|
-
border: 1px solid rgba(40, 184, 206, 0.15);
|
|
588
|
-
background: rgba(0, 0, 0, 0.3);
|
|
589
|
-
overflow: hidden;
|
|
590
|
-
`;
|
|
591
|
-
export const jsonPreviewLabelCss = css `
|
|
592
|
-
font-size: 10px;
|
|
593
|
-
font-weight: 800;
|
|
594
|
-
color: #3a6070;
|
|
595
|
-
text-transform: uppercase;
|
|
596
|
-
letter-spacing: 0.1em;
|
|
597
|
-
padding: 6px 12px;
|
|
598
|
-
border-bottom: 1px solid rgba(40, 184, 206, 0.08);
|
|
599
|
-
`;
|
|
600
|
-
export const jsonPreviewCodeCss = css `
|
|
601
|
-
padding: 12px;
|
|
602
|
-
margin: 0;
|
|
603
|
-
font-size: 12px;
|
|
604
|
-
font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
|
|
605
|
-
line-height: 1.6;
|
|
606
|
-
color: #8ab8c8;
|
|
607
|
-
max-height: 300px;
|
|
608
|
-
overflow-y: auto;
|
|
609
|
-
white-space: pre;
|
|
610
|
-
tab-size: 2;
|
|
611
|
-
`;
|
|
612
|
-
export const pasteErrorCss = css `
|
|
613
|
-
font-size: 12px;
|
|
614
|
-
font-weight: 700;
|
|
615
|
-
color: #dc3c3c;
|
|
616
|
-
padding: 6px 10px;
|
|
617
|
-
border-radius: 6px;
|
|
618
|
-
background: rgba(220, 60, 60, 0.1);
|
|
619
|
-
border: 1px solid rgba(220, 60, 60, 0.2);
|
|
620
|
-
`;
|
|
621
|
-
export const modalFooterCss = css `
|
|
622
|
-
display: flex;
|
|
623
|
-
justify-content: flex-end;
|
|
624
|
-
gap: 8px;
|
|
625
|
-
padding: 12px 20px;
|
|
626
|
-
border-top: 1px solid rgba(40, 184, 206, 0.15);
|
|
627
|
-
`;
|
|
628
|
-
export const modalCancelBtnCss = css `
|
|
629
|
-
height: 32px;
|
|
630
|
-
padding: 0 16px;
|
|
631
|
-
border-radius: 6px;
|
|
632
|
-
border: 1px solid rgba(40, 184, 206, 0.25);
|
|
633
|
-
background: transparent;
|
|
634
|
-
color: #5a8a98;
|
|
635
|
-
font-size: 13px;
|
|
636
|
-
font-weight: 700;
|
|
637
|
-
cursor: pointer;
|
|
638
|
-
font-family: inherit;
|
|
639
|
-
transition: all 0.15s;
|
|
640
|
-
|
|
641
|
-
&:hover {
|
|
642
|
-
background: rgba(40, 184, 206, 0.08);
|
|
643
|
-
color: #e0f0f4;
|
|
644
|
-
}
|
|
645
|
-
`;
|
|
646
|
-
export const modalLoadBtnCss = css `
|
|
647
|
-
height: 32px;
|
|
648
|
-
padding: 0 20px;
|
|
649
|
-
border-radius: 6px;
|
|
650
|
-
border: 1px solid rgba(40, 184, 206, 0.4);
|
|
651
|
-
background: rgba(40, 184, 206, 0.2);
|
|
652
|
-
color: ${GP_PRIMARY};
|
|
653
|
-
font-size: 13px;
|
|
654
|
-
font-weight: 800;
|
|
655
|
-
text-transform: uppercase;
|
|
656
|
-
letter-spacing: 0.05em;
|
|
657
|
-
cursor: pointer;
|
|
658
|
-
font-family: inherit;
|
|
659
|
-
transition: all 0.15s;
|
|
660
|
-
|
|
661
|
-
&:hover {
|
|
662
|
-
background: rgba(40, 184, 206, 0.35);
|
|
663
|
-
border-color: ${GP_PRIMARY};
|
|
664
|
-
}
|
|
665
|
-
`;
|
|
666
|
-
// ── JSON syntax colors ──
|
|
667
|
-
export const jsonKeyCss = css `
|
|
668
|
-
color: ${GP_ACCENT};
|
|
669
|
-
`;
|
|
670
|
-
export const jsonStringCss = css `
|
|
671
|
-
color: #8bbb6a;
|
|
672
|
-
`;
|
|
673
|
-
export const jsonBoolCss = css `
|
|
674
|
-
color: #d4872a;
|
|
675
|
-
`;
|
|
676
|
-
export const jsonNumCss = css `
|
|
677
|
-
color: #c4a0e8;
|
|
678
|
-
`;
|
|
679
|
-
export const jsonPunctCss = css `
|
|
680
|
-
color: #5a6a78;
|
|
681
|
-
`;
|
|
682
|
-
export const jsonErrorTextCss = css `
|
|
683
|
-
color: #dc3c3c;
|
|
684
|
-
`;
|
|
685
|
-
// ── Flash ──
|
|
686
|
-
export const flashCss = css `
|
|
687
|
-
position: absolute;
|
|
688
|
-
bottom: 100%;
|
|
689
|
-
left: 0;
|
|
690
|
-
right: 0;
|
|
691
|
-
margin-bottom: 8px;
|
|
692
|
-
padding: 6px 14px;
|
|
693
|
-
font-size: 12px;
|
|
694
|
-
font-weight: 700;
|
|
695
|
-
color: ${GP_PRIMARY};
|
|
696
|
-
text-align: center;
|
|
697
|
-
background: linear-gradient(145deg, ${GP_SURFACE}, ${GP_DARK});
|
|
698
|
-
border: 1px solid rgba(40, 184, 206, 0.3);
|
|
699
|
-
border-radius: 8px;
|
|
700
|
-
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
|
|
701
|
-
white-space: nowrap;
|
|
702
|
-
pointer-events: none;
|
|
703
|
-
animation: ${flashFade} 1.5s ease-out forwards;
|
|
704
|
-
`;
|
|
705
|
-
// ── Game Options toggles ──
|
|
706
|
-
export const toggleRowCss = css `
|
|
707
|
-
grid-column: 1 / -1;
|
|
708
|
-
display: flex;
|
|
709
|
-
align-items: center;
|
|
710
|
-
gap: 8px;
|
|
711
|
-
margin-top: 4px;
|
|
712
|
-
padding: 4px 0;
|
|
713
|
-
cursor: pointer;
|
|
714
|
-
`;
|
|
715
|
-
export const checkboxCss = css `
|
|
716
|
-
appearance: none;
|
|
717
|
-
width: 16px;
|
|
718
|
-
height: 16px;
|
|
719
|
-
border-radius: 4px;
|
|
720
|
-
border: 1px solid rgba(40, 184, 206, 0.35);
|
|
721
|
-
background: rgba(0, 0, 0, 0.3);
|
|
722
|
-
cursor: pointer;
|
|
723
|
-
flex-shrink: 0;
|
|
724
|
-
position: relative;
|
|
725
|
-
transition: all 0.15s;
|
|
726
|
-
|
|
727
|
-
&:checked {
|
|
728
|
-
background: rgba(40, 184, 206, 0.2);
|
|
729
|
-
border-color: ${GP_PRIMARY};
|
|
730
|
-
}
|
|
731
|
-
|
|
732
|
-
&:checked::after {
|
|
733
|
-
content: '\u2713';
|
|
734
|
-
position: absolute;
|
|
735
|
-
top: 50%;
|
|
736
|
-
left: 50%;
|
|
737
|
-
transform: translate(-50%, -50%);
|
|
738
|
-
font-size: 11px;
|
|
739
|
-
color: ${GP_PRIMARY};
|
|
740
|
-
font-weight: 700;
|
|
741
|
-
}
|
|
742
|
-
|
|
743
|
-
&:hover {
|
|
744
|
-
border-color: rgba(40, 184, 206, 0.5);
|
|
745
|
-
}
|
|
746
|
-
`;
|
|
747
|
-
export const toggleLabelCss = css `
|
|
748
|
-
font-size: 12px;
|
|
749
|
-
font-weight: 600;
|
|
750
|
-
color: #5a8a98;
|
|
751
|
-
`;
|
|
752
|
-
//# sourceMappingURL=DevToolsStyles.js.map
|