react-simple-game-engine 0.2.59 → 0.2.60

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.
@@ -1,8 +1,9 @@
1
1
  import { CSSProperties, ReactNode } from "react";
2
2
  declare type FloatContainerProps = {
3
3
  style?: CSSProperties;
4
- children: ReactNode;
4
+ children?: ReactNode;
5
+ id?: string;
5
6
  };
6
- export declare function FloatContainer({ children, style }: FloatContainerProps): JSX.Element;
7
+ export declare function FloatContainer({ children, style, id }: FloatContainerProps): JSX.Element;
7
8
  export {};
8
9
  //# sourceMappingURL=float-container.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"float-container.d.ts","sourceRoot":"","sources":["../../src/ui-components/float-container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEjD,aAAK,mBAAmB,GAAG;IACzB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,mBAAmB,eAiBtE"}
1
+ {"version":3,"file":"float-container.d.ts","sourceRoot":"","sources":["../../src/ui-components/float-container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEjD,aAAK,mBAAmB,GAAG;IACzB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,mBAAmB,eAoB1E"}
@@ -11,6 +11,6 @@ var __assign = (this && this.__assign) || function () {
11
11
  };
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  export function FloatContainer(_a) {
14
- var children = _a.children, style = _a.style;
15
- return (_jsx("div", __assign({ style: __assign({ position: "absolute", top: 0, left: 0, right: 0, bottom: 0 }, style) }, { children: _jsx("div", __assign({ style: { position: "relative", width: "100%", height: "100%" } }, { children: children })) })));
14
+ var children = _a.children, style = _a.style, id = _a.id;
15
+ return (_jsx("div", __assign({ style: __assign({ position: "absolute", top: 0, left: 0, right: 0, bottom: 0 }, style) }, { children: _jsx("div", __assign({ id: id, style: { position: "relative", width: "100%", height: "100%" } }, { children: children })) })));
16
16
  }
@@ -0,0 +1,15 @@
1
+ import { ReactElement, ReactNode } from "react";
2
+ declare type ModalProps = {
3
+ children?: ReactElement;
4
+ content: ReactNode;
5
+ defaultOpen?: boolean;
6
+ event?: string;
7
+ onClose?: () => void;
8
+ };
9
+ export declare type RefModalFunctions = {
10
+ open: () => void;
11
+ close: () => void;
12
+ };
13
+ export declare const Modal: import("react").ForwardRefExoticComponent<ModalProps & import("react").RefAttributes<RefModalFunctions>>;
14
+ export {};
15
+ //# sourceMappingURL=modal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../../src/ui-components/modal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,YAAY,EACZ,SAAS,EAKV,MAAM,OAAO,CAAC;AAGf,aAAK,UAAU,GAAG;IAChB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,OAAO,EAAE,SAAS,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,oBAAY,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,KAAK,0GAwHhB,CAAC"}
@@ -0,0 +1,89 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
13
+ import { useMemo, useEffect, useState, useCallback, forwardRef, cloneElement, useImperativeHandle, useRef, } from "react";
14
+ import * as ReactDOM from "react-dom";
15
+ export var Modal = forwardRef(function (_a, ref) {
16
+ var _b;
17
+ var trigger = _a.children, content = _a.content, _c = _a.defaultOpen, defaultOpen = _c === void 0 ? false : _c, onClose = _a.onClose, _d = _a.event, event = _d === void 0 ? "onClick" : _d;
18
+ var refModal = useRef(null);
19
+ var _e = useState(defaultOpen), isOpen = _e[0], setOpen = _e[1];
20
+ var container = useMemo(function () {
21
+ var c = document.createElement("div");
22
+ c.style.position = "fixed";
23
+ c.style.top = "0";
24
+ c.style.left = "0";
25
+ c.style.bottom = "0";
26
+ c.style.right = "0";
27
+ return c;
28
+ }, []);
29
+ useEffect(function () {
30
+ var stack = document.getElementById("scene-modal-stack");
31
+ stack.appendChild(container);
32
+ return function () {
33
+ stack.removeChild(container);
34
+ };
35
+ }, [container]);
36
+ var handleOpen = useCallback(function () {
37
+ setOpen(true);
38
+ }, []);
39
+ var handleClose = useCallback(function () {
40
+ setOpen(false);
41
+ onClose === null || onClose === void 0 ? void 0 : onClose();
42
+ }, [onClose]);
43
+ useEffect(function () {
44
+ if (isOpen) {
45
+ var handleClickClose_1 = function () {
46
+ setTimeout(function () {
47
+ handleClose();
48
+ }, 0);
49
+ };
50
+ var buttons_1 = refModal.current.querySelectorAll('[data-role="close"]');
51
+ for (var _i = 0, _a = Array.from(buttons_1); _i < _a.length; _i++) {
52
+ var btn = _a[_i];
53
+ btn.addEventListener("click", handleClickClose_1);
54
+ }
55
+ return function () {
56
+ for (var _i = 0, _a = Array.from(buttons_1); _i < _a.length; _i++) {
57
+ var btn = _a[_i];
58
+ btn.removeEventListener("click", handleClickClose_1);
59
+ }
60
+ };
61
+ }
62
+ }, [isOpen, handleClose]);
63
+ useImperativeHandle(ref, function () { return ({
64
+ open: handleOpen,
65
+ close: handleClose,
66
+ }); }, [handleOpen, handleClose]);
67
+ return (_jsxs(_Fragment, { children: [trigger
68
+ ? cloneElement(trigger, (_b = {},
69
+ _b[event] = handleOpen,
70
+ _b), trigger.props.children)
71
+ : null, ReactDOM.createPortal(isOpen ? (_jsxs("div", __assign({ style: {
72
+ width: "100%",
73
+ height: "100%",
74
+ position: "relative",
75
+ display: "flex",
76
+ alignItems: "center",
77
+ justifyContent: "center",
78
+ }, ref: refModal }, { children: [_jsx("div", { style: {
79
+ width: "100%",
80
+ height: "100%",
81
+ position: "absolute",
82
+ zIndex: 0,
83
+ }, onClick: handleClose }), _jsx("main", __assign({ style: {
84
+ position: "relative",
85
+ zIndex: 1,
86
+ minWidth: "200px",
87
+ minHeight: "200px",
88
+ } }, { children: content }))] }))) : null, container)] }));
89
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"scene-runner.d.ts","sourceRoot":"","sources":["../../src/ui-components/scene-runner.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEb,SAAS,EAKV,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAQzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAW,YAAY,EAAE,MAAM,WAAW,CAAC;AAElD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,oBAAY,sBAAsB,GAAG;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC/C,CAAC;AAEF,aAAK,gBAAgB,GAAG,sBAAsB,GAAG;IAC/C,OAAO,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,MAAM,EACN,OAAO,EACP,UAAiC,EAEjC,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,YAAY,EAAE,YAAY,EAC1B,QAAQ,GACT,EAAE,gBAAgB,eA2IlB"}
1
+ {"version":3,"file":"scene-runner.d.ts","sourceRoot":"","sources":["../../src/ui-components/scene-runner.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEb,SAAS,EAKV,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAQzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAW,YAAY,EAAE,MAAM,WAAW,CAAC;AAElD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,oBAAY,sBAAsB,GAAG;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC/C,CAAC;AAEF,aAAK,gBAAgB,GAAG,sBAAsB,GAAG;IAC/C,OAAO,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,MAAM,EACN,OAAO,EACP,UAAiC,EAEjC,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,YAAY,EAAE,YAAY,EAC1B,QAAQ,GACT,EAAE,gBAAgB,eA4IlB"}
@@ -93,5 +93,5 @@ export function SceneRunner(_a) {
93
93
  }
94
94
  return rendered;
95
95
  })()
96
- : assetsLoader })) : (_jsx(_Fragment, { children: isBootDone ? (_jsxs(_Fragment, { children: [_jsx(current.UI, __assign({ scene: current }, current.getUIProps())), joystick && (_jsx(Control, __assign({ scene: current }, (joystick === true ? {} : joystick))))] })) : (_jsx("div", {})) })) }))] })));
96
+ : assetsLoader })) : (_jsx(_Fragment, { children: isBootDone ? (_jsxs(_Fragment, { children: [_jsx(current.UI, __assign({ scene: current }, current.getUIProps())), _jsx(FloatContainer, { id: "scene-modal-stack" }), joystick && (_jsx(Control, __assign({ scene: current }, (joystick === true ? {} : joystick))))] })) : (_jsx("div", {})) })) }))] })));
97
97
  }
@@ -1,3 +1,4 @@
1
1
  export * from "./classes/watcher";
2
2
  export * from "./classes/sound-watcher";
3
+ export * from "./ui-components/modal";
3
4
  //# sourceMappingURL=utilities.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../src/utilities.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../src/utilities.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC"}
package/lib/utilities.js CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from "./classes/watcher";
2
2
  export * from "./classes/sound-watcher";
3
+ export * from "./ui-components/modal";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-simple-game-engine",
3
- "version": "0.2.59",
3
+ "version": "0.2.60",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib",