Skip to content

SaxonJS 3 result-document methods, and the caret survives clicks between blocks - #30

Open
namedgraph wants to merge 2 commits into
canonical-fidelityfrom
result-document-and-canvas-caret
Open

SaxonJS 3 result-document methods, and the caret survives clicks between blocks#30
namedgraph wants to merge 2 commits into
canonical-fidelityfrom
result-document-and-canvas-caret

Conversation

@namedgraph

Copy link
Copy Markdown
Member

Backports the two pending LinkedDataHub changes to the editor sources.

SaxonJS 3 result-document methods (blocks.xsl, edit.xsl): xsl:result-document with ixsl:replace-element, ixsl:replace-content and ixsl:insert-after replaces the DOM workarounds that emulated them (innerHTML + serialize(..., method: html) staging, ixsl:call append/after plumbing).

Caret placement on non-editable canvas (edit.xsl, select.xsl): the region gets tabindex="-1" as the canvas' focusable floor, and a press that lands outside every editable host (the surface between blocks, the handle gutter, a structural container's own box) focuses the nearest host and places the caret at the point instead of dropping focus out of the editor.

Dialog buttons keep this repo's btn-* classes (styled by overlay.css); the ldhc-btn design-system classes stay a LinkedDataHub-side adaptation.

Based on #29, which the backported files build on — merge that first. Headless suites pass on the result (52/52).

🤖 Generated with Claude Code

https://claude.ai/code/session_01DfCWF1dExp6zyLrdfrAsZ4

namedgraph and others added 2 commits September 4, 2026 15:10
… DOM workarounds they emulate

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DfCWF1dExp6zyLrdfrAsZ4
… the editor

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DfCWF1dExp6zyLrdfrAsZ4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant