From 0efcfc4d394891712661158c5e3f200dfa80b13b Mon Sep 17 00:00:00 2001 From: Nolan Lawson Date: Sat, 16 Dec 2023 18:54:22 -0800 Subject: [PATCH] fix: fix issue with safari 12 --- src/picker/components/Picker/Picker.js | 4 +++- src/picker/components/Picker/PickerTemplate.js | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/picker/components/Picker/Picker.js b/src/picker/components/Picker/Picker.js index d3e48f2d..643e87f8 100644 --- a/src/picker/components/Picker/Picker.js +++ b/src/picker/components/Picker/Picker.js @@ -182,8 +182,10 @@ export function createRoot (target, props) { calculateEmojiGridStyle } + let firstRender = true createEffect(() => { - render(target, state, helpers, events, actions, refs, abortSignal) + render(target, state, helpers, events, actions, refs, abortSignal, firstRender) + firstRender = false }) // diff --git a/src/picker/components/Picker/PickerTemplate.js b/src/picker/components/Picker/PickerTemplate.js index f09401be..41cf8ae8 100644 --- a/src/picker/components/Picker/PickerTemplate.js +++ b/src/picker/components/Picker/PickerTemplate.js @@ -1,6 +1,6 @@ import { createFramework } from './framework.js' -export function render (container, state, helpers, events, actions, refs, abortSignal) { +export function render (container, state, helpers, events, actions, refs, abortSignal, firstRender) { const { labelWithSkin, titleForEmoji, unicodeWithSkin } = helpers const { html, map } = createFramework(state) @@ -221,7 +221,7 @@ export function render (container, state, helpers, events, actions, refs, abortS const rootDom = section() - if (rootDom.parentNode !== container) { // not a re-render + if (firstRender) { // not a re-render container.appendChild(rootDom) // we only bind events/refs/actions once - there is no need to find them again given this component structure