{"ast":null,"code":"import { getShadowRoot } from \"rc-util/es/Dom/shadow\";\nimport { warning } from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { getWin } from \"../util\";\nexport default function useWinClick(open, clickToHide, targetEle, popupEle, mask, maskClosable, inPopupOrChild, triggerOpen) {\n  var openRef = React.useRef(open);\n  openRef.current = open;\n\n  // Click to hide is special action since click popup element should not hide\n  React.useEffect(function () {\n    if (clickToHide && popupEle && (!mask || maskClosable)) {\n      var onTriggerClose = function onTriggerClose(_ref) {\n        var target = _ref.target;\n        if (openRef.current && !inPopupOrChild(target)) {\n          triggerOpen(false);\n        }\n      };\n      var win = getWin(popupEle);\n      win.addEventListener('mousedown', onTriggerClose, true);\n      win.addEventListener('contextmenu', onTriggerClose, true);\n\n      // shadow root\n      var targetShadowRoot = getShadowRoot(targetEle);\n      if (targetShadowRoot) {\n        targetShadowRoot.addEventListener('mousedown', onTriggerClose, true);\n        targetShadowRoot.addEventListener('contextmenu', onTriggerClose, true);\n      }\n\n      // Warning if target and popup not in same root\n      if (process.env.NODE_ENV !== 'production') {\n        var _targetEle$getRootNod, _popupEle$getRootNode;\n        var targetRoot = targetEle === null || targetEle === void 0 || (_targetEle$getRootNod = targetEle.getRootNode) === null || _targetEle$getRootNod === void 0 ? void 0 : _targetEle$getRootNod.call(targetEle);\n        var popupRoot = (_popupEle$getRootNode = popupEle.getRootNode) === null || _popupEle$getRootNode === void 0 ? void 0 : _popupEle$getRootNode.call(popupEle);\n        warning(targetRoot === popupRoot, \"trigger element and popup element should in same shadow root.\");\n      }\n      return function () {\n        win.removeEventListener('mousedown', onTriggerClose, true);\n        win.removeEventListener('contextmenu', onTriggerClose, true);\n        if (targetShadowRoot) {\n          targetShadowRoot.removeEventListener('mousedown', onTriggerClose, true);\n          targetShadowRoot.removeEventListener('contextmenu', onTriggerClose, true);\n        }\n      };\n    }\n  }, [clickToHide, targetEle, popupEle, mask, maskClosable]);\n}","map":{"version":3,"names":["getShadowRoot","warning","React","getWin","useWinClick","open","clickToHide","targetEle","popupEle","mask","maskClosable","inPopupOrChild","triggerOpen","openRef","useRef","current","useEffect","onTriggerClose","_ref","target","win","addEventListener","targetShadowRoot","process","env","NODE_ENV","_targetEle$getRootNod","_popupEle$getRootNode","targetRoot","getRootNode","call","popupRoot","removeEventListener"],"sources":["/var/www/gavt/node_modules/@rc-component/trigger/es/hooks/useWinClick.js"],"sourcesContent":["import { getShadowRoot } from \"rc-util/es/Dom/shadow\";\nimport { warning } from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { getWin } from \"../util\";\nexport default function useWinClick(open, clickToHide, targetEle, popupEle, mask, maskClosable, inPopupOrChild, triggerOpen) {\n  var openRef = React.useRef(open);\n  openRef.current = open;\n\n  // Click to hide is special action since click popup element should not hide\n  React.useEffect(function () {\n    if (clickToHide && popupEle && (!mask || maskClosable)) {\n      var onTriggerClose = function onTriggerClose(_ref) {\n        var target = _ref.target;\n        if (openRef.current && !inPopupOrChild(target)) {\n          triggerOpen(false);\n        }\n      };\n      var win = getWin(popupEle);\n      win.addEventListener('mousedown', onTriggerClose, true);\n      win.addEventListener('contextmenu', onTriggerClose, true);\n\n      // shadow root\n      var targetShadowRoot = getShadowRoot(targetEle);\n      if (targetShadowRoot) {\n        targetShadowRoot.addEventListener('mousedown', onTriggerClose, true);\n        targetShadowRoot.addEventListener('contextmenu', onTriggerClose, true);\n      }\n\n      // Warning if target and popup not in same root\n      if (process.env.NODE_ENV !== 'production') {\n        var _targetEle$getRootNod, _popupEle$getRootNode;\n        var targetRoot = targetEle === null || targetEle === void 0 || (_targetEle$getRootNod = targetEle.getRootNode) === null || _targetEle$getRootNod === void 0 ? void 0 : _targetEle$getRootNod.call(targetEle);\n        var popupRoot = (_popupEle$getRootNode = popupEle.getRootNode) === null || _popupEle$getRootNode === void 0 ? void 0 : _popupEle$getRootNode.call(popupEle);\n        warning(targetRoot === popupRoot, \"trigger element and popup element should in same shadow root.\");\n      }\n      return function () {\n        win.removeEventListener('mousedown', onTriggerClose, true);\n        win.removeEventListener('contextmenu', onTriggerClose, true);\n        if (targetShadowRoot) {\n          targetShadowRoot.removeEventListener('mousedown', onTriggerClose, true);\n          targetShadowRoot.removeEventListener('contextmenu', onTriggerClose, true);\n        }\n      };\n    }\n  }, [clickToHide, targetEle, popupEle, mask, maskClosable]);\n}"],"mappings":"AAAA,SAASA,aAAa,QAAQ,uBAAuB;AACrD,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,MAAM,QAAQ,SAAS;AAChC,eAAe,SAASC,WAAWA,CAACC,IAAI,EAAEC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,YAAY,EAAEC,cAAc,EAAEC,WAAW,EAAE;EAC3H,IAAIC,OAAO,GAAGX,KAAK,CAACY,MAAM,CAACT,IAAI,CAAC;EAChCQ,OAAO,CAACE,OAAO,GAAGV,IAAI;;EAEtB;EACAH,KAAK,CAACc,SAAS,CAAC,YAAY;IAC1B,IAAIV,WAAW,IAAIE,QAAQ,KAAK,CAACC,IAAI,IAAIC,YAAY,CAAC,EAAE;MACtD,IAAIO,cAAc,GAAG,SAASA,cAAcA,CAACC,IAAI,EAAE;QACjD,IAAIC,MAAM,GAAGD,IAAI,CAACC,MAAM;QACxB,IAAIN,OAAO,CAACE,OAAO,IAAI,CAACJ,cAAc,CAACQ,MAAM,CAAC,EAAE;UAC9CP,WAAW,CAAC,KAAK,CAAC;QACpB;MACF,CAAC;MACD,IAAIQ,GAAG,GAAGjB,MAAM,CAACK,QAAQ,CAAC;MAC1BY,GAAG,CAACC,gBAAgB,CAAC,WAAW,EAAEJ,cAAc,EAAE,IAAI,CAAC;MACvDG,GAAG,CAACC,gBAAgB,CAAC,aAAa,EAAEJ,cAAc,EAAE,IAAI,CAAC;;MAEzD;MACA,IAAIK,gBAAgB,GAAGtB,aAAa,CAACO,SAAS,CAAC;MAC/C,IAAIe,gBAAgB,EAAE;QACpBA,gBAAgB,CAACD,gBAAgB,CAAC,WAAW,EAAEJ,cAAc,EAAE,IAAI,CAAC;QACpEK,gBAAgB,CAACD,gBAAgB,CAAC,aAAa,EAAEJ,cAAc,EAAE,IAAI,CAAC;MACxE;;MAEA;MACA,IAAIM,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;QACzC,IAAIC,qBAAqB,EAAEC,qBAAqB;QAChD,IAAIC,UAAU,GAAGrB,SAAS,KAAK,IAAI,IAAIA,SAAS,KAAK,KAAK,CAAC,IAAI,CAACmB,qBAAqB,GAAGnB,SAAS,CAACsB,WAAW,MAAM,IAAI,IAAIH,qBAAqB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,qBAAqB,CAACI,IAAI,CAACvB,SAAS,CAAC;QAC5M,IAAIwB,SAAS,GAAG,CAACJ,qBAAqB,GAAGnB,QAAQ,CAACqB,WAAW,MAAM,IAAI,IAAIF,qBAAqB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,qBAAqB,CAACG,IAAI,CAACtB,QAAQ,CAAC;QAC3JP,OAAO,CAAC2B,UAAU,KAAKG,SAAS,EAAE,+DAA+D,CAAC;MACpG;MACA,OAAO,YAAY;QACjBX,GAAG,CAACY,mBAAmB,CAAC,WAAW,EAAEf,cAAc,EAAE,IAAI,CAAC;QAC1DG,GAAG,CAACY,mBAAmB,CAAC,aAAa,EAAEf,cAAc,EAAE,IAAI,CAAC;QAC5D,IAAIK,gBAAgB,EAAE;UACpBA,gBAAgB,CAACU,mBAAmB,CAAC,WAAW,EAAEf,cAAc,EAAE,IAAI,CAAC;UACvEK,gBAAgB,CAACU,mBAAmB,CAAC,aAAa,EAAEf,cAAc,EAAE,IAAI,CAAC;QAC3E;MACF,CAAC;IACH;EACF,CAAC,EAAE,CAACX,WAAW,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,YAAY,CAAC,CAAC;AAC5D","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}