@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.
Files changed (46) hide show
  1. package/dist/components/GameProvider/GameErrorBoundary.js +108 -108
  2. package/dist/components/JournalTabs/History/SetupLogItem.js +19 -19
  3. package/dist/components/material/GameTable/DevTools/DevToolEntry.js +9 -10
  4. package/dist/components/material/GameTable/DevTools/DevToolEntry.js.map +1 -1
  5. package/dist/components/material/GameTable/DevTools/DevToolsHub.js +47 -46
  6. package/dist/components/material/GameTable/DevTools/DevToolsHub.js.map +1 -1
  7. package/dist/components/material/GameTable/DevTools/ExportPanel.js +9 -10
  8. package/dist/components/material/GameTable/DevTools/ExportPanel.js.map +1 -1
  9. package/dist/components/material/GameTable/DevTools/GamePanel.js +41 -44
  10. package/dist/components/material/GameTable/DevTools/GamePanel.js.map +1 -1
  11. package/dist/components/material/GameTable/DevTools/SaveLoadPanel.js +65 -66
  12. package/dist/components/material/GameTable/DevTools/SaveLoadPanel.js.map +1 -1
  13. package/dist/components/material/GameTable/DevToolsHub.d.ts +21 -4
  14. package/dist/components/material/GameTable/DevToolsHub.js +830 -24
  15. package/dist/components/material/GameTable/DevToolsHub.js.map +1 -1
  16. package/dist/components/material/Wheel/WheelContent.d.ts +13 -0
  17. package/dist/components/material/Wheel/WheelContent.js +37 -0
  18. package/dist/components/material/Wheel/WheelContent.js.map +1 -0
  19. package/dist/components/menus/BugReport/BugReportDialog.js +38 -38
  20. package/dist/css/backgroundCss.js +3 -3
  21. package/dist/css/cursorCss.js +6 -6
  22. package/dist/css/fadeIn.js +6 -6
  23. package/dist/css/shineEffect.js +28 -28
  24. package/dist/css/transformCss.js +4 -4
  25. package/dist/hooks/useFailures.d.ts +1 -0
  26. package/dist/hooks/useFailures.js +11 -0
  27. package/dist/hooks/useFailures.js.map +1 -0
  28. package/dist/hooks/useWebP.d.ts +1 -0
  29. package/dist/hooks/useWebP.js +13 -0
  30. package/dist/hooks/useWebP.js.map +1 -0
  31. package/package.json +3 -3
  32. package/dist/components/material/Dices/OctahedralDiceDescription.d.ts +0 -48
  33. package/dist/components/material/Dices/OctahedralDiceDescription.js +0 -142
  34. package/dist/components/material/Dices/OctahedralDiceDescription.js.map +0 -1
  35. package/dist/components/material/GameTable/DevToolEntry.d.ts +0 -17
  36. package/dist/components/material/GameTable/DevToolEntry.js +0 -13
  37. package/dist/components/material/GameTable/DevToolEntry.js.map +0 -1
  38. package/dist/components/material/GameTable/DevTools/DevToolsStyles.d.ts +0 -58
  39. package/dist/components/material/GameTable/DevTools/DevToolsStyles.js +0 -706
  40. package/dist/components/material/GameTable/DevTools/DevToolsStyles.js.map +0 -1
  41. package/dist/components/material/GameTable/DevToolsStyles.d.ts +0 -67
  42. package/dist/components/material/GameTable/DevToolsStyles.js +0 -752
  43. package/dist/components/material/GameTable/DevToolsStyles.js.map +0 -1
  44. package/dist/components/material/GameTable/JsonHighlighter.d.ts +0 -3
  45. package/dist/components/material/GameTable/JsonHighlighter.js +0 -37
  46. package/dist/components/material/GameTable/JsonHighlighter.js.map +0 -1
