fix: avoid calling getRootNode
This commit is contained in:
parent
82b1f7fabc
commit
76e6c5a872
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue