@vectojs/core 1.0.1 → 1.4.0

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.
@@ -408,6 +408,7 @@ var Entity = class {
408
408
  child.parent = null;
409
409
  const s = this.scene;
410
410
  if (s) {
411
+ s.detachA11y(child);
411
412
  s.a11yNeedsReorder = true;
412
413
  s.markDirty();
413
414
  }
@@ -408,6 +408,7 @@ var Entity = (_class4 = class {
408
408
  child.parent = null;
409
409
  const s = this.scene;
410
410
  if (s) {
411
+ s.detachA11y(child);
411
412
  s.a11yNeedsReorder = true;
412
413
  s.markDirty();
413
414
  }
package/dist/index.js CHANGED
@@ -24,7 +24,7 @@ var _chunkBPMNCGU7js = require('./chunk-BPMNCGU7.js');
24
24
 
25
25
 
26
26
 
27
- var _chunkU4UYRERWjs = require('./chunk-U4UYRERW.js');
27
+ var _chunkNHNOKBD4js = require('./chunk-NHNOKBD4.js');
28
28
 
29
29
 
30
30
 
@@ -41,7 +41,7 @@ var PARTICLE_OFFSET_ORIGIN_X = 4;
41
41
  var PARTICLE_OFFSET_ORIGIN_Y = 5;
42
42
  var PARTICLE_OFFSET_SIZE = 6;
43
43
  var PARTICLE_OFFSET_LIFE = 7;
44
- var ComputeParticleEntity = (_class = class extends _chunkU4UYRERWjs.Entity {
44
+ var ComputeParticleEntity = (_class = class extends _chunkNHNOKBD4js.Entity {
45
45
 
46
46
 
47
47
 
@@ -429,7 +429,7 @@ var Scene = (_class2 = class _Scene {
429
429
  this.a11ySyncInterval = _nullishCoalesce(options.a11ySyncInterval, () => ( 0));
430
430
  this.contentProjectionEnabled = _nullishCoalesce(options.contentProjection, () => ( true));
431
431
  this.reducedMotionQuery = typeof window !== "undefined" && typeof window.matchMedia === "function" ? window.matchMedia("(prefers-reduced-motion: reduce)") : null;
432
- this.root = new class RootEntity extends _chunkU4UYRERWjs.Entity {
432
+ this.root = new class RootEntity extends _chunkNHNOKBD4js.Entity {
433
433
  isPointInside() {
434
434
  return false;
435
435
  }
@@ -438,7 +438,7 @@ var Scene = (_class2 = class _Scene {
438
438
  }
439
439
  }("root");
440
440
  this.root._scene = this;
441
- this.overlayRoot = new class OverlayRoot extends _chunkU4UYRERWjs.Entity {
441
+ this.overlayRoot = new class OverlayRoot extends _chunkNHNOKBD4js.Entity {
442
442
  isPointInside() {
443
443
  return false;
444
444
  }
@@ -801,42 +801,42 @@ var Scene = (_class2 = class _Scene {
801
801
  el.style.background = "transparent";
802
802
  }
803
803
  el.addEventListener("click", (e) => {
804
- node.dispatchEvent(new (0, _chunkU4UYRERWjs.VectoJSEvent)("click", node, e));
804
+ node.dispatchEvent(new (0, _chunkNHNOKBD4js.VectoJSEvent)("click", node, e));
805
805
  });
806
806
  el.addEventListener("mouseenter", (e) => {
807
807
  if (this.debugA11y) el.style.backgroundColor = "rgba(56, 189, 248, 0.2)";
808
- node.dispatchEvent(new (0, _chunkU4UYRERWjs.VectoJSEvent)("hover", node, e, false));
808
+ node.dispatchEvent(new (0, _chunkNHNOKBD4js.VectoJSEvent)("hover", node, e, false));
809
809
  });
810
810
  el.addEventListener("mouseleave", (e) => {
811
811
  if (this.debugA11y) el.style.backgroundColor = "rgba(56, 189, 248, 0.05)";
812
- node.dispatchEvent(new (0, _chunkU4UYRERWjs.VectoJSEvent)("pointerleave", node, e, false));
812
+ node.dispatchEvent(new (0, _chunkNHNOKBD4js.VectoJSEvent)("pointerleave", node, e, false));
813
813
  });
814
814
  const capEl = el;
815
815
  el.addEventListener("pointerdown", (e) => {
816
816
  if (typeof capEl.setPointerCapture === "function") capEl.setPointerCapture(e.pointerId);
817
- node.dispatchEvent(new (0, _chunkU4UYRERWjs.VectoJSEvent)("pointerdown", node, e));
817
+ node.dispatchEvent(new (0, _chunkNHNOKBD4js.VectoJSEvent)("pointerdown", node, e));
818
818
  });
819
819
  el.addEventListener("pointerup", (e) => {
820
820
  if (typeof capEl.releasePointerCapture === "function")
821
821
  capEl.releasePointerCapture(e.pointerId);
822
- node.dispatchEvent(new (0, _chunkU4UYRERWjs.VectoJSEvent)("pointerup", node, e));
822
+ node.dispatchEvent(new (0, _chunkNHNOKBD4js.VectoJSEvent)("pointerup", node, e));
823
823
  });
824
824
  el.addEventListener(
825
825
  "pointermove",
826
- (e) => node.dispatchEvent(new (0, _chunkU4UYRERWjs.VectoJSEvent)("pointermove", node, e))
826
+ (e) => node.dispatchEvent(new (0, _chunkNHNOKBD4js.VectoJSEvent)("pointermove", node, e))
827
827
  );
828
828
  el.addEventListener(
829
829
  "wheel",
830
830
  (e) => {
831
- node.dispatchEvent(new (0, _chunkU4UYRERWjs.VectoJSEvent)("wheel", node, e));
831
+ node.dispatchEvent(new (0, _chunkNHNOKBD4js.VectoJSEvent)("wheel", node, e));
832
832
  },
833
833
  { passive: false }
834
834
  );
835
835
  el.addEventListener("keydown", (e) => {
836
- node.dispatchEvent(new (0, _chunkU4UYRERWjs.VectoJSEvent)("keydown", node, e));
836
+ node.dispatchEvent(new (0, _chunkNHNOKBD4js.VectoJSEvent)("keydown", node, e));
837
837
  });
838
838
  el.addEventListener("keyup", (e) => {
839
- node.dispatchEvent(new (0, _chunkU4UYRERWjs.VectoJSEvent)("keyup", node, e));
839
+ node.dispatchEvent(new (0, _chunkNHNOKBD4js.VectoJSEvent)("keyup", node, e));
840
840
  });
841
841
  if (el instanceof HTMLInputElement || el instanceof HTMLTextAreaElement) {
842
842
  const input = el;
@@ -909,7 +909,7 @@ var Scene = (_class2 = class _Scene {
909
909
  el.addEventListener("keydown", (e) => {
910
910
  if (e.key === "Enter" || e.key === " ") {
911
911
  e.preventDefault();
912
- node.dispatchEvent(new (0, _chunkU4UYRERWjs.VectoJSEvent)("click", node, e));
912
+ node.dispatchEvent(new (0, _chunkNHNOKBD4js.VectoJSEvent)("click", node, e));
913
913
  }
914
914
  });
915
915
  }
@@ -936,6 +936,9 @@ var Scene = (_class2 = class _Scene {
936
936
  if (attrs.href !== void 0 && el instanceof HTMLAnchorElement) {
937
937
  const safeHref = _chunkBPMNCGU7js.sanitizeUrl.call(void 0, attrs.href);
938
938
  if (el.getAttribute("href") !== safeHref) el.setAttribute("href", safeHref);
939
+ if (attrs.target !== void 0 && el.getAttribute("target") !== attrs.target) {
940
+ el.setAttribute("target", attrs.target);
941
+ }
939
942
  }
940
943
  if (el instanceof HTMLImageElement) {
941
944
  if (attrs.src !== void 0 && el.src !== attrs.src) el.src = attrs.src;
@@ -1043,7 +1046,7 @@ var Scene = (_class2 = class _Scene {
1043
1046
  el.addEventListener(
1044
1047
  "wheel",
1045
1048
  (e2) => {
1046
- node.dispatchEvent(new (0, _chunkU4UYRERWjs.VectoJSEvent)("wheel", node, e2));
1049
+ node.dispatchEvent(new (0, _chunkNHNOKBD4js.VectoJSEvent)("wheel", node, e2));
1047
1050
  },
1048
1051
  { passive: false }
1049
1052
  );
@@ -1101,6 +1104,11 @@ var Scene = (_class2 = class _Scene {
1101
1104
  this.activeIds.clear();
1102
1105
  const collect = (node) => {
1103
1106
  if (node.isDOMPortal) return;
1107
+ const contentEl = this.contentElements.get(node.id);
1108
+ if (contentEl) {
1109
+ if (node.a11yFullViewport) this.fullViewportElements.push(contentEl);
1110
+ else this.normalElements.push(contentEl);
1111
+ }
1104
1112
  if (node.interactive && (node.width > 0 || node.a11yFullViewport)) {
1105
1113
  const el = this.a11yElements.get(node.id);
1106
1114
  if (el) {
@@ -1803,7 +1811,7 @@ function defaultMeasurer() {
1803
1811
  if (sharedMeasurer === void 0) sharedMeasurer = _chunkXLZDOFSBjs.createCanvasMeasurer.call(void 0, "sans-serif");
1804
1812
  return sharedMeasurer;
1805
1813
  }
1806
- var TextEntity = (_class3 = class extends _chunkU4UYRERWjs.Entity {
1814
+ var TextEntity = (_class3 = class extends _chunkNHNOKBD4js.Entity {
1807
1815
 
1808
1816
 
1809
1817
 
@@ -1929,7 +1937,7 @@ var TextEntity = (_class3 = class extends _chunkU4UYRERWjs.Entity {
1929
1937
  }, _class3);
1930
1938
 
1931
1939
  // src/components/GridTextEntity.ts
1932
- var GridTextEntity = (_class4 = class extends _chunkU4UYRERWjs.Entity {
1940
+ var GridTextEntity = (_class4 = class extends _chunkNHNOKBD4js.Entity {
1933
1941
 
1934
1942
  __init60() {this.fillStyle = "#ffffff"}
1935
1943
  __init61() {this.grid = []}
@@ -2023,7 +2031,7 @@ function distSqToSegment(px, py, x1, y1, x2, y2) {
2023
2031
  const ey = py - cy;
2024
2032
  return ex * ex + ey * ey;
2025
2033
  }
2026
- var SplineEntity = (_class5 = class extends _chunkU4UYRERWjs.Entity {
2034
+ var SplineEntity = (_class5 = class extends _chunkNHNOKBD4js.Entity {
2027
2035
 
2028
2036
 
2029
2037
 
@@ -2392,7 +2400,7 @@ var SpatialHashGrid = (_class6 = class {
2392
2400
  }, _class6);
2393
2401
 
2394
2402
  // src/tree/DOMPortalEntity.ts
2395
- var DOMPortalEntity = (_class7 = class extends _chunkU4UYRERWjs.Entity {
2403
+ var DOMPortalEntity = (_class7 = class extends _chunkNHNOKBD4js.Entity {
2396
2404
 
2397
2405
  __init72() {this.isDOMPortal = true}
2398
2406
  __init73() {this.domListeners = []}
@@ -2427,7 +2435,7 @@ var DOMPortalEntity = (_class7 = class extends _chunkU4UYRERWjs.Entity {
2427
2435
  const events = ["click", "pointerdown", "pointerup", "pointermove", "wheel"];
2428
2436
  for (const type of events) {
2429
2437
  const handler = (e) => {
2430
- this.dispatchEvent(new (0, _chunkU4UYRERWjs.VectoJSEvent)(type, this, e));
2438
+ this.dispatchEvent(new (0, _chunkNHNOKBD4js.VectoJSEvent)(type, this, e));
2431
2439
  };
2432
2440
  this.domElement.addEventListener(type, handler);
2433
2441
  this.domListeners.push({ type, handler, capture: false });
@@ -2438,7 +2446,7 @@ var DOMPortalEntity = (_class7 = class extends _chunkU4UYRERWjs.Entity {
2438
2446
  ];
2439
2447
  for (const { native, vecto } of hoverEvents) {
2440
2448
  const handler = (e) => {
2441
- this.dispatchEvent(new (0, _chunkU4UYRERWjs.VectoJSEvent)(vecto, this, e, false));
2449
+ this.dispatchEvent(new (0, _chunkNHNOKBD4js.VectoJSEvent)(vecto, this, e, false));
2442
2450
  };
2443
2451
  this.domElement.addEventListener(native, handler);
2444
2452
  this.domListeners.push({ type: native, handler, capture: false });
@@ -2446,7 +2454,7 @@ var DOMPortalEntity = (_class7 = class extends _chunkU4UYRERWjs.Entity {
2446
2454
  const focusEvents = ["focus", "blur"];
2447
2455
  for (const type of focusEvents) {
2448
2456
  const handler = (e) => {
2449
- this.dispatchEvent(new (0, _chunkU4UYRERWjs.VectoJSEvent)(type, this, e, true));
2457
+ this.dispatchEvent(new (0, _chunkNHNOKBD4js.VectoJSEvent)(type, this, e, true));
2450
2458
  };
2451
2459
  this.domElement.addEventListener(type, handler, true);
2452
2460
  this.domListeners.push({ type, handler, capture: true });
@@ -2531,4 +2539,4 @@ Scene.registerWebGPUParticleSystemManager(_chunkBPMNCGU7js.WebGPUParticleSystemM
2531
2539
 
2532
2540
 
2533
2541
 
2534
- exports.ArabicShaper = _chunkCTZQOM5Zjs.ArabicShaper; exports.BidiResolver = _chunkCTZQOM5Zjs.BidiResolver; exports.CanvasRenderer = _chunkBPMNCGU7js.CanvasRenderer; exports.ComputeParticleEntity = ComputeParticleEntity; exports.DOMPortalEntity = DOMPortalEntity; exports.Easing = _chunkU4UYRERWjs.Easing; exports.Entity = _chunkU4UYRERWjs.Entity; exports.GridTextEntity = GridTextEntity; exports.LayoutEngine = _chunkXLZDOFSBjs.LayoutEngine; exports.LayoutResultBuffer = _chunkXLZDOFSBjs.LayoutResultBuffer; exports.LayoutWorkerManager = _chunkCTZQOM5Zjs.LayoutWorkerManager; exports.MSDFFont = _chunkU4UYRERWjs.MSDFFont; exports.MSDFTextEntity = _chunkU4UYRERWjs.MSDFTextEntity; exports.PARTICLE_OFFSET_LIFE = PARTICLE_OFFSET_LIFE; exports.PARTICLE_OFFSET_ORIGIN_X = PARTICLE_OFFSET_ORIGIN_X; exports.PARTICLE_OFFSET_ORIGIN_Y = PARTICLE_OFFSET_ORIGIN_Y; exports.PARTICLE_OFFSET_POSITION_X = PARTICLE_OFFSET_POSITION_X; exports.PARTICLE_OFFSET_POSITION_Y = PARTICLE_OFFSET_POSITION_Y; exports.PARTICLE_OFFSET_SIZE = PARTICLE_OFFSET_SIZE; exports.PARTICLE_OFFSET_VELOCITY_X = PARTICLE_OFFSET_VELOCITY_X; exports.PARTICLE_OFFSET_VELOCITY_Y = PARTICLE_OFFSET_VELOCITY_Y; exports.PARTICLE_STRIDE_FLOATS = PARTICLE_STRIDE_FLOATS; exports.REDUCED_MOTION_FPS = REDUCED_MOTION_FPS; exports.SVGEntity = _chunkU4UYRERWjs.SVGEntity; exports.SVGRenderer = _chunkBPMNCGU7js.SVGRenderer; exports.Scene = Scene; exports.SpatialHashGrid = SpatialHashGrid; exports.SplineEntity = SplineEntity; exports.SpringDriver = _chunkU4UYRERWjs.SpringDriver; exports.SpringPhysics = _chunkU4UYRERWjs.SpringPhysics; exports.TextEntity = TextEntity; exports.TweenDriver = _chunkU4UYRERWjs.TweenDriver; exports.VectoJSEvent = _chunkU4UYRERWjs.VectoJSEvent; exports.WebGPUParticleSystemManager = _chunkBPMNCGU7js.WebGPUParticleSystemManager; exports.computeLineSegments = _chunkXLZDOFSBjs.computeLineSegments; exports.createCanvasMeasurer = _chunkXLZDOFSBjs.createCanvasMeasurer; exports.createWebGLPointRenderer = _chunkBPMNCGU7js.createWebGLPointRenderer; exports.isSafeUrl = _chunkBPMNCGU7js.isSafeUrl; exports.isTweenConfig = _chunkU4UYRERWjs.isTweenConfig; exports.loadSpline = loadSpline; exports.parseColorToRGBA = _chunkBPMNCGU7js.parseColorToRGBA; exports.polySegmentToBezier = polySegmentToBezier; exports.sanitizeUrl = _chunkBPMNCGU7js.sanitizeUrl;
2542
+ exports.ArabicShaper = _chunkCTZQOM5Zjs.ArabicShaper; exports.BidiResolver = _chunkCTZQOM5Zjs.BidiResolver; exports.CanvasRenderer = _chunkBPMNCGU7js.CanvasRenderer; exports.ComputeParticleEntity = ComputeParticleEntity; exports.DOMPortalEntity = DOMPortalEntity; exports.Easing = _chunkNHNOKBD4js.Easing; exports.Entity = _chunkNHNOKBD4js.Entity; exports.GridTextEntity = GridTextEntity; exports.LayoutEngine = _chunkXLZDOFSBjs.LayoutEngine; exports.LayoutResultBuffer = _chunkXLZDOFSBjs.LayoutResultBuffer; exports.LayoutWorkerManager = _chunkCTZQOM5Zjs.LayoutWorkerManager; exports.MSDFFont = _chunkNHNOKBD4js.MSDFFont; exports.MSDFTextEntity = _chunkNHNOKBD4js.MSDFTextEntity; exports.PARTICLE_OFFSET_LIFE = PARTICLE_OFFSET_LIFE; exports.PARTICLE_OFFSET_ORIGIN_X = PARTICLE_OFFSET_ORIGIN_X; exports.PARTICLE_OFFSET_ORIGIN_Y = PARTICLE_OFFSET_ORIGIN_Y; exports.PARTICLE_OFFSET_POSITION_X = PARTICLE_OFFSET_POSITION_X; exports.PARTICLE_OFFSET_POSITION_Y = PARTICLE_OFFSET_POSITION_Y; exports.PARTICLE_OFFSET_SIZE = PARTICLE_OFFSET_SIZE; exports.PARTICLE_OFFSET_VELOCITY_X = PARTICLE_OFFSET_VELOCITY_X; exports.PARTICLE_OFFSET_VELOCITY_Y = PARTICLE_OFFSET_VELOCITY_Y; exports.PARTICLE_STRIDE_FLOATS = PARTICLE_STRIDE_FLOATS; exports.REDUCED_MOTION_FPS = REDUCED_MOTION_FPS; exports.SVGEntity = _chunkNHNOKBD4js.SVGEntity; exports.SVGRenderer = _chunkBPMNCGU7js.SVGRenderer; exports.Scene = Scene; exports.SpatialHashGrid = SpatialHashGrid; exports.SplineEntity = SplineEntity; exports.SpringDriver = _chunkNHNOKBD4js.SpringDriver; exports.SpringPhysics = _chunkNHNOKBD4js.SpringPhysics; exports.TextEntity = TextEntity; exports.TweenDriver = _chunkNHNOKBD4js.TweenDriver; exports.VectoJSEvent = _chunkNHNOKBD4js.VectoJSEvent; exports.WebGPUParticleSystemManager = _chunkBPMNCGU7js.WebGPUParticleSystemManager; exports.computeLineSegments = _chunkXLZDOFSBjs.computeLineSegments; exports.createCanvasMeasurer = _chunkXLZDOFSBjs.createCanvasMeasurer; exports.createWebGLPointRenderer = _chunkBPMNCGU7js.createWebGLPointRenderer; exports.isSafeUrl = _chunkBPMNCGU7js.isSafeUrl; exports.isTweenConfig = _chunkNHNOKBD4js.isTweenConfig; exports.loadSpline = loadSpline; exports.parseColorToRGBA = _chunkBPMNCGU7js.parseColorToRGBA; exports.polySegmentToBezier = polySegmentToBezier; exports.sanitizeUrl = _chunkBPMNCGU7js.sanitizeUrl;
package/dist/index.mjs CHANGED
@@ -24,7 +24,7 @@ import {
24
24
  TweenDriver,
25
25
  VectoJSEvent,
26
26
  isTweenConfig
27
- } from "./chunk-PY4KGL5Y.mjs";
27
+ } from "./chunk-N7DNUDVY.mjs";
28
28
  import {
29
29
  ArabicShaper,
30
30
  BidiResolver,
@@ -936,6 +936,9 @@ var Scene = class _Scene {
936
936
  if (attrs.href !== void 0 && el instanceof HTMLAnchorElement) {
937
937
  const safeHref = sanitizeUrl(attrs.href);
938
938
  if (el.getAttribute("href") !== safeHref) el.setAttribute("href", safeHref);
939
+ if (attrs.target !== void 0 && el.getAttribute("target") !== attrs.target) {
940
+ el.setAttribute("target", attrs.target);
941
+ }
939
942
  }
940
943
  if (el instanceof HTMLImageElement) {
941
944
  if (attrs.src !== void 0 && el.src !== attrs.src) el.src = attrs.src;
@@ -1101,6 +1104,11 @@ var Scene = class _Scene {
1101
1104
  this.activeIds.clear();
1102
1105
  const collect = (node) => {
1103
1106
  if (node.isDOMPortal) return;
1107
+ const contentEl = this.contentElements.get(node.id);
1108
+ if (contentEl) {
1109
+ if (node.a11yFullViewport) this.fullViewportElements.push(contentEl);
1110
+ else this.normalElements.push(contentEl);
1111
+ }
1104
1112
  if (node.interactive && (node.width > 0 || node.a11yFullViewport)) {
1105
1113
  const el = this.a11yElements.get(node.id);
1106
1114
  if (el) {
package/dist/text.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkU4UYRERWjs = require('./chunk-U4UYRERW.js');
5
+ var _chunkNHNOKBD4js = require('./chunk-NHNOKBD4.js');
6
6
 
7
7
 
8
8
 
@@ -13,4 +13,4 @@ var _chunkCTZQOM5Zjs = require('./chunk-CTZQOM5Z.js');
13
13
 
14
14
 
15
15
 
16
- exports.ArabicShaper = _chunkCTZQOM5Zjs.ArabicShaper; exports.BidiResolver = _chunkCTZQOM5Zjs.BidiResolver; exports.MSDFFont = _chunkU4UYRERWjs.MSDFFont; exports.MSDFTextEntity = _chunkU4UYRERWjs.MSDFTextEntity; exports.SVGEntity = _chunkU4UYRERWjs.SVGEntity;
16
+ exports.ArabicShaper = _chunkCTZQOM5Zjs.ArabicShaper; exports.BidiResolver = _chunkCTZQOM5Zjs.BidiResolver; exports.MSDFFont = _chunkNHNOKBD4js.MSDFFont; exports.MSDFTextEntity = _chunkNHNOKBD4js.MSDFTextEntity; exports.SVGEntity = _chunkNHNOKBD4js.SVGEntity;
package/dist/text.mjs CHANGED
@@ -2,7 +2,7 @@ import {
2
2
  MSDFFont,
3
3
  MSDFTextEntity,
4
4
  SVGEntity
5
- } from "./chunk-PY4KGL5Y.mjs";
5
+ } from "./chunk-N7DNUDVY.mjs";
6
6
  import {
7
7
  ArabicShaper,
8
8
  BidiResolver
@@ -89,6 +89,8 @@ export interface A11yAttributes {
89
89
  label?: string;
90
90
  /** Destination URL; only meaningful for `tag: 'a'`. */
91
91
  href?: string;
92
+ /** Link target; only meaningful for `tag: 'a'`. Defaults to current window. */
93
+ target?: string;
92
94
  /** Image source; only meaningful for `tag: 'img'`. */
93
95
  src?: string;
94
96
  /** Alternative text; only meaningful for `tag: 'img'`. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vectojs/core",
3
- "version": "1.0.1",
3
+ "version": "1.4.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -58,11 +58,11 @@
58
58
  },
59
59
  "dependencies": {},
60
60
  "devDependencies": {
61
- "@vitest/coverage-v8": "^4.1.9",
61
+ "@vitest/coverage-v8": "^4.1.10",
62
62
  "esbuild": "^0.28.1",
63
63
  "jsdom": "^29.1.1",
64
64
  "tsup": "^8.3.5",
65
- "vitest": "^4.1.9",
65
+ "vitest": "^4.1.10",
66
66
  "puppeteer-core": "^25.3.0"
67
67
  }
68
68
  }