{"version":3,"file":"TooltipOverflow.cjs","names":["React","_interopRequireWildcard","require","_reactResizeDetector","_TooltipStyles","_","_jsxRuntime","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","TooltipOverflow","_ref","label","children","input","withArrow","maxWidth","width","value","size","Size","Small","height","align","position","props","_objectWithoutProperties2","textOverflowed","setTextOverflowed","useState","focused","setFocused","customW","customH","useResizeDetector","targetRef","useEffect","checkIfOverflowed","over","current","offsetWidth","scrollWidth","onFocus","onBlur","removeEventListener","renderedCallback","useCallback","addEventListener","jsx","ref","Tooltip","$align","$height","role","$maxWidth","$width","$size","$withArrow","$position","jsxs","propTypes","_propTypes","string","_default","exports"],"sources":["../../src/Tooltips/TooltipOverflow.tsx"],"sourcesContent":["\r\nimport * as React from 'react';\r\n\r\nimport { TooltipProps } from './TooltipTypes';\r\nimport { useResizeDetector } from 'react-resize-detector';\r\n\r\nimport { TooltipContainer, Tooltip } from './TooltipStyles';\r\nimport { Size } from '..';\r\n \r\ninterface TooltipOverflowProps extends TooltipProps {\r\n    input?: React.MutableRefObject<HTMLInputElement | null>;\r\n    maxWidth?: string;\r\n    width?: string;\r\n    value?: string;\r\n}\r\n\r\n const TooltipOverflow = ({\r\n   label, children,\r\n   input,\r\n   withArrow,\r\n   maxWidth,\r\n   width,\r\n   value,\r\n   size = Size.Small,\r\n   height = 'auto',\r\n   align = 'center', \r\n   position = 'top',\r\n   ...props } : TooltipOverflowProps) => {\r\n\r\n  const [textOverflowed, setTextOverflowed] = React.useState<boolean>(false);\r\n  const [focused, setFocused] = React.useState<boolean>(false);\r\n  const {width: customW, height: customH} = useResizeDetector({ targetRef: input });\r\n\r\n  React.useEffect(() => {\r\n    checkIfOverflowed();\r\n  }, [customW, customH]);\r\n\r\n  const checkIfOverflowed = () => {\r\n    //adding +3 offset to offsetWidth, because sometimes when there is no overflow, scrollWidth can be equal to offsetWidth + 1\r\n    const over = (input && !focused && input.current && input.current.offsetWidth + 3 < input.current.scrollWidth) ?? false;\r\n    setTextOverflowed(over);\r\n  };\r\n\r\n  React.useEffect(() => {\r\n    checkIfOverflowed();\r\n  });\r\n\r\n  const onFocus = () => {\r\n    checkIfOverflowed();\r\n    setFocused(true);\r\n  };\r\n\r\n  const onBlur = () => {\r\n    setFocused(false);\r\n  };\r\n\r\n  React.useEffect(() => {\r\n    return () => {\r\n      if(input?.current)\r\n      {\r\n        input?.current.removeEventListener(\"focus\", onFocus);\r\n        input?.current.removeEventListener(\"blur\", onBlur);\r\n      }\r\n    }\r\n  }, []);\r\n\r\n  const renderedCallback = React.useCallback(() => {\r\n    if(input && input.current)\r\n    {\r\n      input.current.addEventListener(\"focus\", onFocus);\r\n      input.current.addEventListener(\"blur\", onBlur);\r\n      checkIfOverflowed();\r\n    }\r\n  }, []);\r\n \r\n    return <div ref={renderedCallback}>{textOverflowed && <Tooltip $align={align}\r\n               $height={height}\r\n               role=\"tooltip\"\r\n               $maxWidth={maxWidth}\r\n               $width={width}\r\n               $size={size}\r\n               $withArrow={withArrow}\r\n               $position={position}\r\n               {...props}>\r\n                <span>\r\n               {children} </span>\r\n            </Tooltip> }</div>;\r\n };\r\n \r\n export default TooltipOverflow;\r\n"],"mappings":";;;;;;;;;;AACA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAGA,IAAAC,oBAAA,GAAAD,OAAA;AAEA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,CAAA,GAAAH,OAAA;AAA0B,IAAAI,WAAA,GAAAJ,OAAA;AAAA,MAAAK,SAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAR,wBAAAQ,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAW,QAAAnB,CAAA,EAAAE,CAAA,QAAAC,CAAA,GAAAQ,MAAA,CAAAS,IAAA,CAAApB,CAAA,OAAAW,MAAA,CAAAU,qBAAA,QAAAC,CAAA,GAAAX,MAAA,CAAAU,qBAAA,CAAArB,CAAA,GAAAE,CAAA,KAAAoB,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAArB,CAAA,WAAAS,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAE,CAAA,EAAAsB,UAAA,OAAArB,CAAA,CAAAsB,IAAA,CAAAC,KAAA,CAAAvB,CAAA,EAAAmB,CAAA,YAAAnB,CAAA;AAAA,SAAAwB,cAAA3B,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAA0B,SAAA,CAAAC,MAAA,EAAA3B,CAAA,UAAAC,CAAA,WAAAyB,SAAA,CAAA1B,CAAA,IAAA0B,SAAA,CAAA1B,CAAA,QAAAA,CAAA,OAAAiB,OAAA,CAAAR,MAAA,CAAAR,CAAA,OAAA2B,OAAA,WAAA5B,CAAA,QAAA6B,gBAAA,CAAA1B,OAAA,EAAAL,CAAA,EAAAE,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAS,MAAA,CAAAqB,yBAAA,GAAArB,MAAA,CAAAsB,gBAAA,CAAAjC,CAAA,EAAAW,MAAA,CAAAqB,yBAAA,CAAA7B,CAAA,KAAAgB,OAAA,CAAAR,MAAA,CAAAR,CAAA,GAAA2B,OAAA,WAAA5B,CAAA,IAAAS,MAAA,CAAAC,cAAA,CAAAZ,CAAA,EAAAE,CAAA,EAAAS,MAAA,CAAAE,wBAAA,CAAAV,CAAA,EAAAD,CAAA,iBAAAF,CAAA;AASzB,MAAMkC,eAAe,GAAGC,IAAA,IAWgB;EAAA,IAXf;MACvBC,KAAK;MAAEC,QAAQ;MACfC,KAAK;MACLC,SAAS;MACTC,QAAQ;MACRC,KAAK;MACLC,KAAK;MACLC,IAAI,GAAGC,MAAI,CAACC,KAAK;MACjBC,MAAM,GAAG,MAAM;MACfC,KAAK,GAAG,QAAQ;MAChBC,QAAQ,GAAG;IACqB,CAAC,GAAAb,IAAA;IAA9Bc,KAAK,OAAAC,yBAAA,CAAA7C,OAAA,EAAA8B,IAAA,EAAArC,SAAA;EAET,MAAM,CAACqD,cAAc,EAAEC,iBAAiB,CAAC,GAAG7D,KAAK,CAAC8D,QAAQ,CAAU,KAAK,CAAC;EAC1E,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGhE,KAAK,CAAC8D,QAAQ,CAAU,KAAK,CAAC;EAC5D,MAAM;IAACZ,KAAK,EAAEe,OAAO;IAAEV,MAAM,EAAEW;EAAO,CAAC,GAAG,IAAAC,sCAAiB,EAAC;IAAEC,SAAS,EAAErB;EAAM,CAAC,CAAC;EAEjF/C,KAAK,CAACqE,SAAS,CAAC,MAAM;IACpBC,iBAAiB,CAAC,CAAC;EACrB,CAAC,EAAE,CAACL,OAAO,EAAEC,OAAO,CAAC,CAAC;EAEtB,MAAMI,iBAAiB,GAAGA,CAAA,KAAM;IAC9B;IACA,MAAMC,IAAI,GAAG,CAACxB,KAAK,IAAI,CAACgB,OAAO,IAAIhB,KAAK,CAACyB,OAAO,IAAIzB,KAAK,CAACyB,OAAO,CAACC,WAAW,GAAG,CAAC,GAAG1B,KAAK,CAACyB,OAAO,CAACE,WAAW,KAAK,KAAK;IACvHb,iBAAiB,CAACU,IAAI,CAAC;EACzB,CAAC;EAEDvE,KAAK,CAACqE,SAAS,CAAC,MAAM;IACpBC,iBAAiB,CAAC,CAAC;EACrB,CAAC,CAAC;EAEF,MAAMK,OAAO,GAAGA,CAAA,KAAM;IACpBL,iBAAiB,CAAC,CAAC;IACnBN,UAAU,CAAC,IAAI,CAAC;EAClB,CAAC;EAED,MAAMY,MAAM,GAAGA,CAAA,KAAM;IACnBZ,UAAU,CAAC,KAAK,CAAC;EACnB,CAAC;EAEDhE,KAAK,CAACqE,SAAS,CAAC,MAAM;IACpB,OAAO,MAAM;MACX,IAAGtB,KAAK,EAAEyB,OAAO,EACjB;QACEzB,KAAK,EAAEyB,OAAO,CAACK,mBAAmB,CAAC,OAAO,EAAEF,OAAO,CAAC;QACpD5B,KAAK,EAAEyB,OAAO,CAACK,mBAAmB,CAAC,MAAM,EAAED,MAAM,CAAC;MACpD;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAME,gBAAgB,GAAG9E,KAAK,CAAC+E,WAAW,CAAC,MAAM;IAC/C,IAAGhC,KAAK,IAAIA,KAAK,CAACyB,OAAO,EACzB;MACEzB,KAAK,CAACyB,OAAO,CAACQ,gBAAgB,CAAC,OAAO,EAAEL,OAAO,CAAC;MAChD5B,KAAK,CAACyB,OAAO,CAACQ,gBAAgB,CAAC,MAAM,EAAEJ,MAAM,CAAC;MAC9CN,iBAAiB,CAAC,CAAC;IACrB;EACF,CAAC,EAAE,EAAE,CAAC;EAEJ,oBAAO,IAAAhE,WAAA,CAAA2E,GAAA;IAAKC,GAAG,EAAEJ,gBAAiB;IAAAhC,QAAA,EAAEc,cAAc,iBAAI,IAAAtD,WAAA,CAAA2E,GAAA,EAAC7E,cAAA,CAAA+E,OAAO,EAAA/C,aAAA,CAAAA,aAAA;MAACgD,MAAM,EAAE5B,KAAM;MAClE6B,OAAO,EAAE9B,MAAO;MAChB+B,IAAI,EAAC,SAAS;MACdC,SAAS,EAAEtC,QAAS;MACpBuC,MAAM,EAAEtC,KAAM;MACduC,KAAK,EAAErC,IAAK;MACZsC,UAAU,EAAE1C,SAAU;MACtB2C,SAAS,EAAElC;IAAS,GAChBC,KAAK;MAAAZ,QAAA,eACR,IAAAxC,WAAA,CAAAsF,IAAA;QAAA9C,QAAA,GACAA,QAAQ,EAAC,GAAC;MAAA,CAAM;IAAC,EACZ;EAAC,CAAO,CAAC;AAC7B,CAAC;AAACH,eAAA,CAAAkD,SAAA;EA5EC5C,QAAQ,EAAA6C,UAAA,CAAAhF,OAAA,CAAAiF,MAAA;EACR7C,KAAK,EAAA4C,UAAA,CAAAhF,OAAA,CAAAiF,MAAA;EACL5C,KAAK,EAAA2C,UAAA,CAAAhF,OAAA,CAAAiF;AAAA;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAAnF,OAAA,GA4EO6B,eAAe","ignoreList":[]}