d543c5953022092cb04ad0ef7490455c.json 23.9 KB
{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/createSuper\";\nimport * as React from 'react';\nimport { supportRef, composeRef } from \"rc-util/es/ref\";\nimport raf from './raf';\nimport { ConfigConsumer, ConfigContext } from '../config-provider';\nimport { cloneElement } from './reactNode';\nvar styleForPseudo; // Where el is the DOM element you'd like to test for visibility\n\nfunction isHidden(element) {\n  if (process.env.NODE_ENV === 'test') {\n    return false;\n  }\n\n  return !element || element.offsetParent === null;\n}\n\nfunction isNotGrey(color) {\n  // eslint-disable-next-line no-useless-escape\n  var match = (color || '').match(/rgba?\\((\\d*), (\\d*), (\\d*)(, [\\d.]*)?\\)/);\n\n  if (match && match[1] && match[2] && match[3]) {\n    return !(match[1] === match[2] && match[2] === match[3]);\n  }\n\n  return true;\n}\n\nvar Wave = /*#__PURE__*/function (_React$Component) {\n  _inherits(Wave, _React$Component);\n\n  var _super = _createSuper(Wave);\n\n  function Wave() {\n    var _this;\n\n    _classCallCheck(this, Wave);\n\n    _this = _super.apply(this, arguments);\n    _this.containerRef = /*#__PURE__*/React.createRef();\n    _this.animationStart = false;\n    _this.destroyed = false;\n\n    _this.onClick = function (node, waveColor) {\n      if (!node || isHidden(node) || node.className.indexOf('-leave') >= 0) {\n        return;\n      }\n\n      var insertExtraNode = _this.props.insertExtraNode;\n      _this.extraNode = document.createElement('div');\n\n      var _assertThisInitialize = _assertThisInitialized(_this),\n          extraNode = _assertThisInitialize.extraNode;\n\n      var getPrefixCls = _this.context.getPrefixCls;\n      extraNode.className = \"\".concat(getPrefixCls(''), \"-click-animating-node\");\n\n      var attributeName = _this.getAttributeName();\n\n      node.setAttribute(attributeName, 'true'); // Not white or transparent or grey\n\n      styleForPseudo = styleForPseudo || document.createElement('style');\n\n      if (waveColor && waveColor !== '#ffffff' && waveColor !== 'rgb(255, 255, 255)' && isNotGrey(waveColor) && !/rgba\\((?:\\d*, ){3}0\\)/.test(waveColor) && // any transparent rgba color\n      waveColor !== 'transparent') {\n        // Add nonce if CSP exist\n        if (_this.csp && _this.csp.nonce) {\n          styleForPseudo.nonce = _this.csp.nonce;\n        }\n\n        extraNode.style.borderColor = waveColor;\n        styleForPseudo.innerHTML = \"\\n      [\".concat(getPrefixCls(''), \"-click-animating-without-extra-node='true']::after, .\").concat(getPrefixCls(''), \"-click-animating-node {\\n        --antd-wave-shadow-color: \").concat(waveColor, \";\\n      }\");\n\n        if (!document.body.contains(styleForPseudo)) {\n          document.body.appendChild(styleForPseudo);\n        }\n      }\n\n      if (insertExtraNode) {\n        node.appendChild(extraNode);\n      }\n\n      ['transition', 'animation'].forEach(function (name) {\n        node.addEventListener(\"\".concat(name, \"start\"), _this.onTransitionStart);\n        node.addEventListener(\"\".concat(name, \"end\"), _this.onTransitionEnd);\n      });\n    };\n\n    _this.onTransitionStart = function (e) {\n      if (_this.destroyed) {\n        return;\n      }\n\n      var node = _this.containerRef.current;\n\n      if (!e || e.target !== node || _this.animationStart) {\n        return;\n      }\n\n      _this.resetEffect(node);\n    };\n\n    _this.onTransitionEnd = function (e) {\n      if (!e || e.animationName !== 'fadeEffect') {\n        return;\n      }\n\n      _this.resetEffect(e.target);\n    };\n\n    _this.bindAnimationEvent = function (node) {\n      if (!node || !node.getAttribute || node.getAttribute('disabled') || node.className.indexOf('disabled') >= 0) {\n        return;\n      }\n\n      var onClick = function onClick(e) {\n        // Fix radio button click twice\n        if (e.target.tagName === 'INPUT' || isHidden(e.target)) {\n          return;\n        }\n\n        _this.resetEffect(node); // Get wave color from target\n\n\n        var waveColor = getComputedStyle(node).getPropertyValue('border-top-color') || // Firefox Compatible\n        getComputedStyle(node).getPropertyValue('border-color') || getComputedStyle(node).getPropertyValue('background-color');\n        _this.clickWaveTimeoutId = window.setTimeout(function () {\n          return _this.onClick(node, waveColor);\n        }, 0);\n        raf.cancel(_this.animationStartId);\n        _this.animationStart = true; // Render to trigger transition event cost 3 frames. Let's delay 10 frames to reset this.\n\n        _this.animationStartId = raf(function () {\n          _this.animationStart = false;\n        }, 10);\n      };\n\n      node.addEventListener('click', onClick, true);\n      return {\n        cancel: function cancel() {\n          node.removeEventListener('click', onClick, true);\n        }\n      };\n    };\n\n    _this.renderWave = function (_ref) {\n      var csp = _ref.csp;\n      var children = _this.props.children;\n      _this.csp = csp;\n      if (! /*#__PURE__*/React.isValidElement(children)) return children;\n      var ref = _this.containerRef;\n\n      if (supportRef(children)) {\n        ref = composeRef(children.ref, _this.containerRef);\n      }\n\n      return cloneElement(children, {\n        ref: ref\n      });\n    };\n\n    return _this;\n  }\n\n  _createClass(Wave, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      var node = this.containerRef.current;\n\n      if (!node || node.nodeType !== 1) {\n        return;\n      }\n\n      this.instance = this.bindAnimationEvent(node);\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      if (this.instance) {\n        this.instance.cancel();\n      }\n\n      if (this.clickWaveTimeoutId) {\n        clearTimeout(this.clickWaveTimeoutId);\n      }\n\n      this.destroyed = true;\n    }\n  }, {\n    key: \"getAttributeName\",\n    value: function getAttributeName() {\n      var getPrefixCls = this.context.getPrefixCls;\n      var insertExtraNode = this.props.insertExtraNode;\n      return insertExtraNode ? \"\".concat(getPrefixCls(''), \"-click-animating\") : \"\".concat(getPrefixCls(''), \"-click-animating-without-extra-node\");\n    }\n  }, {\n    key: \"resetEffect\",\n    value: function resetEffect(node) {\n      var _this2 = this;\n\n      if (!node || node === this.extraNode || !(node instanceof Element)) {\n        return;\n      }\n\n      var insertExtraNode = this.props.insertExtraNode;\n      var attributeName = this.getAttributeName();\n      node.setAttribute(attributeName, 'false'); // edge has bug on `removeAttribute` #14466\n\n      if (styleForPseudo) {\n        styleForPseudo.innerHTML = '';\n      }\n\n      if (insertExtraNode && this.extraNode && node.contains(this.extraNode)) {\n        node.removeChild(this.extraNode);\n      }\n\n      ['transition', 'animation'].forEach(function (name) {\n        node.removeEventListener(\"\".concat(name, \"start\"), _this2.onTransitionStart);\n        node.removeEventListener(\"\".concat(name, \"end\"), _this2.onTransitionEnd);\n      });\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      return /*#__PURE__*/React.createElement(ConfigConsumer, null, this.renderWave);\n    }\n  }]);\n\n  return Wave;\n}(React.Component);\n\nexport { Wave as default };\nWave.contextType = ConfigContext;","map":{"version":3,"sources":["C:/Users/kkwan_000/Desktop/git/2017110269/minsung/node_modules/antd/es/_util/wave.js"],"names":["_classCallCheck","_createClass","_assertThisInitialized","_inherits","_createSuper","React","supportRef","composeRef","raf","ConfigConsumer","ConfigContext","cloneElement","styleForPseudo","isHidden","element","process","env","NODE_ENV","offsetParent","isNotGrey","color","match","Wave","_React$Component","_super","_this","apply","arguments","containerRef","createRef","animationStart","destroyed","onClick","node","waveColor","className","indexOf","insertExtraNode","props","extraNode","document","createElement","_assertThisInitialize","getPrefixCls","context","concat","attributeName","getAttributeName","setAttribute","test","csp","nonce","style","borderColor","innerHTML","body","contains","appendChild","forEach","name","addEventListener","onTransitionStart","onTransitionEnd","e","current","target","resetEffect","animationName","bindAnimationEvent","getAttribute","tagName","getComputedStyle","getPropertyValue","clickWaveTimeoutId","window","setTimeout","cancel","animationStartId","removeEventListener","renderWave","_ref","children","isValidElement","ref","key","value","componentDidMount","nodeType","instance","componentWillUnmount","clearTimeout","_this2","Element","removeChild","render","Component","default","contextType"],"mappings":"AAAA,OAAOA,eAAP,MAA4B,uCAA5B;AACA,OAAOC,YAAP,MAAyB,oCAAzB;AACA,OAAOC,sBAAP,MAAmC,8CAAnC;AACA,OAAOC,SAAP,MAAsB,iCAAtB;AACA,OAAOC,YAAP,MAAyB,oCAAzB;AACA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT,EAAqBC,UAArB,QAAuC,gBAAvC;AACA,OAAOC,GAAP,MAAgB,OAAhB;AACA,SAASC,cAAT,EAAyBC,aAAzB,QAA8C,oBAA9C;AACA,SAASC,YAAT,QAA6B,aAA7B;AACA,IAAIC,cAAJ,C,CAAoB;;AAEpB,SAASC,QAAT,CAAkBC,OAAlB,EAA2B;AACzB,MAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,MAA7B,EAAqC;AACnC,WAAO,KAAP;AACD;;AAED,SAAO,CAACH,OAAD,IAAYA,OAAO,CAACI,YAAR,KAAyB,IAA5C;AACD;;AAED,SAASC,SAAT,CAAmBC,KAAnB,EAA0B;AACxB;AACA,MAAIC,KAAK,GAAG,CAACD,KAAK,IAAI,EAAV,EAAcC,KAAd,CAAoB,yCAApB,CAAZ;;AAEA,MAAIA,KAAK,IAAIA,KAAK,CAAC,CAAD,CAAd,IAAqBA,KAAK,CAAC,CAAD,CAA1B,IAAiCA,KAAK,CAAC,CAAD,CAA1C,EAA+C;AAC7C,WAAO,EAAEA,KAAK,CAAC,CAAD,CAAL,KAAaA,KAAK,CAAC,CAAD,CAAlB,IAAyBA,KAAK,CAAC,CAAD,CAAL,KAAaA,KAAK,CAAC,CAAD,CAA7C,CAAP;AACD;;AAED,SAAO,IAAP;AACD;;AAED,IAAIC,IAAI,GAAG,aAAa,UAAUC,gBAAV,EAA4B;AAClDpB,EAAAA,SAAS,CAACmB,IAAD,EAAOC,gBAAP,CAAT;;AAEA,MAAIC,MAAM,GAAGpB,YAAY,CAACkB,IAAD,CAAzB;;AAEA,WAASA,IAAT,GAAgB;AACd,QAAIG,KAAJ;;AAEAzB,IAAAA,eAAe,CAAC,IAAD,EAAOsB,IAAP,CAAf;;AAEAG,IAAAA,KAAK,GAAGD,MAAM,CAACE,KAAP,CAAa,IAAb,EAAmBC,SAAnB,CAAR;AACAF,IAAAA,KAAK,CAACG,YAAN,GAAqB,aAAavB,KAAK,CAACwB,SAAN,EAAlC;AACAJ,IAAAA,KAAK,CAACK,cAAN,GAAuB,KAAvB;AACAL,IAAAA,KAAK,CAACM,SAAN,GAAkB,KAAlB;;AAEAN,IAAAA,KAAK,CAACO,OAAN,GAAgB,UAAUC,IAAV,EAAgBC,SAAhB,EAA2B;AACzC,UAAI,CAACD,IAAD,IAASpB,QAAQ,CAACoB,IAAD,CAAjB,IAA2BA,IAAI,CAACE,SAAL,CAAeC,OAAf,CAAuB,QAAvB,KAAoC,CAAnE,EAAsE;AACpE;AACD;;AAED,UAAIC,eAAe,GAAGZ,KAAK,CAACa,KAAN,CAAYD,eAAlC;AACAZ,MAAAA,KAAK,CAACc,SAAN,GAAkBC,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAlB;;AAEA,UAAIC,qBAAqB,GAAGxC,sBAAsB,CAACuB,KAAD,CAAlD;AAAA,UACIc,SAAS,GAAGG,qBAAqB,CAACH,SADtC;;AAGA,UAAII,YAAY,GAAGlB,KAAK,CAACmB,OAAN,CAAcD,YAAjC;AACAJ,MAAAA,SAAS,CAACJ,SAAV,GAAsB,GAAGU,MAAH,CAAUF,YAAY,CAAC,EAAD,CAAtB,EAA4B,uBAA5B,CAAtB;;AAEA,UAAIG,aAAa,GAAGrB,KAAK,CAACsB,gBAAN,EAApB;;AAEAd,MAAAA,IAAI,CAACe,YAAL,CAAkBF,aAAlB,EAAiC,MAAjC,EAhByC,CAgBC;;AAE1ClC,MAAAA,cAAc,GAAGA,cAAc,IAAI4B,QAAQ,CAACC,aAAT,CAAuB,OAAvB,CAAnC;;AAEA,UAAIP,SAAS,IAAIA,SAAS,KAAK,SAA3B,IAAwCA,SAAS,KAAK,oBAAtD,IAA8Ef,SAAS,CAACe,SAAD,CAAvF,IAAsG,CAAC,wBAAwBe,IAAxB,CAA6Bf,SAA7B,CAAvG,IAAkJ;AACtJA,MAAAA,SAAS,KAAK,aADd,EAC6B;AAC3B;AACA,YAAIT,KAAK,CAACyB,GAAN,IAAazB,KAAK,CAACyB,GAAN,CAAUC,KAA3B,EAAkC;AAChCvC,UAAAA,cAAc,CAACuC,KAAf,GAAuB1B,KAAK,CAACyB,GAAN,CAAUC,KAAjC;AACD;;AAEDZ,QAAAA,SAAS,CAACa,KAAV,CAAgBC,WAAhB,GAA8BnB,SAA9B;AACAtB,QAAAA,cAAc,CAAC0C,SAAf,GAA2B,YAAYT,MAAZ,CAAmBF,YAAY,CAAC,EAAD,CAA/B,EAAqC,uDAArC,EAA8FE,MAA9F,CAAqGF,YAAY,CAAC,EAAD,CAAjH,EAAuH,6DAAvH,EAAsLE,MAAtL,CAA6LX,SAA7L,EAAwM,YAAxM,CAA3B;;AAEA,YAAI,CAACM,QAAQ,CAACe,IAAT,CAAcC,QAAd,CAAuB5C,cAAvB,CAAL,EAA6C;AAC3C4B,UAAAA,QAAQ,CAACe,IAAT,CAAcE,WAAd,CAA0B7C,cAA1B;AACD;AACF;;AAED,UAAIyB,eAAJ,EAAqB;AACnBJ,QAAAA,IAAI,CAACwB,WAAL,CAAiBlB,SAAjB;AACD;;AAED,OAAC,YAAD,EAAe,WAAf,EAA4BmB,OAA5B,CAAoC,UAAUC,IAAV,EAAgB;AAClD1B,QAAAA,IAAI,CAAC2B,gBAAL,CAAsB,GAAGf,MAAH,CAAUc,IAAV,EAAgB,OAAhB,CAAtB,EAAgDlC,KAAK,CAACoC,iBAAtD;AACA5B,QAAAA,IAAI,CAAC2B,gBAAL,CAAsB,GAAGf,MAAH,CAAUc,IAAV,EAAgB,KAAhB,CAAtB,EAA8ClC,KAAK,CAACqC,eAApD;AACD,OAHD;AAID,KA3CD;;AA6CArC,IAAAA,KAAK,CAACoC,iBAAN,GAA0B,UAAUE,CAAV,EAAa;AACrC,UAAItC,KAAK,CAACM,SAAV,EAAqB;AACnB;AACD;;AAED,UAAIE,IAAI,GAAGR,KAAK,CAACG,YAAN,CAAmBoC,OAA9B;;AAEA,UAAI,CAACD,CAAD,IAAMA,CAAC,CAACE,MAAF,KAAahC,IAAnB,IAA2BR,KAAK,CAACK,cAArC,EAAqD;AACnD;AACD;;AAEDL,MAAAA,KAAK,CAACyC,WAAN,CAAkBjC,IAAlB;AACD,KAZD;;AAcAR,IAAAA,KAAK,CAACqC,eAAN,GAAwB,UAAUC,CAAV,EAAa;AACnC,UAAI,CAACA,CAAD,IAAMA,CAAC,CAACI,aAAF,KAAoB,YAA9B,EAA4C;AAC1C;AACD;;AAED1C,MAAAA,KAAK,CAACyC,WAAN,CAAkBH,CAAC,CAACE,MAApB;AACD,KAND;;AAQAxC,IAAAA,KAAK,CAAC2C,kBAAN,GAA2B,UAAUnC,IAAV,EAAgB;AACzC,UAAI,CAACA,IAAD,IAAS,CAACA,IAAI,CAACoC,YAAf,IAA+BpC,IAAI,CAACoC,YAAL,CAAkB,UAAlB,CAA/B,IAAgEpC,IAAI,CAACE,SAAL,CAAeC,OAAf,CAAuB,UAAvB,KAAsC,CAA1G,EAA6G;AAC3G;AACD;;AAED,UAAIJ,OAAO,GAAG,SAASA,OAAT,CAAiB+B,CAAjB,EAAoB;AAChC;AACA,YAAIA,CAAC,CAACE,MAAF,CAASK,OAAT,KAAqB,OAArB,IAAgCzD,QAAQ,CAACkD,CAAC,CAACE,MAAH,CAA5C,EAAwD;AACtD;AACD;;AAEDxC,QAAAA,KAAK,CAACyC,WAAN,CAAkBjC,IAAlB,EANgC,CAMP;;;AAGzB,YAAIC,SAAS,GAAGqC,gBAAgB,CAACtC,IAAD,CAAhB,CAAuBuC,gBAAvB,CAAwC,kBAAxC,KAA+D;AAC/ED,QAAAA,gBAAgB,CAACtC,IAAD,CAAhB,CAAuBuC,gBAAvB,CAAwC,cAAxC,CADgB,IAC2CD,gBAAgB,CAACtC,IAAD,CAAhB,CAAuBuC,gBAAvB,CAAwC,kBAAxC,CAD3D;AAEA/C,QAAAA,KAAK,CAACgD,kBAAN,GAA2BC,MAAM,CAACC,UAAP,CAAkB,YAAY;AACvD,iBAAOlD,KAAK,CAACO,OAAN,CAAcC,IAAd,EAAoBC,SAApB,CAAP;AACD,SAF0B,EAExB,CAFwB,CAA3B;AAGA1B,QAAAA,GAAG,CAACoE,MAAJ,CAAWnD,KAAK,CAACoD,gBAAjB;AACApD,QAAAA,KAAK,CAACK,cAAN,GAAuB,IAAvB,CAfgC,CAeH;;AAE7BL,QAAAA,KAAK,CAACoD,gBAAN,GAAyBrE,GAAG,CAAC,YAAY;AACvCiB,UAAAA,KAAK,CAACK,cAAN,GAAuB,KAAvB;AACD,SAF2B,EAEzB,EAFyB,CAA5B;AAGD,OApBD;;AAsBAG,MAAAA,IAAI,CAAC2B,gBAAL,CAAsB,OAAtB,EAA+B5B,OAA/B,EAAwC,IAAxC;AACA,aAAO;AACL4C,QAAAA,MAAM,EAAE,SAASA,MAAT,GAAkB;AACxB3C,UAAAA,IAAI,CAAC6C,mBAAL,CAAyB,OAAzB,EAAkC9C,OAAlC,EAA2C,IAA3C;AACD;AAHI,OAAP;AAKD,KAjCD;;AAmCAP,IAAAA,KAAK,CAACsD,UAAN,GAAmB,UAAUC,IAAV,EAAgB;AACjC,UAAI9B,GAAG,GAAG8B,IAAI,CAAC9B,GAAf;AACA,UAAI+B,QAAQ,GAAGxD,KAAK,CAACa,KAAN,CAAY2C,QAA3B;AACAxD,MAAAA,KAAK,CAACyB,GAAN,GAAYA,GAAZ;AACA,UAAI,EAAE,aAAa7C,KAAK,CAAC6E,cAAN,CAAqBD,QAArB,CAAnB,EAAmD,OAAOA,QAAP;AACnD,UAAIE,GAAG,GAAG1D,KAAK,CAACG,YAAhB;;AAEA,UAAItB,UAAU,CAAC2E,QAAD,CAAd,EAA0B;AACxBE,QAAAA,GAAG,GAAG5E,UAAU,CAAC0E,QAAQ,CAACE,GAAV,EAAe1D,KAAK,CAACG,YAArB,CAAhB;AACD;;AAED,aAAOjB,YAAY,CAACsE,QAAD,EAAW;AAC5BE,QAAAA,GAAG,EAAEA;AADuB,OAAX,CAAnB;AAGD,KAdD;;AAgBA,WAAO1D,KAAP;AACD;;AAEDxB,EAAAA,YAAY,CAACqB,IAAD,EAAO,CAAC;AAClB8D,IAAAA,GAAG,EAAE,mBADa;AAElBC,IAAAA,KAAK,EAAE,SAASC,iBAAT,GAA6B;AAClC,UAAIrD,IAAI,GAAG,KAAKL,YAAL,CAAkBoC,OAA7B;;AAEA,UAAI,CAAC/B,IAAD,IAASA,IAAI,CAACsD,QAAL,KAAkB,CAA/B,EAAkC;AAChC;AACD;;AAED,WAAKC,QAAL,GAAgB,KAAKpB,kBAAL,CAAwBnC,IAAxB,CAAhB;AACD;AAViB,GAAD,EAWhB;AACDmD,IAAAA,GAAG,EAAE,sBADJ;AAEDC,IAAAA,KAAK,EAAE,SAASI,oBAAT,GAAgC;AACrC,UAAI,KAAKD,QAAT,EAAmB;AACjB,aAAKA,QAAL,CAAcZ,MAAd;AACD;;AAED,UAAI,KAAKH,kBAAT,EAA6B;AAC3BiB,QAAAA,YAAY,CAAC,KAAKjB,kBAAN,CAAZ;AACD;;AAED,WAAK1C,SAAL,GAAiB,IAAjB;AACD;AAZA,GAXgB,EAwBhB;AACDqD,IAAAA,GAAG,EAAE,kBADJ;AAEDC,IAAAA,KAAK,EAAE,SAAStC,gBAAT,GAA4B;AACjC,UAAIJ,YAAY,GAAG,KAAKC,OAAL,CAAaD,YAAhC;AACA,UAAIN,eAAe,GAAG,KAAKC,KAAL,CAAWD,eAAjC;AACA,aAAOA,eAAe,GAAG,GAAGQ,MAAH,CAAUF,YAAY,CAAC,EAAD,CAAtB,EAA4B,kBAA5B,CAAH,GAAqD,GAAGE,MAAH,CAAUF,YAAY,CAAC,EAAD,CAAtB,EAA4B,qCAA5B,CAA3E;AACD;AANA,GAxBgB,EA+BhB;AACDyC,IAAAA,GAAG,EAAE,aADJ;AAEDC,IAAAA,KAAK,EAAE,SAASnB,WAAT,CAAqBjC,IAArB,EAA2B;AAChC,UAAI0D,MAAM,GAAG,IAAb;;AAEA,UAAI,CAAC1D,IAAD,IAASA,IAAI,KAAK,KAAKM,SAAvB,IAAoC,EAAEN,IAAI,YAAY2D,OAAlB,CAAxC,EAAoE;AAClE;AACD;;AAED,UAAIvD,eAAe,GAAG,KAAKC,KAAL,CAAWD,eAAjC;AACA,UAAIS,aAAa,GAAG,KAAKC,gBAAL,EAApB;AACAd,MAAAA,IAAI,CAACe,YAAL,CAAkBF,aAAlB,EAAiC,OAAjC,EATgC,CASW;;AAE3C,UAAIlC,cAAJ,EAAoB;AAClBA,QAAAA,cAAc,CAAC0C,SAAf,GAA2B,EAA3B;AACD;;AAED,UAAIjB,eAAe,IAAI,KAAKE,SAAxB,IAAqCN,IAAI,CAACuB,QAAL,CAAc,KAAKjB,SAAnB,CAAzC,EAAwE;AACtEN,QAAAA,IAAI,CAAC4D,WAAL,CAAiB,KAAKtD,SAAtB;AACD;;AAED,OAAC,YAAD,EAAe,WAAf,EAA4BmB,OAA5B,CAAoC,UAAUC,IAAV,EAAgB;AAClD1B,QAAAA,IAAI,CAAC6C,mBAAL,CAAyB,GAAGjC,MAAH,CAAUc,IAAV,EAAgB,OAAhB,CAAzB,EAAmDgC,MAAM,CAAC9B,iBAA1D;AACA5B,QAAAA,IAAI,CAAC6C,mBAAL,CAAyB,GAAGjC,MAAH,CAAUc,IAAV,EAAgB,KAAhB,CAAzB,EAAiDgC,MAAM,CAAC7B,eAAxD;AACD,OAHD;AAID;AAzBA,GA/BgB,EAyDhB;AACDsB,IAAAA,GAAG,EAAE,QADJ;AAEDC,IAAAA,KAAK,EAAE,SAASS,MAAT,GAAkB;AACvB,aAAO,aAAazF,KAAK,CAACoC,aAAN,CAAoBhC,cAApB,EAAoC,IAApC,EAA0C,KAAKsE,UAA/C,CAApB;AACD;AAJA,GAzDgB,CAAP,CAAZ;;AAgEA,SAAOzD,IAAP;AACD,CAzMuB,CAyMtBjB,KAAK,CAAC0F,SAzMgB,CAAxB;;AA2MA,SAASzE,IAAI,IAAI0E,OAAjB;AACA1E,IAAI,CAAC2E,WAAL,GAAmBvF,aAAnB","sourcesContent":["import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/createSuper\";\nimport * as React from 'react';\nimport { supportRef, composeRef } from \"rc-util/es/ref\";\nimport raf from './raf';\nimport { ConfigConsumer, ConfigContext } from '../config-provider';\nimport { cloneElement } from './reactNode';\nvar styleForPseudo; // Where el is the DOM element you'd like to test for visibility\n\nfunction isHidden(element) {\n  if (process.env.NODE_ENV === 'test') {\n    return false;\n  }\n\n  return !element || element.offsetParent === null;\n}\n\nfunction isNotGrey(color) {\n  // eslint-disable-next-line no-useless-escape\n  var match = (color || '').match(/rgba?\\((\\d*), (\\d*), (\\d*)(, [\\d.]*)?\\)/);\n\n  if (match && match[1] && match[2] && match[3]) {\n    return !(match[1] === match[2] && match[2] === match[3]);\n  }\n\n  return true;\n}\n\nvar Wave = /*#__PURE__*/function (_React$Component) {\n  _inherits(Wave, _React$Component);\n\n  var _super = _createSuper(Wave);\n\n  function Wave() {\n    var _this;\n\n    _classCallCheck(this, Wave);\n\n    _this = _super.apply(this, arguments);\n    _this.containerRef = /*#__PURE__*/React.createRef();\n    _this.animationStart = false;\n    _this.destroyed = false;\n\n    _this.onClick = function (node, waveColor) {\n      if (!node || isHidden(node) || node.className.indexOf('-leave') >= 0) {\n        return;\n      }\n\n      var insertExtraNode = _this.props.insertExtraNode;\n      _this.extraNode = document.createElement('div');\n\n      var _assertThisInitialize = _assertThisInitialized(_this),\n          extraNode = _assertThisInitialize.extraNode;\n\n      var getPrefixCls = _this.context.getPrefixCls;\n      extraNode.className = \"\".concat(getPrefixCls(''), \"-click-animating-node\");\n\n      var attributeName = _this.getAttributeName();\n\n      node.setAttribute(attributeName, 'true'); // Not white or transparent or grey\n\n      styleForPseudo = styleForPseudo || document.createElement('style');\n\n      if (waveColor && waveColor !== '#ffffff' && waveColor !== 'rgb(255, 255, 255)' && isNotGrey(waveColor) && !/rgba\\((?:\\d*, ){3}0\\)/.test(waveColor) && // any transparent rgba color\n      waveColor !== 'transparent') {\n        // Add nonce if CSP exist\n        if (_this.csp && _this.csp.nonce) {\n          styleForPseudo.nonce = _this.csp.nonce;\n        }\n\n        extraNode.style.borderColor = waveColor;\n        styleForPseudo.innerHTML = \"\\n      [\".concat(getPrefixCls(''), \"-click-animating-without-extra-node='true']::after, .\").concat(getPrefixCls(''), \"-click-animating-node {\\n        --antd-wave-shadow-color: \").concat(waveColor, \";\\n      }\");\n\n        if (!document.body.contains(styleForPseudo)) {\n          document.body.appendChild(styleForPseudo);\n        }\n      }\n\n      if (insertExtraNode) {\n        node.appendChild(extraNode);\n      }\n\n      ['transition', 'animation'].forEach(function (name) {\n        node.addEventListener(\"\".concat(name, \"start\"), _this.onTransitionStart);\n        node.addEventListener(\"\".concat(name, \"end\"), _this.onTransitionEnd);\n      });\n    };\n\n    _this.onTransitionStart = function (e) {\n      if (_this.destroyed) {\n        return;\n      }\n\n      var node = _this.containerRef.current;\n\n      if (!e || e.target !== node || _this.animationStart) {\n        return;\n      }\n\n      _this.resetEffect(node);\n    };\n\n    _this.onTransitionEnd = function (e) {\n      if (!e || e.animationName !== 'fadeEffect') {\n        return;\n      }\n\n      _this.resetEffect(e.target);\n    };\n\n    _this.bindAnimationEvent = function (node) {\n      if (!node || !node.getAttribute || node.getAttribute('disabled') || node.className.indexOf('disabled') >= 0) {\n        return;\n      }\n\n      var onClick = function onClick(e) {\n        // Fix radio button click twice\n        if (e.target.tagName === 'INPUT' || isHidden(e.target)) {\n          return;\n        }\n\n        _this.resetEffect(node); // Get wave color from target\n\n\n        var waveColor = getComputedStyle(node).getPropertyValue('border-top-color') || // Firefox Compatible\n        getComputedStyle(node).getPropertyValue('border-color') || getComputedStyle(node).getPropertyValue('background-color');\n        _this.clickWaveTimeoutId = window.setTimeout(function () {\n          return _this.onClick(node, waveColor);\n        }, 0);\n        raf.cancel(_this.animationStartId);\n        _this.animationStart = true; // Render to trigger transition event cost 3 frames. Let's delay 10 frames to reset this.\n\n        _this.animationStartId = raf(function () {\n          _this.animationStart = false;\n        }, 10);\n      };\n\n      node.addEventListener('click', onClick, true);\n      return {\n        cancel: function cancel() {\n          node.removeEventListener('click', onClick, true);\n        }\n      };\n    };\n\n    _this.renderWave = function (_ref) {\n      var csp = _ref.csp;\n      var children = _this.props.children;\n      _this.csp = csp;\n      if (! /*#__PURE__*/React.isValidElement(children)) return children;\n      var ref = _this.containerRef;\n\n      if (supportRef(children)) {\n        ref = composeRef(children.ref, _this.containerRef);\n      }\n\n      return cloneElement(children, {\n        ref: ref\n      });\n    };\n\n    return _this;\n  }\n\n  _createClass(Wave, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      var node = this.containerRef.current;\n\n      if (!node || node.nodeType !== 1) {\n        return;\n      }\n\n      this.instance = this.bindAnimationEvent(node);\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      if (this.instance) {\n        this.instance.cancel();\n      }\n\n      if (this.clickWaveTimeoutId) {\n        clearTimeout(this.clickWaveTimeoutId);\n      }\n\n      this.destroyed = true;\n    }\n  }, {\n    key: \"getAttributeName\",\n    value: function getAttributeName() {\n      var getPrefixCls = this.context.getPrefixCls;\n      var insertExtraNode = this.props.insertExtraNode;\n      return insertExtraNode ? \"\".concat(getPrefixCls(''), \"-click-animating\") : \"\".concat(getPrefixCls(''), \"-click-animating-without-extra-node\");\n    }\n  }, {\n    key: \"resetEffect\",\n    value: function resetEffect(node) {\n      var _this2 = this;\n\n      if (!node || node === this.extraNode || !(node instanceof Element)) {\n        return;\n      }\n\n      var insertExtraNode = this.props.insertExtraNode;\n      var attributeName = this.getAttributeName();\n      node.setAttribute(attributeName, 'false'); // edge has bug on `removeAttribute` #14466\n\n      if (styleForPseudo) {\n        styleForPseudo.innerHTML = '';\n      }\n\n      if (insertExtraNode && this.extraNode && node.contains(this.extraNode)) {\n        node.removeChild(this.extraNode);\n      }\n\n      ['transition', 'animation'].forEach(function (name) {\n        node.removeEventListener(\"\".concat(name, \"start\"), _this2.onTransitionStart);\n        node.removeEventListener(\"\".concat(name, \"end\"), _this2.onTransitionEnd);\n      });\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      return /*#__PURE__*/React.createElement(ConfigConsumer, null, this.renderWave);\n    }\n  }]);\n\n  return Wave;\n}(React.Component);\n\nexport { Wave as default };\nWave.contextType = ConfigContext;"]},"metadata":{},"sourceType":"module"}