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 === void 0) 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: !0,
56
- configurable: !0,
57
- writable: !0
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 = !0,
72
- o = !1;
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 = !0, n = r;
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 (void 0 !== e) {
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) : void 0;
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
- if (state.toolTipElem) state.toolTipElem.innerHTML = '';
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.toolTipElem.innerHTML = topObject ? accessorFn(state.tooltipContent)(topObject) || '' : '';
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, -1000).applyQuaternion(camera.quaternion).add(camera.position));
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 === void 0 ? 'trackball' : _ref4$controlType,
426
+ controlType = _ref4$controlType === undefined ? 'trackball' : _ref4$controlType,
426
427
  _ref4$useWebGPU = _ref4.useWebGPU,
427
- useWebGPU = _ref4$useWebGPU === void 0 ? false : _ref4$useWebGPU,
428
+ useWebGPU = _ref4$useWebGPU === undefined ? false : _ref4$useWebGPU,
428
429
  _ref4$rendererConfig = _ref4.rendererConfig,
429
- rendererConfig = _ref4$rendererConfig === void 0 ? {} : _ref4$rendererConfig,
430
+ rendererConfig = _ref4$rendererConfig === undefined ? {} : _ref4$rendererConfig,
430
431
  _ref4$extraRenderers = _ref4.extraRenderers,
431
- extraRenderers = _ref4$extraRenderers === void 0 ? [] : _ref4$extraRenderers,
432
+ extraRenderers = _ref4$extraRenderers === undefined ? [] : _ref4$extraRenderers,
432
433
  _ref4$waitForLoadComp = _ref4.waitForLoadComplete,
433
- waitForLoadComplete = _ref4$waitForLoadComp === void 0 ? true : _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.toolTipElem = document.createElement('div');
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.32.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.1",
61
- "@rollup/plugin-node-resolve": "^15.3.0",
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.28.0",
66
+ "rollup": "^4.30.1",
66
67
  "rollup-plugin-dts": "^6.1.1",
67
68
  "rollup-plugin-postcss": "^4.0.2",
68
- "three": "^0.171.0",
69
- "typescript": "^5.7.2"
69
+ "three": "^0.172.0",
70
+ "typescript": "^5.7.3"
70
71
  },
71
72
  "engines": {
72
73
  "node": ">=12"