mathbox-react 0.0.14-rc3 → 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/components/ContainedMathbox.js +59 -0
- package/build/cjs/components/ContainedMathbox.js.map +1 -0
- package/build/cjs/components/Mathbox.js +87 -0
- package/build/cjs/components/Mathbox.js.map +1 -0
- package/build/cjs/components/{MathboxNodeContext.d.ts → 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/components/components.js +383 -0
- package/build/cjs/components/components.js.map +1 -0
- package/build/cjs/components/components.spec.d.ts +1 -0
- package/build/cjs/components/components.spec.js +310 -0
- package/build/cjs/components/components.spec.js.map +1 -0
- package/build/cjs/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/components/types.js +3 -0
- package/build/cjs/components/types.js.map +1 -0
- package/build/cjs/components/util.js +107 -0
- package/build/cjs/components/util.js.map +1 -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/cjs/testSetup.js +5 -0
- package/build/cjs/testSetup.js.map +1 -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/components/ContainedMathbox.js +31 -0
- package/build/esm/components/ContainedMathbox.js.map +1 -0
- package/build/esm/components/Mathbox.js +59 -0
- package/build/esm/components/Mathbox.js.map +1 -0
- package/build/esm/components/{MathboxNodeContext.d.ts → MathboxAPIContext.d.ts} +5 -0
- package/build/esm/components/MathboxAPIContext.js +15 -0
- package/build/esm/components/MathboxAPIContext.js.map +1 -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/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/components/types.js +2 -0
- package/build/esm/components/types.js.map +1 -0
- package/build/esm/components/util.js +96 -0
- package/build/esm/components/util.js.map +1 -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.js +3 -0
- package/build/esm/testSetup.js.map +1 -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 +42 -34
|
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAuC;AACvC,gDAAoD;AAEpD,wEAAiD;AACjD,sDAA+B;AAC/B,2CAAqD;AAGrD,SAAS,YAAY,CAAI,KAAQ;IAC/B,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;KAC9C;IACD,IAAI,KAAK,KAAK,IAAI,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;KACzC;AACH,CAAC;AAED;;GAEG;AACH,IAAM,qBAAqB,GAAG,UAAC,EAAoB,EAAE,EAAoB;IACvE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;IACjC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC;SACb,IAAI,CAAC,IAAI,CAAC;SACV,OAAO,CAAC,UAAC,CAAC,EAAE,CAAC;QACZ,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AAED,QAAQ,CAAC,kBAAkB,EAAE;IAC3B,EAAE,CAAC,+DAA+D,EAAE;QAClE,IAAM,KAAK,GAAuB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QAC3C,IAAA,QAAQ,GAAK,IAAA,cAAM,EAAC,iCAAC,6BAAgB,IAAC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,GAAI,CAAC,SAA1D,CAA0D;QAE1E,IAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAA;QACzB,YAAY,CAAC,GAAG,CAAC,CAAA;QACjB,QAAQ,CAAC,iCAAC,6BAAgB,IAAC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,GAAI,CAAC,CAAA;QACvD,IAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAA;QACzB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACrB,YAAY,CAAC,GAAG,CAAC,CAAA;QACjB,QAAQ,CAAC,iCAAC,6BAAgB,IAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,GAAI,CAAC,CAAA;QAC1E,IAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAA;QACzB,YAAY,CAAC,GAAG,CAAC,CAAA;QACjB,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,WAAW,EAAE;IACpB,EAAE,CAAC,kCAAkC,EAAE;;QACrC,IAAM,KAAK,GAAuB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QACnD,IAAM,YAAY,GAA4B,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QAC/D,IAAA,cAAM,EACJ,iCAAC,6BAAgB,IAAC,GAAG,EAAE,KAAK;YAC1B,iCAAC,sBAAS,IAAC,GAAG,EAAE,YAAY,GAAI,CACf,CACpB,CAAA;QAED,MAAM,CAAC,MAAA,KAAK,CAAC,OAAO,0CAAG,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC5C,MAAM,CAAC,MAAA,YAAY,CAAC,OAAO,0CAAG,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+CAA+C,EAAE;;QAClD,IAAM,KAAK,GAAuB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QACnD,IAAA,cAAM,EACJ,iCAAC,6BAAgB,IAAC,GAAG,EAAE,KAAK;YAC1B,iCAAC,sBAAS,OAAG,CACI,CACpB,CAAA;QACD,MAAM,CAAC,MAAA,KAAK,CAAC,OAAO,0CAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gDAAgD,EAAE;;QACnD,IAAM,KAAK,GAAuB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QACnD,IAAA,cAAM,EACJ,iCAAC,6BAAgB,IAAC,GAAG,EAAE,KAAK;YAC1B,iCAAC,sBAAS;gBACR,iCAAC,iBAAI,OAAG;gBACR,iCAAC,iBAAI,OAAG,CACE,CACK,CACpB,CAAA;QACD,MAAA,KAAK,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAA;QACtB,MAAM,CAAC,MAAA,KAAK,CAAC,OAAO,0CAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACzD,MAAM,CAAC,MAAA,KAAK,CAAC,OAAO,0CAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAChE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6CAA6C,EAAE;;QAChD,IAAM,KAAK,GAAuB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QAC3C,IAAA,QAAQ,GAAK,IAAA,cAAM,EACzB,iCAAC,6BAAgB,IAAC,GAAG,EAAE,KAAK;YAC1B,iCAAC,sBAAS,OAAG,CACI,CACpB,SAJe,CAIf;QACD,MAAM,CAAC,MAAA,KAAK,CAAC,OAAO,0CAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACzD,QAAQ,CAAC,iCAAC,6BAAgB,IAAC,GAAG,EAAE,KAAK,GAAI,CAAC,CAAA;QAC1C,MAAM,CAAC,MAAA,KAAK,CAAC,OAAO,0CAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,IAAI,CAAC;QACN,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QAC9C,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;KAChD,CAAC,CAAC,kDAAkD,EAAE,UAAC,EAAS;;YAAP,KAAK,WAAA;QAC7D,IAAM,KAAK,GAAuB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QACnD,IAAA,cAAM,EACJ,iCAAC,6BAAgB,IAAC,GAAG,EAAE,KAAK;YAC1B,iCAAC,sBAAS,eAAK,KAAK,EAAI,CACP,CACpB,CAAA;QACD,IAAM,SAAS,GAAG,MAAA,KAAK,CAAC,OAAO,0CAAE,MAAM,CAAc,WAAW,CAAC,CAAA;QAEjE,YAAY,CAAC,SAAS,CAAC,CAAA;QAEvB,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACpD,2CAA2C;QAC3C,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACrE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uDAAuD,EAAE;;QAC1D,IAAM,KAAK,GAAuB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QAC3C,IAAA,QAAQ,GAAK,IAAA,cAAM,EACzB,iCAAC,6BAAgB,IAAC,GAAG,EAAE,KAAK;YAC1B,iCAAC,sBAAS,OAAG,CACI,CACpB,SAJe,CAIf;QACD,IAAM,SAAS,GAAG,MAAA,KAAK,CAAC,OAAO,0CAAE,MAAM,CAAc,WAAW,CAAC,CAAA;QACjE,YAAY,CAAC,SAAS,CAAC,CAAA;QAEvB,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC3C,QAAQ,CACN,iCAAC,6BAAgB,IAAC,GAAG,EAAE,KAAK;YAC1B,iCAAC,sBAAS,IAAC,OAAO,EAAE,KAAK,GAAI,CACZ,CACpB,CAAA;QACD,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2DAA2D,EAAE;;;;;;oBACxD,KAAK,GAAuB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;oBAC3C,QAAQ,GAAK,IAAA,cAAM,EACzB,iCAAC,6BAAgB,IAAC,GAAG,EAAE,KAAK;wBAC1B,iCAAC,sBAAS;4BACR,iCAAC,iBAAI,IACH,SAAS,EAAE;oCACT,KAAK,EAAE,UAAC,CAAC,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK;iCACpB,GACD,CACQ,CACK,CACpB,SAVe,CAUf;oBACK,IAAI,GAAG,MAAA,KAAK,CAAC,OAAO,0CAAE,MAAM,CAAS,MAAM,CAAC,CAAA;oBAClD,YAAY,CAAC,IAAI,CAAC,CAAA;oBAEZ,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;oBAC5B,qBAAM,IAAI,OAAO,CAAC,UAAC,OAAO;4BACxB,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;wBAC1B,CAAC,CAAC,EAAA;;oBAFF,SAEE,CAAA;oBACI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;oBAC5B,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;oBAClB,uBAAuB;oBACvB,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;oBACrC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAA;oBACxC,QAAQ,CACN,iCAAC,6BAAgB,IAAC,GAAG,EAAE,KAAK;wBAC1B,iCAAC,sBAAS;4BACR,iCAAC,iBAAI,IAAC,KAAK,EAAE,EAAE,GAAI,CACT,CACK,CACpB,CAAA;oBACD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;;;;SACnC,CAAC,CAAA;IAEF,EAAE,CAAC,kDAAkD,EAAE;QACrD,IAAM,KAAK,GAAuB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QACnD,IAAM,YAAY,GAA4B,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QAC/D,IAAM,OAAO,GAAuB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QACrD,IAAM,QAAQ,GAAG,EAAE,CAAA;QACX,IAAA,QAAQ,GAAK,IAAA,cAAM,EACzB,iCAAC,6BAAgB,IAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ;YAC7C,iCAAC,sBAAS,IAAC,GAAG,EAAE,YAAY;gBAC1B,iCAAC,iBAAI,IAAC,GAAG,EAAE,OAAO,GAAI,CACZ,CACK,CACpB,SANe,CAMf;QAED,IAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAA;QACzB,IAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAA;QACvC,IAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAA;QAC7B,YAAY,CAAC,GAAG,CAAC,CAAA;QACjB,YAAY,CAAC,UAAU,CAAC,CAAA;QACxB,YAAY,CAAC,KAAK,CAAC,CAAA;QAEnB,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAClC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,CAAA;QAC1D,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAC7B,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAA;QAEhD;;;WAGG;QACH,IAAM,QAAQ,GAAG,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,CAAA;QACtC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEnC,QAAQ,CACN,iCAAC,6BAAgB,IAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ;YAC7C,iCAAC,sBAAS,IAAC,GAAG,EAAE,YAAY;gBAC1B,iCAAC,iBAAI,IAAC,GAAG,EAAE,OAAO,GAAI,CACZ,CACK,CACpB,CAAA;QAED,IAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAA;QACzB,IAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAA;QACvC,IAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAA;QAC7B,YAAY,CAAC,GAAG,CAAC,CAAA;QACjB,YAAY,CAAC,UAAU,CAAC,CAAA;QACxB,YAAY,CAAC,KAAK,CAAC,CAAA;QAEnB,yEAAyE;QACzE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEzB,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAClC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,CAAA;QAC1D,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAC7B,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yCAAyC,EAAE;;;YACtC,KAAK,GAAuB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;YAC/C,YAAY,GAA0B,IAAI,CAAA;YAExC,YAAY,GAAG;gBACb,IAAA,KAA4B,IAAA,gBAAQ,EAAwB,IAAI,CAAC,EAAhE,SAAS,QAAA,EAAE,YAAY,QAAyC,CAAA;gBACjE,IAAA,KAAqB,IAAA,gBAAQ,EAAC,OAAO,CAAC,EAArC,GAAG,QAAA,EAAE,WAAW,QAAqB,CAAA;gBAC5C,MAAM,GAAG,WAAW,CAAA;gBACpB,YAAY,GAAG,SAAS,CAAA;gBACxB,OAAO,CACL,0CAAK,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,IAC7B,SAAS,IAAI,CACZ,iCAAC,oBAAO,IAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS;oBACvC,iCAAC,sBAAS,OAAG,CACL,CACX,CACG,CACP,CAAA;YACH,CAAC,CAAA;YACD,IAAA,cAAM,EAAC,iCAAC,YAAY,OAAG,CAAC,CAAA;YAExB,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC3B,oEAAoE;YACpE,IAAA,WAAG,EAAC,cAAM,OAAA,MAAO,CAAC,OAAO,CAAC,EAAhB,CAAgB,CAAC,CAAA;YAE3B,YAAY,CAAC,YAAY,CAAC,CAAA;YAC1B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YACtD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;;;SACzD,CAAC,CAAA;IAEF,EAAE,CAAC,2CAA2C,EAAE;;;YACxC,KAAK,GAAuB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;YAE3C,QAAQ,GAAK,IAAA,cAAM,EACzB,iCAAC,6BAAgB,IAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBACvC,iCAAC,sBAAS;oBACR,iCAAC,iBAAI,OAAG,CACE,CACK,CACpB,SANe,CAMf;YAED,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC3B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAEnD,QAAQ,CACN,iCAAC,6BAAgB,IAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBACvC,iCAAC,sBAAS;oBACR,iCAAC,iBAAI,OAAG;oBACR,iCAAC,iBAAI,OAAG,CACE,CACK,CACpB,CAAA;YAED,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC3B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAEnD,QAAQ,CACN,iCAAC,6BAAgB,IAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBACvC,iCAAC,sBAAS,OAAG,CACI,CACpB,CAAA;YAED,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC3B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;;;SACpD,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,WAAW,EAAE;IACpB,EAAE,CAAC,2CAA2C,EAAE;QAC9C,IAAM,SAAS,GAAG;YAChB,OAAA,IAAA,cAAM,EACJ,iCAAC,6BAAgB;gBACf,iCAAC,sBAAS;oBAGR,iCAAC,kBAAK;wBACJ,iCAAC,iBAAI,OAAG,CACF,CACE,CACK,CACpB;QAVD,CAUC,CAAA;QACH,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAA;IACxE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/types.ts"],"names":[],"mappings":""}
|
|
@@ -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"}
|
package/build/cjs/index.js
CHANGED
|
@@ -1,2 +1,18 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("three"),r=require("mathbox");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=n(e),a=function(){return a=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},a.apply(this,arguments)};function i(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 c=e.createContext(null),u="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var s=function(){this.__data__=[],this.size=0};var p=function(e,t){return e===t||e!=e&&t!=t},l=p;var f=function(e,t){for(var r=e.length;r--;)if(l(e[r][0],t))return r;return-1},v=f,h=Array.prototype.splice;var d=f;var y=f;var b=f;var _=s,x=function(e){var t=this.__data__,r=v(t,e);return!(r<0)&&(r==t.length-1?t.pop():h.call(t,r,1),--this.size,!0)},j=function(e){var t=this.__data__,r=d(t,e);return r<0?void 0:t[r][1]},g=function(e){return y(this.__data__,e)>-1},m=function(e,t){var r=this.__data__,n=b(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};function w(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])}}w.prototype.clear=_,w.prototype.delete=x,w.prototype.get=j,w.prototype.has=g,w.prototype.set=m;var O=w,S=O;var A=function(){this.__data__=new S,this.size=0};var z=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r};var P=function(e){return this.__data__.get(e)};var k=function(e){return this.__data__.has(e)},E="object"==typeof u&&u&&u.Object===Object&&u,C=E,R="object"==typeof self&&self&&self.Object===Object&&self,M=C||R||Function("return this")(),T=M.Symbol,I=T,F=Object.prototype,L=F.hasOwnProperty,V=F.toString,B=I?I.toStringTag:void 0;var U=function(e){var t=L.call(e,B),r=e[B];try{e[B]=void 0;var n=!0}catch(e){}var o=V.call(e);return n&&(t?e[B]=r:delete e[B]),o},D=Object.prototype.toString;var $=U,q=function(e){return D.call(e)},N=T?T.toStringTag:void 0;var G=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":N&&N in Object(e)?$(e):q(e)};var H=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},W=G,J=H;var K,Q=function(e){if(!J(e))return!1;var t=W(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},X=M["__core-js_shared__"],Y=(K=/[^.]+$/.exec(X&&X.keys&&X.keys.IE_PROTO||""))?"Symbol(src)_1."+K:"";var Z=function(e){return!!Y&&Y in e},ee=Function.prototype.toString;var te=function(e){if(null!=e){try{return ee.call(e)}catch(e){}try{return e+""}catch(e){}}return""},re=Q,ne=Z,oe=H,ae=te,ie=/^\[object .+?Constructor\]$/,ce=Function.prototype,ue=Object.prototype,se=ce.toString,pe=ue.hasOwnProperty,le=RegExp("^"+se.call(pe).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var fe=function(e){return!(!oe(e)||ne(e))&&(re(e)?le:ie).test(ae(e))},ve=function(e,t){return null==e?void 0:e[t]};var he=function(e,t){var r=ve(e,t);return fe(r)?r:void 0},de=he(M,"Map"),ye=he(Object,"create"),be=ye;var _e=function(){this.__data__=be?be(null):{},this.size=0};var xe=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},je=ye,ge=Object.prototype.hasOwnProperty;var me=function(e){var t=this.__data__;if(je){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return ge.call(t,e)?t[e]:void 0},we=ye,Oe=Object.prototype.hasOwnProperty;var Se=ye;var Ae=_e,ze=xe,Pe=me,ke=function(e){var t=this.__data__;return we?void 0!==t[e]:Oe.call(t,e)},Ee=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Se&&void 0===t?"__lodash_hash_undefined__":t,this};function Ce(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])}}Ce.prototype.clear=Ae,Ce.prototype.delete=ze,Ce.prototype.get=Pe,Ce.prototype.has=ke,Ce.prototype.set=Ee;var Re=Ce,Me=O,Te=de;var Ie=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};var Fe=function(e,t){var r=e.__data__;return Ie(t)?r["string"==typeof t?"string":"hash"]:r.map},Le=Fe;var Ve=Fe;var Be=Fe;var Ue=Fe;var De=function(){this.size=0,this.__data__={hash:new Re,map:new(Te||Me),string:new Re}},$e=function(e){var t=Le(this,e).delete(e);return this.size-=t?1:0,t},qe=function(e){return Ve(this,e).get(e)},Ne=function(e){return Be(this,e).has(e)},Ge=function(e,t){var r=Ue(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this};function He(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])}}He.prototype.clear=De,He.prototype.delete=$e,He.prototype.get=qe,He.prototype.has=Ne,He.prototype.set=Ge;var We=He,Je=O,Ke=de,Qe=We;var Xe=O,Ye=A,Ze=z,et=P,tt=k,rt=function(e,t){var r=this.__data__;if(r instanceof Je){var n=r.__data__;if(!Ke||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new Qe(n)}return r.set(e,t),this.size=r.size,this};function nt(e){var t=this.__data__=new Xe(e);this.size=t.size}nt.prototype.clear=Ye,nt.prototype.delete=Ze,nt.prototype.get=et,nt.prototype.has=tt,nt.prototype.set=rt;var ot=nt;var at=We,it=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},ct=function(e){return this.__data__.has(e)};function ut(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new at;++t<r;)this.add(e[t])}ut.prototype.add=ut.prototype.push=it,ut.prototype.has=ct;var st=ut,pt=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},lt=function(e,t){return e.has(t)};var ft=function(e,t,r,n,o,a){var i=1&r,c=e.length,u=t.length;if(c!=u&&!(i&&u>c))return!1;var s=a.get(e),p=a.get(t);if(s&&p)return s==t&&p==e;var l=-1,f=!0,v=2&r?new st:void 0;for(a.set(e,t),a.set(t,e);++l<c;){var h=e[l],d=t[l];if(n)var y=i?n(d,h,l,t,e,a):n(h,d,l,e,t,a);if(void 0!==y){if(y)continue;f=!1;break}if(v){if(!pt(t,(function(e,t){if(!lt(v,t)&&(h===e||o(h,e,r,n,a)))return v.push(t)}))){f=!1;break}}else if(h!==d&&!o(h,d,r,n,a)){f=!1;break}}return a.delete(e),a.delete(t),f};var vt=M.Uint8Array,ht=p,dt=ft,yt=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r},bt=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r},_t=T?T.prototype:void 0,xt=_t?_t.valueOf:void 0;var jt=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 vt(e),new vt(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return ht(+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=yt;case"[object Set]":var u=1&n;if(c||(c=bt),e.size!=t.size&&!u)return!1;var s=i.get(e);if(s)return s==t;n|=2,i.set(e,t);var p=dt(c(e),c(t),n,o,a,i);return i.delete(e),p;case"[object Symbol]":if(xt)return xt.call(e)==xt.call(t)}return!1};var gt=function(e,t){for(var r=-1,n=t.length,o=e.length;++r<n;)e[o+r]=t[r];return e},mt=Array.isArray,wt=gt,Ot=mt;var St=function(e,t,r){var n=t(e);return Ot(e)?n:wt(n,r(e))};var At=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},zt=function(){return[]},Pt=Object.prototype.propertyIsEnumerable,kt=Object.getOwnPropertySymbols,Et=kt?function(e){return null==e?[]:(e=Object(e),At(kt(e),(function(t){return Pt.call(e,t)})))}:zt;var Ct=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n};var Rt=function(e){return null!=e&&"object"==typeof e},Mt=G,Tt=Rt;var It=function(e){return Tt(e)&&"[object Arguments]"==Mt(e)},Ft=Rt,Lt=Object.prototype,Vt=Lt.hasOwnProperty,Bt=Lt.propertyIsEnumerable,Ut=It(function(){return arguments}())?It:function(e){return Ft(e)&&Vt.call(e,"callee")&&!Bt.call(e,"callee")},Dt={exports:{}};var $t=function(){return!1};!function(e,t){var r=M,n=$t,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}(Dt,Dt.exports);var qt=/^(?:0|[1-9]\d*)$/;var Nt=function(e,t){var r=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==r||"symbol"!=r&&qt.test(e))&&e>-1&&e%1==0&&e<t};var Gt=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991},Ht=G,Wt=Gt,Jt=Rt,Kt={};Kt["[object Float32Array]"]=Kt["[object Float64Array]"]=Kt["[object Int8Array]"]=Kt["[object Int16Array]"]=Kt["[object Int32Array]"]=Kt["[object Uint8Array]"]=Kt["[object Uint8ClampedArray]"]=Kt["[object Uint16Array]"]=Kt["[object Uint32Array]"]=!0,Kt["[object Arguments]"]=Kt["[object Array]"]=Kt["[object ArrayBuffer]"]=Kt["[object Boolean]"]=Kt["[object DataView]"]=Kt["[object Date]"]=Kt["[object Error]"]=Kt["[object Function]"]=Kt["[object Map]"]=Kt["[object Number]"]=Kt["[object Object]"]=Kt["[object RegExp]"]=Kt["[object Set]"]=Kt["[object String]"]=Kt["[object WeakMap]"]=!1;var Qt=function(e){return Jt(e)&&Wt(e.length)&&!!Kt[Ht(e)]};var Xt=function(e){return function(t){return e(t)}},Yt={exports:{}};!function(e,t){var r=E,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}(Yt,Yt.exports);var Zt=Qt,er=Xt,tr=Yt.exports,rr=tr&&tr.isTypedArray,nr=rr?er(rr):Zt,or=Ct,ar=Ut,ir=mt,cr=Dt.exports,ur=Nt,sr=nr,pr=Object.prototype.hasOwnProperty;var lr=function(e,t){var r=ir(e),n=!r&&ar(e),o=!r&&!n&&cr(e),a=!r&&!n&&!o&&sr(e),i=r||n||o||a,c=i?or(e.length,String):[],u=c.length;for(var s in e)!t&&!pr.call(e,s)||i&&("length"==s||o&&("offset"==s||"parent"==s)||a&&("buffer"==s||"byteLength"==s||"byteOffset"==s)||ur(s,u))||c.push(s);return c},fr=Object.prototype;var vr=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||fr)};var hr=function(e,t){return function(r){return e(t(r))}}(Object.keys,Object),dr=vr,yr=hr,br=Object.prototype.hasOwnProperty;var _r=Q,xr=Gt;var jr=lr,gr=function(e){if(!dr(e))return yr(e);var t=[];for(var r in Object(e))br.call(e,r)&&"constructor"!=r&&t.push(r);return t},mr=function(e){return null!=e&&xr(e.length)&&!_r(e)};var wr=St,Or=Et,Sr=function(e){return mr(e)?jr(e):gr(e)};var Ar=function(e){return wr(e,Sr,Or)},zr=Object.prototype.hasOwnProperty;var Pr=function(e,t,r,n,o,a){var i=1&r,c=Ar(e),u=c.length;if(u!=Ar(t).length&&!i)return!1;for(var s=u;s--;){var p=c[s];if(!(i?p in t:zr.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;++s<u;){var d=e[p=c[s]],y=t[p];if(n)var b=i?n(y,d,p,t,e,a):n(d,y,p,e,t,a);if(!(void 0===b?d===y||o(d,y,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},kr=he(M,"DataView"),Er=de,Cr=he(M,"Promise"),Rr=he(M,"Set"),Mr=he(M,"WeakMap"),Tr=G,Ir=te,Fr="[object Map]",Lr="[object Promise]",Vr="[object Set]",Br="[object WeakMap]",Ur="[object DataView]",Dr=Ir(kr),$r=Ir(Er),qr=Ir(Cr),Nr=Ir(Rr),Gr=Ir(Mr),Hr=Tr;(kr&&Hr(new kr(new ArrayBuffer(1)))!=Ur||Er&&Hr(new Er)!=Fr||Cr&&Hr(Cr.resolve())!=Lr||Rr&&Hr(new Rr)!=Vr||Mr&&Hr(new Mr)!=Br)&&(Hr=function(e){var t=Tr(e),r="[object Object]"==t?e.constructor:void 0,n=r?Ir(r):"";if(n)switch(n){case Dr:return Ur;case $r:return Fr;case qr:return Lr;case Nr:return Vr;case Gr:return Br}return t});var Wr=ot,Jr=ft,Kr=jt,Qr=Pr,Xr=Hr,Yr=mt,Zr=Dt.exports,en=nr,tn="[object Arguments]",rn="[object Array]",nn="[object Object]",on=Object.prototype.hasOwnProperty;var an=function(e,t,r,n,o,a){var i=Yr(e),c=Yr(t),u=i?rn:Xr(e),s=c?rn:Xr(t),p=(u=u==tn?nn:u)==nn,l=(s=s==tn?nn:s)==nn,f=u==s;if(f&&Zr(e)){if(!Zr(t))return!1;i=!0,p=!1}if(f&&!p)return a||(a=new Wr),i||en(e)?Jr(e,t,r,n,o,a):Kr(e,t,u,r,n,o,a);if(!(1&r)){var v=p&&on.call(e,"__wrapped__"),h=l&&on.call(t,"__wrapped__");if(v||h){var d=v?e.value():e,y=h?t.value():t;return a||(a=new Wr),o(d,y,r,n,a)}}return!!f&&(a||(a=new Wr),Qr(e,t,r,n,o,a))},cn=Rt;var un=function e(t,r,n,o,a){return t===r||(null==t||null==r||!cn(t)&&!cn(r)?t!=t&&r!=r:an(t,r,n,o,e,a))},sn=un;var pn=function(e,t){return sn(e,t)},ln=["view","cartesian","cartesian4","polar","spherical","stereographic","stereographic4","transform","transform4","vertex","fragment","layer","mask","group","inherit","root","unit","rtt","clock","now","move","present","reveal","slide"],fn=function(t){var r,n=function(e){return ln.includes(e)}(t),a=(r=t)?r[0].toLocaleUpperCase()+r.slice(1):"";return e.forwardRef((function(r,u){var s=e.useReducer((function(e){return e+1}),0);s[0];var p=s[1],l=e.useContext(c),f=e.useRef(null),v=e.useRef(void 0);e.useEffect((function(){return function(){f.current&&(f.current.remove(),f.current=null)}}),[]),e.useImperativeHandle(u,(function(){return f.current})),r.children;var h=r.liveProps,d=i(r,["children","liveProps"]);if(e.useEffect((function(){l&&(!function(e){var t=function(e){for(var t=e;t._up;)t=t._up;return t}(e);return void 0===t.three}(l)?(f.current&&(function(e,t){var r;return(null===(r=e._up)||void 0===r?void 0:r[0])===t[0]}(f.current,l)||(f.current.remove(),f.current=null,p())),f.current?(v.current&&h!==v.current&&Object.keys(v.current).forEach((function(e){f.current.unbind(e)})),h&&h!==v.current&&f.current.bind(h),f.current.set(d)):(f.current=l[t](d,h),p()),v.current=h):p())}),[l,d,h]),!n){if(r.children)throw new Error("Component <".concat(a," /> cannot have children."));return null}return o.default.createElement(c.Provider,{value:f.current},r.children)}))},vn=fn("area"),hn=fn("array"),dn=fn("axis"),yn=fn("camera"),bn=fn("cartesian"),_n=fn("cartesian4"),xn=fn("clamp"),jn=fn("clock"),gn=fn("compose"),mn=fn("dom"),wn=fn("face"),On=fn("format"),Sn=fn("fragment"),An=fn("grid"),zn=fn("group"),Pn=fn("grow"),kn=fn("html"),En=fn("inherit"),Cn=fn("interval"),Rn=fn("join"),Mn=fn("label"),Tn=fn("layer"),In=fn("lerp"),Fn=fn("line"),Ln=fn("mask"),Vn=fn("matrix"),Bn=fn("memo"),Un=fn("move"),Dn=fn("now"),$n=fn("play"),qn=fn("point"),Nn=fn("polar"),Gn=fn("present"),Hn=fn("readback"),Wn=fn("repeat"),Jn=fn("resample"),Kn=fn("retext"),Qn=fn("reveal"),Xn=fn("rtt"),Yn=fn("scale"),Zn=fn("shader"),eo=fn("slice"),to=fn("slide"),ro=fn("spherical"),no=fn("split"),oo=fn("spread"),ao=fn("step"),io=fn("stereographic"),co=fn("stereographic4"),uo=fn("strip"),so=fn("subdivide"),po=fn("surface"),lo=fn("swizzle"),fo=fn("text"),vo=fn("ticks"),ho=fn("transform"),yo=fn("transform4"),bo=fn("transpose"),_o=fn("unit"),xo=fn("vector"),jo=fn("vertex"),go=fn("view"),mo=fn("volume"),wo=fn("voxel"),Oo=e.forwardRef((function(n,u){var s,p,l,f=n.container,v=n.children,h=n.options,d=i(n,["container","children","options"]),y=(s=null!=h?h:{},p={},l=e.useRef(p),e.useMemo((function(){return pn(s,l.current)?l.current:(l.current=s,s)}),[s])),b=e.useState(null),_=b[0],x=b[1];return e.useEffect((function(){if(!f)return function(){};var e=r.mathBox(a(a({},y),{element:f}));return x(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(),x(null)}}),[f,y]),e.useEffect((function(){_&&_.set(d)}),[_,d]),e.useImperativeHandle(u,(function(){return _}),[_]),o.default.createElement(c.Provider,{value:_},v)})),So=e.forwardRef((function(t,r){var n=t.children,c=t.containerId,u=t.containerClass,s=t.containerStyle,p=i(t,["children","containerId","containerClass","containerStyle"]),l=e.useState(null),f=l[0],v=l[1];return o.default.createElement("div",{ref:v,id:c,className:u,style:s},f&&o.default.createElement(Oo,a({ref:r,container:f},p),n))}));exports.Area=vn,exports.Array=hn,exports.Axis=dn,exports.Camera=yn,exports.Cartesian=bn,exports.Cartesian4=_n,exports.Clamp=xn,exports.Clock=jn,exports.Compose=gn,exports.ContainedMathbox=So,exports.Dom=mn,exports.Face=wn,exports.Format=On,exports.Fragment=Sn,exports.Grid=An,exports.Group=zn,exports.Grow=Pn,exports.Html=kn,exports.Inherit=En,exports.Interval=Cn,exports.Join=Rn,exports.Label=Mn,exports.Layer=Tn,exports.Lerp=In,exports.Line=Fn,exports.Mask=Ln,exports.Mathbox=Oo,exports.Matrix=Vn,exports.Memo=Bn,exports.Move=Un,exports.Now=Dn,exports.Play=$n,exports.Point=qn,exports.Polar=Nn,exports.Present=Gn,exports.Readback=Hn,exports.Repeat=Wn,exports.Resample=Jn,exports.Retext=Kn,exports.Reveal=Qn,exports.Rtt=Xn,exports.Scale=Yn,exports.Shader=Zn,exports.Slice=eo,exports.Slide=to,exports.Spherical=ro,exports.Split=no,exports.Spread=oo,exports.Step=ao,exports.Stereographic=io,exports.Stereographic4=co,exports.Strip=uo,exports.Subdivide=so,exports.Surface=po,exports.Swizzle=lo,exports.Text=fo,exports.Ticks=vo,exports.Transform=ho,exports.Transform4=yo,exports.Transpose=bo,exports.Unit=_o,exports.Vector=xo,exports.Vertex=jo,exports.View=go,exports.Volume=mo,exports.Voxel=wo;
|
|
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
|