diff options
Diffstat (limited to 'packages/taler-wallet-webextension/src/mui/Portal.tsx')
-rw-r--r-- | packages/taler-wallet-webextension/src/mui/Portal.tsx | 65 |
1 files changed, 41 insertions, 24 deletions
diff --git a/packages/taler-wallet-webextension/src/mui/Portal.tsx b/packages/taler-wallet-webextension/src/mui/Portal.tsx index 828a574fd..f9be021f0 100644 --- a/packages/taler-wallet-webextension/src/mui/Portal.tsx +++ b/packages/taler-wallet-webextension/src/mui/Portal.tsx @@ -1,3 +1,19 @@ +/* + This file is part of GNU Taler + (C) 2022 Taler Systems S.A. + + GNU Taler is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> + */ + import { css } from "@linaria/core"; import { createPortal, forwardRef } from "preact/compat"; import { @@ -26,7 +42,7 @@ const baseStyle = css` `; interface Props { - class: string; + // class: string; children: ComponentChildren; disablePortal?: boolean; container?: VNode; @@ -39,10 +55,11 @@ export const Portal = forwardRef(function Portal( const [mountNode, setMountNode] = useState<HTMLElement | undefined>( undefined, ); - const handleRef = useForkRef( - isValidElement(children) ? children.ref : null, - ref, - ); + const handleRef = null; + // useForkRef( + // isValidElement(children) ? children.ref : null, + // ref, + // ); useEffect(() => { if (!disablePortal) { @@ -81,25 +98,25 @@ function getContainer(container: any): any { return typeof container === "function" ? container() : container; } -function useForkRef<Instance>( - refA: React.Ref<Instance> | null | undefined, - refB: React.Ref<Instance> | null | undefined, -): React.Ref<Instance> | null { - /** - * This will create a new function if the ref props change and are defined. - * This means react will call the old forkRef with `null` and the new forkRef - * with the ref. Cleanup naturally emerges from this behavior. - */ - return useMemo(() => { - if (refA == null && refB == null) { - return null; - } - return (refValue) => { - setRef(refA, refValue); - setRef(refB, refValue); - }; - }, [refA, refB]); -} +// function useForkRef<Instance>( +// refA: React.Ref<Instance> | null | undefined, +// refB: React.Ref<Instance> | null | undefined, +// ): React.Ref<Instance> | null { +// /** +// * This will create a new function if the ref props change and are defined. +// * This means react will call the old forkRef with `null` and the new forkRef +// * with the ref. Cleanup naturally emerges from this behavior. +// */ +// return useMemo(() => { +// if (refA == null && refB == null) { +// return null; +// } +// return (refValue) => { +// setRef(refA, refValue); +// setRef(refB, refValue); +// }; +// }, [refA, refB]); +// } function setRef<T>( ref: RefObject<T | null> | ((instance: T | null) => void) | null | undefined, |