@grida/svg-editor 1.0.0-alpha.23 → 1.0.0-alpha.24

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/README.md CHANGED
@@ -636,6 +636,12 @@ editor.commands.{
636
636
  opts?: { reuse_existing?: boolean },
637
637
  ): { gradient_id: string };
638
638
 
639
+ // opacity — typed, clamped sugar for set_property("opacity", …); one
640
+ // history step across the selection. `value` is clamped to [0, 1]. This
641
+ // is the command behind the digit → opacity shortcut; the digit
642
+ // keybindings are NOT shipped in the default keymap (host-wired).
643
+ set_opacity(value: number): void;
644
+
639
645
  // transforms (atomic — the bundled HUD drives drag-resize-rotate internally)
640
646
  translate(delta: { dx: number; dy: number }): void;
641
647
  nudge(direction: "left" | "right" | "up" | "down", step?: number): void;
@@ -1,4 +1,4 @@
1
- const require_model = require("./model-HEKGO-56.js");
1
+ const require_model = require("./model-HVpmlF_I.js");
2
2
  let _grida_cmath = require("@grida/cmath");
3
3
  _grida_cmath = require_model.__toESM(_grida_cmath);
4
4
  let _grida_svg_parse = require("@grida/svg/parse");
@@ -1,4 +1,4 @@
1
- import { c as SvgEditor, p as Gestures, s as SurfaceHandle, w as Camera } from "./editor-CxqRhhzP.js";
1
+ import { c as SvgEditor, p as Gestures, s as SurfaceHandle, w as Camera } from "./editor-D4TvRpm6.js";
2
2
  import cmath from "@grida/cmath";
3
3
  //#region src/util/attention.d.ts
4
4
  /** The runtime handle returned by `create_attention_tracker`. */
@@ -1,4 +1,4 @@
1
- import { S as is_text_input_focused, a as paint, c as hit_shape_svg, d as NudgeDwellWatcher, f as TranslateOrchestrator, h as transform, i as TOOL_CURSOR, l as RotateOrchestrator, m as group, n as insertions, o as ResizeOrchestrator, s as resize_pipeline, t as PathModel, w as default_nudge_handler, x as array_shallow_equal } from "./model-zMPCOVAr.mjs";
1
+ import { S as is_text_input_focused, a as paint, c as hit_shape_svg, d as NudgeDwellWatcher, f as TranslateOrchestrator, h as transform, i as TOOL_CURSOR, l as RotateOrchestrator, m as group, n as insertions, o as ResizeOrchestrator, s as resize_pipeline, t as PathModel, w as default_nudge_handler, x as array_shallow_equal } from "./model-DcOLgMdU.mjs";
2
2
  import cmath from "@grida/cmath";
3
3
  import { svg_parse } from "@grida/svg/parse";
4
4
  import { SVGShapes } from "@grida/svg/pathdata";
@@ -1,4 +1,4 @@
1
- import { c as SvgEditor, p as Gestures, s as SurfaceHandle, w as Camera } from "./editor-CcW4BVth.mjs";
1
+ import { c as SvgEditor, p as Gestures, s as SurfaceHandle, w as Camera } from "./editor-DsJweR76.mjs";
2
2
  import cmath from "@grida/cmath";
3
3
  import { guide } from "@grida/cmath/_snap";
4
4
 