@@ -20,124 +20,124 @@ export class GameErrorBoundary extends Component {
20
20
  return (_jsx("div", { css: containerCss, children: _jsxs("div", { css: cardCss, children: [_jsx("div", { css: iconContainerCss, children: _jsx(FontAwesomeIcon, { icon: faTriangleExclamation, css: iconCss }) }), _jsx("p", { css: messageCss, children: _jsx(Trans, { defaults: "A technical error has occurred. The error has been sent to the Game Park team.", i18nKey: "error.crash", ns: "common" }) }), _jsx("p", { css: hintCss, children: _jsx(Trans, { defaults: "You can refresh the page to continue your game.", i18nKey: "error.refresh.hint", ns: "common" }) }), _jsx("button", { css: buttonCss, onClick: () => window.location.reload(), children: _jsx(Trans, { defaults: "Refresh the page", i18nKey: "error.refresh.button", ns: "common" }) }), _jsx("div", { css: dividerCss }), _jsx("p", { css: secondaryMessageCss, children: _jsx(Trans, { defaults: "If the problem persists despite refreshing and the game is corrupted, please let us know on Discord.", i18nKey: "error.discord.hint", ns: "common" }) }), _jsxs("a", { css: discordLinkCss, href: "https://discord.gg/ZMCX5reQm8", target: "_blank", rel: "noopener noreferrer", children: [_jsx("svg", { css: discordIconCss, viewBox: "0 0 127.14 96.36", fill: "currentColor", children: _jsx("path", { d: "M107.7 8.07A105.15 105.15 0 0 0 81.47 0a72.06 72.06 0 0 0-3.36 6.83 97.68 97.68 0 0 0-29.11 0A72.37 72.37 0 0 0 45.64 0a105.89 105.89 0 0 0-26.25 8.09C2.79 32.65-1.71 56.6.54 80.21a105.73 105.73 0 0 0 32.17 16.15 77.7 77.7 0 0 0 6.89-11.11 68.42 68.42 0 0 1-10.85-5.18c.91-.66 1.8-1.34 2.66-2.04a75.57 75.57 0 0 0 64.32 0c.87.71 1.76 1.39 2.66 2.04a68.68 68.68 0 0 1-10.87 5.19 77.28 77.28 0 0 0 6.89 11.1 105.45 105.45 0 0 0 32.19-16.14c2.64-27.38-4.51-51.11-18.9-72.15ZM42.45 65.69C36.18 65.69 31 60 31 53.05c0-6.94 5.04-12.67 11.45-12.67S53.99 46.1 53.9 53.05c0 6.94-5.08 12.64-11.45 12.64Zm42.24 0C78.41 65.69 73.25 60 73.25 53.05c0-6.94 5.04-12.67 11.44-12.67s11.51 5.73 11.44 12.67c0 6.94-5.04 12.64-11.44 12.64Z" }) }), _jsx(Trans, { defaults: "Join the Game Park Discord", i18nKey: "error.discord.button", ns: "common" })] })] }) }));
21
21
  }
22
22
  }
23
- const fadeIn = keyframes `
24
- from {
25
- opacity: 0;
26
- transform: translateY(16px);
27
- }
28
- to {
29
- opacity: 1;
30
- transform: translateY(0);
31
- }
23
+ const fadeIn = keyframes `
24
+ from {
25
+ opacity: 0;
26
+ transform: translateY(16px);
27
+ }
28
+ to {
29
+ opacity: 1;
30
+ transform: translateY(0);
31
+ }
32
32
  `;
33
- const containerCss = css `
34
- display: flex;
35
- align-items: center;
36
- justify-content: center;
37
- height: 100%;
38
- width: 100%;
39
- padding: 2em;
40
- box-sizing: border-box;
41
- font-family: "Mulish", sans-serif;
33
+ const containerCss = css `
34
+ display: flex;
35
+ align-items: center;
36
+ justify-content: center;
37
+ height: 100%;
38
+ width: 100%;
39
+ padding: 2em;
40
+ box-sizing: border-box;
41
+ font-family: "Mulish", sans-serif;
42
42
  `;
43
- const cardCss = css `
44
- display: flex;
45
- flex-direction: column;
46
- align-items: center;
47
- max-width: 460px;
48
- padding: 2.5em 2.5em 2em;
49
- border-radius: 1.2em;
50
- background: #002448;
51
- color: #eee;
52
- text-align: center;
53
- box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
54
- animation: ${fadeIn} 0.4s ease-out;
43
+ const cardCss = css `
44
+ display: flex;
45
+ flex-direction: column;
46
+ align-items: center;
47
+ max-width: 460px;
48
+ padding: 2.5em 2.5em 2em;
49
+ border-radius: 1.2em;
50
+ background: #002448;
51
+ color: #eee;
52
+ text-align: center;
53
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
54
+ animation: ${fadeIn} 0.4s ease-out;
55
55
  `;
56
- const iconContainerCss = css `
57
- display: flex;
58
- align-items: center;
59
- justify-content: center;
60
- width: 64px;
61
- height: 64px;
62
- border-radius: 50%;
63
- background: rgba(40, 184, 206, 0.15);
64
- margin-bottom: 1.2em;
56
+ const iconContainerCss = css `
57
+ display: flex;
58
+ align-items: center;
59
+ justify-content: center;
60
+ width: 64px;
61
+ height: 64px;
62
+ border-radius: 50%;
63
+ background: rgba(40, 184, 206, 0.15);
64
+ margin-bottom: 1.2em;
65
65
  `;
66
- const iconCss = css `
67
- font-size: 32px;
68
- color: #28B8CE;
66
+ const iconCss = css `
67
+ font-size: 32px;
68
+ color: #28B8CE;
69
69
  `;
70
- const messageCss = css `
71
- font-size: 1.05em;
72
- font-weight: 600;
73
- line-height: 1.5;
74
- margin: 0 0 0.3em;
70
+ const messageCss = css `
71
+ font-size: 1.05em;
72
+ font-weight: 600;
73
+ line-height: 1.5;
74
+ margin: 0 0 0.3em;
75
75
  `;
