@synnaxlabs/pluto 0.21.9 → 0.21.10

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/dist/ether.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const aggregator = require("./aggregator-Bh2Kyzkg.cjs");
4
- const LinePlot = require("./LinePlot-Bnb8Ufob.cjs");
4
+ const LinePlot = require("./LinePlot-mjjFdNnj.cjs");
5
5
  const css = require("./css-Ci8WUD5E.cjs");
6
6
  const external$2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
7
7
  __proto__: null,
package/dist/ether.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { P as Provider, R as REGISTRY, S as SYNNAX_DARK, a as SYNNAX_LIGHT, b as SYNNAX_THEMES, f as fontString, t as themeZ, u as use, d as a, e as REGISTRY$d, r as render$1 } from "./aggregator-B8fg7W2s.js";
2
2
  import { g } from "./aggregator-B8fg7W2s.js";
3
- import { C as Context$1, a as Controller, E as Eraser$1, G as GLProgram, L as Loop, R as REASON_DATA, b as REASON_LAYOUT, c as REASON_TOOL, d as REGISTRY$1, e as REGISTRY$2, f as REGISTRY$3, g as REGISTRY$4, h as REGISTRY$5, i as REGISTRY$6, j as REGISTRY$7, k as REGISTRY$8, l as REGISTRY$9, m as REGISTRY$a, n as REGISTRY$b, o as REGISTRY$c, p as REGISTRY$e, q as REGISTRY$f, r as REGISTRY$g, s as REGISTRY$h, A as LinePlot, X as XAxis, Y as YAxis, B as linePlotStateZ, F as xAxisStateZ, H as yAxisStateZ } from "./LinePlot-KYwy1D7H.js";
4
- import { z, D, u, w, t, v, x, y } from "./LinePlot-KYwy1D7H.js";
3
+ import { C as Context$1, a as Controller, E as Eraser$1, G as GLProgram, L as Loop, R as REASON_DATA, b as REASON_LAYOUT, c as REASON_TOOL, d as REGISTRY$1, e as REGISTRY$2, f as REGISTRY$3, g as REGISTRY$4, h as REGISTRY$5, i as REGISTRY$6, j as REGISTRY$7, k as REGISTRY$8, l as REGISTRY$9, m as REGISTRY$a, n as REGISTRY$b, o as REGISTRY$c, p as REGISTRY$e, q as REGISTRY$f, r as REGISTRY$g, s as REGISTRY$h, A as LinePlot, X as XAxis, Y as YAxis, B as linePlotStateZ, F as xAxisStateZ, H as yAxisStateZ } from "./LinePlot-BeWCHNq-.js";
4
+ import { z, D, u, w, t, v, x, y } from "./LinePlot-BeWCHNq-.js";
5
5
  import { b } from "./css-DKKmdhSr.js";
6
6
  const external$2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
7
7
  __proto__: null,
package/dist/index.cjs CHANGED
@@ -13,7 +13,7 @@ const css = require("./css-Ci8WUD5E.cjs");
13
13
  const external$l = require("./external-DVQ2SRoH.cjs");
14
14
  const aggregator = require("./aggregator-Bh2Kyzkg.cjs");
15
15
  const Center$1 = require("./Center-Cc_rR5pQ.cjs");
16
- const LinePlot$2 = require("./LinePlot-Bnb8Ufob.cjs");
16
+ const LinePlot$2 = require("./LinePlot-mjjFdNnj.cjs");
17
17
  const external$k = require("./external-d-vI8EHK.cjs");
18
18
  const external$t = require("./external-9_cqFQy3.cjs");
19
19
  const external$q = require("./external-DjYXzP7v.cjs");
@@ -1155,6 +1155,7 @@ const Mask = React.forwardRef(
1155
1155
  );
1156
1156
  Mask.displayName = "ZoomPanMask";
1157
1157
  const TRUNC_PRECISION = 6;
1158
+ const CURSOR_TRANSLATION_THRESHOLD = 2;
1158
1159
  const TRIGGER_MODES = ["zoom", "pan", "select", "zoomReset"];
1159
1160
  const MODES = [...TRIGGER_MODES, "click"];
1160
1161
  const MASK_MODES = ["zoom", "select"];
@@ -1212,9 +1213,10 @@ const use$a = ({
1212
1213
  const [maskBox, setMaskBox] = React.useState(css.To.ZERO);
1213
1214
  const [maskMode, setMaskMode] = React.useState(defaultMode);
1214
1215
  const [stateRef, setStateRef] = Toggle$1.useStateRef(initial);
1216
+ const prevCursorRef = React.useRef(css.q.ZERO);
1215
1217
  const canvasRef = React.useRef(null);
1216
1218
  const threshold = css._.construct(threshold_);
1217
- React.useEffect(() => setStateRef(() => css.To.truncate(initial, 3)), [initial]);
1219
+ React.useEffect(() => setStateRef(() => css.To.truncate(initial, TRUNC_PRECISION)), [initial]);
1218
1220
  React.useEffect(() => setMaskMode(defaultMode), [defaultMode]);
1219
1221
  const [triggerConfig, reducedTriggerConfig, purgedTriggers, reducedPurgedTriggers] = Toggle$1.useMemoCompare(
1220
1222
  () => {
@@ -1257,7 +1259,7 @@ const use$a = ({
1257
1259
  return setStateRef((prev) => {
1258
1260
  if (mode === "pan") {
1259
1261
  const next3 = handlePan(box_, prev, canvas);
1260
- if (next3 === null)
1262
+ if (next3 === null || css.To.equals(next3, prev))
1261
1263
  return prev;
1262
1264
  onChange == null ? void 0 : onChange({ box: next3, mode, stage, cursor });
1263
1265
  return next3;
@@ -1281,15 +1283,11 @@ const use$a = ({
1281
1283
  );
1282
1284
  }
1283
1285
  setMaskBox((prev) => !css.To.areaIsZero(prev) ? css.To.ZERO : prev);
1284
- const next = handlePan(box_, stateRef.current, canvas);
1285
- if (css.To.equals(next, stateRef.current))
1286
+ if (css.q.distance(cursor, prevCursorRef.current) < CURSOR_TRANSLATION_THRESHOLD)
1286
1287
  return;
1287
- onChange == null ? void 0 : onChange({
1288
- box: next,
1289
- mode,
1290
- stage,
1291
- cursor
1292
- });
1288
+ prevCursorRef.current = cursor;
1289
+ const next = handlePan(box_, stateRef.current, canvas);
1290
+ onChange == null ? void 0 : onChange({ box: next, mode, stage, cursor });
1293
1291
  },
1294
1292
  [
1295
1293
  setMaskBox,