package/dist/dom.d.mts CHANGED
@@ -1,3 +1,3 @@
1
- import { C as BoundsResolver, E as CameraOptions, T as CameraConstraints, d as GestureContext, f as GestureId, g as MemoizedGeometryProvider, h as GeometrySignals, i as DomComputedResolver, m as GeometryProvider, p as Gestures, r as DomComputedPaint, u as GestureBinding, w as Camera } from "./editor-CcW4BVth.mjs";
2
- import { a as ctm_to_container_transform, c as project_delta_inverse_ctm, d as SnapOptions, i as attach_dom_surface, l as project_point_through_ctm, n as DomSurfaceHandle, o as install_font_load_geometry_bump, r as DomSurfaceOptions, s as inverse_project_rect, t as AttentionScope, u as DEFAULT_SNAP_OPTIONS } from "./dom-D-ZJO9aK.mjs";
1
+ import { C as BoundsResolver, E as CameraOptions, T as CameraConstraints, d as GestureContext, f as GestureId, g as MemoizedGeometryProvider, h as GeometrySignals, i as DomComputedResolver, m as GeometryProvider, p as Gestures, r as DomComputedPaint, u as GestureBinding, w as Camera } from "./editor-DsJweR76.mjs";
2
+ import { a as ctm_to_container_transform, c as project_delta_inverse_ctm, d as SnapOptions, i as attach_dom_surface, l as project_point_through_ctm, n as DomSurfaceHandle, o as install_font_load_geometry_bump, r as DomSurfaceOptions, s as inverse_project_rect, t as AttentionScope, u as DEFAULT_SNAP_OPTIONS } from "./dom-DeHyTJ2i.mjs";
3
3
  export { AttentionScope, type BoundsResolver, Camera, type CameraConstraints, type CameraOptions, DEFAULT_SNAP_OPTIONS, type DomComputedPaint, type DomComputedResolver, DomSurfaceHandle, DomSurfaceOptions, type GeometryProvider, type GeometrySignals, type GestureBinding, type GestureContext, type GestureId, Gestures, MemoizedGeometryProvider, type SnapOptions, attach_dom_surface, ctm_to_container_transform, install_font_load_geometry_bump, inverse_project_rect, project_delta_inverse_ctm, project_point_through_ctm };
package/dist/dom.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import { C as BoundsResolver, E as CameraOptions, T as CameraConstraints, d as GestureContext, f as GestureId, g as MemoizedGeometryProvider, h as GeometrySignals, i as DomComputedResolver, m as GeometryProvider, p as Gestures, r as DomComputedPaint, u as GestureBinding, w as Camera } from "./editor-CxqRhhzP.js";
2
- import { a as ctm_to_container_transform, c as project_delta_inverse_ctm, d as SnapOptions, i as attach_dom_surface, l as project_point_through_ctm, n as DomSurfaceHandle, o as install_font_load_geometry_bump, r as DomSurfaceOptions, s as inverse_project_rect, t as AttentionScope, u as DEFAULT_SNAP_OPTIONS } from "./dom-Dl56kUW5.js";
1
+ import { C as BoundsResolver, E as CameraOptions, T as CameraConstraints, d as GestureContext, f as GestureId, g as MemoizedGeometryProvider, h as GeometrySignals, i as DomComputedResolver, m as GeometryProvider, p as Gestures, r as DomComputedPaint, u as GestureBinding, w as Camera } from "./editor-D4TvRpm6.js";
2
+ import { a as ctm_to_container_transform, c as project_delta_inverse_ctm, d as SnapOptions, i as attach_dom_surface, l as project_point_through_ctm, n as DomSurfaceHandle, o as install_font_load_geometry_bump, r as DomSurfaceOptions, s as inverse_project_rect, t as AttentionScope, u as DEFAULT_SNAP_OPTIONS } from "./dom-CYzYf9lz.js";
3
3
  export { AttentionScope, type BoundsResolver, Camera, type CameraConstraints, type CameraOptions, DEFAULT_SNAP_OPTIONS, type DomComputedPaint, type DomComputedResolver, DomSurfaceHandle, DomSurfaceOptions, type GeometryProvider, type GeometrySignals, type GestureBinding, type GestureContext, type GestureId, Gestures, MemoizedGeometryProvider, type SnapOptions, attach_dom_surface, ctm_to_container_transform, install_font_load_geometry_bump, inverse_project_rect, project_delta_inverse_ctm, project_point_through_ctm };
package/dist/dom.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_dom = require("./dom-Disackua.js");
2
+ const require_dom = require("./dom-8wNtJcu9.js");
3
3
  exports.Camera = require_dom.Camera;
4
4
  exports.DEFAULT_SNAP_OPTIONS = require_dom.DEFAULT_SNAP_OPTIONS;
5
5
  exports.Gestures = require_dom.Gestures;
