{"version":3,"file":"EllipsisTooltip.mjs","sources":["../../../../src/lib/nextGenComponents/components/EllipsisTooltip/EllipsisTooltip.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, ReactNode, useRef, useState } from 'react'\n\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip'\nimport { cn } from '@/lib/utils'\n\ntype EllipsisTooltipProps = {\n  children: ReactNode\n  className?: string\n} & Omit<ComponentPropsWithoutRef<typeof TooltipContent>, 'children'>\n\nconst EllipsisTooltip = ({ children, className, ...tooltipContentProps }: EllipsisTooltipProps) => {\n  const ref = useRef<HTMLDivElement>(null)\n  const [isOverflowed, setIsOverflowed] = useState(false)\n\n  const handleOpenChange = (open: boolean) => {\n    if (!open) {\n      setIsOverflowed(false)\n      return\n    }\n    if (ref.current) setIsOverflowed(ref.current.scrollWidth > ref.current.clientWidth)\n  }\n\n  const content = (\n    <div ref={ref} className={cn('truncate overflow-hidden text-ellipsis w-full', className)}>\n      {children}\n    </div>\n  )\n\n  return (\n    <Tooltip open={isOverflowed} onOpenChange={handleOpenChange}>\n      <TooltipTrigger asChild>{content}</TooltipTrigger>\n      <TooltipContent\n        className=\"break-words *:text-white [&_*]:text-white\"\n        {...tooltipContentProps}\n      >\n        <div className=\"select-text\">{children}</div>\n      </TooltipContent>\n    </Tooltip>\n  )\n}\n\nexport default EllipsisTooltip\n"],"names":["EllipsisTooltip","children","className","tooltipContentProps","ref","useRef","isOverflowed","setIsOverflowed","useState","handleOpenChange","open","content","cn","jsxs","Tooltip","jsx","TooltipTrigger","TooltipContent"],"mappings":";;;;AAUA,MAAMA,IAAkB,CAAC,EAAE,UAAAC,GAAU,WAAAC,GAAW,GAAGC,QAAgD;AACjG,QAAMC,IAAMC,EAAuB,IAAI,GACjC,CAACC,GAAcC,CAAe,IAAIC,EAAS,EAAK,GAEhDC,IAAmB,CAACC,MAAkB;AAC1C,QAAI,CAACA,GAAM;AACT,MAAAH,EAAgB,EAAK;AACrB;AAAA,IACF;AACA,IAAIH,EAAI,WAASG,EAAgBH,EAAI,QAAQ,cAAcA,EAAI,QAAQ,WAAW;AAAA,EACpF,GAEMO,sBACH,OAAA,EAAI,KAAAP,GAAU,WAAWQ,EAAG,iDAAiDV,CAAS,GACpF,UAAAD,EAAA,CACH;AAGF,SACE,gBAAAY,EAACC,GAAA,EAAQ,MAAMR,GAAc,cAAcG,GACzC,UAAA;AAAA,IAAA,gBAAAM,EAACC,GAAA,EAAe,SAAO,IAAE,UAAAL,GAAQ;AAAA,IACjC,gBAAAI;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACT,GAAGd;AAAA,QAEJ,UAAA,gBAAAY,EAAC,OAAA,EAAI,WAAU,eAAe,UAAAd,EAAA,CAAS;AAAA,MAAA;AAAA,IAAA;AAAA,EACzC,GACF;AAEJ;"}