From e5e4ad4f06859cd03c081d91ecb26fa260b055fd Mon Sep 17 00:00:00 2001 From: BearToCode Date: Tue, 14 Nov 2023 18:44:18 +0100 Subject: [PATCH 001/112] feat: better caret-bounded components positioning --- packages/plugin-emoji/package.json | 2 +- packages/plugin-emoji/src/lib/Emoji.svelte | 11 +---------- packages/plugin-slash/package.json | 2 +- packages/plugin-slash/src/lib/Slash.svelte | 16 ++-------------- 4 files changed, 5 insertions(+), 26 deletions(-) diff --git a/packages/plugin-emoji/package.json b/packages/plugin-emoji/package.json index ca11132..35f5779 100644 --- a/packages/plugin-emoji/package.json +++ b/packages/plugin-emoji/package.json @@ -36,7 +36,7 @@ "node-emoji": "^1.11.0" }, "peerDependencies": { - "carta-md": "^3.0.0", + "carta-md": "^3.1.0", "marked": "^9.1.5", "svelte": "^3.54.0 || ^4.0.0" }, diff --git a/packages/plugin-emoji/src/lib/Emoji.svelte b/packages/plugin-emoji/src/lib/Emoji.svelte index 7ff9a23..0f910b1 100644 --- a/packages/plugin-emoji/src/lib/Emoji.svelte +++ b/packages/plugin-emoji/src/lib/Emoji.svelte @@ -12,7 +12,6 @@ export let outTransition: (node: Element) => TransitionConfig; let visible = false; - let caretPosition = { left: 0, right: 0, top: 0, bottom: 0 }; let filter = ''; let colonPosition = 0; let hoveringIndex = 0; @@ -75,7 +74,6 @@ } else if (e.key === ':') { // Open visible = true; - caretPosition = carta.input.getCursorXY(); colonPosition = carta.input.textarea.selectionStart; filter = ''; } @@ -107,14 +105,6 @@ carta.input.update(); } - $: { - if (elem) { - // Make statement reactive - caretPosition, elem.clientWidth, elem.clientHeight; - carta.input?.moveElemToCaret(elem); - } - } - $: { // Scroll to make hovering emoji always visible const hovering = emojisElements.at(hoveringIndex); @@ -135,6 +125,7 @@ bind:this={elem} in:inTransition out:outTransition + use:carta.bindToCaret > {#each emojis as emoji, i} + + + + +
+
+
+
+