package/dist/dom.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { a as project_delta_inverse_ctm, c as DEFAULT_SNAP_OPTIONS, i as inverse_project_rect, l as MemoizedGeometryProvider, n as ctm_to_container_transform, o as project_point_through_ctm, r as install_font_load_geometry_bump, s as Gestures, t as attach_dom_surface, u as Camera } from "./dom-DVxR7PNh.mjs";
1
+ import { a as project_delta_inverse_ctm, c as DEFAULT_SNAP_OPTIONS, i as inverse_project_rect, l as MemoizedGeometryProvider, n as ctm_to_container_transform, o as project_point_through_ctm, r as install_font_load_geometry_bump, s as Gestures, t as attach_dom_surface, u as Camera } from "./dom-DE0Je0o1.mjs";
2
2
  export { Camera, DEFAULT_SNAP_OPTIONS, Gestures, MemoizedGeometryProvider, attach_dom_surface, ctm_to_container_transform, install_font_load_geometry_bump, inverse_project_rect, project_delta_inverse_ctm, project_point_through_ctm };
@@ -1,4 +1,4 @@
1
- import { C as TOOL_SET, S as is_text_input_focused, T as registerDefaultCommands, _ as SVG_NS, a as paint, b as XMLNS_NS, g as subtree, h as transform, i as TOOL_CURSOR, m as group, n as insertions, p as translate_pipeline, r as DEFAULT_STYLE, s as resize_pipeline, u as rotate_pipeline, v as SvgDocument, x as array_shallow_equal, y as WELL_KNOWN_NS_PREFIXES } from "./model-zMPCOVAr.mjs";
1
+ import { C as TOOL_SET, S as is_text_input_focused, T as registerDefaultCommands, _ as SVG_NS, a as paint, b as XMLNS_NS, g as subtree, h as transform, i as TOOL_CURSOR, m as group, n as insertions, p as translate_pipeline, r as DEFAULT_STYLE, s as resize_pipeline, u as rotate_pipeline, v as SvgDocument, x as array_shallow_equal, y as WELL_KNOWN_NS_PREFIXES } from "./model-DcOLgMdU.mjs";
2
2
  import { HistoryImpl } from "@grida/history";
3
3
  import { KeyCode, M, chunkKey, eventToChunk, getKeyboardOS, kb, keybindingsToKeyCodes } from "@grida/keybinding";
4
4
  import cmath from "@grida/cmath";
@@ -1489,6 +1489,11 @@ function _create_svg_editor_internal(opts) {
1489
1489
  });
1490
1490
  return { gradient_id };
1491
1491
  }
