c9e870f93e538ec3df61ceb031ae9351.json
4.8 KB
{"ast":null,"code":"import { useRef, useEffect, forwardRef, useImperativeHandle } from 'react';\nimport ReactDOM from 'react-dom';\nimport canUseDom from './Dom/canUseDom';\nvar Portal = forwardRef(function (props, ref) {\n var didUpdate = props.didUpdate,\n getContainer = props.getContainer,\n children = props.children;\n var containerRef = useRef(); // Ref return nothing, only for wrapper check exist\n\n useImperativeHandle(ref, function () {\n return {};\n }); // Create container in client side with sync to avoid useEffect not get ref\n\n var initRef = useRef(false);\n\n if (!initRef.current && canUseDom()) {\n containerRef.current = getContainer();\n initRef.current = true;\n } // [Legacy] Used by `rc-trigger`\n\n\n useEffect(function () {\n didUpdate === null || didUpdate === void 0 ? void 0 : didUpdate(props);\n });\n useEffect(function () {\n return function () {\n var _containerRef$current, _containerRef$current2; // [Legacy] This should not be handle by Portal but parent PortalWrapper instead.\n // Since some component use `Portal` directly, we have to keep the logic here.\n\n\n (_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : (_containerRef$current2 = _containerRef$current.parentNode) === null || _containerRef$current2 === void 0 ? void 0 : _containerRef$current2.removeChild(containerRef.current);\n };\n }, []);\n return containerRef.current ? ReactDOM.createPortal(children, containerRef.current) : null;\n});\nexport default Portal;","map":{"version":3,"sources":["C:/Users/kkwan_000/Desktop/git/2017110269/minsung/node_modules/rc-util/es/Portal.js"],"names":["useRef","useEffect","forwardRef","useImperativeHandle","ReactDOM","canUseDom","Portal","props","ref","didUpdate","getContainer","children","containerRef","initRef","current","_containerRef$current","_containerRef$current2","parentNode","removeChild","createPortal"],"mappings":"AAAA,SAASA,MAAT,EAAiBC,SAAjB,EAA4BC,UAA5B,EAAwCC,mBAAxC,QAAmE,OAAnE;AACA,OAAOC,QAAP,MAAqB,WAArB;AACA,OAAOC,SAAP,MAAsB,iBAAtB;AACA,IAAIC,MAAM,GAAGJ,UAAU,CAAC,UAAUK,KAAV,EAAiBC,GAAjB,EAAsB;AAC5C,MAAIC,SAAS,GAAGF,KAAK,CAACE,SAAtB;AAAA,MACIC,YAAY,GAAGH,KAAK,CAACG,YADzB;AAAA,MAEIC,QAAQ,GAAGJ,KAAK,CAACI,QAFrB;AAGA,MAAIC,YAAY,GAAGZ,MAAM,EAAzB,CAJ4C,CAIf;;AAE7BG,EAAAA,mBAAmB,CAACK,GAAD,EAAM,YAAY;AACnC,WAAO,EAAP;AACD,GAFkB,CAAnB,CAN4C,CAQxC;;AAEJ,MAAIK,OAAO,GAAGb,MAAM,CAAC,KAAD,CAApB;;AAEA,MAAI,CAACa,OAAO,CAACC,OAAT,IAAoBT,SAAS,EAAjC,EAAqC;AACnCO,IAAAA,YAAY,CAACE,OAAb,GAAuBJ,YAAY,EAAnC;AACAG,IAAAA,OAAO,CAACC,OAAR,GAAkB,IAAlB;AACD,GAf2C,CAe1C;;;AAGFb,EAAAA,SAAS,CAAC,YAAY;AACpBQ,IAAAA,SAAS,KAAK,IAAd,IAAsBA,SAAS,KAAK,KAAK,CAAzC,GAA6C,KAAK,CAAlD,GAAsDA,SAAS,CAACF,KAAD,CAA/D;AACD,GAFQ,CAAT;AAGAN,EAAAA,SAAS,CAAC,YAAY;AACpB,WAAO,YAAY;AACjB,UAAIc,qBAAJ,EAA2BC,sBAA3B,CADiB,CAGjB;AACA;;;AACA,OAACD,qBAAqB,GAAGH,YAAY,CAACE,OAAtC,MAAmD,IAAnD,IAA2DC,qBAAqB,KAAK,KAAK,CAA1F,GAA8F,KAAK,CAAnG,GAAuG,CAACC,sBAAsB,GAAGD,qBAAqB,CAACE,UAAhD,MAAgE,IAAhE,IAAwED,sBAAsB,KAAK,KAAK,CAAxG,GAA4G,KAAK,CAAjH,GAAqHA,sBAAsB,CAACE,WAAvB,CAAmCN,YAAY,CAACE,OAAhD,CAA5N;AACD,KAND;AAOD,GARQ,EAQN,EARM,CAAT;AASA,SAAOF,YAAY,CAACE,OAAb,GAAuBV,QAAQ,CAACe,YAAT,CAAsBR,QAAtB,EAAgCC,YAAY,CAACE,OAA7C,CAAvB,GAA+E,IAAtF;AACD,CA/BsB,CAAvB;AAgCA,eAAeR,MAAf","sourcesContent":["import { useRef, useEffect, forwardRef, useImperativeHandle } from 'react';\nimport ReactDOM from 'react-dom';\nimport canUseDom from './Dom/canUseDom';\nvar Portal = forwardRef(function (props, ref) {\n var didUpdate = props.didUpdate,\n getContainer = props.getContainer,\n children = props.children;\n var containerRef = useRef(); // Ref return nothing, only for wrapper check exist\n\n useImperativeHandle(ref, function () {\n return {};\n }); // Create container in client side with sync to avoid useEffect not get ref\n\n var initRef = useRef(false);\n\n if (!initRef.current && canUseDom()) {\n containerRef.current = getContainer();\n initRef.current = true;\n } // [Legacy] Used by `rc-trigger`\n\n\n useEffect(function () {\n didUpdate === null || didUpdate === void 0 ? void 0 : didUpdate(props);\n });\n useEffect(function () {\n return function () {\n var _containerRef$current, _containerRef$current2;\n\n // [Legacy] This should not be handle by Portal but parent PortalWrapper instead.\n // Since some component use `Portal` directly, we have to keep the logic here.\n (_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : (_containerRef$current2 = _containerRef$current.parentNode) === null || _containerRef$current2 === void 0 ? void 0 : _containerRef$current2.removeChild(containerRef.current);\n };\n }, []);\n return containerRef.current ? ReactDOM.createPortal(children, containerRef.current) : null;\n});\nexport default Portal;"]},"metadata":{},"sourceType":"module"}