fix: avoid calling getRootNode

This commit is contained in:
Nolan Lawson 2024-02-17 08:53:06 -08:00
parent 82b1f7fabc
commit 76e6c5a872
1 changed files with 5 additions and 5 deletions

View File

@ -29,7 +29,7 @@ const EMPTY_ARRAY = []
const { assign } = Object
export function createRoot (target, props) {
export function createRoot (shadowRoot, props) {
const refs = {}
const abortController = new AbortController()
const abortSignal = abortController.signal
@ -91,9 +91,11 @@ export function createRoot (target, props) {
//
const focus = id => {
refs.rootElement.getRootNode().getElementById(id).focus()
shadowRoot.getElementById(id).focus()
}
const emojiToDomNode = emoji => shadowRoot.getElementById(`emo-${emoji.id}`)
// fire a custom event that crosses the shadow boundary
const fireEvent = (name, detail) => {
refs.rootElement.dispatchEvent(new CustomEvent(name, {
@ -184,7 +186,7 @@ export function createRoot (target, props) {
let firstRender = true
createEffect(() => {
render(target, state, helpers, events, actions, refs, abortSignal, firstRender)
render(shadowRoot, state, helpers, events, actions, refs, abortSignal, firstRender)
firstRender = false
})
@ -431,8 +433,6 @@ export function createRoot (target, props) {
})
function checkZwjSupportAndUpdate (zwjEmojisToCheck) {
const shadowRootNode = refs.rootElement.getRootNode()
const emojiToDomNode = emoji => shadowRootNode.getElementById(`emo-${emoji.id}`)
checkZwjSupport(zwjEmojisToCheck, refs.baselineEmoji, emojiToDomNode)
// force update
// eslint-disable-next-line no-self-assign