1492
+ function set_opacity(value) {
1493
+ if (!Number.isFinite(value)) return;
1494
+ const clamped = cmath.clamp01(value);
1495
+ set_property("opacity", String(clamped));
1496
+ }
1492
1497
  /** World→local delta projection shared by every one-shot translate
1493
1498
  * writer (translate / nudge via `prepare_rpc`, align). Re-expresses a
1494
1499
  * world-space delta in the frame the target's position attributes are
@@ -2539,6 +2544,7 @@ function _create_svg_editor_internal(opts) {
2539
2544
  set_paint,
2540
2545
  preview_paint,
2541
2546
  set_paint_from_gradient,
2547
+ set_opacity,
2542
2548
  translate,
2543
2549
  nudge,
2544
2550
  resize_to,
@@ -1816,6 +1816,21 @@ type Commands = {
1816
1816
  }): {
1817
1817
  gradient_id: string;
1818
1818
  };
1819
+ /**
1820
+ * Set the `opacity` presentation property across the whole selection in
1821
+ * one history step. Typed, clamped sugar over `set_property("opacity", …)`
1822
+ * — `value` is clamped to `[0, 1]` (CSS clamps opacity to that range at
1823
+ * used-value time), so callers don't have to. A non-finite `value` is a
1824
+ * no-op, as is an empty selection. The write picks each member's winning
1825
+ * cascade carrier exactly like `set_property` (P1), and an in-flight
1826
+ * `preview_property("opacity")` session is superseded the same way a
1827
+ * discrete `set_property` write is.
1828
+ *
1829
+ * This is the editor-owned command behind the digit → opacity shortcut
1830
+ * (see `docs/keybindings.md` → Object Properties); the keybindings
1831
+ * themselves are intentionally not shipped in the default keymap.
1832
+ */
1833
+ set_opacity(value: number): void;
1819
1834
  translate(delta: {
1820
1835
  dx: number;
1821
1836
  dy: number;
@@ -1816,6 +1816,21 @@ type Commands = {
1816
1816
  }): {
1817
1817
  gradient_id: string;
1818
1818
  };
1819
+ /**
1820
+ * Set the `opacity` presentation property across the whole selection in
1821
+ * one history step. Typed, clamped sugar over `set_property("opacity", …)`
1822
+ * — `value` is clamped to `[0, 1]` (CSS clamps opacity to that range at
1823
+ * used-value time), so callers don't have to. A non-finite `value` is a
1824
+ * no-op, as is an empty selection. The write picks each member's winning
1825
+ * cascade carrier exactly like `set_property` (P1), and an in-flight
1826
+ * `preview_property("opacity")` session is superseded the same way a
1827
+ * discrete `set_property` write is.
1828
+ *
1829
+ * This is the editor-owned command behind the digit → opacity shortcut
1830
+ * (see `docs/keybindings.md` → Object Properties); the keybindings
1831
+ * themselves are intentionally not shipped in the default keymap.
1832
+ */
1833
+ set_opacity(value: number): void;
1819
1834
  translate(delta: {
1820
1835
  dx: number;
1821
1836
  dy: number;
@@ -1,4 +1,4 @@
1
- const require_model = require("./model-HEKGO-56.js");
1
+ const require_model = require("./model-HVpmlF_I.js");
2
2
  let _grida_history = require("@grida/history");
3
3
  let _grida_keybinding = require("@grida/keybinding");
4
4
  let _grida_cmath = require("@grida/cmath");
@@ -1490,6 +1490,11 @@ function _create_svg_editor_internal(opts) {
1490
1490
  });
1491
1491
  return { gradient_id };
1492
1492
  }
1493
+ function set_opacity(value) {
1494
+ if (!Number.isFinite(value)) return;
1495
+ const clamped = _grida_cmath.default.clamp01(value);
1496
+ set_property("opacity", String(clamped));
1497
+ }
1493
1498
  /** World→local delta projection shared by every one-shot translate
1494
1499
  * writer (translate / nudge via `prepare_rpc`, align). Re-expresses a
1495
1500
  * world-space delta in the frame the target's position attributes are
@@ -2540,6 +2545,7 @@ function _create_svg_editor_internal(opts) {
2540
2545
  set_paint,
2541
2546
  preview_paint,
2542
2547
  set_paint_from_gradient,
2548
+ set_opacity,
2543
2549
  translate,
2544
2550
  nudge,
2545
2551
  resize_to,
package/dist/index.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { $ as RadialGradientDefinition, A as EditorState, B as LinearGradientDefinition, D as ClipboardProvider, F as GradientEntry, G as PaintFallback, H as Mode, I as GradientStop, K as PaintPreviewSession, L as InsertPreviewSession, M as FileIOProvider, N as FontResolver, O as Color, P as GradientDefinition, Q as Providers, R as InsertableTag, S as AlignDirection, U as NodeId, V as Matrix2D, W as Paint, X as PropertyValue, Y as PreviewSession, Z as Provenance, _ as PathModel, a as SelectMode, at as Vec2, b as Verb, c as SvgEditor, et as Rect, it as Unsubscribe, j as EditorStyle, k as DEFAULT_STYLE, l as createSvgEditor, n as CreateSvgEditorOptions, nt as TOOL_CURSOR, o as Surface, q as PaintValue, rt as Tool, s as SurfaceHandle, t as Commands, tt as ReorderDirection, v as PathSnapshot, x as VertexId, y as SegmentId, z as InvalidComputedValue } from "./editor-CcW4BVth.mjs";
1
+ import { $ as RadialGradientDefinition, A as EditorState, B as LinearGradientDefinition, D as ClipboardProvider, F as GradientEntry, G as PaintFallback, H as Mode, I as GradientStop, K as PaintPreviewSession, L as InsertPreviewSession, M as FileIOProvider, N as FontResolver, O as Color, P as GradientDefinition, Q as Providers, R as InsertableTag, S as AlignDirection, U as NodeId, V as Matrix2D, W as Paint, X as PropertyValue, Y as PreviewSession, Z as Provenance, _ as PathModel, a as SelectMode, at as Vec2, b as Verb, c as SvgEditor, et as Rect, it as Unsubscribe, j as EditorStyle, k as DEFAULT_STYLE, l as createSvgEditor, n as CreateSvgEditorOptions, nt as TOOL_CURSOR, o as Surface, q as PaintValue, rt as Tool, s as SurfaceHandle, t as Commands, tt as ReorderDirection, v as PathSnapshot, x as VertexId, y as SegmentId, z as InvalidComputedValue } from "./editor-DsJweR76.mjs";
2
2
  export { type AlignDirection, type ClipboardProvider, type Color, type Commands, type CreateSvgEditorOptions, DEFAULT_STYLE, type EditorState, type EditorStyle, type FileIOProvider, type FontResolver, type GradientDefinition, type GradientEntry, type GradientStop, type InsertPreviewSession, type InsertableTag, type InvalidComputedValue, type LinearGradientDefinition, type Matrix2D, type Mode, type NodeId, type Paint, type PaintFallback, type PaintPreviewSession, type PaintValue, PathModel, type PathSnapshot, type PreviewSession, type PropertyValue, type Provenance, type Providers, type RadialGradientDefinition, type Rect, type ReorderDirection, type SegmentId, type SelectMode, type Surface, type SurfaceHandle, type SvgEditor, TOOL_CURSOR, type Tool, type Unsubscribe, type Vec2, type Verb, type VertexId, createSvgEditor };
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { $ as RadialGradientDefinition, A as EditorState, B as LinearGradientDefinition, D as ClipboardProvider, F as GradientEntry, G as PaintFallback, H as Mode, I as GradientStop, K as PaintPreviewSession, L as InsertPreviewSession, M as FileIOProvider, N as FontResolver, O as Color, P as GradientDefinition, Q as Providers, R as InsertableTag, S as AlignDirection, U as NodeId, V as Matrix2D, W as Paint, X as PropertyValue, Y as PreviewSession, Z as Provenance, _ as PathModel, a as SelectMode, at as Vec2, b as Verb, c as SvgEditor, et as Rect, it as Unsubscribe, j as EditorStyle, k as DEFAULT_STYLE, l as createSvgEditor, n as CreateSvgEditorOptions, nt as TOOL_CURSOR, o as Surface, q as PaintValue, rt as Tool, s as SurfaceHandle, t as Commands, tt as ReorderDirection, v as PathSnapshot, x as VertexId, y as SegmentId, z as InvalidComputedValue } from "./editor-CxqRhhzP.js";
1
+ import { $ as RadialGradientDefinition, A as EditorState, B as LinearGradientDefinition, D as ClipboardProvider, F as GradientEntry, G as PaintFallback, H as Mode, I as GradientStop, K as PaintPreviewSession, L as InsertPreviewSession, M as FileIOProvider, N as FontResolver, O as Color, P as GradientDefinition, Q as Providers, R as InsertableTag, S as AlignDirection, U as NodeId, V as Matrix2D, W as Paint, X as PropertyValue, Y as PreviewSession, Z as Provenance, _ as PathModel, a as SelectMode, at as Vec2, b as Verb, c as SvgEditor, et as Rect, it as Unsubscribe, j as EditorStyle, k as DEFAULT_STYLE, l as createSvgEditor, n as CreateSvgEditorOptions, nt as TOOL_CURSOR, o as Surface, q as PaintValue, rt as Tool, s as SurfaceHandle, t as Commands, tt as ReorderDirection, v as PathSnapshot, x as VertexId, y as SegmentId, z as InvalidComputedValue } from "./editor-D4TvRpm6.js";
2
2
  export { type AlignDirection, type ClipboardProvider, type Color, type Commands, type CreateSvgEditorOptions, DEFAULT_STYLE, type EditorState, type EditorStyle, type FileIOProvider, type FontResolver, type GradientDefinition, type GradientEntry, type GradientStop, type InsertPreviewSession, type InsertableTag, type InvalidComputedValue, type LinearGradientDefinition, type Matrix2D, type Mode, type NodeId, type Paint, type PaintFallback, type PaintPreviewSession, type PaintValue, PathModel, type PathSnapshot, type PreviewSession, type PropertyValue, type Provenance, type Providers, type RadialGradientDefinition, type Rect, type ReorderDirection, type SegmentId, type SelectMode, type Surface, type SurfaceHandle, type SvgEditor, TOOL_CURSOR, type Tool, type Unsubscribe, type Vec2, type Verb, type VertexId, createSvgEditor };
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_model = require("./model-HEKGO-56.js");
3
- const require_editor = require("./editor-DFvojUwn.js");
2
+ const require_model = require("./model-HVpmlF_I.js");
3
+ const require_editor = require("./editor-YelJorw6.js");
4
4
  exports.DEFAULT_STYLE = require_model.DEFAULT_STYLE;
5
5
  exports.PathModel = require_model.PathModel;
6
6
  exports.TOOL_CURSOR = require_model.TOOL_CURSOR;
package/dist/index.mjs CHANGED
@@ -1,3 +1,3 @@
1
- import { t as createSvgEditor } from "./editor-DCDQl18y.mjs";
2
- import { i as TOOL_CURSOR, r as DEFAULT_STYLE, t as PathModel } from "./model-zMPCOVAr.mjs";
1
+ import { t as createSvgEditor } from "./editor-CdSQ5BWb.mjs";
2
+ import { i as TOOL_CURSOR, r as DEFAULT_STYLE, t as PathModel } from "./model-DcOLgMdU.mjs";
3
3
  export { DEFAULT_STYLE, PathModel, TOOL_CURSOR, createSvgEditor };
@@ -92,6 +92,12 @@ function registerDefaultCommands(reg, editor) {
92
92
  if (editor.state.selection.length === 0) return false;
93
93
  return editor.commands.flatten_transform();
94
94
  });
95
+ reg.register("selection.set_opacity", (args) => {
96
+ if (editor.state.mode !== "select") return false;
97
+ if (editor.state.selection.length === 0) return false;
98
+ editor.commands.set_opacity(args);
99
+ return true;
100
+ });
95
101
  reg.register("selection.all", () => {
96
102
  if (editor.state.mode !== "select") return false;
97
103
  return editor.commands.select_all();
@@ -126,6 +126,12 @@ function registerDefaultCommands(reg, editor) {
126
126
  if (editor.state.selection.length === 0) return false;
127
127
  return editor.commands.flatten_transform();
128
128
  });
129
+ reg.register("selection.set_opacity", (args) => {
130
+ if (editor.state.mode !== "select") return false;
131
+ if (editor.state.selection.length === 0) return false;
132
+ editor.commands.set_opacity(args);
133
+ return true;
134
+ });
129
135
  reg.register("selection.all", () => {
130
136
  if (editor.state.mode !== "select") return false;
131
137
  return editor.commands.select_all();
@@ -1,5 +1,5 @@
1
- import { c as SvgEditor } from "./editor-CcW4BVth.mjs";
2
- import { n as DomSurfaceHandle, r as DomSurfaceOptions } from "./dom-D-ZJO9aK.mjs";
1
+ import { c as SvgEditor } from "./editor-DsJweR76.mjs";
2
+ import { n as DomSurfaceHandle, r as DomSurfaceOptions } from "./dom-DeHyTJ2i.mjs";
3
3
 
4
4
  //#region src/presets/keynote.d.ts
5
5
  declare namespace keynote_d_exports {
package/dist/presets.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { c as SvgEditor } from "./editor-CxqRhhzP.js";
2
- import { n as DomSurfaceHandle, r as DomSurfaceOptions } from "./dom-Dl56kUW5.js";
1
+ import { c as SvgEditor } from "./editor-D4TvRpm6.js";
2
+ import { n as DomSurfaceHandle, r as DomSurfaceOptions } from "./dom-CYzYf9lz.js";
3
3
 
4
4
  //#region \0rolldown/runtime.js
5
5
  declare namespace keynote_d_exports {
package/dist/presets.js CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_model = require("./model-HEKGO-56.js");
3
- const require_dom = require("./dom-Disackua.js");
2
+ const require_model = require("./model-HVpmlF_I.js");
3
+ const require_dom = require("./dom-8wNtJcu9.js");
4
4
  //#region src/presets/keynote.ts
5
5
  var keynote_exports = /* @__PURE__ */ require_model.__exportAll({ attach: () => attach });
6
6
  /**
package/dist/presets.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./chunk-D7D4PA-g.mjs";
2
- import { t as attach_dom_surface } from "./dom-DVxR7PNh.mjs";
2
+ import { t as attach_dom_surface } from "./dom-DE0Je0o1.mjs";
3
3
  //#region src/presets/keynote.ts
4
4
  var keynote_exports = /* @__PURE__ */ __exportAll({ attach: () => attach });
5
5
  /**
package/dist/react.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { A as EditorState, H as Mode, J as PickEvent, K as PaintPreviewSession, Q as Providers, U as NodeId, Y as PreviewSession, c as SvgEditor, j as EditorStyle, rt as Tool, t as Commands } from "./editor-CcW4BVth.mjs";
2
- import { n as DomSurfaceHandle } from "./dom-D-ZJO9aK.mjs";
1
+ import { A as EditorState, H as Mode, J as PickEvent, K as PaintPreviewSession, Q as Providers, U as NodeId, Y as PreviewSession, c as SvgEditor, j as EditorStyle, rt as Tool, t as Commands } from "./editor-DsJweR76.mjs";
2
+ import { n as DomSurfaceHandle } from "./dom-DeHyTJ2i.mjs";
3
3
  import cmath from "@grida/cmath";
4
4
  import { ReactNode } from "react";
5
5
 
package/dist/react.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { A as EditorState, H as Mode, J as PickEvent, K as PaintPreviewSession, Q as Providers, U as NodeId, Y as PreviewSession, c as SvgEditor, j as EditorStyle, rt as Tool, t as Commands } from "./editor-CxqRhhzP.js";
2
- import { n as DomSurfaceHandle } from "./dom-Dl56kUW5.js";
1
+ import { A as EditorState, H as Mode, J as PickEvent, K as PaintPreviewSession, Q as Providers, U as NodeId, Y as PreviewSession, c as SvgEditor, j as EditorStyle, rt as Tool, t as Commands } from "./editor-D4TvRpm6.js";
2
+ import { n as DomSurfaceHandle } from "./dom-CYzYf9lz.js";
3
3
  import cmath from "@grida/cmath";
4
4
  import { ReactNode } from "react";
5
5
 
package/dist/react.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const require_editor = require("./editor-DFvojUwn.js");
4
- const require_dom = require("./dom-Disackua.js");
3
+ const require_editor = require("./editor-YelJorw6.js");
4
+ const require_dom = require("./dom-8wNtJcu9.js");
5
5
  let react = require("react");
6
6
  let react_jsx_runtime = require("react/jsx-runtime");
7
7
  //#region src/react.tsx
package/dist/react.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { t as createSvgEditor } from "./editor-DCDQl18y.mjs";
3
- import { t as attach_dom_surface } from "./dom-DVxR7PNh.mjs";
2
+ import { t as createSvgEditor } from "./editor-CdSQ5BWb.mjs";
3
+ import { t as attach_dom_surface } from "./dom-DE0Je0o1.mjs";
4
4
  import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useSyncExternalStore } from "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  //#region src/react.tsx
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grida/svg-editor",
3
- "version": "1.0.0-alpha.23",
3
+ "version": "1.0.0-alpha.24",
4
4
  "description": "Headless SVG editor (experimental).",
5
5
  "keywords": [
6
6
  "bezier",
@@ -60,12 +60,12 @@
60
60
  "dependencies": {
61
61
  "@grida/cmath": "0.2.3",
62
62
  "@grida/color": "0.1.0",
63
+ "@grida/hud": "0.3.0",
63
64
  "@grida/history": "0.1.2",
65
+ "@grida/keybinding": "0.2.2",
66
+ "@grida/svg": "0.2.0",
64
67
  "@grida/vn": "0.1.0",
65
- "@grida/text-editor": "0.1.2",
66
- "@grida/hud": "0.3.0",
67
- "@grida/keybinding": "0.2.1",
68
- "@grida/svg": "0.2.0"
68
+ "@grida/text-editor": "0.1.2"
69
69
  },
70
70
  "devDependencies": {
71
71
  "@types/react": "^19",