@gamepark/react-game 6.3.0 → 6.4.0

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.
@@ -35,13 +35,19 @@ var react_dom_1 = require("react-dom");
35
35
  var Dialog = function (_a) {
36
36
  var children = _a.children, open = _a.open, backdropCss = _a.backdropCss, onBackdropClick = _a.onBackdropClick, _b = _a.transitionDelay, transitionDelay = _b === void 0 ? 0.3 : _b, _c = _a.rootId, rootId = _c === void 0 ? 'root' : _c, props = __rest(_a, ["children", "open", "backdropCss", "onBackdropClick", "transitionDelay", "rootId"]);
37
37
  var _d = (0, react_2.useState)(open), display = _d[0], setDisplay = _d[1];
38
+ // When we open the dialog with use-long-press, Chrome mobile generates a click event on the backdrop even though the pointer down event
39
+ // was done before the dialog existed. It causes the dialog to close immediately. We prevent any backdrop click for 300ms to workaround this issue.
40
+ var _e = (0, react_2.useState)(false), justDisplayed = _e[0], setJustDisplayed = _e[1];
38
41
  (0, react_2.useEffect)(function () {
39
42
  if (open) {
40
43
  setDisplay(true);
44
+ setJustDisplayed(true);
45
+ var timeout_1 = setTimeout(function () { return setJustDisplayed(false); }, 300);
46
+ return function () { return clearTimeout(timeout_1); };
41
47
  }
42
48
  else {
43
- var timeout_1 = setTimeout(function () { return setDisplay(false); }, transitionDelay * 1000);
44
- return function () { return clearTimeout(timeout_1); };
49
+ var timeout_2 = setTimeout(function () { return setDisplay(false); }, transitionDelay * 1000);
50
+ return function () { return clearTimeout(timeout_2); };
45
51
  }
46
52
  }, [open, transitionDelay]);
47
53
  if (!display)
@@ -51,7 +57,7 @@ var Dialog = function (_a) {
51
57
  console.error('Dialog cannot be displayed because this element id does not exists:', rootId);
52
58
  return null;
53
59
  }
54
- return (0, react_dom_1.createPortal)((0, jsx_runtime_1.jsx)("div", __assign({ css: [backdropStyle(transitionDelay), !open && hide(transitionDelay), backdropCss], onClick: onBackdropClick }, { children: (0, jsx_runtime_1.jsx)("div", __assign({ onClick: function (event) { return event.stopPropagation(); } }, props, { children: children })) })), root);
60
+ return (0, react_dom_1.createPortal)((0, jsx_runtime_1.jsx)("div", __assign({ css: [backdropStyle(transitionDelay), !open && hide(transitionDelay), backdropCss], onClick: function (event) { return !justDisplayed && (onBackdropClick === null || onBackdropClick === void 0 ? void 0 : onBackdropClick(event)); } }, { children: (0, jsx_runtime_1.jsx)("div", __assign({ onClick: function (event) { return event.stopPropagation(); } }, props, { children: children })) })), root);
55
61
  };
56
62
  exports.Dialog = Dialog;
