mathbox-react 0.2.3-rc2 → 0.2.3-rc3
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/build/esm/components/ContainedMathbox.js +27 -33
- package/build/esm/components/ContainedMathbox.js.map +1 -1
- package/build/esm/components/Mathbox.js +40 -49
- package/build/esm/components/Mathbox.js.map +1 -1
- package/build/esm/components/MathboxAPIContext.js +6 -9
- package/build/esm/components/MathboxAPIContext.js.map +1 -1
- package/build/esm/components/components.js +97 -116
- package/build/esm/components/components.js.map +1 -1
- package/build/esm/components/components.spec.js +212 -167
- package/build/esm/components/components.spec.js.map +1 -1
- package/build/esm/components/index.js +4 -27
- package/build/esm/components/index.js.map +1 -1
- package/build/esm/components/types.js +1 -2
- package/build/esm/components/util.js +18 -26
- package/build/esm/components/util.js.map +1 -1
- package/build/esm/index.js +3 -32
- package/build/esm/index.js.map +1 -1
- package/build/esm/testSetup.js +2 -4
- package/build/esm/testSetup.js.map +1 -1
- package/build/esm/testUtils.js +10 -14
- package/build/esm/testUtils.js.map +1 -1
- package/build/esm/threestrap/Controls.js +23 -24
- package/build/esm/threestrap/Controls.js.map +1 -1
- package/build/esm/threestrap/Renderer.js +6 -8
- package/build/esm/threestrap/Renderer.js.map +1 -1
- package/build/esm/threestrap/ThreestrapContext.js +6 -9
- package/build/esm/threestrap/ThreestrapContext.js.map +1 -1
- package/build/esm/threestrap/index.js +3 -12
- package/build/esm/threestrap/index.js.map +1 -1
- package/build/esm/threestrap/threestrap.js +1 -2
- package/package.json +1 -1
|
@@ -1,37 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
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);
|
|
24
11
|
};
|
|
25
|
-
var
|
|
26
|
-
|
|
12
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
13
|
+
var t = {};
|
|
14
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
15
|
+
t[p] = s[p];
|
|
16
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
17
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
18
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
19
|
+
t[p[i]] = s[p[i]];
|
|
20
|
+
}
|
|
21
|
+
return t;
|
|
27
22
|
};
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
return (react_1.default.createElement("div", { ref: setContainer, id: containerId, className: containerClass, style: containerStyle }, container && (react_1.default.createElement(Mathbox_1.default, { ref: ref, container: container, ...others }, children))));
|
|
23
|
+
import React, { useState, forwardRef } from "react";
|
|
24
|
+
import Mathbox from "./Mathbox";
|
|
25
|
+
var ContainedMathbox = function (props, ref) {
|
|
26
|
+
var children = props.children, containerId = props.containerId, containerClass = props.containerClass, containerStyle = props.containerStyle, others = __rest(props, ["children", "containerId", "containerClass", "containerStyle"]);
|
|
27
|
+
var _a = useState(null), container = _a[0], setContainer = _a[1];
|
|
28
|
+
return (React.createElement("div", { ref: setContainer, id: containerId, className: containerClass, style: containerStyle }, container && (React.createElement(Mathbox, __assign({ ref: ref, container: container }, others), children))));
|
|
35
29
|
};
|
|
36
|
-
|
|
30
|
+
export default forwardRef(ContainedMathbox);
|
|
37
31
|
//# sourceMappingURL=ContainedMathbox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContainedMathbox.js","sourceRoot":"","sources":["../../../src/components/ContainedMathbox.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ContainedMathbox.js","sourceRoot":"","sources":["../../../src/components/ContainedMathbox.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEnD,OAAO,OAAO,MAAM,WAAW,CAAA;AAY/B,IAAM,gBAAgB,GAAG,UACvB,KAAY,EACZ,GAAwC;IAEhC,IAAA,QAAQ,GACd,KAAK,SADS,EAAE,WAAW,GAC3B,KAAK,YADsB,EAAE,cAAc,GAC3C,KAAK,eADsC,EAAE,cAAc,GAC3D,KAAK,eADsD,EAAK,MAAM,UACtE,KAAK,EADD,+DAAoE,CAAF,CACjE;IACD,IAAA,KAA4B,QAAQ,CAAwB,IAAI,CAAC,EAAhE,SAAS,QAAA,EAAE,YAAY,QAAyC,CAAA;IACvE,OAAO,CACL,6BACE,GAAG,EAAE,YAAY,EACjB,EAAE,EAAE,WAAW,EACf,SAAS,EAAE,cAAc,EACzB,KAAK,EAAE,cAAc,IAEpB,SAAS,IAAI,CACZ,oBAAC,OAAO,aAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,IAAM,MAAM,GAChD,QAAQ,CACD,CACX,CACG,CACP,CAAA;AACH,CAAC,CAAA;AAED,eAAe,UAAU,CAAC,gBAAgB,CAAC,CAAA"}
|
|
@@ -1,68 +1,59 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
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);
|
|
24
11
|
};
|
|
25
|
-
var
|
|
26
|
-
|
|
12
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
13
|
+
var t = {};
|
|
14
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
15
|
+
t[p] = s[p];
|
|
16
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
17
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
18
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
19
|
+
t[p[i]] = s[p[i]];
|
|
20
|
+
}
|
|
21
|
+
return t;
|
|
27
22
|
};
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
(0, react_1.useEffect)(() => {
|
|
23
|
+
import React, { useEffect, useState, forwardRef, useImperativeHandle, } from "react";
|
|
24
|
+
import { Color } from "three";
|
|
25
|
+
import { mathBox } from "mathbox";
|
|
26
|
+
import MathboxAPIContext from "./MathboxAPIContext";
|
|
27
|
+
import { useDeepCompareMemo } from "./util";
|
|
28
|
+
import ThreestrapContext from "../threestrap/ThreestrapContext";
|
|
29
|
+
var Mathbox = function (props, ref) {
|
|
30
|
+
var container = props.container, children = props.children, options = props.options, rootProps = __rest(props, ["container", "children", "options"]);
|
|
31
|
+
var mathboxOptions = useDeepCompareMemo(options !== null && options !== void 0 ? options : {}, {});
|
|
32
|
+
var _a = useState(null), selection = _a[0], setSelection = _a[1];
|
|
33
|
+
useEffect(function () {
|
|
40
34
|
if (!container)
|
|
41
|
-
return ()
|
|
42
|
-
|
|
43
|
-
...mathboxOptions,
|
|
44
|
-
element: container,
|
|
45
|
-
});
|
|
35
|
+
return function () { };
|
|
36
|
+
var mathbox = mathBox(__assign(__assign({}, mathboxOptions), { element: container }));
|
|
46
37
|
setSelection(mathbox);
|
|
47
38
|
/**
|
|
48
39
|
* TODO: Should Mathbox component allow setting these more easily?
|
|
49
40
|
*/
|
|
50
|
-
mathbox.three.renderer.setClearColor(new
|
|
41
|
+
mathbox.three.renderer.setClearColor(new Color(0xffffff), 1.0);
|
|
51
42
|
mathbox.three.camera.position.set(1, 1, 2);
|
|
52
|
-
return ()
|
|
43
|
+
return function () {
|
|
53
44
|
mathbox.select("*").remove();
|
|
54
45
|
mathbox.three.destroy();
|
|
55
46
|
setSelection(null);
|
|
56
47
|
};
|
|
57
48
|
}, [container, mathboxOptions]);
|
|
58
|
-
(
|
|
49
|
+
useEffect(function () {
|
|
59
50
|
if (!selection)
|
|
60
51
|
return;
|
|
61
52
|
selection.set(rootProps);
|
|
62
53
|
}, [selection, rootProps]);
|
|
63
|
-
|
|
64
|
-
return (selection && (
|
|
65
|
-
|
|
54
|
+
useImperativeHandle(ref, function () { return selection; }, [selection]);
|
|
55
|
+
return (selection && (React.createElement(MathboxAPIContext.Provider, { value: selection },
|
|
56
|
+
React.createElement(ThreestrapContext.Provider, { value: selection.three }, children))));
|
|
66
57
|
};
|
|
67
|
-
|
|
58
|
+
export default forwardRef(Mathbox);
|
|
68
59
|
//# sourceMappingURL=Mathbox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mathbox.js","sourceRoot":"","sources":["../../../src/components/Mathbox.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Mathbox.js","sourceRoot":"","sources":["../../../src/components/Mathbox.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EACZ,SAAS,EACT,QAAQ,EACR,UAAU,EACV,mBAAmB,GACpB,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,OAAO,EAA+C,MAAM,SAAS,CAAA;AAC9E,OAAO,iBAAiB,MAAM,qBAAqB,CAAA;AAEnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAC3C,OAAO,iBAAiB,MAAM,iCAAiC,CAAA;AAS/D,IAAM,OAAO,GAAG,UACd,KAAY,EACZ,GAA+C;IAEvC,IAAA,SAAS,GAAsC,KAAK,UAA3C,EAAE,QAAQ,GAA4B,KAAK,SAAjC,EAAE,OAAO,GAAmB,KAAK,QAAxB,EAAK,SAAS,UAAK,KAAK,EAAtD,oCAA8C,CAAF,CAAU;IAC5D,IAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IACtD,IAAA,KAA4B,QAAQ,CACxC,IAAI,CACL,EAFM,SAAS,QAAA,EAAE,YAAY,QAE7B,CAAA;IACD,SAAS,CAAC;QACR,IAAI,CAAC,SAAS;YAAE,OAAO,cAAO,CAAC,CAAA;QAE/B,IAAM,OAAO,GAAG,OAAO,uBAClB,cAAc,KACjB,OAAO,EAAE,SAAS,IAClB,CAAA;QACF,YAAY,CAAC,OAAO,CAAC,CAAA;QAErB;;WAEG;QACH,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAA;QAC9D,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC1C,OAAO;YACL,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAA;YAC5B,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;YACvB,YAAY,CAAC,IAAI,CAAC,CAAA;QACpB,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAA;IAE/B,SAAS,CAAC;QACR,IAAI,CAAC,SAAS;YAAE,OAAM;QACtB,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAC1B,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;IAE1B,mBAAmB,CAAC,GAAG,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IACtD,OAAO,CACL,SAAS,IAAI,CACX,oBAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,SAAS;QAC1C,oBAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,SAAS,CAAC,KAAK,IAC/C,QAAQ,CACkB,CACF,CAC9B,CACF,CAAA;AACH,CAAC,CAAA;AAED,eAAe,UAAU,CAAC,OAAO,CAAC,CAAA"}
|
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.useMathbox = void 0;
|
|
4
|
-
const react_1 = require("react");
|
|
5
|
-
const MathboxAPIContext = (0, react_1.createContext)(null);
|
|
1
|
+
import { createContext, useContext } from "react";
|
|
2
|
+
var MathboxAPIContext = createContext(null);
|
|
6
3
|
/**
|
|
7
4
|
* Returns Mathbox API Selection object for the nearest enclosing Mathbox node.
|
|
8
5
|
*/
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
var useMathbox = function () {
|
|
7
|
+
var selection = useContext(MathboxAPIContext);
|
|
11
8
|
if (!selection) {
|
|
12
9
|
throw new Error("useMathbox must be used within Mathbox or ContainedMathbox");
|
|
13
10
|
}
|
|
14
11
|
return selection;
|
|
15
12
|
};
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
export default MathboxAPIContext;
|
|
14
|
+
export { useMathbox };
|
|
18
15
|
//# sourceMappingURL=MathboxAPIContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MathboxAPIContext.js","sourceRoot":"","sources":["../../../src/components/MathboxAPIContext.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MathboxAPIContext.js","sourceRoot":"","sources":["../../../src/components/MathboxAPIContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAGjD,IAAM,iBAAiB,GAAG,aAAa,CAAoC,IAAI,CAAC,CAAA;AAEhF;;GAEG;AACH,IAAM,UAAU,GAAG;IACjB,IAAM,SAAS,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAA;IAC/C,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAA;KACF;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,eAAe,iBAAiB,CAAA;AAEhC,OAAO,EAAE,UAAU,EAAE,CAAA"}
|