mathbox-react 0.2.3-rc2 → 0.2.3-rc4
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/cjs/components/util.d.ts +1 -1
- package/build/cjs/stories/Area.stories.d.ts +68 -0
- package/build/cjs/stories/Area.stories.js +53 -0
- package/build/cjs/stories/Area.stories.js.map +1 -0
- package/build/cjs/stories/Cartesian.stories.d.ts +34 -0
- package/build/cjs/stories/Cartesian.stories.js +47 -0
- package/build/cjs/stories/Cartesian.stories.js.map +1 -0
- package/build/cjs/stories/Grid.stories.d.ts +262 -0
- package/build/cjs/stories/Grid.stories.js +45 -0
- package/build/cjs/stories/Grid.stories.js.map +1 -0
- package/build/cjs/stories/Mathbox.stories.d.ts +18 -0
- package/build/cjs/stories/Mathbox.stories.js +16 -0
- package/build/cjs/stories/Mathbox.stories.js.map +1 -0
- package/build/cjs/stories/Play.stories.d.ts +36 -0
- package/build/cjs/stories/Play.stories.js +35 -0
- package/build/cjs/stories/Play.stories.js.map +1 -0
- package/build/cjs/stories/Point.stories.d.ts +101 -0
- package/build/cjs/stories/Point.stories.js +103 -0
- package/build/cjs/stories/Point.stories.js.map +1 -0
- package/build/cjs/stories/Surface.stories.d.ts +68 -0
- package/build/cjs/stories/Surface.stories.js +49 -0
- package/build/cjs/stories/Surface.stories.js.map +1 -0
- package/build/cjs/stories/utils.d.ts +5 -0
- package/build/cjs/stories/utils.js +69 -0
- package/build/cjs/stories/utils.js.map +1 -0
- package/build/cjs/threestrap/Controls.js +2 -2
- package/build/cjs/threestrap/Controls.js.map +1 -1
- 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.d.ts +1 -1
- 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 +24 -25
- 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 +5 -5
|
@@ -1,27 +1,20 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.useDeepCompareMemo = exports.capitalize = exports.canNodeHaveChildren = exports.isSelectionParent = exports.isRootDestroyed = void 0;
|
|
7
1
|
/* eslint-disable no-underscore-dangle */
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
import isEqual from "lodash/isEqual";
|
|
3
|
+
import { useRef, useMemo } from "react";
|
|
10
4
|
/**
|
|
11
5
|
* Get root node given any node in Mathbox tree
|
|
12
6
|
*/
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
var getRoot = function (selection) {
|
|
8
|
+
var current = selection;
|
|
15
9
|
while (current._up) {
|
|
16
10
|
current = current._up;
|
|
17
11
|
}
|
|
18
12
|
return current;
|
|
19
13
|
};
|
|
20
|
-
|
|
21
|
-
|
|
14
|
+
export var isRootDestroyed = function (selection) {
|
|
15
|
+
var root = getRoot(selection);
|
|
22
16
|
return root.three === undefined;
|
|
23
17
|
};
|
|
24
|
-
exports.isRootDestroyed = isRootDestroyed;
|
|
25
18
|
/**
|
|
26
19
|
* Check that parent is actually the selection's parent.
|
|
27
20
|
* The mathbox components occasionally render with a selection value whose
|
|
@@ -37,12 +30,12 @@ exports.isRootDestroyed = isRootDestroyed;
|
|
|
37
30
|
* in a render function. Hooks seem nice for dependencies, but mathbox is pretty
|
|
38
31
|
* smart about diffing out the actual changes.
|
|
39
32
|
*/
|
|
40
|
-
|
|
41
|
-
|
|
33
|
+
export var isSelectionParent = function (selection, parent) {
|
|
34
|
+
var _a;
|
|
35
|
+
var selectionParentNode = (_a = selection._up) === null || _a === void 0 ? void 0 : _a[0];
|
|
42
36
|
return selectionParentNode === parent[0];
|
|
43
37
|
};
|
|
44
|
-
|
|
45
|
-
const CAN_HAVE_CHILDREN = [
|
|
38
|
+
var CAN_HAVE_CHILDREN = [
|
|
46
39
|
"view",
|
|
47
40
|
"cartesian",
|
|
48
41
|
"cartesian4",
|
|
@@ -68,14 +61,14 @@ const CAN_HAVE_CHILDREN = [
|
|
|
68
61
|
"reveal",
|
|
69
62
|
"slide",
|
|
70
63
|
];
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
64
|
+
export var canNodeHaveChildren = function (type) {
|
|
65
|
+
return CAN_HAVE_CHILDREN.includes(type);
|
|
66
|
+
};
|
|
67
|
+
export var capitalize = function (s) {
|
|
74
68
|
if (!s)
|
|
75
69
|
return "";
|
|
76
70
|
return s[0].toLocaleUpperCase() + s.slice(1);
|
|
77
71
|
};
|
|
78
|
-
exports.capitalize = capitalize;
|
|
79
72
|
/**
|
|
80
73
|
* Returns the same reference to `value` as long as the the given values are
|
|
81
74
|
* deep equal.
|
|
@@ -90,15 +83,14 @@ exports.capitalize = capitalize;
|
|
|
90
83
|
*
|
|
91
84
|
* But should work OK for mathbox options.
|
|
92
85
|
*/
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
if ((
|
|
86
|
+
export var useDeepCompareMemo = function (value, initial) {
|
|
87
|
+
var oldValue = useRef(initial);
|
|
88
|
+
var memoOptions = useMemo(function () {
|
|
89
|
+
if (isEqual(value, oldValue.current))
|
|
97
90
|
return oldValue.current;
|
|
98
91
|
oldValue.current = value;
|
|
99
92
|
return value;
|
|
100
93
|
}, [value]);
|
|
101
94
|
return memoOptions;
|
|
102
95
|
};
|
|
103
|
-
exports.useDeepCompareMemo = useDeepCompareMemo;
|
|
104
96
|
//# sourceMappingURL=util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/components/util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/components/util.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,OAAO,MAAM,gBAAgB,CAAA;AACpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAKvC;;GAEG;AACH,IAAM,OAAO,GAAG,UAAC,SAA2B;IAC1C,IAAI,OAAO,GAAG,SAA0B,CAAA;IACxC,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,OAAO,GAAG,OAAO,CAAC,GAAG,CAAA;KACtB;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,eAAe,GAAG,UAAC,SAA2B;IACzD,IAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAC/B,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,CAAA;AACjC,CAAC,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAC/B,SAA2B,EAC3B,MAAwB;;IAExB,IAAM,mBAAmB,GAAG,MAAC,SAA2B,CAAC,GAAG,0CAAG,CAAC,CAAC,CAAA;IACjE,OAAO,mBAAmB,KAAK,MAAM,CAAC,CAAC,CAAC,CAAA;AAC1C,CAAC,CAAA;AAED,IAAM,iBAAiB,GAAG;IACxB,MAAM;IACN,WAAW;IACX,YAAY;IACZ,OAAO;IACP,WAAW;IACX,eAAe;IACf,gBAAgB;IAChB,WAAW;IACX,YAAY;IACZ,QAAQ;IACR,UAAU;IACV,OAAO;IACP,MAAM;IACN,OAAO;IACP,SAAS;IACT,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,SAAS;IACT,QAAQ;IACR,OAAO;CACC,CAAA;AAIV,MAAM,CAAC,IAAM,mBAAmB,GAAG,UAAC,IAAc;IAChD,OAAC,iBAAuC,CAAC,QAAQ,CAAC,IAAI,CAAC;AAAvD,CAAuD,CAAA;AAEzD,MAAM,CAAC,IAAM,UAAU,GAAG,UAAC,CAAS;IAClC,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAA;IACjB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAC9C,CAAC,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,IAAM,kBAAkB,GAAG,UAAI,KAAQ,EAAE,OAAU;IACxD,IAAM,QAAQ,GAAG,MAAM,CAAI,OAAO,CAAC,CAAA;IACnC,IAAM,WAAW,GAAG,OAAO,CAAC;QAC1B,IAAI,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,QAAQ,CAAC,OAAO,CAAA;QAC7D,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAA;QACxB,OAAO,KAAK,CAAA;IACd,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IACX,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA"}
|
package/build/esm/index.js
CHANGED
|
@@ -1,33 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
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;
|
|
24
|
-
};
|
|
25
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
26
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.Threestrap = void 0;
|
|
30
|
-
const Threestrap = __importStar(require("./threestrap"));
|
|
31
|
-
exports.Threestrap = Threestrap;
|
|
32
|
-
__exportStar(require("./components"), exports);
|
|
1
|
+
import * as Threestrap from "./threestrap";
|
|
2
|
+
export * from "./components";
|
|
3
|
+
export { Threestrap };
|
|
33
4
|
//# sourceMappingURL=index.js.map
|
package/build/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,cAAc,CAAA;AAE1C,cAAc,cAAc,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,CAAA"}
|
package/build/esm/testSetup.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const testUtils_1 = require("./testUtils");
|
|
4
|
-
HTMLCanvasElement.prototype.getContext = testUtils_1.getMockContext;
|
|
1
|
+
import { getMockContext } from "./testUtils";
|
|
2
|
+
HTMLCanvasElement.prototype.getContext = getMockContext;
|
|
5
3
|
//# sourceMappingURL=testSetup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testSetup.js","sourceRoot":"","sources":["../../src/testSetup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"testSetup.js","sourceRoot":"","sources":["../../src/testSetup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,iBAAiB,CAAC,SAAS,CAAC,UAAU,GAAG,cAAc,CAAA"}
|
package/build/esm/testUtils.js
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getMockContext = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* A mock that uses proxies to create properties as they are accessed. Supports
|
|
6
3
|
* function calls and toPrimitive.
|
|
@@ -10,15 +7,15 @@ exports.getMockContext = void 0;
|
|
|
10
7
|
* accessed on automock.
|
|
11
8
|
* @returns
|
|
12
9
|
*/
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
get(target, prop) {
|
|
10
|
+
var getAutomock = function (specifics) {
|
|
11
|
+
var autmockSeed = jest.fn();
|
|
12
|
+
var handler = {
|
|
13
|
+
get: function (target, prop) {
|
|
17
14
|
if (prop === Symbol.toPrimitive) {
|
|
18
|
-
return ()
|
|
15
|
+
return function () { return "Automock: ".concat(JSON.stringify(specifics)); };
|
|
19
16
|
}
|
|
20
17
|
if (specifics && Reflect.has(specifics, prop)) {
|
|
21
|
-
|
|
18
|
+
var value = Reflect.get(specifics, prop);
|
|
22
19
|
return value;
|
|
23
20
|
}
|
|
24
21
|
if (!Reflect.has(target, prop)) {
|
|
@@ -26,15 +23,15 @@ const getAutomock = (specifics) => {
|
|
|
26
23
|
}
|
|
27
24
|
return Reflect.get(target, prop);
|
|
28
25
|
},
|
|
29
|
-
apply() {
|
|
26
|
+
apply: function () {
|
|
30
27
|
return getAutomock();
|
|
31
28
|
},
|
|
32
29
|
};
|
|
33
30
|
return new Proxy(autmockSeed, handler);
|
|
34
31
|
};
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
getParameter: jest.fn((name)
|
|
32
|
+
export var getMockContext = function () {
|
|
33
|
+
var mockContext = getAutomock({
|
|
34
|
+
getParameter: jest.fn(function (name) {
|
|
38
35
|
if (name === mockContext.VERSION)
|
|
39
36
|
return "Fake version!";
|
|
40
37
|
return getAutomock();
|
|
@@ -42,5 +39,4 @@ const getMockContext = () => {
|
|
|
42
39
|
});
|
|
43
40
|
return mockContext;
|
|
44
41
|
};
|
|
45
|
-
exports.getMockContext = getMockContext;
|
|
46
42
|
//# sourceMappingURL=testUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testUtils.js","sourceRoot":"","sources":["../../src/testUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"testUtils.js","sourceRoot":"","sources":["../../src/testUtils.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,IAAM,WAAW,GAAG,UAClB,SAAa;IAEb,IAAM,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAC7B,IAAM,OAAO,GAAG;QACd,GAAG,YAAC,MAAgB,EAAE,IAAqB;YACzC,IAAI,IAAI,KAAK,MAAM,CAAC,WAAW,EAAE;gBAC/B,OAAO,cAAM,OAAA,oBAAa,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAE,EAAxC,CAAwC,CAAA;aACtD;YACD,IAAI,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE;gBAC7C,IAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;gBAC1C,OAAO,KAAK,CAAA;aACb;YACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;gBAC9B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA;aACzC;YACD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAClC,CAAC;QACD,KAAK;YACH,OAAO,WAAW,EAAE,CAAA;QACtB,CAAC;KACF,CAAA;IACD,OAAO,IAAI,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;AACxC,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,cAAc,GAAG;IAC5B,IAAM,WAAW,GAAG,WAAW,CAAC;QAC9B,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,UAAC,IAAI;YACzB,IAAI,IAAI,KAAK,WAAW,CAAC,OAAO;gBAAE,OAAO,eAAe,CAAA;YACxD,OAAO,WAAW,EAAE,CAAA;QACtB,CAAC,CAAC;KACH,CAAC,CAAA;IACF,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA"}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
1
|
/* eslint-disable react/no-unused-prop-types */
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
import { useEffect } from "react";
|
|
3
|
+
import { useThreestrap } from "./ThreestrapContext";
|
|
4
|
+
var ALLOWED_CONTROLS = ["orbit"];
|
|
5
|
+
var useOrbitControls = function (threestrap, _a) {
|
|
6
|
+
var type = _a.type, enablePan = _a.enablePan, enableRotate = _a.enableRotate, enableZoom = _a.enableZoom, onStart = _a.onStart, onEnd = _a.onEnd, target = _a.target;
|
|
7
|
+
useEffect(function () {
|
|
9
8
|
if (type !== "orbit")
|
|
10
9
|
return;
|
|
11
10
|
if (!threestrap.controls)
|
|
12
11
|
return;
|
|
13
|
-
|
|
12
|
+
var controls = threestrap.controls;
|
|
14
13
|
if (enablePan !== undefined) {
|
|
15
14
|
controls.enablePan = enablePan;
|
|
16
15
|
}
|
|
@@ -21,54 +20,54 @@ const useOrbitControls = (threestrap, { type, enablePan, enableRotate, enableZoo
|
|
|
21
20
|
controls.enableRotate = enableRotate;
|
|
22
21
|
}
|
|
23
22
|
}, [type, enablePan, enableRotate, enableZoom, threestrap.controls]);
|
|
24
|
-
(
|
|
23
|
+
useEffect(function () {
|
|
25
24
|
if (type !== "orbit")
|
|
26
25
|
return;
|
|
27
26
|
if (!threestrap.controls)
|
|
28
27
|
return;
|
|
29
|
-
|
|
28
|
+
var controls = threestrap.controls;
|
|
30
29
|
if (target) {
|
|
31
30
|
controls.target = target;
|
|
32
31
|
}
|
|
33
|
-
}, [type,
|
|
34
|
-
(
|
|
32
|
+
}, [type, threestrap.controls, target]);
|
|
33
|
+
useEffect(function () {
|
|
35
34
|
if (type !== "orbit")
|
|
36
|
-
return ()
|
|
35
|
+
return function () { };
|
|
37
36
|
if (!threestrap.controls)
|
|
38
|
-
return ()
|
|
39
|
-
|
|
37
|
+
return function () { };
|
|
38
|
+
var controls = threestrap.controls;
|
|
40
39
|
if (onStart) {
|
|
41
40
|
controls.addEventListener("start", onStart);
|
|
42
41
|
}
|
|
43
|
-
return ()
|
|
42
|
+
return function () {
|
|
44
43
|
if (onStart) {
|
|
45
44
|
controls.removeEventListener("start", onStart);
|
|
46
45
|
}
|
|
47
46
|
};
|
|
48
47
|
}, [type, onStart, threestrap.controls]);
|
|
49
|
-
(
|
|
48
|
+
useEffect(function () {
|
|
50
49
|
if (type !== "orbit")
|
|
51
|
-
return ()
|
|
50
|
+
return function () { };
|
|
52
51
|
if (!threestrap.controls)
|
|
53
|
-
return ()
|
|
54
|
-
|
|
52
|
+
return function () { };
|
|
53
|
+
var controls = threestrap.controls;
|
|
55
54
|
if (onEnd) {
|
|
56
55
|
controls.addEventListener("end", onEnd);
|
|
57
56
|
}
|
|
58
|
-
return ()
|
|
57
|
+
return function () {
|
|
59
58
|
if (onEnd) {
|
|
60
59
|
controls.removeEventListener("end", onEnd);
|
|
61
60
|
}
|
|
62
61
|
};
|
|
63
62
|
}, [type, onEnd, threestrap.controls]);
|
|
64
63
|
};
|
|
65
|
-
|
|
64
|
+
var Controls = function (props) {
|
|
66
65
|
if (!ALLOWED_CONTROLS.includes(props.type)) {
|
|
67
|
-
throw new Error(
|
|
66
|
+
throw new Error("Invalid control type ".concat(props.type));
|
|
68
67
|
}
|
|
69
|
-
|
|
68
|
+
var threestrap = useThreestrap();
|
|
70
69
|
useOrbitControls(threestrap, props);
|
|
71
70
|
return null;
|
|
72
71
|
};
|
|
73
|
-
|
|
72
|
+
export default Controls;
|
|
74
73
|
//# sourceMappingURL=Controls.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Controls.js","sourceRoot":"","sources":["../../../src/threestrap/Controls.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Controls.js","sourceRoot":"","sources":["../../../src/threestrap/Controls.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const threestrap = (0, ThreestrapContext_1.useThreestrap)();
|
|
7
|
-
(0, react_1.useEffect)(() => {
|
|
1
|
+
import { useEffect } from "react";
|
|
2
|
+
import { useThreestrap } from "./ThreestrapContext";
|
|
3
|
+
var Renderer = function (props) {
|
|
4
|
+
var threestrap = useThreestrap();
|
|
5
|
+
useEffect(function () {
|
|
8
6
|
if (props.clearColor) {
|
|
9
7
|
threestrap.renderer.setClearColor(props.clearColor);
|
|
10
8
|
}
|
|
11
9
|
});
|
|
12
10
|
return null;
|
|
13
11
|
};
|
|
14
|
-
|
|
12
|
+
export default Renderer;
|
|
15
13
|
//# sourceMappingURL=Renderer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../../../src/threestrap/Renderer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../../../src/threestrap/Renderer.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAMnD,IAAM,QAAQ,GAA4B,UAAC,KAAK;IAC9C,IAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAClC,SAAS,CAAC;QACR,IAAI,KAAK,CAAC,UAAU,EAAE;YACpB,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;SACpD;IACH,CAAC,CAAC,CAAA;IACF,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,eAAe,QAAQ,CAAA"}
|
|
@@ -1,15 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
exports.default = ThreestrapContext;
|
|
7
|
-
const useThreestrap = () => {
|
|
8
|
-
const threestrap = (0, react_1.useContext)(ThreestrapContext);
|
|
1
|
+
import { createContext, useContext } from "react";
|
|
2
|
+
var ThreestrapContext = createContext(null);
|
|
3
|
+
export default ThreestrapContext;
|
|
4
|
+
var useThreestrap = function () {
|
|
5
|
+
var threestrap = useContext(ThreestrapContext);
|
|
9
6
|
if (!threestrap) {
|
|
10
7
|
throw new Error("Threestrap context is not available");
|
|
11
8
|
}
|
|
12
9
|
return threestrap;
|
|
13
10
|
};
|
|
14
|
-
|
|
11
|
+
export { useThreestrap };
|
|
15
12
|
//# sourceMappingURL=ThreestrapContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreestrapContext.js","sourceRoot":"","sources":["../../../src/threestrap/ThreestrapContext.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ThreestrapContext.js","sourceRoot":"","sources":["../../../src/threestrap/ThreestrapContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAGjD,IAAM,iBAAiB,GAAG,aAAa,CAAoB,IAAI,CAAC,CAAA;AAEhE,eAAe,iBAAiB,CAAA;AAEhC,IAAM,aAAa,GAAG;IACpB,IAAM,UAAU,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAA;IAChD,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;KACvD;IACD,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.useThreestrap = exports.Controls = exports.Renderer = void 0;
|
|
7
|
-
var Renderer_1 = require("./Renderer");
|
|
8
|
-
Object.defineProperty(exports, "Renderer", { enumerable: true, get: function () { return __importDefault(Renderer_1).default; } });
|
|
9
|
-
var Controls_1 = require("./Controls");
|
|
10
|
-
Object.defineProperty(exports, "Controls", { enumerable: true, get: function () { return __importDefault(Controls_1).default; } });
|
|
11
|
-
var ThreestrapContext_1 = require("./ThreestrapContext");
|
|
12
|
-
Object.defineProperty(exports, "useThreestrap", { enumerable: true, get: function () { return ThreestrapContext_1.useThreestrap; } });
|
|
1
|
+
export { default as Renderer } from "./Renderer";
|
|
2
|
+
export { default as Controls } from "./Controls";
|
|
3
|
+
export { useThreestrap } from "./ThreestrapContext";
|
|
13
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/threestrap/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/threestrap/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mathbox-react",
|
|
3
|
-
"version": "0.2.3-
|
|
3
|
+
"version": "0.2.3-rc4",
|
|
4
4
|
"description": "React wrapper for Mathbox",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"repository": {
|
|
@@ -39,12 +39,12 @@
|
|
|
39
39
|
"@mathbox-react/eslint-config": "workspace:*",
|
|
40
40
|
"@mathbox-react/tsconfig": "workspace:*",
|
|
41
41
|
"@storybook/addon-actions": "7.0.18",
|
|
42
|
-
"@storybook/addon-essentials": "
|
|
42
|
+
"@storybook/addon-essentials": "7.0.18",
|
|
43
43
|
"@storybook/addon-interactions": "7.0.18",
|
|
44
44
|
"@storybook/addon-links": "7.0.18",
|
|
45
|
-
"@storybook/builder-webpack5": "^7.
|
|
46
|
-
"@storybook/manager-webpack5": "^6.5.
|
|
47
|
-
"@storybook/react": "
|
|
45
|
+
"@storybook/builder-webpack5": "^7.0.0",
|
|
46
|
+
"@storybook/manager-webpack5": "^6.5.15",
|
|
47
|
+
"@storybook/react": "7.0.18",
|
|
48
48
|
"@storybook/testing-library": "0.1.0",
|
|
49
49
|
"@testing-library/react": "14.0.0",
|
|
50
50
|
"@types/jest": "27.5.2",
|