{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useEffect, useRef, useState } from 'react';\nimport raf from \"rc-util/es/raf\";\nvar useIndicator = function useIndicator(_ref) {\n  var activeTabOffset = _ref.activeTabOffset,\n    horizontal = _ref.horizontal,\n    rtl = _ref.rtl,\n    indicatorSize = _ref.indicatorSize;\n  var _useState = useState(),\n    _useState2 = _slicedToArray(_useState, 2),\n    inkStyle = _useState2[0],\n    setInkStyle = _useState2[1];\n  var inkBarRafRef = useRef();\n  var getLength = function getLength(origin) {\n    if (typeof indicatorSize === 'function') {\n      return indicatorSize(origin);\n    }\n    if (typeof indicatorSize === 'number') {\n      return indicatorSize;\n    }\n    return origin;\n  };\n\n  // Delay set ink style to avoid remove tab blink\n  function cleanInkBarRaf() {\n    raf.cancel(inkBarRafRef.current);\n  }\n  useEffect(function () {\n    var newInkStyle = {};\n    if (activeTabOffset) {\n      if (horizontal) {\n        if (rtl) {\n          newInkStyle.right = activeTabOffset.right + activeTabOffset.width / 2;\n          newInkStyle.transform = 'translateX(50%)';\n        } else {\n          newInkStyle.left = activeTabOffset.left + activeTabOffset.width / 2;\n          newInkStyle.transform = 'translateX(-50%)';\n        }\n        newInkStyle.width = getLength(activeTabOffset.width);\n      } else {\n        newInkStyle.top = activeTabOffset.top + activeTabOffset.height / 2;\n        newInkStyle.transform = 'translateY(-50%)';\n        newInkStyle.height = getLength(activeTabOffset.height);\n      }\n    }\n    cleanInkBarRaf();\n    inkBarRafRef.current = raf(function () {\n      setInkStyle(newInkStyle);\n    });\n    return cleanInkBarRaf;\n  }, [activeTabOffset, horizontal, rtl, indicatorSize]);\n  return {\n    style: inkStyle\n  };\n};\nexport default useIndicator;","map":{"version":3,"names":["_slicedToArray","useEffect","useRef","useState","raf","useIndicator","_ref","activeTabOffset","horizontal","rtl","indicatorSize","_useState","_useState2","inkStyle","setInkStyle","inkBarRafRef","getLength","origin","cleanInkBarRaf","cancel","current","newInkStyle","right","width","transform","left","top","height","style"],"sources":["/var/www/gavt/node_modules/rc-tabs/es/hooks/useIndicator.js"],"sourcesContent":["import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useEffect, useRef, useState } from 'react';\nimport raf from \"rc-util/es/raf\";\nvar useIndicator = function useIndicator(_ref) {\n  var activeTabOffset = _ref.activeTabOffset,\n    horizontal = _ref.horizontal,\n    rtl = _ref.rtl,\n    indicatorSize = _ref.indicatorSize;\n  var _useState = useState(),\n    _useState2 = _slicedToArray(_useState, 2),\n    inkStyle = _useState2[0],\n    setInkStyle = _useState2[1];\n  var inkBarRafRef = useRef();\n  var getLength = function getLength(origin) {\n    if (typeof indicatorSize === 'function') {\n      return indicatorSize(origin);\n    }\n    if (typeof indicatorSize === 'number') {\n      return indicatorSize;\n    }\n    return origin;\n  };\n\n  // Delay set ink style to avoid remove tab blink\n  function cleanInkBarRaf() {\n    raf.cancel(inkBarRafRef.current);\n  }\n  useEffect(function () {\n    var newInkStyle = {};\n    if (activeTabOffset) {\n      if (horizontal) {\n        if (rtl) {\n          newInkStyle.right = activeTabOffset.right + activeTabOffset.width / 2;\n          newInkStyle.transform = 'translateX(50%)';\n        } else {\n          newInkStyle.left = activeTabOffset.left + activeTabOffset.width / 2;\n          newInkStyle.transform = 'translateX(-50%)';\n        }\n        newInkStyle.width = getLength(activeTabOffset.width);\n      } else {\n        newInkStyle.top = activeTabOffset.top + activeTabOffset.height / 2;\n        newInkStyle.transform = 'translateY(-50%)';\n        newInkStyle.height = getLength(activeTabOffset.height);\n      }\n    }\n    cleanInkBarRaf();\n    inkBarRafRef.current = raf(function () {\n      setInkStyle(newInkStyle);\n    });\n    return cleanInkBarRaf;\n  }, [activeTabOffset, horizontal, rtl, indicatorSize]);\n  return {\n    style: inkStyle\n  };\n};\nexport default useIndicator;"],"mappings":"AAAA,OAAOA,cAAc,MAAM,0CAA0C;AACrE,SAASC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACnD,OAAOC,GAAG,MAAM,gBAAgB;AAChC,IAAIC,YAAY,GAAG,SAASA,YAAYA,CAACC,IAAI,EAAE;EAC7C,IAAIC,eAAe,GAAGD,IAAI,CAACC,eAAe;IACxCC,UAAU,GAAGF,IAAI,CAACE,UAAU;IAC5BC,GAAG,GAAGH,IAAI,CAACG,GAAG;IACdC,aAAa,GAAGJ,IAAI,CAACI,aAAa;EACpC,IAAIC,SAAS,GAAGR,QAAQ,CAAC,CAAC;IACxBS,UAAU,GAAGZ,cAAc,CAACW,SAAS,EAAE,CAAC,CAAC;IACzCE,QAAQ,GAAGD,UAAU,CAAC,CAAC,CAAC;IACxBE,WAAW,GAAGF,UAAU,CAAC,CAAC,CAAC;EAC7B,IAAIG,YAAY,GAAGb,MAAM,CAAC,CAAC;EAC3B,IAAIc,SAAS,GAAG,SAASA,SAASA,CAACC,MAAM,EAAE;IACzC,IAAI,OAAOP,aAAa,KAAK,UAAU,EAAE;MACvC,OAAOA,aAAa,CAACO,MAAM,CAAC;IAC9B;IACA,IAAI,OAAOP,aAAa,KAAK,QAAQ,EAAE;MACrC,OAAOA,aAAa;IACtB;IACA,OAAOO,MAAM;EACf,CAAC;;EAED;EACA,SAASC,cAAcA,CAAA,EAAG;IACxBd,GAAG,CAACe,MAAM,CAACJ,YAAY,CAACK,OAAO,CAAC;EAClC;EACAnB,SAAS,CAAC,YAAY;IACpB,IAAIoB,WAAW,GAAG,CAAC,CAAC;IACpB,IAAId,eAAe,EAAE;MACnB,IAAIC,UAAU,EAAE;QACd,IAAIC,GAAG,EAAE;UACPY,WAAW,CAACC,KAAK,GAAGf,eAAe,CAACe,KAAK,GAAGf,eAAe,CAACgB,KAAK,GAAG,CAAC;UACrEF,WAAW,CAACG,SAAS,GAAG,iBAAiB;QAC3C,CAAC,MAAM;UACLH,WAAW,CAACI,IAAI,GAAGlB,eAAe,CAACkB,IAAI,GAAGlB,eAAe,CAACgB,KAAK,GAAG,CAAC;UACnEF,WAAW,CAACG,SAAS,GAAG,kBAAkB;QAC5C;QACAH,WAAW,CAACE,KAAK,GAAGP,SAAS,CAACT,eAAe,CAACgB,KAAK,CAAC;MACtD,CAAC,MAAM;QACLF,WAAW,CAACK,GAAG,GAAGnB,eAAe,CAACmB,GAAG,GAAGnB,eAAe,CAACoB,MAAM,GAAG,CAAC;QAClEN,WAAW,CAACG,SAAS,GAAG,kBAAkB;QAC1CH,WAAW,CAACM,MAAM,GAAGX,SAAS,CAACT,eAAe,CAACoB,MAAM,CAAC;MACxD;IACF;IACAT,cAAc,CAAC,CAAC;IAChBH,YAAY,CAACK,OAAO,GAAGhB,GAAG,CAAC,YAAY;MACrCU,WAAW,CAACO,WAAW,CAAC;IAC1B,CAAC,CAAC;IACF,OAAOH,cAAc;EACvB,CAAC,EAAE,CAACX,eAAe,EAAEC,UAAU,EAAEC,GAAG,EAAEC,aAAa,CAAC,CAAC;EACrD,OAAO;IACLkB,KAAK,EAAEf;EACT,CAAC;AACH,CAAC;AACD,eAAeR,YAAY"},"metadata":{},"sourceType":"module","externalDependencies":[]}