svedit 0.13.0 → 0.14.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.
package/README.md CHANGED
@@ -481,6 +481,7 @@ const session_config = {
481
481
  - **`system_components`** - Optional overrides for internal editor components and a slot for your own overlays:
482
482
  - `overlays` — A Svelte component rendered inside `<Svedit>` but outside the content canvas. Use it to add floating UI like link editors, image toolbars, or annotation popovers that appear near the current selection. See [`src/routes/components/Overlays.svelte`](src/routes/components/Overlays.svelte) for an example.
483
483
  - `node_gap`, `node_gap_markers`, `node_selection_markers` — Override the default system components if you need custom visuals for node gaps or selection indicators.
484
+ - `node_gap_tools` — A component rendered inside the active node gap marker, next to the caret. Use it for gap-scoped tools like an insert button: it inherits the `--row` orientation variable from the node array, and it appears and disappears together with the caret. Receives `{ path, offset, is_first, is_last }` (see the `NodeGapToolsProps` type). The marker has `pointer-events: none`, so interactive tools must set `pointer-events: auto`. See [`src/routes/components/GapInsertTool.svelte`](src/routes/components/GapInsertTool.svelte) for an example.
484
485
  - **`inserters`** - Functions that create blank nodes of each type and set up the selection
485
486
  - **`create_commands_and_keymap`** - Factory function that creates commands and keybindings for an editor instance
486
487
  - **`handle_image_paste`** - Optional handler for image paste events
@@ -1174,7 +1175,7 @@ For styling, you usually don't need the props at all: `<Node>` adds range classe
1174
1175
 
1175
1176
  ```css
1176
1177
  .anno-marker {
1177
- background: color-mix(in oklch, var(--app-primary-fill) 13%, transparent);
1178
+ background: color-mix(in oklch, var(--accent) 13%, transparent);
1178
1179
  }
1179
1180
  ```
1180
1181
 
@@ -30,7 +30,7 @@
30
30
  --_cp: var(--node-caret-row-inline-position, 50%);
31
31
  content: '';
32
32
  position: absolute;
33
- background: var(--node-caret-bg, var(--svedit-editing-stroke));
33
+ background: var(--node-caret-bg, var(--editing));
34
34
  /* Increase the visibility of the caret by contrasting it with a box shadow that's the inverted brightness of the current text color. */
35
35
  /* Component developers must set their background color and text color on the node itself, not a child element, for this to work. */
36
36
  box-shadow: var(--node-caret-shadow, 0 0 0 0.5px oklch(from currentColor calc(1 - l) c h));
@@ -27,11 +27,20 @@
27
27
  * Reads visibility state directly from the registry. SvelteSet's per-key
28
28
  * tracking on `.has()` and iteration means this component only
29
29
  * re-evaluates when THIS array's visible-index set changes.
30
+ *
31
+ * The active marker (the one carrying the caret) additionally renders the
32
+ * consumer's `system_components.node_gap_tools` component when configured
33
+ * — an extension point for gap-scoped tools (e.g. an insert button).
34
+ * Rendering inside the marker means the tool inherits --row for
35
+ * orientation-aware styling and shows/hides together with the caret.
36
+ * The marker has pointer-events: none — interactive tools must set
37
+ * pointer-events: auto themselves.
30
38
  */
31
39
 
32
40
  let { path, count }: { path: DocumentPath; count: number } = $props();
33
41
 
34
42
  const svedit = getContext<SveditRenderContext>('svedit');
43
+ let NodeGapTools = $derived(svedit.session.config.system_components?.node_gap_tools);
35
44
  let path_str = $derived(serialize_path(path));
36
45
  let visible = $derived(svedit.visibility_registry.get_array_indices(path_str));
37
46
 
@@ -163,6 +172,9 @@
163
172
  >
164
173
  {#if gap.key === caret_gap_key}
165
174
  <NodeCaret />
175
+ {#if NodeGapTools}
176
+ <NodeGapTools {path} offset={gap.offset} is_first={gap.is_first} is_last={gap.is_last} />
177
+ {/if}
166
178
  {/if}
167
179
  </div>
168
180
  {/each}
@@ -170,6 +182,7 @@
170
182
  <style>
171
183
  /*
172
184
  * Public customization tokens (set on an ancestor or this component):
185
+ * --editing-stroke
173
186
  * --node-caret-gap-color
174
187
  * --node-caret-symbol-size
175
188
  * --node-caret-symbol-stroke
@@ -611,8 +624,8 @@
611
624
  calc(var(--_mi) + var(--_R) * 9999999px),
612
625
  calc(50% + var(--_C) * 9999999px)
613
626
  );
614
- border-top: calc(var(--_C) * 1px) dashed var(--node-caret-gap-color, var(--svedit-canvas-stroke));
615
- border-left: calc(var(--_R) * 1px) dashed var(--node-caret-gap-color, var(--svedit-canvas-stroke));
627
+ border-top: calc(var(--_C) * 1px) dashed var(--node-caret-gap-color, var(--editing-stroke));
628
+ border-left: calc(var(--_R) * 1px) dashed var(--node-caret-gap-color, var(--editing-stroke));
616
629
  transform:
617
630
  translateY(calc(var(--_C) * -0.5px))
618
631
  translateX(calc(var(--_R) * -0.5px));
@@ -626,7 +639,7 @@
626
639
  /* Empty array marker (dashed outline for discoverability). */
627
640
  &.gap-empty::before {
628
641
  inset: 0px;
629
- border: var(--node-caret-empty-border, 1px dashed var(--node-caret-gap-color, var(--svedit-canvas-stroke)));
642
+ border: var(--node-caret-empty-border, 1px dashed var(--node-caret-gap-color, var(--editing-stroke)));
630
643
  border-radius: var(--node-caret-empty-border-radius, 3px);
631
644
  }
632
645
 
@@ -639,7 +652,7 @@
639
652
  top: 50%;
640
653
  left: 50%;
641
654
  transform: translate(-50%, -50%);
642
- background: var(--node-caret-symbol-bg, var(--node-caret-gap-color, var(--svedit-canvas-stroke)));
655
+ background: var(--node-caret-symbol-bg, var(--node-caret-gap-color, var(--editing-stroke)));
643
656
  mask: var(--node-caret-symbol-mask,
644
657
  linear-gradient(black, black) center / 100% var(--node-caret-symbol-stroke, 1px) no-repeat,
645
658
  linear-gradient(black, black) center / var(--node-caret-symbol-stroke, 1px) 100% no-repeat
@@ -1 +1 @@
1
- {"version":3,"file":"NodeGapMarkers.svelte.d.ts","sourceRoot":"","sources":["../src/lib/NodeGapMarkers.svelte.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,YAAY,CAAC;AAEnE,KAAK,gBAAgB,GAAI;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAoKhE,QAAA,MAAM,cAAc,sDAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"NodeGapMarkers.svelte.d.ts","sourceRoot":"","sources":["../src/lib/NodeGapMarkers.svelte.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,YAAY,CAAC;AAEnE,KAAK,gBAAgB,GAAI;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAgLhE,QAAA,MAAM,cAAc,sDAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
@@ -50,8 +50,8 @@
50
50
  Performance note: outlines don't participate in layout, so
51
51
  selection changes can't trigger reflows. */
52
52
  position: absolute;
53
- background: var(--svedit-editing-fill);
54
- outline: 1px solid var(--svedit-editing-stroke);
53
+ background: var(--editing-muted);
54
+ outline: 1px solid var(--editing);
55
55
  outline-offset: -0.5px;
56
56
  border-radius: 1px;
57
57
  top: anchor(top);
@@ -1683,7 +1683,7 @@ ${fallback_html}`;
1683
1683
 
1684
1684
  <style>
1685
1685
  .svedit-canvas {
1686
- caret-color: var(--svedit-caret-color);
1686
+ caret-color: var(--editing);
1687
1687
  caret-shape: bar;
1688
1688
  /* Default to vertical/ column flow with: --row: 0; (the most common case)
1689
1689
  Prevents silent failures when developers forget to set the row property in their top level node component.
@@ -1699,7 +1699,7 @@ ${fallback_html}`;
1699
1699
  the :where(), but the wrapper zeroes its specificity contribution.
1700
1700
  Final specificity is just (0,0,1), trivially beatable. */
1701
1701
  :where(.svedit-canvas) :global(::selection) {
1702
- background: var(--svedit-editing-fill);
1702
+ background: var(--editing-muted);
1703
1703
  }
1704
1704
 
1705
1705
  @media not (pointer: coarse) {
@@ -186,9 +186,9 @@
186
186
  display: inline-block;
187
187
  /* we use box-shadow to draw the caret shape, matching the native caret */
188
188
  box-shadow:
189
- 0 -0.4cap 0 0.65px var(--svedit-caret-color, AccentColor),
190
- 0 0 0 0.65px var(--svedit-caret-color, AccentColor),
191
- 0 0.4cap 0 0.65px var(--svedit-caret-color, AccentColor);
189
+ 0 -0.4cap 0 0.65px var(--editing, AccentColor),
190
+ 0 0 0 0.65px var(--editing, AccentColor),
191
+ 0 0.4cap 0 0.65px var(--editing, AccentColor);
192
192
  animation: var(
193
193
  --node-caret-animation,
194
194
  node-caret-blink var(--node-caret-blink-duration, 1.1s) ease-in-out infinite
@@ -207,12 +207,12 @@
207
207
 
208
208
  /* Dim the selection highlight when canvas loses native focus */
209
209
  :global(.svedit-canvas:not(:focus-within)) .selection-highlight {
210
- background: oklch(from var(--svedit-editing-fill) l 0 h / alpha);
210
+ background: oklch(from var(--editing-muted) l 0 h / alpha);
211
211
  }
212
212
 
213
213
  /* Make a collapsed caret visible */
214
214
  :global(.svedit-canvas:not(:focus-within)) .selection-highlight:empty {
215
215
  background: none;
216
- outline: 0.5px solid oklch(from var(--svedit-editing-stroke) l 0 h / alpha);
216
+ outline: 0.5px solid oklch(from var(--editing) l 0 h / alpha);
217
217
  }
218
218
  </style>
package/dist/index.d.ts CHANGED
@@ -9,7 +9,7 @@ export { default as NodeCaret } from './NodeCaret.svelte';
9
9
  export { default as NodeSelectionMarkers } from './NodeSelectionMarkers.svelte';
10
10
  export { default as Session } from './Session.svelte.js';
11
11
  export { default as Transaction } from './Transaction.svelte.js';
12
- export type { DocumentSchema, NodeSchema, NodeKind, PropertyDefinition, PropertyType, PropertyValue, NodeOfType, AnyNode, NodeMap, DynamicRecord, SessionConfig, CommandRegistry, DocumentOperation, Inspection, Document, DocumentNode, DocumentPath, NodeId, Text, NodeArray, Attachment, Mark, Annotation, Selection, TextSelection, NodeSelection, PropertySelection, SelectionRange, SveditProps, SveditContext, TextPropertyProps, CustomPropertyProps, NodeArrayPropertyProps, NodeProps, NodeArrayAttachmentContext } from './types.js';
12
+ export type { DocumentSchema, NodeSchema, NodeKind, PropertyDefinition, PropertyType, PropertyValue, NodeOfType, AnyNode, NodeMap, DynamicRecord, SessionConfig, CommandRegistry, DocumentOperation, Inspection, Document, DocumentNode, DocumentPath, NodeId, Text, NodeArray, Attachment, Mark, Annotation, Selection, TextSelection, NodeSelection, PropertySelection, SelectionRange, SveditProps, SveditContext, TextPropertyProps, CustomPropertyProps, NodeArrayPropertyProps, NodeGapToolsProps, NodeProps, NodeArrayAttachmentContext } from './types.js';
13
13
  export type { SelectedAttachment } from './doc_utils.js';
14
14
  export type { Keymap } from './KeyMapper.svelte.js';
15
15
  export { define_document_schema, is_primitive_type, get_default_node_type, get_property_default, fill_node_defaults, fill_document_defaults, validate_document_schema, validate_document, validate_node, get_referencing_node_ids } from './doc_utils.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAGhF,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGjE,YAAY,EAEX,cAAc,EACd,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,YAAY,EAEZ,aAAa,EACb,UAAU,EACV,OAAO,EACP,OAAO,EACP,aAAa,EACb,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,UAAU,EAEV,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,MAAM,EAEN,IAAI,EACJ,SAAS,EACT,UAAU,EACV,IAAI,EACJ,UAAU,EAEV,SAAS,EACT,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,cAAc,EAEd,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,SAAS,EACT,0BAA0B,EAC1B,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,YAAY,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EACN,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,aAAa,EACb,wBAAwB,EACxB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACzD,cAAc,qBAAqB,CAAC;AAGpC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGjE,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAGhF,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGjE,YAAY,EAEX,cAAc,EACd,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,YAAY,EAEZ,aAAa,EACb,UAAU,EACV,OAAO,EACP,OAAO,EACP,aAAa,EACb,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,UAAU,EAEV,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,MAAM,EAEN,IAAI,EACJ,SAAS,EACT,UAAU,EACV,IAAI,EACJ,UAAU,EAEV,SAAS,EACT,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,cAAc,EAEd,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,SAAS,EACT,0BAA0B,EAC1B,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,YAAY,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EACN,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,aAAa,EACb,wBAAwB,EACxB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACzD,cAAc,qBAAqB,CAAC;AAGpC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGjE,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC"}
@@ -1,9 +1,12 @@
1
1
  @layer svedit-defaults {
2
2
  :root {
3
- --svedit-brand: oklch(60% 0.22 283);
4
- --svedit-editing-stroke: var(--svedit-brand);
5
- --svedit-editing-fill: oklch(from var(--svedit-brand) l c h / 0.1);
6
- --svedit-canvas-stroke: color-mix(in oklch, currentColor 25%, transparent);
7
- --svedit-caret-color: var(--svedit-brand);
3
+ /* Primary accent for active editing controls, carets, and selections. */
4
+ --editing: oklch(60% 0.22 283);
5
+ /* Low-opacity version of the editing accent for passive highlights. */
6
+ --editing-muted: oklch(from var(--editing) l c h / 0.1);
7
+ /* Low-emphasis strokes and outlines, such as inactive node gaps. */
8
+ --editing-stroke: color-mix(in oklch, currentColor 25%, transparent);
9
+ /* Foreground color for content displayed on the editing accent. */
10
+ --editing-foreground: oklch(100% 0 0);
8
11
  }
9
12
  }
package/dist/types.d.ts CHANGED
@@ -364,6 +364,23 @@ export type NodeArrayPropertyProps = {
364
364
  /** Rest props to spread onto the rendered element (e.g. href, target, etc.) */
365
365
  [key: string]: unknown;
366
366
  };
367
+ /**
368
+ * Props passed to the consumer's `system_components.node_gap_tools`
369
+ * component. It renders inside the active node gap marker (the one carrying
370
+ * the caret), so it inherits the `--row` orientation variable and
371
+ * appears/disappears together with the caret. The marker has
372
+ * pointer-events: none — interactive tools must set pointer-events: auto.
373
+ */
374
+ export type NodeGapToolsProps = {
375
+ /** The full path to the node_array the gap belongs to */
376
+ path: DocumentPath;
377
+ /** The insertion offset of the gap (0..count) */
378
+ offset: number;
379
+ /** True for the gap before the first node */
380
+ is_first: boolean;
381
+ /** True for the gap after the last node */
382
+ is_last: boolean;
383
+ };
367
384
  /**
368
385
  * Props for the Node component
369
386
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/lib/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/lib/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "svedit",
3
- "version": "0.13.0",
3
+ "version": "0.14.0",
4
+ "homepage": "https://svedit.dev",
4
5
  "license": "MIT",
5
6
  "files": [
6
7
  "dist",
@@ -30,7 +30,7 @@
30
30
  --_cp: var(--node-caret-row-inline-position, 50%);
31
31
  content: '';
32
32
  position: absolute;
33
- background: var(--node-caret-bg, var(--svedit-editing-stroke));
33
+ background: var(--node-caret-bg, var(--editing));
34
34
  /* Increase the visibility of the caret by contrasting it with a box shadow that's the inverted brightness of the current text color. */
35
35
  /* Component developers must set their background color and text color on the node itself, not a child element, for this to work. */
36
36
  box-shadow: var(--node-caret-shadow, 0 0 0 0.5px oklch(from currentColor calc(1 - l) c h));
@@ -27,11 +27,20 @@
27
27
  * Reads visibility state directly from the registry. SvelteSet's per-key
28
28
  * tracking on `.has()` and iteration means this component only
29
29
  * re-evaluates when THIS array's visible-index set changes.
30
+ *
31
+ * The active marker (the one carrying the caret) additionally renders the
32
+ * consumer's `system_components.node_gap_tools` component when configured
33
+ * — an extension point for gap-scoped tools (e.g. an insert button).
34
+ * Rendering inside the marker means the tool inherits --row for
35
+ * orientation-aware styling and shows/hides together with the caret.
36
+ * The marker has pointer-events: none — interactive tools must set
37
+ * pointer-events: auto themselves.
30
38
  */
31
39
 
32
40
  let { path, count }: { path: DocumentPath; count: number } = $props();
33
41
 
34
42
  const svedit = getContext<SveditRenderContext>('svedit');
43
+ let NodeGapTools = $derived(svedit.session.config.system_components?.node_gap_tools);
35
44
  let path_str = $derived(serialize_path(path));
36
45
  let visible = $derived(svedit.visibility_registry.get_array_indices(path_str));
37
46
 
@@ -163,6 +172,9 @@
163
172
  >
164
173
  {#if gap.key === caret_gap_key}
165
174
  <NodeCaret />
175
+ {#if NodeGapTools}
176
+ <NodeGapTools {path} offset={gap.offset} is_first={gap.is_first} is_last={gap.is_last} />
177
+ {/if}
166
178
  {/if}
167
179
  </div>
168
180
  {/each}
@@ -170,6 +182,7 @@
170
182
  <style>
171
183
  /*
172
184
  * Public customization tokens (set on an ancestor or this component):
185
+ * --editing-stroke
173
186
  * --node-caret-gap-color
174
187
  * --node-caret-symbol-size
175
188
  * --node-caret-symbol-stroke
@@ -611,8 +624,8 @@
611
624
  calc(var(--_mi) + var(--_R) * 9999999px),
612
625
  calc(50% + var(--_C) * 9999999px)
613
626
  );
614
- border-top: calc(var(--_C) * 1px) dashed var(--node-caret-gap-color, var(--svedit-canvas-stroke));
615
- border-left: calc(var(--_R) * 1px) dashed var(--node-caret-gap-color, var(--svedit-canvas-stroke));
627
+ border-top: calc(var(--_C) * 1px) dashed var(--node-caret-gap-color, var(--editing-stroke));
628
+ border-left: calc(var(--_R) * 1px) dashed var(--node-caret-gap-color, var(--editing-stroke));
616
629
  transform:
617
630
  translateY(calc(var(--_C) * -0.5px))
618
631
  translateX(calc(var(--_R) * -0.5px));
@@ -626,7 +639,7 @@
626
639
  /* Empty array marker (dashed outline for discoverability). */
627
640
  &.gap-empty::before {
628
641
  inset: 0px;
629
- border: var(--node-caret-empty-border, 1px dashed var(--node-caret-gap-color, var(--svedit-canvas-stroke)));
642
+ border: var(--node-caret-empty-border, 1px dashed var(--node-caret-gap-color, var(--editing-stroke)));
630
643
  border-radius: var(--node-caret-empty-border-radius, 3px);
631
644
  }
632
645
 
@@ -639,7 +652,7 @@
639
652
  top: 50%;
640
653
  left: 50%;
641
654
  transform: translate(-50%, -50%);
642
- background: var(--node-caret-symbol-bg, var(--node-caret-gap-color, var(--svedit-canvas-stroke)));
655
+ background: var(--node-caret-symbol-bg, var(--node-caret-gap-color, var(--editing-stroke)));
643
656
  mask: var(--node-caret-symbol-mask,
644
657
  linear-gradient(black, black) center / 100% var(--node-caret-symbol-stroke, 1px) no-repeat,
645
658
  linear-gradient(black, black) center / var(--node-caret-symbol-stroke, 1px) 100% no-repeat
@@ -50,8 +50,8 @@
50
50
  Performance note: outlines don't participate in layout, so
51
51
  selection changes can't trigger reflows. */
52
52
  position: absolute;
53
- background: var(--svedit-editing-fill);
54
- outline: 1px solid var(--svedit-editing-stroke);
53
+ background: var(--editing-muted);
54
+ outline: 1px solid var(--editing);
55
55
  outline-offset: -0.5px;
56
56
  border-radius: 1px;
57
57
  top: anchor(top);
@@ -1683,7 +1683,7 @@ ${fallback_html}`;
1683
1683
 
1684
1684
  <style>
1685
1685
  .svedit-canvas {
1686
- caret-color: var(--svedit-caret-color);
1686
+ caret-color: var(--editing);
1687
1687
  caret-shape: bar;
1688
1688
  /* Default to vertical/ column flow with: --row: 0; (the most common case)
1689
1689
  Prevents silent failures when developers forget to set the row property in their top level node component.
@@ -1699,7 +1699,7 @@ ${fallback_html}`;
1699
1699
  the :where(), but the wrapper zeroes its specificity contribution.
1700
1700
  Final specificity is just (0,0,1), trivially beatable. */
1701
1701
  :where(.svedit-canvas) :global(::selection) {
1702
- background: var(--svedit-editing-fill);
1702
+ background: var(--editing-muted);
1703
1703
  }
1704
1704
 
1705
1705
  @media not (pointer: coarse) {
@@ -186,9 +186,9 @@
186
186
  display: inline-block;
187
187
  /* we use box-shadow to draw the caret shape, matching the native caret */
188
188
  box-shadow:
189
- 0 -0.4cap 0 0.65px var(--svedit-caret-color, AccentColor),
190
- 0 0 0 0.65px var(--svedit-caret-color, AccentColor),
191
- 0 0.4cap 0 0.65px var(--svedit-caret-color, AccentColor);
189
+ 0 -0.4cap 0 0.65px var(--editing, AccentColor),
190
+ 0 0 0 0.65px var(--editing, AccentColor),
191
+ 0 0.4cap 0 0.65px var(--editing, AccentColor);
192
192
  animation: var(
193
193
  --node-caret-animation,
194
194
  node-caret-blink var(--node-caret-blink-duration, 1.1s) ease-in-out infinite
@@ -207,12 +207,12 @@
207
207
 
208
208
  /* Dim the selection highlight when canvas loses native focus */
209
209
  :global(.svedit-canvas:not(:focus-within)) .selection-highlight {
210
- background: oklch(from var(--svedit-editing-fill) l 0 h / alpha);
210
+ background: oklch(from var(--editing-muted) l 0 h / alpha);
211
211
  }
212
212
 
213
213
  /* Make a collapsed caret visible */
214
214
  :global(.svedit-canvas:not(:focus-within)) .selection-highlight:empty {
215
215
  background: none;
216
- outline: 0.5px solid oklch(from var(--svedit-editing-stroke) l 0 h / alpha);
216
+ outline: 0.5px solid oklch(from var(--editing) l 0 h / alpha);
217
217
  }
218
218
  </style>
package/src/lib/index.ts CHANGED
@@ -54,6 +54,7 @@ export type {
54
54
  TextPropertyProps,
55
55
  CustomPropertyProps,
56
56
  NodeArrayPropertyProps,
57
+ NodeGapToolsProps,
57
58
  NodeProps,
58
59
  NodeArrayAttachmentContext
59
60
  } from './types.js';
@@ -1,9 +1,12 @@
1
1
  @layer svedit-defaults {
2
2
  :root {
3
- --svedit-brand: oklch(60% 0.22 283);
4
- --svedit-editing-stroke: var(--svedit-brand);
5
- --svedit-editing-fill: oklch(from var(--svedit-brand) l c h / 0.1);
6
- --svedit-canvas-stroke: color-mix(in oklch, currentColor 25%, transparent);
7
- --svedit-caret-color: var(--svedit-brand);
3
+ /* Primary accent for active editing controls, carets, and selections. */
4
+ --editing: oklch(60% 0.22 283);
5
+ /* Low-opacity version of the editing accent for passive highlights. */
6
+ --editing-muted: oklch(from var(--editing) l c h / 0.1);
7
+ /* Low-emphasis strokes and outlines, such as inactive node gaps. */
8
+ --editing-stroke: color-mix(in oklch, currentColor 25%, transparent);
9
+ /* Foreground color for content displayed on the editing accent. */
10
+ --editing-foreground: oklch(100% 0 0);
8
11
  }
9
12
  }
package/src/lib/types.ts CHANGED
@@ -458,6 +458,24 @@ export type NodeArrayPropertyProps = {
458
458
  [key: string]: unknown;
459
459
  };
460
460
 
461
+ /**
462
+ * Props passed to the consumer's `system_components.node_gap_tools`
463
+ * component. It renders inside the active node gap marker (the one carrying
464
+ * the caret), so it inherits the `--row` orientation variable and
465
+ * appears/disappears together with the caret. The marker has
466
+ * pointer-events: none — interactive tools must set pointer-events: auto.
467
+ */
468
+ export type NodeGapToolsProps = {
469
+ /** The full path to the node_array the gap belongs to */
470
+ path: DocumentPath;
471
+ /** The insertion offset of the gap (0..count) */
472
+ offset: number;
473
+ /** True for the gap before the first node */
474
+ is_first: boolean;
475
+ /** True for the gap after the last node */
476
+ is_last: boolean;
477
+ };
478
+
461
479
  /**
462
480
  * Props for the Node component
463
481
  */