mathbox-react 0.0.14 → 0.2.0-rc1
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/{types/components → components}/ContainedMathbox.d.ts +0 -0
- package/build/cjs/components/ContainedMathbox.js +59 -0
- package/build/cjs/components/ContainedMathbox.js.map +1 -0
- package/build/cjs/{types/components → components}/Mathbox.d.ts +0 -0
- package/build/cjs/components/Mathbox.js +87 -0
- package/build/cjs/components/Mathbox.js.map +1 -0
- package/build/{esm/types/components/MathboxNodeContext.d.ts → cjs/components/MathboxAPIContext.d.ts} +5 -0
- package/build/cjs/components/MathboxAPIContext.js +18 -0
- package/build/cjs/components/MathboxAPIContext.js.map +1 -0
- package/build/cjs/{types/components → components}/components.d.ts +0 -0
- package/build/cjs/components/components.js +383 -0
- package/build/cjs/components/components.js.map +1 -0
- package/build/cjs/{types/testSetup.d.ts → components/components.spec.d.ts} +0 -0
- package/build/cjs/components/components.spec.js +310 -0
- package/build/cjs/components/components.spec.js.map +1 -0
- package/build/cjs/{types/components → components}/index.d.ts +1 -0
- package/build/cjs/components/index.js +25 -0
- package/build/cjs/components/index.js.map +1 -0
- package/build/cjs/{types/components → components}/types.d.ts +0 -0
- package/build/cjs/components/types.js +3 -0
- package/build/cjs/components/types.js.map +1 -0
- package/build/cjs/{types/components → components}/util.d.ts +0 -0
- package/build/cjs/components/util.js +107 -0
- package/build/cjs/components/util.js.map +1 -0
- package/build/cjs/{types/index.d.ts → index.d.ts} +0 -0
- package/build/cjs/index.js +18 -2
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/stories/Area.stories.d.ts +69 -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 +35 -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 +263 -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 +19 -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 +37 -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 +102 -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 +69 -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/{esm/types → cjs}/testSetup.d.ts +0 -0
- package/build/cjs/testSetup.js +5 -0
- package/build/cjs/testSetup.js.map +1 -0
- package/build/cjs/{types/testUtils.d.ts → testUtils.d.ts} +0 -0
- package/build/cjs/testUtils.js +46 -0
- package/build/cjs/testUtils.js.map +1 -0
- package/build/cjs/threestrap/Renderer.d.ts +7 -0
- package/build/cjs/threestrap/Renderer.js +15 -0
- package/build/cjs/threestrap/Renderer.js.map +1 -0
- package/build/cjs/threestrap/ThreestrapContext.d.ts +6 -0
- package/build/cjs/threestrap/ThreestrapContext.js +15 -0
- package/build/cjs/threestrap/ThreestrapContext.js.map +1 -0
- package/build/cjs/threestrap/index.d.ts +2 -0
- package/build/cjs/threestrap/index.js +17 -0
- package/build/cjs/threestrap/index.js.map +1 -0
- package/build/cjs/threestrap/threestrap.d.ts +13 -0
- package/build/cjs/threestrap/threestrap.js +3 -0
- package/build/cjs/threestrap/threestrap.js.map +1 -0
- package/build/esm/{types/components → components}/ContainedMathbox.d.ts +0 -0
- package/build/esm/components/ContainedMathbox.js +31 -0
- package/build/esm/components/ContainedMathbox.js.map +1 -0
- package/build/esm/{types/components → components}/Mathbox.d.ts +0 -0
- package/build/esm/components/Mathbox.js +59 -0
- package/build/esm/components/Mathbox.js.map +1 -0
- package/build/{cjs/types/components/MathboxNodeContext.d.ts → esm/components/MathboxAPIContext.d.ts} +5 -0
- package/build/esm/components/MathboxAPIContext.js +15 -0
- package/build/esm/components/MathboxAPIContext.js.map +1 -0
- package/build/esm/{types/components → components}/components.d.ts +0 -0
- package/build/{index.d.ts → esm/components/components.js} +160 -98
- package/build/esm/components/components.js.map +1 -0
- package/build/esm/components/components.spec.d.ts +1 -0
- package/build/esm/components/components.spec.js +282 -0
- package/build/esm/components/components.spec.js.map +1 -0
- package/build/esm/{types/components → components}/index.d.ts +1 -0
- package/build/esm/components/index.js +5 -0
- package/build/esm/components/index.js.map +1 -0
- package/build/esm/{types/components → components}/types.d.ts +0 -0
- package/build/esm/components/types.js +2 -0
- package/build/esm/components/types.js.map +1 -0
- package/build/esm/{types/components → components}/util.d.ts +0 -0
- package/build/esm/components/util.js +96 -0
- package/build/esm/components/util.js.map +1 -0
- package/build/esm/{types/index.d.ts → index.d.ts} +0 -0
- package/build/esm/index.js +2 -2
- package/build/esm/index.js.map +1 -1
- package/build/esm/stories/Area.stories.d.ts +69 -0
- package/build/esm/stories/Area.stories.js +47 -0
- package/build/esm/stories/Area.stories.js.map +1 -0
- package/build/esm/stories/Cartesian.stories.d.ts +35 -0
- package/build/esm/stories/Cartesian.stories.js +41 -0
- package/build/esm/stories/Cartesian.stories.js.map +1 -0
- package/build/esm/stories/Grid.stories.d.ts +263 -0
- package/build/esm/stories/Grid.stories.js +39 -0
- package/build/esm/stories/Grid.stories.js.map +1 -0
- package/build/esm/stories/Mathbox.stories.d.ts +19 -0
- package/build/esm/stories/Mathbox.stories.js +10 -0
- package/build/esm/stories/Mathbox.stories.js.map +1 -0
- package/build/esm/stories/Play.stories.d.ts +37 -0
- package/build/esm/stories/Play.stories.js +29 -0
- package/build/esm/stories/Play.stories.js.map +1 -0
- package/build/esm/stories/Point.stories.d.ts +102 -0
- package/build/esm/stories/Point.stories.js +77 -0
- package/build/esm/stories/Point.stories.js.map +1 -0
- package/build/esm/stories/Surface.stories.d.ts +69 -0
- package/build/esm/stories/Surface.stories.js +43 -0
- package/build/esm/stories/Surface.stories.js.map +1 -0
- package/build/esm/stories/utils.d.ts +5 -0
- package/build/esm/stories/utils.js +42 -0
- package/build/esm/stories/utils.js.map +1 -0
- package/build/esm/testSetup.d.ts +1 -0
- package/build/esm/testSetup.js +3 -0
- package/build/esm/testSetup.js.map +1 -0
- package/build/esm/{types/testUtils.d.ts → testUtils.d.ts} +0 -0
- package/build/esm/testUtils.js +42 -0
- package/build/esm/testUtils.js.map +1 -0
- package/build/esm/threestrap/Renderer.d.ts +7 -0
- package/build/esm/threestrap/Renderer.js +13 -0
- package/build/esm/threestrap/Renderer.js.map +1 -0
- package/build/esm/threestrap/ThreestrapContext.d.ts +6 -0
- package/build/esm/threestrap/ThreestrapContext.js +12 -0
- package/build/esm/threestrap/ThreestrapContext.js.map +1 -0
- package/build/esm/threestrap/index.d.ts +2 -0
- package/build/esm/threestrap/index.js +2 -0
- package/build/esm/threestrap/index.js.map +1 -0
- package/build/esm/threestrap/threestrap.d.ts +13 -0
- package/build/esm/threestrap/threestrap.js +2 -0
- package/build/esm/threestrap/threestrap.js.map +1 -0
- package/package.json +39 -30
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
37
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
38
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
39
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
40
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
41
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
42
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
46
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
47
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
48
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
49
|
+
function step(op) {
|
|
50
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
51
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
52
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
53
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
54
|
+
switch (op[0]) {
|
|
55
|
+
case 0: case 1: t = op; break;
|
|
56
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
57
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
58
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
59
|
+
default:
|
|
60
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
61
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
62
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
63
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
64
|
+
if (t[2]) _.ops.pop();
|
|
65
|
+
_.trys.pop(); continue;
|
|
66
|
+
}
|
|
67
|
+
op = body.call(thisArg, _);
|
|
68
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
69
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
73
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
74
|
+
};
|
|
75
|
+
exports.__esModule = true;
|
|
76
|
+
var react_1 = __importStar(require("react"));
|
|
77
|
+
var react_2 = require("@testing-library/react");
|
|
78
|
+
var ContainedMathbox_1 = __importDefault(require("./ContainedMathbox"));
|
|
79
|
+
var Mathbox_1 = __importDefault(require("./Mathbox"));
|
|
80
|
+
var components_1 = require("./components");
|
|
81
|
+
function assertNotNil(value) {
|
|
82
|
+
if (value === undefined) {
|
|
83
|
+
throw new Error("Unexpected undefined value");
|
|
84
|
+
}
|
|
85
|
+
if (value === null) {
|
|
86
|
+
throw new Error("Unexpected null value");
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Assert that two mathbox selections have the same nodes in the same order.
|
|
91
|
+
*/
|
|
92
|
+
var assertSelectionsEqual = function (s1, s2) {
|
|
93
|
+
expect(s1.length).toBe(s2.length);
|
|
94
|
+
Array(s1.length)
|
|
95
|
+
.fill(null)
|
|
96
|
+
.forEach(function (_, i) {
|
|
97
|
+
expect(s1[i]).toBe(s2[i]);
|
|
98
|
+
});
|
|
99
|
+
};
|
|
100
|
+
describe("ContainedMathbox", function () {
|
|
101
|
+
it("makes a new mathbox instance only if the options have changed", function () {
|
|
102
|
+
var mbRef = { current: null };
|
|
103
|
+
var rerender = (0, react_2.render)(react_1["default"].createElement(ContainedMathbox_1["default"], { options: {}, ref: mbRef })).rerender;
|
|
104
|
+
var mb0 = mbRef.current;
|
|
105
|
+
assertNotNil(mb0);
|
|
106
|
+
rerender(react_1["default"].createElement(ContainedMathbox_1["default"], { options: {}, ref: mbRef }));
|
|
107
|
+
var mb1 = mbRef.current;
|
|
108
|
+
expect(mb1).toBe(mb0);
|
|
109
|
+
assertNotNil(mb1);
|
|
110
|
+
rerender(react_1["default"].createElement(ContainedMathbox_1["default"], { options: { plugins: ["core"] }, ref: mbRef }));
|
|
111
|
+
var mb2 = mbRef.current;
|
|
112
|
+
assertNotNil(mb2);
|
|
113
|
+
expect(mb2).not.toBe(mb1);
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
describe("Cartesian", function () {
|
|
117
|
+
it("exposes Mathbox instance via ref", function () {
|
|
118
|
+
var _a, _b;
|
|
119
|
+
var mbRef = { current: null };
|
|
120
|
+
var cartesianRef = { current: null };
|
|
121
|
+
(0, react_2.render)(react_1["default"].createElement(ContainedMathbox_1["default"], { ref: mbRef },
|
|
122
|
+
react_1["default"].createElement(components_1.Cartesian, { ref: cartesianRef })));
|
|
123
|
+
expect((_a = mbRef.current) === null || _a === void 0 ? void 0 : _a[0].type).toBe("root");
|
|
124
|
+
expect((_b = cartesianRef.current) === null || _b === void 0 ? void 0 : _b[0].type).toBe("cartesian");
|
|
125
|
+
});
|
|
126
|
+
it("creates a cartesian instance as child of root", function () {
|
|
127
|
+
var _a;
|
|
128
|
+
var mbRef = { current: null };
|
|
129
|
+
(0, react_2.render)(react_1["default"].createElement(ContainedMathbox_1["default"], { ref: mbRef },
|
|
130
|
+
react_1["default"].createElement(components_1.Cartesian, null)));
|
|
131
|
+
expect((_a = mbRef.current) === null || _a === void 0 ? void 0 : _a.select("cartesian").length).toBe(1);
|
|
132
|
+
});
|
|
133
|
+
it("creates mathbox children as children of itself", function () {
|
|
134
|
+
var _a, _b, _c;
|
|
135
|
+
var mbRef = { current: null };
|
|
136
|
+
(0, react_2.render)(react_1["default"].createElement(ContainedMathbox_1["default"], { ref: mbRef },
|
|
137
|
+
react_1["default"].createElement(components_1.Cartesian, null,
|
|
138
|
+
react_1["default"].createElement(components_1.Grid, null),
|
|
139
|
+
react_1["default"].createElement(components_1.Grid, null))));
|
|
140
|
+
(_a = mbRef.current) === null || _a === void 0 ? void 0 : _a.print();
|
|
141
|
+
expect((_b = mbRef.current) === null || _b === void 0 ? void 0 : _b.select("cartesian").length).toBe(1);
|
|
142
|
+
expect((_c = mbRef.current) === null || _c === void 0 ? void 0 : _c.select("cartesian grid").length).toBe(2);
|
|
143
|
+
});
|
|
144
|
+
it("removes its mathbox instance when unmounted", function () {
|
|
145
|
+
var _a, _b;
|
|
146
|
+
var mbRef = { current: null };
|
|
147
|
+
var rerender = (0, react_2.render)(react_1["default"].createElement(ContainedMathbox_1["default"], { ref: mbRef },
|
|
148
|
+
react_1["default"].createElement(components_1.Cartesian, null))).rerender;
|
|
149
|
+
expect((_a = mbRef.current) === null || _a === void 0 ? void 0 : _a.select("cartesian").length).toBe(1);
|
|
150
|
+
rerender(react_1["default"].createElement(ContainedMathbox_1["default"], { ref: mbRef }));
|
|
151
|
+
expect((_b = mbRef.current) === null || _b === void 0 ? void 0 : _b.select("cartesian").length).toBe(0);
|
|
152
|
+
});
|
|
153
|
+
it.each([
|
|
154
|
+
{ props: { visible: true, scale: [3, 2, 1] } },
|
|
155
|
+
{ props: { visible: false, scale: [1, 2, 3] } },
|
|
156
|
+
])("passes appropriate props to its mathbox instance", function (_a) {
|
|
157
|
+
var _b;
|
|
158
|
+
var props = _a.props;
|
|
159
|
+
var mbRef = { current: null };
|
|
160
|
+
(0, react_2.render)(react_1["default"].createElement(ContainedMathbox_1["default"], { ref: mbRef },
|
|
161
|
+
react_1["default"].createElement(components_1.Cartesian, __assign({}, props))));
|
|
162
|
+
var cartesian = (_b = mbRef.current) === null || _b === void 0 ? void 0 : _b.select("cartesian");
|
|
163
|
+
assertNotNil(cartesian);
|
|
164
|
+
expect(cartesian.get("visible")).toBe(props.visible);
|
|
165
|
+
// Mathbox converts scale to a ThreeJS Vec3
|
|
166
|
+
expect(cartesian.get("scale").toArray()).toStrictEqual(props.scale);
|
|
167
|
+
});
|
|
168
|
+
it("updates props on its mathbox instance when rerendered", function () {
|
|
169
|
+
var _a;
|
|
170
|
+
var mbRef = { current: null };
|
|
171
|
+
var rerender = (0, react_2.render)(react_1["default"].createElement(ContainedMathbox_1["default"], { ref: mbRef },
|
|
172
|
+
react_1["default"].createElement(components_1.Cartesian, null))).rerender;
|
|
173
|
+
var cartesian = (_a = mbRef.current) === null || _a === void 0 ? void 0 : _a.select("cartesian");
|
|
174
|
+
assertNotNil(cartesian);
|
|
175
|
+
expect(cartesian.get("visible")).toBe(true);
|
|
176
|
+
rerender(react_1["default"].createElement(ContainedMathbox_1["default"], { ref: mbRef },
|
|
177
|
+
react_1["default"].createElement(components_1.Cartesian, { visible: false })));
|
|
178
|
+
expect(cartesian.get("visible")).toBe(false);
|
|
179
|
+
});
|
|
180
|
+
it("updates liveProps on its mathbox instance when rerendered", function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
181
|
+
var mbRef, rerender, grid, w1, w2;
|
|
182
|
+
var _a;
|
|
183
|
+
return __generator(this, function (_b) {
|
|
184
|
+
switch (_b.label) {
|
|
185
|
+
case 0:
|
|
186
|
+
mbRef = { current: null };
|
|
187
|
+
rerender = (0, react_2.render)(react_1["default"].createElement(ContainedMathbox_1["default"], { ref: mbRef },
|
|
188
|
+
react_1["default"].createElement(components_1.Cartesian, null,
|
|
189
|
+
react_1["default"].createElement(components_1.Grid, { liveProps: {
|
|
190
|
+
width: function (t) { return 1 + t; }
|
|
191
|
+
} })))).rerender;
|
|
192
|
+
grid = (_a = mbRef.current) === null || _a === void 0 ? void 0 : _a.select("grid");
|
|
193
|
+
assertNotNil(grid);
|
|
194
|
+
w1 = grid.get("width");
|
|
195
|
+
return [4 /*yield*/, new Promise(function (resolve) {
|
|
196
|
+
setTimeout(resolve, 500);
|
|
197
|
+
})];
|
|
198
|
+
case 1:
|
|
199
|
+
_b.sent();
|
|
200
|
+
w2 = grid.get("width");
|
|
201
|
+
expect(w1).toBe(1);
|
|
202
|
+
// Mathbox uses seconds
|
|
203
|
+
expect(w2 - w1).toBeGreaterThan(0.45);
|
|
204
|
+
expect(w2 - w1).toBeLessThanOrEqual(0.5);
|
|
205
|
+
rerender(react_1["default"].createElement(ContainedMathbox_1["default"], { ref: mbRef },
|
|
206
|
+
react_1["default"].createElement(components_1.Cartesian, null,
|
|
207
|
+
react_1["default"].createElement(components_1.Grid, { width: 10 }))));
|
|
208
|
+
expect(grid.get("width")).toBe(10);
|
|
209
|
+
return [2 /*return*/];
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
}); });
|
|
213
|
+
it("re-renders inside new instance when root changes", function () {
|
|
214
|
+
var mbRef = { current: null };
|
|
215
|
+
var cartesianRef = { current: null };
|
|
216
|
+
var gridRef = { current: null };
|
|
217
|
+
var options1 = {};
|
|
218
|
+
var rerender = (0, react_2.render)(react_1["default"].createElement(ContainedMathbox_1["default"], { ref: mbRef, options: options1 },
|
|
219
|
+
react_1["default"].createElement(components_1.Cartesian, { ref: cartesianRef },
|
|
220
|
+
react_1["default"].createElement(components_1.Grid, { ref: gridRef })))).rerender;
|
|
221
|
+
var mb1 = mbRef.current;
|
|
222
|
+
var cartesian1 = cartesianRef.current;
|
|
223
|
+
var grid1 = gridRef.current;
|
|
224
|
+
assertNotNil(mb1);
|
|
225
|
+
assertNotNil(cartesian1);
|
|
226
|
+
assertNotNil(grid1);
|
|
227
|
+
expect(cartesian1).toHaveLength(1);
|
|
228
|
+
assertSelectionsEqual(mb1.select("cartesian"), cartesian1);
|
|
229
|
+
expect(grid1).toHaveLength(1);
|
|
230
|
+
assertSelectionsEqual(mb1.select("grid"), grid1);
|
|
231
|
+
/**
|
|
232
|
+
* When re-rendered, this will create a new mathBox since the options
|
|
233
|
+
* object prop will have changed.
|
|
234
|
+
*/
|
|
235
|
+
var options2 = { plugins: ["core"] };
|
|
236
|
+
expect(options1).not.toBe(options2);
|
|
237
|
+
rerender(react_1["default"].createElement(ContainedMathbox_1["default"], { ref: mbRef, options: options2 },
|
|
238
|
+
react_1["default"].createElement(components_1.Cartesian, { ref: cartesianRef },
|
|
239
|
+
react_1["default"].createElement(components_1.Grid, { ref: gridRef }))));
|
|
240
|
+
var mb2 = mbRef.current;
|
|
241
|
+
var cartesian2 = cartesianRef.current;
|
|
242
|
+
var grid2 = gridRef.current;
|
|
243
|
+
assertNotNil(mb2);
|
|
244
|
+
assertNotNil(cartesian2);
|
|
245
|
+
assertNotNil(grid2);
|
|
246
|
+
// The options have changed (via deep equal) so a new instance is created
|
|
247
|
+
expect(mb1).not.toBe(mb2);
|
|
248
|
+
expect(cartesian2).toHaveLength(1);
|
|
249
|
+
assertSelectionsEqual(mb2.select("cartesian"), cartesian2);
|
|
250
|
+
expect(grid2).toHaveLength(1);
|
|
251
|
+
assertSelectionsEqual(mb2.select("grid"), grid2);
|
|
252
|
+
});
|
|
253
|
+
it("Can render a new instance without error", function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
254
|
+
var mbRef, containerDiv, setKey, KeyedMathbox;
|
|
255
|
+
return __generator(this, function (_a) {
|
|
256
|
+
mbRef = { current: null };
|
|
257
|
+
containerDiv = null;
|
|
258
|
+
KeyedMathbox = function () {
|
|
259
|
+
var _a = (0, react_1.useState)(null), container = _a[0], setContainer = _a[1];
|
|
260
|
+
var _b = (0, react_1.useState)("key-0"), key = _b[0], setKeyState = _b[1];
|
|
261
|
+
setKey = setKeyState;
|
|
262
|
+
containerDiv = container;
|
|
263
|
+
return (react_1["default"].createElement("div", { ref: setContainer, key: key }, container && (react_1["default"].createElement(Mathbox_1["default"], { ref: mbRef, container: container },
|
|
264
|
+
react_1["default"].createElement(components_1.Cartesian, null)))));
|
|
265
|
+
};
|
|
266
|
+
(0, react_2.render)(react_1["default"].createElement(KeyedMathbox, null));
|
|
267
|
+
assertNotNil(mbRef.current);
|
|
268
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
269
|
+
(0, react_2.act)(function () { return setKey("key-2"); });
|
|
270
|
+
assertNotNil(containerDiv);
|
|
271
|
+
expect(mbRef.current.three.element).toBe(containerDiv);
|
|
272
|
+
expect(mbRef.current.select("cartesian").length).toBe(1);
|
|
273
|
+
return [2 /*return*/];
|
|
274
|
+
});
|
|
275
|
+
}); });
|
|
276
|
+
it("Can add and remove children without error", function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
277
|
+
var mbRef, rerender;
|
|
278
|
+
return __generator(this, function (_a) {
|
|
279
|
+
mbRef = { current: null };
|
|
280
|
+
rerender = (0, react_2.render)(react_1["default"].createElement(ContainedMathbox_1["default"], { ref: mbRef, options: {} },
|
|
281
|
+
react_1["default"].createElement(components_1.Cartesian, null,
|
|
282
|
+
react_1["default"].createElement(components_1.Grid, null)))).rerender;
|
|
283
|
+
assertNotNil(mbRef.current);
|
|
284
|
+
expect(mbRef.current.select("grid").length).toBe(1);
|
|
285
|
+
rerender(react_1["default"].createElement(ContainedMathbox_1["default"], { ref: mbRef, options: {} },
|
|
286
|
+
react_1["default"].createElement(components_1.Cartesian, null,
|
|
287
|
+
react_1["default"].createElement(components_1.Grid, null),
|
|
288
|
+
react_1["default"].createElement(components_1.Grid, null))));
|
|
289
|
+
assertNotNil(mbRef.current);
|
|
290
|
+
expect(mbRef.current.select("grid").length).toBe(2);
|
|
291
|
+
rerender(react_1["default"].createElement(ContainedMathbox_1["default"], { ref: mbRef, options: {} },
|
|
292
|
+
react_1["default"].createElement(components_1.Cartesian, null)));
|
|
293
|
+
assertNotNil(mbRef.current);
|
|
294
|
+
expect(mbRef.current.select("grid").length).toBe(0);
|
|
295
|
+
return [2 /*return*/];
|
|
296
|
+
});
|
|
297
|
+
}); });
|
|
298
|
+
});
|
|
299
|
+
describe("<Voxel />", function () {
|
|
300
|
+
it("throws a runtime error if it has children", function () {
|
|
301
|
+
var willThrow = function () {
|
|
302
|
+
return (0, react_2.render)(react_1["default"].createElement(ContainedMathbox_1["default"], null,
|
|
303
|
+
react_1["default"].createElement(components_1.Cartesian, null,
|
|
304
|
+
react_1["default"].createElement(components_1.Voxel, null,
|
|
305
|
+
react_1["default"].createElement(components_1.Grid, null)))));
|
|
306
|
+
};
|
|
307
|
+
expect(willThrow).toThrow("Component <Voxel /> cannot have children.");
|
|
308
|
+
});
|
|
309
|
+
});
|
|
310
|
+
//# sourceMappingURL=components.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.spec.js","sourceRoot":"","sources":["../../../src/components/components.spec.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
exports.__esModule = true;
|
|
17
|
+
exports.useMathbox = exports.ContainedMathbox = exports.Mathbox = void 0;
|
|
18
|
+
__exportStar(require("./components"), exports);
|
|
19
|
+
var Mathbox_1 = require("./Mathbox");
|
|
20
|
+
__createBinding(exports, Mathbox_1, "default", "Mathbox");
|
|
21
|
+
var ContainedMathbox_1 = require("./ContainedMathbox");
|
|
22
|
+
__createBinding(exports, ContainedMathbox_1, "default", "ContainedMathbox");
|
|
23
|
+
var MathboxAPIContext_1 = require("./MathboxAPIContext");
|
|
24
|
+
__createBinding(exports, MathboxAPIContext_1, "useMathbox");
|
|
25
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,qCAA8C;AAArC,0DAAkB;AAC3B,uDAAgE;AAAvD,4EAA2B;AAEpC,yDAAgD;AAAvC,4DAAU"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/types.ts"],"names":[],"mappings":""}
|
|
File without changes
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports.useDeepCompareMemo = exports.capitalize = exports.canNodeHaveChildren = exports.isSelectionParent = exports.isRootDestroyed = void 0;
|
|
7
|
+
/* eslint-disable no-underscore-dangle */
|
|
8
|
+
var isEqual_1 = __importDefault(require("lodash/isEqual"));
|
|
9
|
+
var react_1 = require("react");
|
|
10
|
+
/**
|
|
11
|
+
* Get root node given any node in Mathbox tree
|
|
12
|
+
*/
|
|
13
|
+
var getRoot = function (selection) {
|
|
14
|
+
var current = selection;
|
|
15
|
+
while (current._up) {
|
|
16
|
+
current = current._up;
|
|
17
|
+
}
|
|
18
|
+
return current;
|
|
19
|
+
};
|
|
20
|
+
var isRootDestroyed = function (selection) {
|
|
21
|
+
var root = getRoot(selection);
|
|
22
|
+
return root.three === undefined;
|
|
23
|
+
};
|
|
24
|
+
exports.isRootDestroyed = isRootDestroyed;
|
|
25
|
+
/**
|
|
26
|
+
* Check that parent is actually the selection's parent.
|
|
27
|
+
* The mathbox components occasionally render with a selection value whose
|
|
28
|
+
* parent does not match the parent specified in MathboxContext.
|
|
29
|
+
*
|
|
30
|
+
* I believe this fundamentally this is happening because
|
|
31
|
+
* - we store parent value in context...
|
|
32
|
+
* - we update the context parent value using useEffect hooks..
|
|
33
|
+
* - useEffect hooks are called children before parents.
|
|
34
|
+
*
|
|
35
|
+
* One wonders whether we really need to be using useEffect hooks for the
|
|
36
|
+
* mathbox components, or if we can just put all the node creation/removal stuff
|
|
37
|
+
* in a render function. Hooks seem nice for dependencies, but mathbox is pretty
|
|
38
|
+
* smart about diffing out the actual changes.
|
|
39
|
+
*/
|
|
40
|
+
var isSelectionParent = function (selection, parent) {
|
|
41
|
+
var _a;
|
|
42
|
+
var selectionParentNode = (_a = selection._up) === null || _a === void 0 ? void 0 : _a[0];
|
|
43
|
+
return selectionParentNode === parent[0];
|
|
44
|
+
};
|
|
45
|
+
exports.isSelectionParent = isSelectionParent;
|
|
46
|
+
var CAN_HAVE_CHILDREN = [
|
|
47
|
+
"view",
|
|
48
|
+
"cartesian",
|
|
49
|
+
"cartesian4",
|
|
50
|
+
"polar",
|
|
51
|
+
"spherical",
|
|
52
|
+
"stereographic",
|
|
53
|
+
"stereographic4",
|
|
54
|
+
"transform",
|
|
55
|
+
"transform4",
|
|
56
|
+
"vertex",
|
|
57
|
+
"fragment",
|
|
58
|
+
"layer",
|
|
59
|
+
"mask",
|
|
60
|
+
"group",
|
|
61
|
+
"inherit",
|
|
62
|
+
"root",
|
|
63
|
+
"unit",
|
|
64
|
+
"rtt",
|
|
65
|
+
"clock",
|
|
66
|
+
"now",
|
|
67
|
+
"move",
|
|
68
|
+
"present",
|
|
69
|
+
"reveal",
|
|
70
|
+
"slide",
|
|
71
|
+
];
|
|
72
|
+
var canNodeHaveChildren = function (type) {
|
|
73
|
+
return CAN_HAVE_CHILDREN.includes(type);
|
|
74
|
+
};
|
|
75
|
+
exports.canNodeHaveChildren = canNodeHaveChildren;
|
|
76
|
+
var capitalize = function (s) {
|
|
77
|
+
if (!s)
|
|
78
|
+
return "";
|
|
79
|
+
return s[0].toLocaleUpperCase() + s.slice(1);
|
|
80
|
+
};
|
|
81
|
+
exports.capitalize = capitalize;
|
|
82
|
+
/**
|
|
83
|
+
* Returns the same reference to `value` as long as the the given values are
|
|
84
|
+
* deep equal.
|
|
85
|
+
*
|
|
86
|
+
* This is, in general, not a great idea. See
|
|
87
|
+
* https://github.com/facebook/react/issues/14476#issuecomment-471199055
|
|
88
|
+
*
|
|
89
|
+
* This should work OK for mathbox options because the objects in question are
|
|
90
|
+
* either shallow, or are deep equal at a fairly shallow level.
|
|
91
|
+
* E.g., OrbitControls may not be a shall object, but if it's not, it will at
|
|
92
|
+
* least be deep equal between renders.
|
|
93
|
+
*
|
|
94
|
+
* But should work OK for mathbox options.
|
|
95
|
+
*/
|
|
96
|
+
var useDeepCompareMemo = function (value, initial) {
|
|
97
|
+
var oldValue = (0, react_1.useRef)(initial);
|
|
98
|
+
var memoOptions = (0, react_1.useMemo)(function () {
|
|
99
|
+
if ((0, isEqual_1["default"])(value, oldValue.current))
|
|
100
|
+
return oldValue.current;
|
|
101
|
+
oldValue.current = value;
|
|
102
|
+
return value;
|
|
103
|
+
}, [value]);
|
|
104
|
+
return memoOptions;
|
|
105
|
+
};
|
|
106
|
+
exports.useDeepCompareMemo = useDeepCompareMemo;
|
|
107
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/components/util.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAyC;AACzC,2DAAoC;AACpC,+BAAuC;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;AAEM,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;AAHY,QAAA,eAAe,mBAG3B;AAED;;;;;;;;;;;;;;GAcG;AACI,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;AANY,QAAA,iBAAiB,qBAM7B;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;AAIH,IAAM,mBAAmB,GAAG,UAAC,IAAc;IAChD,OAAC,iBAAuC,CAAC,QAAQ,CAAC,IAAI,CAAC;AAAvD,CAAuD,CAAA;AAD5C,QAAA,mBAAmB,uBACyB;AAElD,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;AAHY,QAAA,UAAU,cAGtB;AAED;;;;;;;;;;;;;GAaG;AACI,IAAM,kBAAkB,GAAG,UAAI,KAAQ,EAAE,OAAU;IACxD,IAAM,QAAQ,GAAG,IAAA,cAAM,EAAI,OAAO,CAAC,CAAA;IACnC,IAAM,WAAW,GAAG,IAAA,eAAO,EAAC;QAC1B,IAAI,IAAA,oBAAO,EAAC,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;AARY,QAAA,kBAAkB,sBAQ9B"}
|
|
File without changes
|
package/build/cjs/index.js
CHANGED
|
@@ -1,2 +1,18 @@
|
|
|
1
|
-
"use strict";var e=require("react"),t=require("three"),r=require("mathbox"),n=function(){return n=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},n.apply(this,arguments)};function o(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r}var a=e.createContext(null),i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var c=function(){this.__data__=[],this.size=0};var s=function(e,t){return e===t||e!=e&&t!=t},u=s;var p=function(e,t){for(var r=e.length;r--;)if(u(e[r][0],t))return r;return-1},l=p,f=Array.prototype.splice;var v=p;var h=p;var y=p;var d=c,b=function(e){var t=this.__data__,r=l(t,e);return!(r<0)&&(r==t.length-1?t.pop():f.call(t,r,1),--this.size,!0)},_=function(e){var t=this.__data__,r=v(t,e);return r<0?void 0:t[r][1]},x=function(e){return h(this.__data__,e)>-1},j=function(e,t){var r=this.__data__,n=y(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};function g(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}g.prototype.clear=d,g.prototype.delete=b,g.prototype.get=_,g.prototype.has=x,g.prototype.set=j;var m=g,w=m;var O=function(){this.__data__=new w,this.size=0};var S=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r};var A=function(e){return this.__data__.get(e)};var z=function(e){return this.__data__.has(e)},P="object"==typeof i&&i&&i.Object===Object&&i,k=P,E="object"==typeof self&&self&&self.Object===Object&&self,C=k||E||Function("return this")(),R=C.Symbol,T=R,M=Object.prototype,I=M.hasOwnProperty,F=M.toString,L=T?T.toStringTag:void 0;var V=function(e){var t=I.call(e,L),r=e[L];try{e[L]=void 0;var n=!0}catch(e){}var o=F.call(e);return n&&(t?e[L]=r:delete e[L]),o},B=Object.prototype.toString;var U=V,D=function(e){return B.call(e)},$=R?R.toStringTag:void 0;var q=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":$&&$ in Object(e)?U(e):D(e)};var N=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},G=q,H=N;var W,J=function(e){if(!H(e))return!1;var t=G(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},K=C["__core-js_shared__"],Q=(W=/[^.]+$/.exec(K&&K.keys&&K.keys.IE_PROTO||""))?"Symbol(src)_1."+W:"";var X=function(e){return!!Q&&Q in e},Y=Function.prototype.toString;var Z=function(e){if(null!=e){try{return Y.call(e)}catch(e){}try{return e+""}catch(e){}}return""},ee=J,te=X,re=N,ne=Z,oe=/^\[object .+?Constructor\]$/,ae=Function.prototype,ie=Object.prototype,ce=ae.toString,se=ie.hasOwnProperty,ue=RegExp("^"+ce.call(se).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var pe=function(e){return!(!re(e)||te(e))&&(ee(e)?ue:oe).test(ne(e))},le=function(e,t){return null==e?void 0:e[t]};var fe=function(e,t){var r=le(e,t);return pe(r)?r:void 0},ve=fe(C,"Map"),he=fe(Object,"create"),ye=he;var de=function(){this.__data__=ye?ye(null):{},this.size=0};var be=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},_e=he,xe=Object.prototype.hasOwnProperty;var je=function(e){var t=this.__data__;if(_e){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return xe.call(t,e)?t[e]:void 0},ge=he,me=Object.prototype.hasOwnProperty;var we=he;var Oe=de,Se=be,Ae=je,ze=function(e){var t=this.__data__;return ge?void 0!==t[e]:me.call(t,e)},Pe=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=we&&void 0===t?"__lodash_hash_undefined__":t,this};function ke(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}ke.prototype.clear=Oe,ke.prototype.delete=Se,ke.prototype.get=Ae,ke.prototype.has=ze,ke.prototype.set=Pe;var Ee=ke,Ce=m,Re=ve;var Te=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};var Me=function(e,t){var r=e.__data__;return Te(t)?r["string"==typeof t?"string":"hash"]:r.map},Ie=Me;var Fe=Me;var Le=Me;var Ve=Me;var Be=function(){this.size=0,this.__data__={hash:new Ee,map:new(Re||Ce),string:new Ee}},Ue=function(e){var t=Ie(this,e).delete(e);return this.size-=t?1:0,t},De=function(e){return Fe(this,e).get(e)},$e=function(e){return Le(this,e).has(e)},qe=function(e,t){var r=Ve(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this};function Ne(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}Ne.prototype.clear=Be,Ne.prototype.delete=Ue,Ne.prototype.get=De,Ne.prototype.has=$e,Ne.prototype.set=qe;var Ge=Ne,He=m,We=ve,Je=Ge;var Ke=m,Qe=O,Xe=S,Ye=A,Ze=z,et=function(e,t){var r=this.__data__;if(r instanceof He){var n=r.__data__;if(!We||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new Je(n)}return r.set(e,t),this.size=r.size,this};function tt(e){var t=this.__data__=new Ke(e);this.size=t.size}tt.prototype.clear=Qe,tt.prototype.delete=Xe,tt.prototype.get=Ye,tt.prototype.has=Ze,tt.prototype.set=et;var rt=tt;var nt=Ge,ot=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},at=function(e){return this.__data__.has(e)};function it(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new nt;++t<r;)this.add(e[t])}it.prototype.add=it.prototype.push=ot,it.prototype.has=at;var ct=it,st=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1},ut=function(e,t){return e.has(t)};var pt=function(e,t,r,n,o,a){var i=1&r,c=e.length,s=t.length;if(c!=s&&!(i&&s>c))return!1;var u=a.get(e),p=a.get(t);if(u&&p)return u==t&&p==e;var l=-1,f=!0,v=2&r?new ct:void 0;for(a.set(e,t),a.set(t,e);++l<c;){var h=e[l],y=t[l];if(n)var d=i?n(y,h,l,t,e,a):n(h,y,l,e,t,a);if(void 0!==d){if(d)continue;f=!1;break}if(v){if(!st(t,(function(e,t){if(!ut(v,t)&&(h===e||o(h,e,r,n,a)))return v.push(t)}))){f=!1;break}}else if(h!==y&&!o(h,y,r,n,a)){f=!1;break}}return a.delete(e),a.delete(t),f};var lt=C.Uint8Array,ft=s,vt=pt,ht=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r},yt=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r},dt=R?R.prototype:void 0,bt=dt?dt.valueOf:void 0;var _t=function(e,t,r,n,o,a,i){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!a(new lt(e),new lt(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return ft(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var c=ht;case"[object Set]":var s=1&n;if(c||(c=yt),e.size!=t.size&&!s)return!1;var u=i.get(e);if(u)return u==t;n|=2,i.set(e,t);var p=vt(c(e),c(t),n,o,a,i);return i.delete(e),p;case"[object Symbol]":if(bt)return bt.call(e)==bt.call(t)}return!1};var xt=function(e,t){for(var r=-1,n=t.length,o=e.length;++r<n;)e[o+r]=t[r];return e},jt=Array.isArray,gt=xt,mt=jt;var wt=function(e,t,r){var n=t(e);return mt(e)?n:gt(n,r(e))};var Ot=function(e,t){for(var r=-1,n=null==e?0:e.length,o=0,a=[];++r<n;){var i=e[r];t(i,r,e)&&(a[o++]=i)}return a},St=function(){return[]},At=Object.prototype.propertyIsEnumerable,zt=Object.getOwnPropertySymbols,Pt=zt?function(e){return null==e?[]:(e=Object(e),Ot(zt(e),(function(t){return At.call(e,t)})))}:St;var kt=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n};var Et=function(e){return null!=e&&"object"==typeof e},Ct=q,Rt=Et;var Tt=function(e){return Rt(e)&&"[object Arguments]"==Ct(e)},Mt=Et,It=Object.prototype,Ft=It.hasOwnProperty,Lt=It.propertyIsEnumerable,Vt=Tt(function(){return arguments}())?Tt:function(e){return Mt(e)&&Ft.call(e,"callee")&&!Lt.call(e,"callee")},Bt={exports:{}};var Ut=function(){return!1};!function(e,t){var r=C,n=Ut,o=t&&!t.nodeType&&t,a=o&&e&&!e.nodeType&&e,i=a&&a.exports===o?r.Buffer:void 0,c=(i?i.isBuffer:void 0)||n;e.exports=c}(Bt,Bt.exports);var Dt=/^(?:0|[1-9]\d*)$/;var $t=function(e,t){var r=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==r||"symbol"!=r&&Dt.test(e))&&e>-1&&e%1==0&&e<t};var qt=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991},Nt=q,Gt=qt,Ht=Et,Wt={};Wt["[object Float32Array]"]=Wt["[object Float64Array]"]=Wt["[object Int8Array]"]=Wt["[object Int16Array]"]=Wt["[object Int32Array]"]=Wt["[object Uint8Array]"]=Wt["[object Uint8ClampedArray]"]=Wt["[object Uint16Array]"]=Wt["[object Uint32Array]"]=!0,Wt["[object Arguments]"]=Wt["[object Array]"]=Wt["[object ArrayBuffer]"]=Wt["[object Boolean]"]=Wt["[object DataView]"]=Wt["[object Date]"]=Wt["[object Error]"]=Wt["[object Function]"]=Wt["[object Map]"]=Wt["[object Number]"]=Wt["[object Object]"]=Wt["[object RegExp]"]=Wt["[object Set]"]=Wt["[object String]"]=Wt["[object WeakMap]"]=!1;var Jt=function(e){return Ht(e)&&Gt(e.length)&&!!Wt[Nt(e)]};var Kt=function(e){return function(t){return e(t)}},Qt={exports:{}};!function(e,t){var r=P,n=t&&!t.nodeType&&t,o=n&&e&&!e.nodeType&&e,a=o&&o.exports===n&&r.process,i=function(){try{var e=o&&o.require&&o.require("util").types;return e||a&&a.binding&&a.binding("util")}catch(e){}}();e.exports=i}(Qt,Qt.exports);var Xt=Jt,Yt=Kt,Zt=Qt.exports,er=Zt&&Zt.isTypedArray,tr=er?Yt(er):Xt,rr=kt,nr=Vt,or=jt,ar=Bt.exports,ir=$t,cr=tr,sr=Object.prototype.hasOwnProperty;var ur=function(e,t){var r=or(e),n=!r&&nr(e),o=!r&&!n&&ar(e),a=!r&&!n&&!o&&cr(e),i=r||n||o||a,c=i?rr(e.length,String):[],s=c.length;for(var u in e)!t&&!sr.call(e,u)||i&&("length"==u||o&&("offset"==u||"parent"==u)||a&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||ir(u,s))||c.push(u);return c},pr=Object.prototype;var lr=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||pr)};var fr=function(e,t){return function(r){return e(t(r))}}(Object.keys,Object),vr=lr,hr=fr,yr=Object.prototype.hasOwnProperty;var dr=J,br=qt;var _r=ur,xr=function(e){if(!vr(e))return hr(e);var t=[];for(var r in Object(e))yr.call(e,r)&&"constructor"!=r&&t.push(r);return t},jr=function(e){return null!=e&&br(e.length)&&!dr(e)};var gr=wt,mr=Pt,wr=function(e){return jr(e)?_r(e):xr(e)};var Or=function(e){return gr(e,wr,mr)},Sr=Object.prototype.hasOwnProperty;var Ar=function(e,t,r,n,o,a){var i=1&r,c=Or(e),s=c.length;if(s!=Or(t).length&&!i)return!1;for(var u=s;u--;){var p=c[u];if(!(i?p in t:Sr.call(t,p)))return!1}var l=a.get(e),f=a.get(t);if(l&&f)return l==t&&f==e;var v=!0;a.set(e,t),a.set(t,e);for(var h=i;++u<s;){var y=e[p=c[u]],d=t[p];if(n)var b=i?n(d,y,p,t,e,a):n(y,d,p,e,t,a);if(!(void 0===b?y===d||o(y,d,r,n,a):b)){v=!1;break}h||(h="constructor"==p)}if(v&&!h){var _=e.constructor,x=t.constructor;_==x||!("constructor"in e)||!("constructor"in t)||"function"==typeof _&&_ instanceof _&&"function"==typeof x&&x instanceof x||(v=!1)}return a.delete(e),a.delete(t),v},zr=fe(C,"DataView"),Pr=ve,kr=fe(C,"Promise"),Er=fe(C,"Set"),Cr=fe(C,"WeakMap"),Rr=q,Tr=Z,Mr="[object Map]",Ir="[object Promise]",Fr="[object Set]",Lr="[object WeakMap]",Vr="[object DataView]",Br=Tr(zr),Ur=Tr(Pr),Dr=Tr(kr),$r=Tr(Er),qr=Tr(Cr),Nr=Rr;(zr&&Nr(new zr(new ArrayBuffer(1)))!=Vr||Pr&&Nr(new Pr)!=Mr||kr&&Nr(kr.resolve())!=Ir||Er&&Nr(new Er)!=Fr||Cr&&Nr(new Cr)!=Lr)&&(Nr=function(e){var t=Rr(e),r="[object Object]"==t?e.constructor:void 0,n=r?Tr(r):"";if(n)switch(n){case Br:return Vr;case Ur:return Mr;case Dr:return Ir;case $r:return Fr;case qr:return Lr}return t});var Gr=rt,Hr=pt,Wr=_t,Jr=Ar,Kr=Nr,Qr=jt,Xr=Bt.exports,Yr=tr,Zr="[object Arguments]",en="[object Array]",tn="[object Object]",rn=Object.prototype.hasOwnProperty;var nn=function(e,t,r,n,o,a){var i=Qr(e),c=Qr(t),s=i?en:Kr(e),u=c?en:Kr(t),p=(s=s==Zr?tn:s)==tn,l=(u=u==Zr?tn:u)==tn,f=s==u;if(f&&Xr(e)){if(!Xr(t))return!1;i=!0,p=!1}if(f&&!p)return a||(a=new Gr),i||Yr(e)?Hr(e,t,r,n,o,a):Wr(e,t,s,r,n,o,a);if(!(1&r)){var v=p&&rn.call(e,"__wrapped__"),h=l&&rn.call(t,"__wrapped__");if(v||h){var y=v?e.value():e,d=h?t.value():t;return a||(a=new Gr),o(y,d,r,n,a)}}return!!f&&(a||(a=new Gr),Jr(e,t,r,n,o,a))},on=Et;var an=function e(t,r,n,o,a){return t===r||(null==t||null==r||!on(t)&&!on(r)?t!=t&&r!=r:nn(t,r,n,o,e,a))},cn=an;var sn=function(e,t){return cn(e,t)},un=["view","cartesian","cartesian4","polar","spherical","stereographic","stereographic4","transform","transform4","vertex","fragment","layer","mask","group","inherit","root","unit","rtt","clock","now","move","present","reveal","slide"],pn=function(t){var r,n=function(e){return un.includes(e)}(t),i=(r=t)?r[0].toLocaleUpperCase()+r.slice(1):"";return e.forwardRef((function(r,c){var s=e.useReducer((function(e){return e+1}),0);s[0];var u=s[1],p=e.useContext(a),l=e.useRef(null),f=e.useRef(void 0);e.useEffect((function(){return function(){l.current&&(l.current.remove(),l.current=null)}}),[]),e.useImperativeHandle(c,(function(){return l.current})),r.children;var v=r.liveProps,h=o(r,["children","liveProps"]);if(e.useEffect((function(){p&&(!function(e){var t=function(e){for(var t=e;t._up;)t=t._up;return t}(e);return void 0===t.three}(p)?(l.current&&(function(e,t){var r;return(null===(r=e._up)||void 0===r?void 0:r[0])===t[0]}(l.current,p)||(l.current.remove(),l.current=null,u())),l.current?(f.current&&v!==f.current&&Object.keys(f.current).forEach((function(e){l.current.unbind(e)})),v&&v!==f.current&&l.current.bind(v),l.current.set(h)):(l.current=p[t](h,v),u()),f.current=v):u())}),[p,h,v]),!n){if(r.children)throw new Error("Component <".concat(i," /> cannot have children."));return null}return e.createElement(a.Provider,{value:l.current},r.children)}))},ln=pn("area"),fn=pn("array"),vn=pn("axis"),hn=pn("camera"),yn=pn("cartesian"),dn=pn("cartesian4"),bn=pn("clamp"),_n=pn("clock"),xn=pn("compose"),jn=pn("dom"),gn=pn("face"),mn=pn("format"),wn=pn("fragment"),On=pn("grid"),Sn=pn("group"),An=pn("grow"),zn=pn("html"),Pn=pn("inherit"),kn=pn("interval"),En=pn("join"),Cn=pn("label"),Rn=pn("layer"),Tn=pn("lerp"),Mn=pn("line"),In=pn("mask"),Fn=pn("matrix"),Ln=pn("memo"),Vn=pn("move"),Bn=pn("now"),Un=pn("play"),Dn=pn("point"),$n=pn("polar"),qn=pn("present"),Nn=pn("readback"),Gn=pn("repeat"),Hn=pn("resample"),Wn=pn("retext"),Jn=pn("reveal"),Kn=pn("rtt"),Qn=pn("scale"),Xn=pn("shader"),Yn=pn("slice"),Zn=pn("slide"),eo=pn("spherical"),to=pn("split"),ro=pn("spread"),no=pn("step"),oo=pn("stereographic"),ao=pn("stereographic4"),io=pn("strip"),co=pn("subdivide"),so=pn("surface"),uo=pn("swizzle"),po=pn("text"),lo=pn("ticks"),fo=pn("transform"),vo=pn("transform4"),ho=pn("transpose"),yo=pn("unit"),bo=pn("vector"),_o=pn("vertex"),xo=pn("view"),jo=pn("volume"),go=pn("voxel"),mo=e.forwardRef((function(i,c){var s,u,p,l=i.container,f=i.children,v=i.options,h=o(i,["container","children","options"]),y=(s=null!=v?v:{},u={},p=e.useRef(u),e.useMemo((function(){return sn(s,p.current)?p.current:(p.current=s,s)}),[s])),d=e.useState(null),b=d[0],_=d[1];return e.useEffect((function(){if(!l)return function(){};var e=r.mathBox(n(n({},y),{element:l}));return _(e),e.three.renderer.setClearColor(new t.Color(16777215),1),e.three.camera.position.set(1,1,2),function(){e.select("*").remove(),e.three.destroy(),_(null)}}),[l,y]),e.useEffect((function(){b&&b.set(h)}),[b,h]),e.useImperativeHandle(c,(function(){return b}),[b]),e.createElement(a.Provider,{value:b},f)})),wo=e.forwardRef((function(t,r){var a=t.children,i=t.containerId,c=t.containerClass,s=t.containerStyle,u=o(t,["children","containerId","containerClass","containerStyle"]),p=e.useState(null),l=p[0],f=p[1];return e.createElement("div",{ref:f,id:i,className:c,style:s},l&&e.createElement(mo,n({ref:r,container:l},u),a))}));exports.Area=ln,exports.Array=fn,exports.Axis=vn,exports.Camera=hn,exports.Cartesian=yn,exports.Cartesian4=dn,exports.Clamp=bn,exports.Clock=_n,exports.Compose=xn,exports.ContainedMathbox=wo,exports.Dom=jn,exports.Face=gn,exports.Format=mn,exports.Fragment=wn,exports.Grid=On,exports.Group=Sn,exports.Grow=An,exports.Html=zn,exports.Inherit=Pn,exports.Interval=kn,exports.Join=En,exports.Label=Cn,exports.Layer=Rn,exports.Lerp=Tn,exports.Line=Mn,exports.Mask=In,exports.Mathbox=mo,exports.Matrix=Fn,exports.Memo=Ln,exports.Move=Vn,exports.Now=Bn,exports.Play=Un,exports.Point=Dn,exports.Polar=$n,exports.Present=qn,exports.Readback=Nn,exports.Repeat=Gn,exports.Resample=Hn,exports.Retext=Wn,exports.Reveal=Jn,exports.Rtt=Kn,exports.Scale=Qn,exports.Shader=Xn,exports.Slice=Yn,exports.Slide=Zn,exports.Spherical=eo,exports.Split=to,exports.Spread=ro,exports.Step=no,exports.Stereographic=oo,exports.Stereographic4=ao,exports.Strip=io,exports.Subdivide=co,exports.Surface=so,exports.Swizzle=uo,exports.Text=po,exports.Ticks=lo,exports.Transform=fo,exports.Transform4=vo,exports.Transpose=ho,exports.Unit=yo,exports.Vector=bo,exports.Vertex=_o,exports.View=xo,exports.Volume=jo,exports.Voxel=go;
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
exports.__esModule = true;
|
|
17
|
+
__exportStar(require("./components"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|