76
- const hintCss = css `
77
- font-size: 0.95em;
78
- line-height: 1.5;
79
- margin: 0;
80
- opacity: 0.8;
76
+ const hintCss = css `
77
+ font-size: 0.95em;
78
+ line-height: 1.5;
79
+ margin: 0;
80
+ opacity: 0.8;
81
81
  `;
82
- const buttonCss = css `
83
- margin-top: 1.5em;
84
- padding: 0.65em 2.2em;
85
- font-size: 1em;
86
- font-family: inherit;
87
- font-weight: 700;
88
- border: none;
89
- border-radius: 0.6em;
90
- background: #28B8CE;
91
- color: white;
92
- cursor: pointer;
93
- transition: background 0.2s, transform 0.1s;
94
- letter-spacing: 0.02em;
95
-
96
- &:hover {
97
- background: #24a5b9;
98
- }
99
-
100
- &:active {
101
- background: #2092a3;
102
- transform: scale(0.97);
103
- }
82
+ const buttonCss = css `
83
+ margin-top: 1.5em;
84
+ padding: 0.65em 2.2em;
85
+ font-size: 1em;
86
+ font-family: inherit;
87
+ font-weight: 700;
88
+ border: none;
89
+ border-radius: 0.6em;
90
+ background: #28B8CE;
91
+ color: white;
92
+ cursor: pointer;
93
+ transition: background 0.2s, transform 0.1s;
94
+ letter-spacing: 0.02em;
95
+
96
+ &:hover {
97
+ background: #24a5b9;
98
+ }
99
+
100
+ &:active {
101
+ background: #2092a3;
102
+ transform: scale(0.97);
103
+ }
104
104
  `;
105
- const dividerCss = css `
106
- width: 60%;
107
- height: 1px;
108
- background: rgba(255, 255, 255, 0.12);
109
- margin: 1.8em 0 1.2em;
105
+ const dividerCss = css `
106
+ width: 60%;
107
+ height: 1px;
108
+ background: rgba(255, 255, 255, 0.12);
109
+ margin: 1.8em 0 1.2em;
110
110
  `;
111
- const secondaryMessageCss = css `
112
- font-size: 0.85em;
113
- line-height: 1.6;
114
- margin: 0 0 1em;
115
- opacity: 0.65;
111
+ const secondaryMessageCss = css `
112
+ font-size: 0.85em;
113
+ line-height: 1.6;
114
+ margin: 0 0 1em;
115
+ opacity: 0.65;
116
116
  `;
117
- const discordLinkCss = css `
118
- display: inline-flex;
119
- align-items: center;
120
- gap: 0.5em;
121
- padding: 0.5em 1.4em;
122
- font-size: 0.9em;
123
- font-family: inherit;
124
- font-weight: 600;
125
- color: white;
126
- background: #5865F2;
127
- border-radius: 0.5em;
128
- text-decoration: none;
129
- transition: background 0.2s, transform 0.1s;
130
-
131
- &:hover {
132
- background: #4752C4;
133
- }
134
-
135
- &:active {
136
- transform: scale(0.97);
137
- }
117
+ const discordLinkCss = css `
118
+ display: inline-flex;
119
+ align-items: center;
120
+ gap: 0.5em;
121
+ padding: 0.5em 1.4em;
122
+ font-size: 0.9em;
123
+ font-family: inherit;
124
+ font-weight: 600;
125
+ color: white;
126
+ background: #5865F2;
127
+ border-radius: 0.5em;
128
+ text-decoration: none;
129
+ transition: background 0.2s, transform 0.1s;
130
+
131
+ &:hover {
132
+ background: #4752C4;
133
+ }
134
+
135
+ &:active {
136
+ transform: scale(0.97);
137
+ }
138
138
  `;
139
- const discordIconCss = css `
140
- width: 20px;
141
- height: 20px;
139
+ const discordIconCss = css `
140
+ width: 20px;
141
+ height: 20px;
142
142
  `;
143
143
  //# sourceMappingURL=GameErrorBoundary.js.map
@@ -3,24 +3,24 @@ import { css } from '@emotion/react';
3
3
  export const SetupLogItem = ({ log, game, index, customEntryCss, ...rest }) => {
4
4
  return (_jsx("div", { ...rest, children: _jsx("div", { css: [entryCss, customEntryCss, log.css], children: _jsx("div", { children: _jsx(log.Component, { game: game, index: index }) }) }) }));
5
5
  };
