force-graph 1.43.3 → 1.43.5

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.
@@ -41,62 +41,91 @@ function styleInject(css, ref) {
41
41
  var css_248z = ".force-graph-container canvas {\n display: block;\n user-select: none;\n outline: none;\n -webkit-tap-highlight-color: transparent;\n}\n\n.force-graph-container .graph-tooltip {\n position: absolute;\n top: 0;\n font-family: sans-serif;\n font-size: 16px;\n padding: 4px;\n border-radius: 3px;\n color: #eee;\n background: rgba(0,0,0,0.65);\n visibility: hidden; /* by default */\n}\n\n.force-graph-container .clickable {\n cursor: pointer;\n}\n\n.force-graph-container .grabbable {\n cursor: move;\n cursor: grab;\n cursor: -moz-grab;\n cursor: -webkit-grab;\n}\n\n.force-graph-container .grabbable:active {\n cursor: grabbing;\n cursor: -moz-grabbing;\n cursor: -webkit-grabbing;\n}\n";
42
42
  styleInject(css_248z);
43
43
 
44
- function _iterableToArrayLimit(arr, i) {
45
- var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
46
- if (null != _i) {
47
- var _s,
48
- _e,
49
- _x,
50
- _r,
51
- _arr = [],
52
- _n = !0,
53
- _d = !1;
44
+ function _construct(t, e, r) {
45
+ if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);
46
+ var o = [null];
47
+ o.push.apply(o, e);
48
+ var p = new (t.bind.apply(t, o))();
49
+ return r && _setPrototypeOf(p, r.prototype), p;
50
+ }
51
+ function _isNativeReflectConstruct() {
52
+ try {
53
+ var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
54
+ } catch (t) {}
55
+ return (_isNativeReflectConstruct = function () {
56
+ return !!t;
57
+ })();
58
+ }
59
+ function _iterableToArrayLimit(r, l) {
60
+ var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
61
+ if (null != t) {
62
+ var e,
63
+ n,
64
+ i,
65
+ u,
66
+ a = [],
67
+ f = !0,
68
+ o = !1;
54
69
  try {
55
- if (_x = (_i = _i.call(arr)).next, 0 === i) {
56
- if (Object(_i) !== _i) return;
57
- _n = !1;
58
- } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
59
- } catch (err) {
60
- _d = !0, _e = err;
70
+ if (i = (t = t.call(r)).next, 0 === l) {
71
+ if (Object(t) !== t) return;
72
+ f = !1;
73
+ } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
74
+ } catch (r) {
75
+ o = !0, n = r;
61
76
  } finally {
62
77
  try {
63
- if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return;
78
+ if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
64
79
  } finally {
65
- if (_d) throw _e;
80
+ if (o) throw n;
66
81
  }
67
82
  }
68
- return _arr;
83
+ return a;
69
84
  }
70
85
  }
71
- function ownKeys(object, enumerableOnly) {
72
- var keys = Object.keys(object);
86
+ function ownKeys(e, r) {
87
+ var t = Object.keys(e);
73
88
  if (Object.getOwnPropertySymbols) {
74
- var symbols = Object.getOwnPropertySymbols(object);
75
- enumerableOnly && (symbols = symbols.filter(function (sym) {
76
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
77
- })), keys.push.apply(keys, symbols);
89
+ var o = Object.getOwnPropertySymbols(e);
90
+ r && (o = o.filter(function (r) {
91
+ return Object.getOwnPropertyDescriptor(e, r).enumerable;
92
+ })), t.push.apply(t, o);
78
93
  }
79
- return keys;
94
+ return t;
80
95
  }
81
- function _objectSpread2(target) {
82
- for (var i = 1; i < arguments.length; i++) {
83
- var source = null != arguments[i] ? arguments[i] : {};
84
- i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
85
- _defineProperty(target, key, source[key]);
86
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
87
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
96
+ function _objectSpread2(e) {
97
+ for (var r = 1; r < arguments.length; r++) {
98
+ var t = null != arguments[r] ? arguments[r] : {};
99
+ r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
100
+ _defineProperty(e, r, t[r]);
101
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
102
+ Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
88
103
  });
89
104
  }
90
- return target;
105
+ return e;
106
+ }
107
+ function _toPrimitive(t, r) {
108
+ if ("object" != typeof t || !t) return t;
109
+ var e = t[Symbol.toPrimitive];
110
+ if (void 0 !== e) {
111
+ var i = e.call(t, r || "default");
112
+ if ("object" != typeof i) return i;
113
+ throw new TypeError("@@toPrimitive must return a primitive value.");
114
+ }
115
+ return ("string" === r ? String : Number)(t);
91
116
  }
92
- function _typeof(obj) {
117
+ function _toPropertyKey(t) {
118
+ var i = _toPrimitive(t, "string");
119
+ return "symbol" == typeof i ? i : String(i);
120
+ }
121
+ function _typeof(o) {
93
122
  "@babel/helpers - typeof";
94
123
 
95
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
96
- return typeof obj;
97
- } : function (obj) {
98
- return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
99
- }, _typeof(obj);
124
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
125
+ return typeof o;
126
+ } : function (o) {
127
+ return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
128
+ }, _typeof(o);
100
129
  }
101
130
  function _defineProperty(obj, key, value) {
102
131
  key = _toPropertyKey(key);
@@ -119,32 +148,6 @@ function _setPrototypeOf(o, p) {
119
148
  };
120
149
  return _setPrototypeOf(o, p);
121
150
  }
122
- function _isNativeReflectConstruct() {
123
- if (typeof Reflect === "undefined" || !Reflect.construct) return false;
124
- if (Reflect.construct.sham) return false;
125
- if (typeof Proxy === "function") return true;
126
- try {
127
- Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
128
- return true;
129
- } catch (e) {
130
- return false;
131
- }
132
- }
133
- function _construct(Parent, args, Class) {
134
- if (_isNativeReflectConstruct()) {
135
- _construct = Reflect.construct.bind();
136
- } else {
137
- _construct = function _construct(Parent, args, Class) {
138
- var a = [null];
139
- a.push.apply(a, args);
140
- var Constructor = Function.bind.apply(Parent, a);
141
- var instance = new Constructor();
142
- if (Class) _setPrototypeOf(instance, Class.prototype);
143
- return instance;
144
- };
145
- }
146
- return _construct.apply(null, arguments);
147
- }
148
151
  function _slicedToArray(arr, i) {
149
152
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
150
153
  }
@@ -179,20 +182,6 @@ function _nonIterableSpread() {
179
182
  function _nonIterableRest() {
180
183
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
181
184
  }
182
- function _toPrimitive(input, hint) {
183
- if (typeof input !== "object" || input === null) return input;
184
- var prim = input[Symbol.toPrimitive];
185
- if (prim !== undefined) {
186
- var res = prim.call(input, hint || "default");
187
- if (typeof res !== "object") return res;
188
- throw new TypeError("@@toPrimitive must return a primitive value.");
189
- }
190
- return (hint === "string" ? String : Number)(input);
191
- }
192
- function _toPropertyKey(arg) {
193
- var key = _toPrimitive(arg, "string");
194
- return typeof key === "symbol" ? key : String(key);
195
- }
196
185
 
197
186
  var autoColorScale = scaleOrdinal(schemePaired);
198
187
 
@@ -332,7 +321,6 @@ var CanvasForceGraph = Kapsule({
332
321
  }); // unfix nodes when disabling dag mode
333
322
  }
334
323
  },
335
-
336
324
  dagLevelDistance: {},
337
325
  dagNodeFilter: {
338
326
  "default": function _default(node) {
@@ -526,7 +514,6 @@ var CanvasForceGraph = Kapsule({
526
514
  if (forceFn === undefined) {
527
515
  return state.forceLayout.force(forceName); // Force getter
528
516
  }
529
-
530
517
  state.forceLayout.force(forceName, forceFn); // Force setter
531
518
  return this;
532
519
  },
@@ -841,7 +828,6 @@ var CanvasForceGraph = Kapsule({
841
828
  __singleHop: true
842
829
  }); // add a single hop particle
843
830
  }
844
-
845
831
  return this;
846
832
  }
847
833
  },
@@ -1363,7 +1349,6 @@ var forceGraph = Kapsule({
1363
1349
  colorTracker: new ColorTracker() // indexed objects for rgb lookup
1364
1350
  };
1365
1351
  },
1366
-
1367
1352
  init: function init(domNode, state) {
1368
1353
  var _this = this;
1369
1354
  // Wipe DOM
@@ -1567,7 +1552,6 @@ var forceGraph = Kapsule({
1567
1552
  state.isPointerDragging = false;
1568
1553
  return; // don't trigger click events after pointer drag (pan / node drag functionality)
1569
1554
  }
1570
-
1571
1555
  var cbEvents = [ev, state.pointerDownEvent];
1572
1556
  requestAnimationFrame(function () {
1573
1557
  // trigger click events asynchronously, to allow hoverObj to be set (on frame)
@@ -0,0 +1,40 @@
1
+ <head>
2
+ <style> body { margin: 0; } </style>
3
+
4
+ <script src="//unpkg.com/force-graph"></script>
5
+ <!--<script src="../../dist/force-graph.js"></script>-->
6
+
7
+ <script src="//unpkg.com/d3-quadtree"></script>
8
+ <script src="//unpkg.com/d3-force"></script>
9
+ </head>
10
+
11
+ <body>
12
+ <div id="graph"></div>
13
+
14
+ <script>
15
+ // Random tree
16
+ const N = 300;
17
+ const nodes = [...Array(N).keys()].map(i => ({
18
+ id: i,
19
+ pos: Math.random()
20
+ }));
21
+
22
+ const Graph = ForceGraph()
23
+ (document.getElementById('graph'));
24
+
25
+ Graph
26
+ // Deactivate existing forces
27
+ .d3Force('center', null)
28
+ .d3Force('charge', null)
29
+
30
+ // Add collision and x/y forces
31
+ .d3Force('collide', d3.forceCollide(Graph.nodeRelSize()))
32
+ .d3Force('x', d3.forceX(d => (d.pos - 0.5) * window.innerWidth))
33
+ .d3Force('y', d3.forceY(0).strength(0.2))
34
+
35
+ // Add nodes
36
+ .graphData({ nodes, links: [] });
37
+
38
+ setTimeout(() => Graph.zoom(0.99), 1);
39
+ </script>
40
+ </body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "force-graph",
3
- "version": "1.43.3",
3
+ "version": "1.43.5",
4
4
  "description": "2D force-directed graph rendered on HTML5 canvas",
5
5
  "type": "module",
6
6
  "unpkg": "dist/force-graph.min.js",
@@ -47,7 +47,7 @@
47
47
  "src/**/*"
48
48
  ],
49
49
  "dependencies": {
50
- "@tweenjs/tween.js": "18 - 21",
50
+ "@tweenjs/tween.js": "18 - 23",
51
51
  "accessor-fn": "1",
52
52
  "bezier-js": "3 - 6",
53
53
  "canvas-color-tracker": "1",
@@ -63,18 +63,18 @@
63
63
  "lodash-es": "4"
64
64
  },
65
65
  "devDependencies": {
66
- "@babel/core": "^7.22.10",
67
- "@babel/preset-env": "^7.22.10",
68
- "@rollup/plugin-babel": "^6.0.3",
69
- "@rollup/plugin-commonjs": "^25.0.4",
70
- "@rollup/plugin-node-resolve": "^15.2.0",
71
- "@rollup/plugin-terser": "^0.4.3",
72
- "postcss": "^8.4.28",
73
- "rimraf": "^5.0.1",
74
- "rollup": "^3.28.0",
75
- "rollup-plugin-dts": "^6.0.0",
66
+ "@babel/core": "^7.23.9",
67
+ "@babel/preset-env": "^7.23.9",
68
+ "@rollup/plugin-babel": "^6.0.4",
69
+ "@rollup/plugin-commonjs": "^25.0.7",
70
+ "@rollup/plugin-node-resolve": "^15.2.3",
71
+ "@rollup/plugin-terser": "^0.4.4",
72
+ "postcss": "^8.4.35",
73
+ "rimraf": "^5.0.5",
74
+ "rollup": "^4.12.0",
75
+ "rollup-plugin-dts": "^6.1.0",
76
76
  "rollup-plugin-postcss": "^4.0.2",
77
- "typescript": "^5.1.6"
77
+ "typescript": "^5.3.3"
78
78
  },
79
79
  "engines": {
80
80
  "node": ">=12"