From f3ed2d673f323f7abe548bd06c9951bca4b02127 Mon Sep 17 00:00:00 2001 From: Alex Lohr Date: Fri, 14 Feb 2025 17:24:08 +0100 Subject: [PATCH 1/2] fix: selection contenteditable node detection --- packages/selection/dev/index.tsx | 5 +++++ packages/selection/src/index.ts | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/selection/dev/index.tsx b/packages/selection/dev/index.tsx index be733c061..5ce34e69b 100644 --- a/packages/selection/dev/index.tsx +++ b/packages/selection/dev/index.tsx @@ -34,6 +34,11 @@ const App: Component = () => {
te st +
diff --git a/packages/selection/src/index.ts b/packages/selection/src/index.ts index d6a792039..15a1112ed 100644 --- a/packages/selection/src/index.ts +++ b/packages/selection/src/index.ts @@ -17,7 +17,7 @@ export const getTextNodes = (startNode: Node) => { const addNodeLength = (length: number, node: Node) => length + (node as Text).data.length; const getRangePos = (container: Node, offset: number, texts: Node[]) => { - const index = texts.indexOf(container); + const index = texts.findIndex((text) => text === container || text.parentElement === container); return index === -1 ? NaN : texts.slice(0, index).reduce(addNodeLength, 0) + offset; }; From 4ddea6968665f811fe7c86509b4630625699d501 Mon Sep 17 00:00:00 2001 From: Damian Tarnawski Date: Sat, 15 Feb 2025 21:49:40 +0100 Subject: [PATCH 2/2] Create light-boxes-cough.md --- .changeset/light-boxes-cough.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/light-boxes-cough.md diff --git a/.changeset/light-boxes-cough.md b/.changeset/light-boxes-cough.md new file mode 100644 index 000000000..2ec1ddefc --- /dev/null +++ b/.changeset/light-boxes-cough.md @@ -0,0 +1,5 @@ +--- +"@solid-primitives/selection": patch +--- + +fix: selection contenteditable node detection