6
- const entryCss = css `
7
- width: 100%;
8
- background-color: rgba(0, 0, 0, 0.7);
9
- border-radius: 1em;
10
- margin-bottom: 0.5em;
11
- min-height: 1em;
12
- padding-left: 1em;
13
- margin-left: 0.05em;
14
- margin-top: 0.05em;
15
- padding-top: 0.5em;
16
- padding-bottom: 0.5em;
17
- display: flex;
18
- align-items: center;
19
- font-size: 2em;
20
- white-space: pre-wrap;
21
-
22
- img, picture {
23
- vertical-align: middle;
24
- }
6
+ const entryCss = css `
7
+ width: 100%;
8
+ background-color: rgba(0, 0, 0, 0.7);
9
+ border-radius: 1em;
10
+ margin-bottom: 0.5em;
11
+ min-height: 1em;
12
+ padding-left: 1em;
13
+ margin-left: 0.05em;
14
+ margin-top: 0.05em;
15
+ padding-top: 0.5em;
16
+ padding-bottom: 0.5em;
17
+ display: flex;
18
+ align-items: center;
19
+ font-size: 2em;
20
+ white-space: pre-wrap;
21
+
22
+ img, picture {
23
+ vertical-align: middle;
24
+ }
25
25
  `;
26
26
  //# sourceMappingURL=SetupLogItem.js.map
@@ -3,19 +3,19 @@ import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
3
3
  import { css, keyframes } from '@emotion/react';
4
4
  const GP_PRIMARY = '#28B8CE';
5
5
  const toolReveal = keyframes `
6
- from { opacity: 0; transform: translateX(-6px); }
6
+ from { opacity: 0; transform: translateX(-0.375em); }
7
7
  to { opacity: 1; transform: translateX(0); }
8
8
  `;
9
9
  export const devToolBtnCss = css `
10
10
  position: relative;
11
11
  display: grid;
12
- grid-template-columns: 28px 1fr;
12
+ grid-template-columns: 1.75em 1fr;
13
13
  grid-template-rows: auto auto;
14
14
  align-items: center;
15
- gap: 0 10px;
16
- padding: 10px 12px;
15
+ gap: 0 0.625em;
16
+ padding: 0.625em 0.75em;
17
17
  border: none;
18
- border-radius: 8px;
18
+ border-radius: 0.5em;
19
19
  background: transparent;
20
20
  cursor: pointer;
21
21
  text-align: left;
@@ -27,18 +27,17 @@ export const devToolBtnCss = css `
27
27
  `;
28
28
  export const devToolIconCss = css `
29
29
  grid-row: 1 / -1;
30
- font-size: 15px;
31
30
  color: ${GP_PRIMARY};
32
31
  display: flex; align-items: center; justify-content: center;
33
- width: 28px; height: 28px;
34
- border-radius: 6px;
32
+ width: 1.75em; height: 1.75em;
33
+ border-radius: 0.375em;
35
34
  background: rgba(40, 184, 206, 0.08);
36
35
  `;
37
36
  export const devToolLabelCss = css `
38
- font-size: 14px; font-weight: 700; color: #e0f0f4; line-height: 1.2;
37
+ font-weight: 700; color: #e0f0f4; line-height: 1.2;
39
38
  `;
40
39
  export const devToolDescCss = css `
41
- font-size: 12px; color: #5a8a98; line-height: 1.2;
40
+ color: #5a8a98; line-height: 1.2;
42
41
  `;