57
63
  var fadeIn = (0, react_1.keyframes)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n"], ["\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n"])));
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../src/components/dialogs/Dialog.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,wCAA8D;AAC9D,+BAA8E;AAC9E,uCAAwC;AAUjC,IAAM,MAAM,GAAG,UAAC,EAA+G;IAA7G,IAAA,QAAQ,cAAA,EAAE,IAAI,UAAA,EAAE,WAAW,iBAAA,EAAE,eAAe,qBAAA,EAAE,uBAAqB,EAArB,eAAe,mBAAG,GAAG,KAAA,EAAE,cAAe,EAAf,MAAM,mBAAG,MAAM,KAAA,EAAK,KAAK,cAAhG,mFAAkG,CAAF;IAC/G,IAAA,KAAwB,IAAA,gBAAQ,EAAC,IAAI,CAAC,EAArC,OAAO,QAAA,EAAE,UAAU,QAAkB,CAAA;IAE5C,IAAA,iBAAS,EAAC;QACR,IAAI,IAAI,EAAE;YACR,UAAU,CAAC,IAAI,CAAC,CAAA;SACjB;aAAM;YACL,IAAM,SAAO,GAAG,UAAU,CAAC,cAAM,OAAA,UAAU,CAAC,KAAK,CAAC,EAAjB,CAAiB,EAAE,eAAe,GAAG,IAAI,CAAC,CAAA;YAC3E,OAAO,cAAM,OAAA,YAAY,CAAC,SAAO,CAAC,EAArB,CAAqB,CAAA;SACnC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAA;IAE3B,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IAEzB,IAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;IAC5C,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,CAAC,KAAK,CAAC,qEAAqE,EAAE,MAAM,CAAC,CAAA;QAC5F,OAAO,IAAI,CAAA;KACZ;IAGD,OAAO,IAAA,wBAAY,EACjB,yCAAK,GAAG,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,eAAe,gBAC/G,yCAAK,OAAO,EAAE,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,eAAe,EAAE,EAAvB,CAAuB,IAAM,KAAK,cACtD,QAAQ,IACL,IACF,EACN,IAAI,CACL,CAAA;AACH,CAAC,CAAA;AA7BY,QAAA,MAAM,UA6BlB;AAED,IAAM,MAAM,OAAG,iBAAS,sIAAA,kEAOvB,IAAA,CAAA;AAED,IAAM,OAAO,OAAG,iBAAS,sIAAA,kEAOxB,IAAA,CAAA;AAED,IAAM,aAAa,GAAG,UAAC,eAAuB,IAAK,WAAA,WAAG,sUAAA,iJAO9B,EAAe,mBACxB,EAAM,GAAI,EAAe,qFAIvC,KALuB,eAAe,EACxB,MAAM,EAAI,eAAe,GARW,CAYlD,CAAA;AAED,IAAM,IAAI,GAAG,UAAC,eAAuB,IAAK,WAAA,WAAG,oIAAA,iBAC9B,EAAO,GAAI,EAAe,wCAExC,KAFc,OAAO,EAAI,eAAe,GADC,CAGzC,CAAA;AAEY,QAAA,gBAAgB,OAAG,WAAG,qTAAA,iPAUlC,KAAA"}
1
+ {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../src/components/dialogs/Dialog.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,wCAA8D;AAC9D,+BAA8E;AAC9E,uCAAwC;AAUjC,IAAM,MAAM,GAAG,UAAC,EAA+G;IAA7G,IAAA,QAAQ,cAAA,EAAE,IAAI,UAAA,EAAE,WAAW,iBAAA,EAAE,eAAe,qBAAA,EAAE,uBAAqB,EAArB,eAAe,mBAAG,GAAG,KAAA,EAAE,cAAe,EAAf,MAAM,mBAAG,MAAM,KAAA,EAAK,KAAK,cAAhG,mFAAkG,CAAF;IAC/G,IAAA,KAAwB,IAAA,gBAAQ,EAAC,IAAI,CAAC,EAArC,OAAO,QAAA,EAAE,UAAU,QAAkB,CAAA;IAC5C,wIAAwI;IACxI,mJAAmJ;IAC7I,IAAA,KAAoC,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAAlD,aAAa,QAAA,EAAE,gBAAgB,QAAmB,CAAA;IAEzD,IAAA,iBAAS,EAAC;QACR,IAAI,IAAI,EAAE;YACR,UAAU,CAAC,IAAI,CAAC,CAAA;YAChB,gBAAgB,CAAC,IAAI,CAAC,CAAA;YACtB,IAAM,SAAO,GAAG,UAAU,CAAC,cAAM,OAAA,gBAAgB,CAAC,KAAK,CAAC,EAAvB,CAAuB,EAAE,GAAG,CAAC,CAAA;YAC9D,OAAO,cAAM,OAAA,YAAY,CAAC,SAAO,CAAC,EAArB,CAAqB,CAAA;SACnC;aAAM;YACL,IAAM,SAAO,GAAG,UAAU,CAAC,cAAM,OAAA,UAAU,CAAC,KAAK,CAAC,EAAjB,CAAiB,EAAE,eAAe,GAAG,IAAI,CAAC,CAAA;YAC3E,OAAO,cAAM,OAAA,YAAY,CAAC,SAAO,CAAC,EAArB,CAAqB,CAAA;SACnC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAA;IAE3B,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IAEzB,IAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;IAC5C,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,CAAC,KAAK,CAAC,qEAAqE,EAAE,MAAM,CAAC,CAAA;QAC5F,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,IAAA,wBAAY,EACjB,yCAAK,GAAG,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,UAAA,KAAK,IAAI,OAAA,CAAC,aAAa,KAAI,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAG,KAAK,CAAC,CAAA,EAA1C,CAA0C,gBACnJ,yCAAK,OAAO,EAAE,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,eAAe,EAAE,EAAvB,CAAuB,IAAM,KAAK,cACtD,QAAQ,IACL,IACF,EACN,IAAI,CACL,CAAA;AACH,CAAC,CAAA;AAlCY,QAAA,MAAM,UAkClB;AAED,IAAM,MAAM,OAAG,iBAAS,sIAAA,kEAOvB,IAAA,CAAA;AAED,IAAM,OAAO,OAAG,iBAAS,sIAAA,kEAOxB,IAAA,CAAA;AAED,IAAM,aAAa,GAAG,UAAC,eAAuB,IAAK,WAAA,WAAG,sUAAA,iJAO9B,EAAe,mBACxB,EAAM,GAAI,EAAe,qFAIvC,KALuB,eAAe,EACxB,MAAM,EAAI,eAAe,GARW,CAYlD,CAAA;AAED,IAAM,IAAI,GAAG,UAAC,eAAuB,IAAK,WAAA,WAAG,oIAAA,iBAC9B,EAAO,GAAI,EAAe,wCAExC,KAFc,OAAO,EAAI,eAAe,GADC,CAGzC,CAAA;AAEY,QAAA,gBAAgB,OAAG,WAAG,qTAAA,iPAUlC,KAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gamepark/react-game",
3
- "version": "6.3.0",
3
+ "version": "6.4.0",
4
4
  "description": "React components & tools to create a Board Game user interface for Game Park",
5
5
  "author": "Romain Fromi <romain@game-park.com> (https://game-park.com/)",
6
6
  "license": "ISC",
@@ -10,6 +10,8 @@
10
10
  "dist"
11
11
  ],
12
12
  "scripts": {
13
+ "linkall": "yarn link @gamepark/react-client @gamepark/rules-api",
14
+ "unlinkall": "yarn unlink @gamepark/react-client @gamepark/rules-api",
13
15
  "test": "yarn test",
14
16
  "build": "tsc -p tsconfig.build.json",
15
17
  "prepublishOnly": "tsc -p tsconfig.build.json"
@@ -23,8 +25,8 @@
23
25
  "@fortawesome/free-solid-svg-icons": "^6.4.0",
24
26
  "@fortawesome/react-fontawesome": "^0.2.0",
25
27
  "@gamepark/avataaars": "^2.2.0",
26
- "@gamepark/react-client": "^6.3.0",
27
- "@gamepark/rules-api": "^6.3.0",
28
+ "@gamepark/react-client": "^6.4.0",
29
+ "@gamepark/rules-api": "^6.4.0",
28
30
  "dayjs": "^1.11.7",
29
31
  "emotion-normalize": "^11.0.1",
30
32
  "fscreen": "^1.2.0",