{"version":3,"file":"useElementTruncated.mjs","sources":["../../../src/hooks/useElementTruncated.ts"],"sourcesContent":["import type { RefObject } from 'react'\nimport { useEffect, useState } from 'react'\n\nconst useElementTruncated = <Element extends HTMLElement>(\n  ref: RefObject<Element | null>\n): boolean => {\n  const [isTruncated, setTruncated] = useState(false)\n\n  useEffect(\n    function initResizeObserver() {\n      if (ref.current) {\n        const resizeObserver = new ResizeObserver((entries) => {\n          const firstEntry = entries[0]\n          if (firstEntry.target) {\n            setTruncated(\n              firstEntry.target.scrollWidth > firstEntry.target.clientWidth ||\n                firstEntry.target.scrollHeight > firstEntry.target.clientHeight\n            )\n          }\n        })\n        resizeObserver.observe(ref.current)\n\n        return function cleanup() {\n          return resizeObserver.disconnect()\n        }\n      }\n\n      return undefined\n    },\n    [ref]\n  )\n\n  return isTruncated\n}\n\nexport default useElementTruncated\n"],"names":["useElementTruncated","ref","isTruncated","setTruncated","useState","useEffect","initResizeObserver","current","resizeObserver","ResizeObserver","entries","firstEntry","target","scrollWidth","clientWidth","scrollHeight","clientHeight","observe","cleanup","disconnect","undefined"],"mappings":";;AAGMA,MAAAA,mBAAmB,GACvBC,GAA8B,IAClB;EACZ,MAAM,CAACC,WAAW,EAAEC,YAAY,CAAC,GAAGC,QAAQ,CAAC,KAAK,CAAC;AAEnDC,EAAAA,SAAS,CACP,SAASC,kBAAkBA,GAAG;IAC5B,IAAIL,GAAG,CAACM,OAAO,EAAE;AACf,MAAA,MAAMC,cAAc,GAAG,IAAIC,cAAc,CAAEC,OAAO,IAAK;AACrD,QAAA,MAAMC,UAAU,GAAGD,OAAO,CAAC,CAAC,CAAC;QAC7B,IAAIC,UAAU,CAACC,MAAM,EAAE;UACrBT,YAAY,CACVQ,UAAU,CAACC,MAAM,CAACC,WAAW,GAAGF,UAAU,CAACC,MAAM,CAACE,WAAW,IAC3DH,UAAU,CAACC,MAAM,CAACG,YAAY,GAAGJ,UAAU,CAACC,MAAM,CAACI,YACvD,CAAC;AACH;AACF,OAAC,CAAC;AACFR,MAAAA,cAAc,CAACS,OAAO,CAAChB,GAAG,CAACM,OAAO,CAAC;MAEnC,OAAO,SAASW,OAAOA,GAAG;AACxB,QAAA,OAAOV,cAAc,CAACW,UAAU,EAAE;OACnC;AACH;AAEA,IAAA,OAAOC,SAAS;AAClB,GAAC,EACD,CAACnB,GAAG,CACN,CAAC;AAED,EAAA,OAAOC,WAAW;AACpB;;;;"}