43
42
  /**
44
43
  * A single entry in the DevToolsHub panel.
@@ -1 +1 @@
1
- {"version":3,"file":"DevToolEntry.js","sourceRoot":"","sources":["../../../../../src/components/material/GameTable/DevTools/DevToolEntry.tsx"],"names":[],"mappings":";AAAA,sCAAsC;AACtC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAG/C,MAAM,UAAU,GAAG,SAAS,CAAA;AAE5B,MAAM,UAAU,GAAG,SAAS,CAAA;;;CAG3B,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA;;;;;;;;;;;;;;eAcjB,UAAU;;;;CAIxB,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAA;;;WAGtB,UAAU;;;;;CAKpB,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAA;;CAEjC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAA;;CAEhC,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,YAAY,GAKpB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CACvC,kBAAQ,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,aAC1C,eAAM,GAAG,EAAE,cAAc,YAAG,IAAI,GAAQ,EACxC,eAAM,GAAG,EAAE,eAAe,YAAG,KAAK,GAAQ,EACzC,IAAI,IAAI,eAAM,GAAG,EAAE,cAAc,YAAG,IAAI,GAAQ,IAC1C,CACV,CAAA"}
1
+ {"version":3,"file":"DevToolEntry.js","sourceRoot":"","sources":["../../../../../src/components/material/GameTable/DevTools/DevToolEntry.tsx"],"names":[],"mappings":";AAAA,sCAAsC;AACtC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAG/C,MAAM,UAAU,GAAG,SAAS,CAAA;AAE5B,MAAM,UAAU,GAAG,SAAS,CAAA;;;CAG3B,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA;;;;;;;;;;;;;;eAcjB,UAAU;;;;CAIxB,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAA;;WAEtB,UAAU;;;;;CAKpB,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAA;;CAEjC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAA;;CAEhC,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,YAAY,GAKpB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CACvC,kBAAQ,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,aAC1C,eAAM,GAAG,EAAE,cAAc,YAAG,IAAI,GAAQ,EACxC,eAAM,GAAG,EAAE,eAAe,YAAG,KAAK,GAAQ,EACzC,IAAI,IAAI,eAAM,GAAG,EAAE,cAAc,YAAG,IAAI,GAAQ,IAC1C,CACV,CAAA"}
@@ -40,7 +40,7 @@ export const DevToolsHub = ({ children, fabBottom, gameOptions }) => {
40
40
  if (!root)
41
41
  return null;
42
42
  return createPortal(_jsxs(_Fragment, { children: [_jsx("button", { css: fabCss, onClick: () => { setIsOpen(o => !o); if (isOpen)
43
- setActiveMenu(null); }, "data-open": isOpen, style: fabBottom ? { bottom: fabBottom } : undefined, children: _jsxs("svg", { css: logoCss, viewBox: "0 0 46 46", "data-open": isOpen, children: [_jsx("circle", { cx: "11", cy: "11", r: "7" }), _jsx("circle", { cx: "35", cy: "11", r: "7" }), _jsx("circle", { cx: "11", cy: "35", r: "7" }), _jsx("circle", { cx: "35", cy: "35", r: "7" })] }) }), isOpen && (_jsxs(_Fragment, { children: [_jsx("div", { css: backdropCss, onClick: () => { setIsOpen(false); setActiveMenu(null); } }), _jsxs("div", { css: hubContainerCss, style: fabBottom ? { bottom: `calc(${fabBottom} + 48px)` } : undefined, children: [_jsxs("div", { css: mainMenuCss, children: [_jsxs("div", { css: panelHeaderCss, children: [_jsxs("svg", { css: headerLogoCss, viewBox: "0 0 46 46", children: [_jsx("circle", { cx: "11", cy: "11", r: "7" }), _jsx("circle", { cx: "35", cy: "11", r: "7" }), _jsx("circle", { cx: "11", cy: "35", r: "7" }), _jsx("circle", { cx: "35", cy: "35", r: "7" })] }), _jsx("span", { css: panelTitleCss, children: "Dev Tools" }), _jsx("span", { css: panelBadgeCss, children: "GP" })] }), _jsx("div", { css: menuListCss, children: allMenuItems.map(item => (_jsxs("button", { css: [menuItemCss, activeMenu === item.id && menuItemActiveCss], onClick: () => setActiveMenu(prev => prev === item.id ? null : item.id), onMouseEnter: () => setActiveMenu(item.id), children: [_jsx("span", { css: menuItemIconCss, children: item.icon }), _jsx("span", { css: menuItemLabelCss, children: item.label }), _jsx("span", { css: menuChevronCss, children: '\u25B8' })] }, item.id))) }), flash && _jsx("div", { css: flashCss, children: flash }, flash)] }), activeMenu && (_jsxs("div", { css: subPanelCss, children: [_jsx("div", { css: subPanelHeaderCss, children: _jsx("span", { css: subPanelTitleCss, children: allMenuItems.find(m => m.id === activeMenu)?.label }) }), _jsxs("div", { css: subPanelContentCss, children: [activeMenu === 'game' && _jsx(GamePanel, { exec: exec, g: g, gameOptions: gameOptions }), activeMenu === 'save' && _jsx(SaveLoadPanel, { gameName: gameName, doFlash: doFlash }), activeMenu === 'export' && _jsx(ExportPanel, { gameName: gameName, doFlash: doFlash }), activeMenu === 'custom' && children] })] }))] })] }))] }), root);
43
+ setActiveMenu(null); }, "data-open": isOpen, style: fabBottom ? { bottom: fabBottom } : undefined, children: _jsxs("svg", { css: logoCss, viewBox: "0 0 46 46", "data-open": isOpen, children: [_jsx("circle", { cx: "11", cy: "11", r: "7" }), _jsx("circle", { cx: "35", cy: "11", r: "7" }), _jsx("circle", { cx: "11", cy: "35", r: "7" }), _jsx("circle", { cx: "35", cy: "35", r: "7" })] }) }), isOpen && (_jsxs(_Fragment, { children: [_jsx("div", { css: backdropCss, onClick: () => { setIsOpen(false); setActiveMenu(null); } }), _jsxs("div", { css: hubContainerCss, style: fabBottom ? { bottom: `calc(${fabBottom} + 3rem)` } : undefined, children: [_jsxs("div", { css: mainMenuCss, children: [_jsxs("div", { css: panelHeaderCss, children: [_jsxs("svg", { css: headerLogoCss, viewBox: "0 0 46 46", children: [_jsx("circle", { cx: "11", cy: "11", r: "7" }), _jsx("circle", { cx: "35", cy: "11", r: "7" }), _jsx("circle", { cx: "11", cy: "35", r: "7" }), _jsx("circle", { cx: "35", cy: "35", r: "7" })] }), _jsx("span", { css: panelTitleCss, children: "Dev Tools" }), _jsx("span", { css: panelBadgeCss, children: "GP" })] }), _jsx("div", { css: menuListCss, children: allMenuItems.map(item => (_jsxs("button", { css: [menuItemCss, activeMenu === item.id && menuItemActiveCss], onClick: () => setActiveMenu(prev => prev === item.id ? null : item.id), onMouseEnter: () => setActiveMenu(item.id), children: [_jsx("span", { css: menuItemIconCss, children: item.icon }), _jsx("span", { css: menuItemLabelCss, children: item.label }), _jsx("span", { css: menuChevronCss, children: '\u25B8' })] }, item.id))) }), flash && _jsx("div", { css: flashCss, children: flash }, flash)] }), activeMenu && (_jsxs("div", { css: subPanelCss, children: [_jsx("div", { css: subPanelHeaderCss, children: _jsx("span", { css: subPanelTitleCss, children: allMenuItems.find(m => m.id === activeMenu)?.label }) }), _jsxs("div", { css: subPanelContentCss, children: [activeMenu === 'game' && _jsx(GamePanel, { exec: exec, g: g, gameOptions: gameOptions }), activeMenu === 'save' && _jsx(SaveLoadPanel, { gameName: gameName, doFlash: doFlash }), activeMenu === 'export' && _jsx(ExportPanel, { gameName: gameName, doFlash: doFlash }), activeMenu === 'custom' && children] })] }))] })] }))] }), root);
44
44
  };
45
45
  // ── Styles ──
46
46
  const GP_PRIMARY = '#28B8CE';
@@ -52,21 +52,21 @@ const fabPulse = keyframes `
52
52
  50% { box-shadow: 0 0 0 5px rgba(40, 184, 206, 0); }
53
53
  `;
54
54
  const fabCss = css `
55
- position: fixed; bottom: 16px; left: 16px; z-index: 900;
56
- width: 40px; height: 40px;
57
- border-radius: 10px;
58
- border: 1px solid rgba(40, 184, 206, 0.4);
55
+ position: fixed; bottom: 1em; left: 1em; z-index: 900;
56
+ width: 3.5em; height: 3.5em;
57
+ border-radius: 0.625em;
58
+ border: 0.06em solid rgba(40, 184, 206, 0.4);
59
59
  background: linear-gradient(145deg, ${GP_SURFACE}, ${GP_DARK});
60
60
  cursor: pointer;
61
61
  display: flex; align-items: center; justify-content: center;
62
62
  padding: 0;
63
63
  animation: ${fabPulse} 3s ease-in-out infinite;
64
- transition: all 0.2s;
64
+ transition: background 0.2s, border-color 0.2s;
65
65
  &:hover { border-color: rgba(40, 184, 206, 0.7); animation: none; }
66
66
  &[data-open="true"] { animation: none; background: ${GP_PRIMARY}; border-color: ${GP_PRIMARY}; }
67
67
  `;
68
68
  const logoCss = css `
69
- width: 22px; height: 22px;
69
+ width: 2em; height: 2em;
70
70
  fill: ${GP_PRIMARY};
71
71
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
72
72
  &[data-open="true"] { fill: ${GP_DARK}; transform: rotate(90deg); }
@@ -75,82 +75,83 @@ const backdropCss = css `
75
75
  position: fixed; inset: 0; z-index: 899;
76
76
  `;
77
77
  const hubContainerCss = css `
78
- position: fixed; bottom: 64px; left: 16px; z-index: 900;
79
- display: flex; align-items: flex-end; gap: 6px;
78
+ position: fixed; bottom: 4.5em; left: 1em; z-index: 900;
79
+ font-size: 1.2em;
80
+ display: flex; align-items: flex-end; gap: 0.4em;
80
81
  `;
81
82
  const slideUp = keyframes `
82
- from { opacity: 0; transform: translateY(8px) scale(0.97); }
83
+ from { opacity: 0; transform: translateY(0.5em) scale(0.97); }
83
84
  to { opacity: 1; transform: translateY(0) scale(1); }
84
85
  `;
85
86
  const slideRight = keyframes `
86
- from { opacity: 0; transform: translateX(-8px) scale(0.97); }
87
+ from { opacity: 0; transform: translateX(-0.5em) scale(0.97); }
87
88
  to { opacity: 1; transform: translateX(0) scale(1); }
88
89
  `;
89
90
  const panelBg = `linear-gradient(170deg, #0f2035 0%, ${GP_SURFACE} 100%)`;
90
- const panelShadow = `0 12px 40px rgba(0,0,0,0.5), 0 0 0 1px rgba(0,0,0,0.3), inset 0 1px 0 rgba(159,226,247,0.05)`;
91
+ const panelShadow = `0 0.75em 2.5em rgba(0,0,0,0.5), 0 0 0 0.06em rgba(0,0,0,0.3), inset 0 0.06em 0 rgba(159,226,247,0.05)`;
91
92
  const mainMenuCss = css `
92
- position: relative; width: 200px;
93
+ position: relative; width: 16em;
93
94
  background: ${panelBg};
94
- border: 1px solid rgba(40, 184, 206, 0.25);
95
- border-radius: 12px;
95
+ border: 0.06em solid rgba(40, 184, 206, 0.25);
96
+ border-radius: 0.75em;
96
97
  box-shadow: ${panelShadow};
97
98
  animation: ${slideUp} 0.2s ease-out;
98
99
  font-family: 'Mulish', sans-serif;
99
100
  overflow: hidden;
100
101
  `;
101
102
  const subPanelCss = css `
102
- width: 320px; max-height: calc(100vh - 80px);
103
+ width: 25em; max-height: calc(100vh - 5em);
103
104
  display: flex; flex-direction: column;
104
105
  background: ${panelBg};
105
- border: 1px solid rgba(40, 184, 206, 0.25);
106
- border-radius: 12px;
106
+ border: 0.06em solid rgba(40, 184, 206, 0.25);
107
+ border-radius: 0.75em;
107
108
  box-shadow: ${panelShadow};
108
109
  animation: ${slideRight} 0.15s ease-out;
109
110
  font-family: 'Mulish', sans-serif;
110
111
  overflow: hidden;
111
112
  `;
112
113
  const subPanelHeaderCss = css `
113
- padding: 10px 16px;
114
- border-bottom: 1px solid rgba(40, 184, 206, 0.15);
114
+ padding: 0.625em 1em;
115
+ border-bottom: 0.06em solid rgba(40, 184, 206, 0.15);
115
116
  background: rgba(40, 184, 206, 0.04);
116
117
  flex-shrink: 0;
117
118
  `;
118
119
  const subPanelTitleCss = css `
119
- font-size: 12px; font-weight: 800; color: #5a8a98;
120
+ font-weight: 800; color: #5a8a98;
120
121
  text-transform: uppercase; letter-spacing: 0.1em;
121
122
  `;
122
123
  const subPanelContentCss = css `
123
124
  display: flex; flex-direction: column;
124
- padding: 6px; gap: 2px;
125
+ padding: 0.375em; gap: 0.125em;
125
126
  overflow-y: auto; flex: 1; min-height: 0;
126
127
  `;
127
128
  const panelHeaderCss = css `
128
- display: flex; align-items: center; gap: 8px;
129
- padding: 12px 16px;
130
- border-bottom: 1px solid rgba(40, 184, 206, 0.15);
129
+ display: flex; align-items: center; gap: 0.5em;
130
+ padding: 0.75em 1em;
131
+ border-bottom: 0.06em solid rgba(40, 184, 206, 0.15);
131
132
  background: rgba(40, 184, 206, 0.04);
132
133
  `;
133
134
  const headerLogoCss = css `
134
- width: 18px; height: 18px; fill: ${GP_ACCENT}; flex-shrink: 0;
135
+ width: 1.125em; height: 1.125em; fill: ${GP_ACCENT}; flex-shrink: 0;
135
136
  `;
136
137
  const panelTitleCss = css `
137
- font-size: 14px; font-weight: 800; color: #e0f0f4;
138
+ font-weight: 800; color: #e0f0f4;
138
139
  text-transform: uppercase; letter-spacing: 0.08em; flex: 1;
139
140
  `;
140
141
  const panelBadgeCss = css `
141
- font-size: 9px; font-weight: 800;
142
- padding: 2px 6px; border-radius: 4px;
142
+ font-weight: 800;
143
+ padding: 0.125em 0.375em; border-radius: 0.25em;
143
144
  background: rgba(40, 184, 206, 0.15);
144
145
  color: ${GP_PRIMARY}; letter-spacing: 0.1em;
145
146
  `;
146
147
  const menuListCss = css `
147
- display: flex; flex-direction: column; padding: 6px; gap: 2px;
148
+ display: flex; flex-direction: column; padding: 0.375em; gap: 0.125em;
148
149
  `;
149
150
  const menuItemCss = css `
150
151
  position: relative;
151
- display: flex; align-items: center; gap: 10px;
152
- padding: 10px 12px;
153
- border: none; border-radius: 8px;
152
+ display: flex; align-items: center; gap: 0.625em;
153
+ padding: 0.625em 0.75em;
154
+ border: none; border-radius: 0.5em;
154
155
  background: transparent;
155
156
  cursor: pointer; text-align: left;
156
157
  transition: background 0.15s;
@@ -162,38 +163,38 @@ const menuItemActiveCss = css `
162
163
  &::before {
163
164
  content: ''; position: absolute; left: 0; top: 50%;
164
165
  transform: translateY(-50%);
165
- width: 3px; height: 18px;
166
- border-radius: 0 3px 3px 0;
166
+ width: 0.2em; height: 1.125em;
167
+ border-radius: 0 0.2em 0.2em 0;
167
168
  background: ${GP_PRIMARY};
168
169
  }
169
170
  `;
170
171
  const menuItemIconCss = css `
171
- font-size: 15px; color: ${GP_PRIMARY};
172
+ color: ${GP_PRIMARY};
172
173
  display: flex; align-items: center; justify-content: center;
173
- width: 28px; height: 28px; border-radius: 6px;
174
+ width: 1.75em; height: 1.75em; border-radius: 0.375em;
174
175
  background: rgba(40, 184, 206, 0.08); flex-shrink: 0;
175
176
  `;
176
177
  const menuItemLabelCss = css `
177
- font-size: 13px; font-weight: 700; color: #e0f0f4; flex: 1;
178
+ font-weight: 700; color: #e0f0f4; flex: 1;
178
179
  `;
179
180
  const menuChevronCss = css `
180
- font-size: 10px; color: #3a6070;
181
+ color: #3a6070;
181
182
  `;
182
183
  const flashFade = keyframes `
183
- 0% { opacity: 0; transform: translateY(6px); }
184
+ 0% { opacity: 0; transform: translateY(0.375em); }
184
185
  15% { opacity: 1; transform: translateY(0); }
185
186
  85% { opacity: 1; transform: translateY(0); }
186
- 100% { opacity: 0; transform: translateY(-6px); }
187
+ 100% { opacity: 0; transform: translateY(-0.375em); }
187
188
  `;
188
189
  const flashCss = css `
189
190
  position: absolute; bottom: 100%; left: 0; right: 0;
190
- margin-bottom: 8px; padding: 6px 14px;
191
- font-size: 12px; font-weight: 700; color: ${GP_PRIMARY};
191
+ margin-bottom: 0.5em; padding: 0.375em 0.875em;
192
+ font-weight: 700; color: ${GP_PRIMARY};
192
193
  text-align: center;
193
194
  background: linear-gradient(145deg, ${GP_SURFACE}, ${GP_DARK});
194
- border: 1px solid rgba(40, 184, 206, 0.3);
195
- border-radius: 8px;
196
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
195
+ border: 0.06em solid rgba(40, 184, 206, 0.3);
196
+ border-radius: 0.5em;
197
+ box-shadow: 0 0.25em 0.75em rgba(0, 0, 0, 0.4);
197
198
  white-space: nowrap; pointer-events: none;
198
199
  animation: ${flashFade} 1.5s ease-out forwards;
199
200
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"DevToolsHub.js","sourceRoot":"","sources":["../../../../../src/components/material/GameTable/DevTools/DevToolsHub.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DevToolsHub.js","sourceRoot":"","sources":["../../../../../src/components/material/GameTable/DevTools/DevToolsHub.tsx"],"names":[],"mappings":"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"}
@@ -40,19 +40,19 @@ export const ExportPanel = ({ gameName, doFlash }) => {
40
40
  };
41
41
  // ── Styles ──
42
42
  const toolReveal = keyframes `
43
- from { opacity: 0; transform: translateX(-6px); }
43
+ from { opacity: 0; transform: translateX(-0.375em); }
44
44
  to { opacity: 1; transform: translateX(0); }
45
45
  `;
46
46
  const toolBtnCss = css `
47
47
  position: relative;
48
48
  display: grid;
49
- grid-template-columns: 28px 1fr;
49
+ grid-template-columns: 1.75em 1fr;
50
50
  grid-template-rows: auto auto;
51
51
  align-items: center;
52
- gap: 0 10px;
53
- padding: 10px 12px;
52
+ gap: 0 0.625em;
53
+ padding: 0.625em 0.75em;
54
54
  border: none;
55
- border-radius: 8px;
55
+ border-radius: 0.5em;
56
56
  background: transparent;
57
57
  cursor: pointer;
58
58
  text-align: left;
@@ -64,17 +64,16 @@ const toolBtnCss = css `
64
64
  `;
65
65
  const toolIconCss = css `
66
66
  grid-row: 1 / -1;
67
- font-size: 15px;
68
67
  color: ${GP_PRIMARY};
69
68
  display: flex; align-items: center; justify-content: center;
70
- width: 28px; height: 28px;
71
- border-radius: 6px;
69
+ width: 1.75em; height: 1.75em;
70
+ border-radius: 0.375em;
72
71
  background: rgba(40, 184, 206, 0.08);
73
72
  `;
74
73
  const toolLabelCss = css `
75
- font-size: 14px; font-weight: 700; color: #e0f0f4; line-height: 1.2;
74
+ font-weight: 700; color: #e0f0f4; line-height: 1.2;
76
75
  `;
77
76
  const toolDescCss = css `
78
- font-size: 12px; color: #5a8a98; line-height: 1.2;
77
+ color: #5a8a98; line-height: 1.2;
79
78
  `;
80
79
  //# sourceMappingURL=ExportPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExportPanel.js","sourceRoot":"","sources":["../../../../../src/components/material/GameTable/DevTools/ExportPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExportPanel.js","sourceRoot":"","sources":["../../../../../src/components/material/GameTable/DevTools/ExportPanel.tsx"],"names":[],"mappings":"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"}