import React, { FC, HTMLAttributes, Children, useState, useEffect, useRef, createContext, useMemo, startTransition, ReactNode } from "react"; import { Padding } from "../../index"; import { getCN } from '../utils' import './ModalPage.css' interface IModalPage extends HTMLAttributes { id: string, autoPadding?: boolean header?: ReactNode | string; background?: boolean; fullWidth?: boolean; ref?: React.RefObject; }; const ModalPage: FC = ({ id, children, autoPadding = true, header, background = true, fullWidth = false, ref = React.useRef(null), ...restProps }) => { // const [size, setSize] = React.useState(); // const resizeHandler = () => { // if (ref.current) { // const { offsetHeight, clientWidth } = ref.current; // setSize(offsetHeight); // } // }; // useEffect(() => { // resizeHandler(); // }, [ // ref.current, // ref.current && ref.current.offsetHeight, // children, // ref // ]); // useEffect(() => { // bindImagesOnload(ref.current, function () { // resizeHandler() // }); // }, [children]) return {header && {header}} e.stopPropagation()} onTouchMove={(e) => e.stopPropagation()} > {children} } const bindImagesOnload = (node: any, fn: () => void) => { var imgs = node.getElementsByTagName("img"), length = imgs.length; var onload = () => fn(); for (var i = 0; i < length; i++) imgs[i].onload = onload; } export default ModalPage;