From 06b14f64d7cbb0f612fda756718afbeae1aeea7e Mon Sep 17 00:00:00 2001 From: Jonas Carlsen Date: Tue, 18 Feb 2025 15:00:48 +0100 Subject: [PATCH] feat: getClosestEditor --- packages/editor-components/src/index.ts | 1 + .../editor-components/src/utils/getClosestEditor.ts | 11 +++++++++++ 2 files changed, 12 insertions(+) create mode 100644 packages/editor-components/src/utils/getClosestEditor.ts diff --git a/packages/editor-components/src/index.ts b/packages/editor-components/src/index.ts index e62a851073..11fa44dd9e 100644 --- a/packages/editor-components/src/index.ts +++ b/packages/editor-components/src/index.ts @@ -14,3 +14,4 @@ export { useListToolbarButton, useListToolbarButtonState } from "./hooks/useList export { useMarkToolbarButton, useMarkToolbarButtonState } from "./hooks/useMarkToolbarButton"; export { platformSpecificTooltip } from "./utils/platformSpecificTooltip"; +export { getClosestEditor } from "./utils/getClosestEditor"; diff --git a/packages/editor-components/src/utils/getClosestEditor.ts b/packages/editor-components/src/utils/getClosestEditor.ts new file mode 100644 index 0000000000..ec653eb2c7 --- /dev/null +++ b/packages/editor-components/src/utils/getClosestEditor.ts @@ -0,0 +1,11 @@ +/** + * Copyright (c) 2025-present, NDLA. + * + * This source code is licensed under the GPLv3 license found in the + * LICENSE file in the root directory of this source tree. + * + */ + +export const getClosestEditor = (el: HTMLElement | null): HTMLElement | null => { + return el?.closest("[data-slate-editor]") as HTMLElement | null; +};