diff --git a/packages/base-modal/src/Component.tsx b/packages/base-modal/src/Component.tsx index 146886ae34..6c804e411f 100644 --- a/packages/base-modal/src/Component.tsx +++ b/packages/base-modal/src/Component.tsx @@ -197,8 +197,6 @@ export const BaseModalContext = React.createContext({ onClose: () => null, }); -const ResizeObserver = window.ResizeObserver || ResizeObserverPolyfill; - export const BaseModal = forwardRef( ( { @@ -258,7 +256,11 @@ export const BaseModal = forwardRef( return (container ? container() : document.body) as HTMLElement; }, [container]); - const resizeObserver = useMemo(() => new ResizeObserver(checkToHasScrollBar), []); + const resizeObserver = useMemo(() => { + const ResizeObserver = window?.ResizeObserver || ResizeObserverPolyfill; + + return new ResizeObserver(checkToHasScrollBar); + }, []); const addResizeHandle = useCallback(() => { if (scrollableNodeRef.current) resizeObserver.observe(scrollableNodeRef.current); diff --git a/packages/collapse/src/Component.tsx b/packages/collapse/src/Component.tsx index 3e519ab56b..57cab339bd 100644 --- a/packages/collapse/src/Component.tsx +++ b/packages/collapse/src/Component.tsx @@ -65,8 +65,6 @@ export type CollapseProps = { dataTestId?: string; }; -const ResizeObserver = window.ResizeObserver || ResizeObserverPolyfill; - export const Collapse = forwardRef( ( { @@ -127,6 +125,7 @@ export const Collapse = forwardRef( }, [recalculate]); useEffect(() => { + const ResizeObserver = window.ResizeObserver || ResizeObserverPolyfill; const observer = new ResizeObserver(recalculate); if (contentCaseRef.current) { observer.observe(contentCaseRef.current); diff --git a/packages/popover/src/Component.tsx b/packages/popover/src/Component.tsx index fa7a887ffd..5b5596b84c 100644 --- a/packages/popover/src/Component.tsx +++ b/packages/popover/src/Component.tsx @@ -175,8 +175,6 @@ const availableHieghtModifier = { }, }; -const ResizeObserver = window.ResizeObserver || ResizeObserverPolyfill; - /** * Минимальный размер anchorElement, * при котором возможно смещение стрелочки относительно центра @@ -290,6 +288,7 @@ export const Popover = forwardRef( useEffect(() => { if (useAnchorWidth) { + const ResizeObserver = window.ResizeObserver || ResizeObserverPolyfill; const observer = new ResizeObserver(updatePopoverWidth); if (anchorElement) { diff --git a/packages/select/src/components/base-select/Component.tsx b/packages/select/src/components/base-select/Component.tsx index 2ed28b6def..af4b681434 100644 --- a/packages/select/src/components/base-select/Component.tsx +++ b/packages/select/src/components/base-select/Component.tsx @@ -26,8 +26,6 @@ import { getDataTestId } from '../../../../utils/getDataTestId'; import styles from './index.module.css'; -const ResizeObserver = window.ResizeObserver || ResizeObserverPolyfill; - export const BaseSelect = forwardRef( ( { @@ -333,6 +331,7 @@ export const BaseSelect = forwardRef( }, [optionsListWidth]); useEffect(() => { + const ResizeObserver = window.ResizeObserver || ResizeObserverPolyfill; const observer = new ResizeObserver(calcOptionsListWidth); if (rootRef.current) { observer.observe(rootRef.current);