three-render-objects 1.32.1 → 1.33.1
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.
|
@@ -9,9 +9,10 @@ import { parseToRgb, opacify } from 'polished';
|
|
|
9
9
|
import { Tween, Easing, Group } from '@tweenjs/tween.js';
|
|
10
10
|
import accessorFn from 'accessor-fn';
|
|
11
11
|
import Kapsule from 'kapsule';
|
|
12
|
+
import Tooltip from 'float-tooltip';
|
|
12
13
|
|
|
13
14
|
function styleInject(css, ref) {
|
|
14
|
-
if (ref ===
|
|
15
|
+
if (ref === undefined) ref = {};
|
|
15
16
|
var insertAt = ref.insertAt;
|
|
16
17
|
if (typeof document === 'undefined') {
|
|
17
18
|
return;
|
|
@@ -35,7 +36,7 @@ function styleInject(css, ref) {
|
|
|
35
36
|
}
|
|
36
37
|
}
|
|
37
38
|
|
|
38
|
-
var css_248z = ".scene-nav-info {\n bottom: 5px;\n width: 100%;\n text-align: center;\n color: slategrey;\n opacity: 0.7;\n font-size: 10px;\n}\n\n.scene-tooltip {\n top: 0;\n color: lavender;\n font-size: 15px;\n}\n\n.scene-nav-info, .scene-tooltip {\n position: absolute;\n font-family: sans-serif;\n pointer-events: none;\n user-select: none;\n}\n\n.scene-container canvas:focus {\n outline: none;\n}";
|
|
39
|
+
var css_248z = ".scene-nav-info {\n bottom: 5px;\n width: 100%;\n text-align: center;\n color: slategrey;\n opacity: 0.7;\n font-size: 10px;\n}\n\n.scene-tooltip {\n top: 0;\n color: lavender;\n font-size: 15px;\n background: rgba(0,0,0,0.5);\n padding: 2px 5px;\n border-radius: 3px;\n}\n\n.scene-nav-info, .scene-tooltip {\n position: absolute;\n font-family: sans-serif;\n pointer-events: none;\n user-select: none;\n}\n\n.scene-container canvas:focus {\n outline: none;\n}";
|
|
39
40
|
styleInject(css_248z);
|
|
40
41
|
|
|
41
42
|
function _arrayLikeToArray(r, a) {
|
|
@@ -52,9 +53,9 @@ function _arrayWithoutHoles(r) {
|
|
|
52
53
|
function _defineProperty(e, r, t) {
|
|
53
54
|
return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
54
55
|
value: t,
|
|
55
|
-
enumerable:
|
|
56
|
-
configurable:
|
|
57
|
-
writable:
|
|
56
|
+
enumerable: true,
|
|
57
|
+
configurable: true,
|
|
58
|
+
writable: true
|
|
58
59
|
}) : e[r] = t, e;
|
|
59
60
|
}
|
|
60
61
|
function _iterableToArray(r) {
|
|
@@ -68,12 +69,12 @@ function _iterableToArrayLimit(r, l) {
|
|
|
68
69
|
i,
|
|
69
70
|
u,
|
|
70
71
|
a = [],
|
|
71
|
-
f =
|
|
72
|
-
o =
|
|
72
|
+
f = true,
|
|
73
|
+
o = false;
|
|
73
74
|
try {
|
|
74
75
|
if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
|
|
75
76
|
} catch (r) {
|
|
76
|
-
o =
|
|
77
|
+
o = true, n = r;
|
|
77
78
|
} finally {
|
|
78
79
|
try {
|
|
79
80
|
if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
|
|
@@ -99,7 +100,7 @@ function _toConsumableArray(r) {
|
|
|
99
100
|
function _toPrimitive(t, r) {
|
|
100
101
|
if ("object" != typeof t || !t) return t;
|
|
101
102
|
var e = t[Symbol.toPrimitive];
|
|
102
|
-
if (
|
|
103
|
+
if (undefined !== e) {
|
|
103
104
|
var i = e.call(t, r || "default");
|
|
104
105
|
if ("object" != typeof i) return i;
|
|
105
106
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
@@ -114,7 +115,7 @@ function _unsupportedIterableToArray(r, a) {
|
|
|
114
115
|
if (r) {
|
|
115
116
|
if ("string" == typeof r) return _arrayLikeToArray(r, a);
|
|
116
117
|
var t = {}.toString.call(r).slice(8, -1);
|
|
117
|
-
return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) :
|
|
118
|
+
return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : undefined;
|
|
118
119
|
}
|
|
119
120
|
}
|
|
120
121
|
|
|
@@ -176,7 +177,7 @@ var threeRenderObjects = Kapsule({
|
|
|
176
177
|
onChange: function onChange(_, state) {
|
|
177
178
|
// Reset hover state
|
|
178
179
|
state.hoverObj = null;
|
|
179
|
-
|
|
180
|
+
state.tooltip && state.tooltip.content(null);
|
|
180
181
|
},
|
|
181
182
|
triggerUpdate: false
|
|
182
183
|
},
|
|
@@ -246,7 +247,7 @@ var threeRenderObjects = Kapsule({
|
|
|
246
247
|
}
|
|
247
248
|
if (topObject !== state.hoverObj) {
|
|
248
249
|
state.onHover(topObject, state.hoverObj);
|
|
249
|
-
state.
|
|
250
|
+
state.tooltip.content(topObject ? accessorFn(state.tooltipContent)(topObject) || null : null);
|
|
250
251
|
state.hoverObj = topObject;
|
|
251
252
|
}
|
|
252
253
|
}
|
|
@@ -314,7 +315,7 @@ var threeRenderObjects = Kapsule({
|
|
|
314
315
|
}
|
|
315
316
|
}
|
|
316
317
|
function getLookAt() {
|
|
317
|
-
return Object.assign(new three.Vector3(0, 0, -
|
|
318
|
+
return Object.assign(new three.Vector3(0, 0, -1e3).applyQuaternion(camera.quaternion).add(camera.position));
|
|
318
319
|
}
|
|
319
320
|
},
|
|
320
321
|
zoomToFit: function zoomToFit(state) {
|
|
@@ -422,15 +423,15 @@ var threeRenderObjects = Kapsule({
|
|
|
422
423
|
init: function init(domNode, state) {
|
|
423
424
|
var _ref4 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
|
|
424
425
|
_ref4$controlType = _ref4.controlType,
|
|
425
|
-
controlType = _ref4$controlType ===
|
|
426
|
+
controlType = _ref4$controlType === undefined ? 'trackball' : _ref4$controlType,
|
|
426
427
|
_ref4$useWebGPU = _ref4.useWebGPU,
|
|
427
|
-
useWebGPU = _ref4$useWebGPU ===
|
|
428
|
+
useWebGPU = _ref4$useWebGPU === undefined ? false : _ref4$useWebGPU,
|
|
428
429
|
_ref4$rendererConfig = _ref4.rendererConfig,
|
|
429
|
-
rendererConfig = _ref4$rendererConfig ===
|
|
430
|
+
rendererConfig = _ref4$rendererConfig === undefined ? {} : _ref4$rendererConfig,
|
|
430
431
|
_ref4$extraRenderers = _ref4.extraRenderers,
|
|
431
|
-
extraRenderers = _ref4$extraRenderers ===
|
|
432
|
+
extraRenderers = _ref4$extraRenderers === undefined ? [] : _ref4$extraRenderers,
|
|
432
433
|
_ref4$waitForLoadComp = _ref4.waitForLoadComplete,
|
|
433
|
-
waitForLoadComplete = _ref4$waitForLoadComp ===
|
|
434
|
+
waitForLoadComplete = _ref4$waitForLoadComp === undefined ? true : _ref4$waitForLoadComp;
|
|
434
435
|
// Wipe DOM
|
|
435
436
|
domNode.innerHTML = '';
|
|
436
437
|
|
|
@@ -450,9 +451,7 @@ var threeRenderObjects = Kapsule({
|
|
|
450
451
|
state.navInfo.style.display = state.showNavInfo ? null : 'none';
|
|
451
452
|
|
|
452
453
|
// Setup tooltip
|
|
453
|
-
state.
|
|
454
|
-
state.toolTipElem.classList.add('scene-tooltip');
|
|
455
|
-
state.container.appendChild(state.toolTipElem);
|
|
454
|
+
state.tooltip = new Tooltip(state.container);
|
|
456
455
|
|
|
457
456
|
// Capture pointer coords on move or touchstart
|
|
458
457
|
state.pointerPos = new three.Vector2();
|
|
@@ -474,14 +473,6 @@ var threeRenderObjects = Kapsule({
|
|
|
474
473
|
var offset = getOffset(state.container);
|
|
475
474
|
state.pointerPos.x = ev.pageX - offset.left;
|
|
476
475
|
state.pointerPos.y = ev.pageY - offset.top;
|
|
477
|
-
|
|
478
|
-
// Move tooltip
|
|
479
|
-
state.toolTipElem.style.top = "".concat(state.pointerPos.y, "px");
|
|
480
|
-
state.toolTipElem.style.left = "".concat(state.pointerPos.x, "px");
|
|
481
|
-
// adjust horizontal position to not exceed canvas boundaries
|
|
482
|
-
state.toolTipElem.style.transform = "translate(-".concat(state.pointerPos.x / state.width * 100, "%, ").concat(
|
|
483
|
-
// flip to above if near bottom
|
|
484
|
-
state.height - state.pointerPos.y < 100 ? 'calc(-100% - 8px)' : '21px', ")");
|
|
485
476
|
}
|
|
486
477
|
function getOffset(el) {
|
|
487
478
|
var rect = el.getBoundingClientRect(),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "three-render-objects",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.33.1",
|
|
4
4
|
"description": "Easy way to render ThreeJS objects with built-in interaction defaults",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -47,6 +47,7 @@
|
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"@tweenjs/tween.js": "18 - 25",
|
|
49
49
|
"accessor-fn": "1",
|
|
50
|
+
"float-tooltip": "1",
|
|
50
51
|
"kapsule": "^1.16",
|
|
51
52
|
"polished": "4"
|
|
52
53
|
},
|
|
@@ -57,16 +58,16 @@
|
|
|
57
58
|
"@babel/core": "^7.26.0",
|
|
58
59
|
"@babel/preset-env": "^7.26.0",
|
|
59
60
|
"@rollup/plugin-babel": "^6.0.4",
|
|
60
|
-
"@rollup/plugin-commonjs": "^28.0.
|
|
61
|
-
"@rollup/plugin-node-resolve": "^
|
|
61
|
+
"@rollup/plugin-commonjs": "^28.0.2",
|
|
62
|
+
"@rollup/plugin-node-resolve": "^16.0.0",
|
|
62
63
|
"@rollup/plugin-terser": "^0.4.4",
|
|
63
64
|
"postcss": "^8.4.49",
|
|
64
65
|
"rimraf": "^6.0.1",
|
|
65
|
-
"rollup": "^4.
|
|
66
|
+
"rollup": "^4.30.1",
|
|
66
67
|
"rollup-plugin-dts": "^6.1.1",
|
|
67
68
|
"rollup-plugin-postcss": "^4.0.2",
|
|
68
|
-
"three": "^0.
|
|
69
|
-
"typescript": "^5.7.
|
|
69
|
+
"three": "^0.172.0",
|
|
70
|
+
"typescript": "^5.7.3"
|
|
70
71
|
},
|
|
71
72
|
"engines": {
|
|
72
73
|
"node": ">=12"
|