{"version":3,"sources":["../src/Tooltip/Tooltip.tsx"],"sourcesContent":["import { createPortal } from \"react-dom\";\nimport { type VariantProps, cva, cx } from \"cva\";\nimport { type Config, usePopperTooltip } from \"react-popper-tooltip\";\nimport type { FC, PropsWithChildren, ReactNode } from \"react\";\n\nexport const tooltipRecipe = cva({\n  base: \"kn-tooltip\",\n  variants: {\n    theme: {\n      light: \"kn-tooltip-light\",\n      dark: \"kn-tooltip-dark\",\n    },\n  },\n  defaultVariants: {\n    theme: \"light\",\n  },\n});\n\ntype TooltipRecipeVariants = VariantProps<typeof tooltipRecipe>;\n\nexport type TooltipProps = PropsWithChildren<\n  {\n    arrowClassName?: string;\n    content: ReactNode;\n    contentClassName?: string;\n    className?: string;\n    placement?: Config[\"placement\"];\n    trigger?: Config[\"trigger\"];\n  } & TooltipRecipeVariants\n>;\n\nconst Tooltip: FC<TooltipProps> = ({\n  arrowClassName,\n  children,\n  className,\n  contentClassName,\n  content,\n  placement,\n  trigger,\n  theme = \"light\",\n}) => {\n  const { getArrowProps, getTooltipProps, setTooltipRef, setTriggerRef, visible } =\n    usePopperTooltip({\n      placement,\n      trigger,\n    });\n\n  return (\n    <>\n      <div ref={setTriggerRef} className={className}>\n        {children}\n      </div>\n      {visible\n        ? createPortal(\n            <div\n              ref={setTooltipRef}\n              {...getTooltipProps({\n                className: cx(\"tooltip-container\", tooltipRecipe({ theme }), contentClassName),\n              })}\n            >\n              <div\n                {...getArrowProps({\n                  className: cx(\"kn-tooltip-arrow\", arrowClassName),\n                })}\n              />\n              {content}\n            </div>,\n            document.body,\n          )\n        : null}\n    </>\n  );\n};\n\nTooltip.displayName = \"Tooltip\";\n\nexport default Tooltip;\n"],"mappings":";;;;;;AAAA,SAAS,oBAAoB;AAC7B,SAA4B,KAAK,UAAU;AAC3C,SAAsB,wBAAwB;AA8C1C,mBACE,KAKM,YANR;AA3CG,IAAM,gBAAgB,IAAI;AAAA,EAC/B,MAAM;AAAA,EACN,UAAU;AAAA,IACR,OAAO;AAAA,MACL,OAAO;AAAA,MACP,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,OAAO;AAAA,EACT;AACF,CAAC;AAeD,IAAM,UAA4B,CAAC;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AACV,MAAM;AACJ,QAAM,EAAE,eAAe,iBAAiB,eAAe,eAAe,QAAQ,IAC5E,iBAAiB;AAAA,IACf;AAAA,IACA;AAAA,EACF,CAAC;AAEH,SACE,iCACE;AAAA,wBAAC,SAAI,KAAK,eAAe,WACtB,UACH;AAAA,IACC,UACG;AAAA,MACE;AAAA,QAAC;AAAA;AAAA,UACC,KAAK;AAAA,WACD,gBAAgB;AAAA,UAClB,WAAW,GAAG,qBAAqB,cAAc,EAAE,MAAM,CAAC,GAAG,gBAAgB;AAAA,QAC/E,CAAC,IAJF;AAAA,UAMC;AAAA;AAAA,cAAC;AAAA,iCACK,cAAc;AAAA,gBAChB,WAAW,GAAG,oBAAoB,cAAc;AAAA,cAClD,CAAC;AAAA,YACH;AAAA,YACC;AAAA;AAAA;AAAA,MACH;AAAA,MACA,SAAS;AAAA,IACX,IACA;AAAA,KACN;AAEJ;AAEA,QAAQ,cAAc;AAEtB,IAAO,kBAAQ;","names":[]}