Spaces:
Running
on
Inf2
Running
on
Inf2
| <script lang="ts"> | |
| interface Props { | |
| label?: string; | |
| position?: "top" | "bottom" | "left" | "right"; | |
| TooltipClassNames?: string; | |
| children?: import("svelte").Snippet; | |
| } | |
| let { label = "", position = "bottom", TooltipClassNames = "", children }: Props = $props(); | |
| const positionClasses = { | |
| top: "bottom-full mb-2", | |
| bottom: "top-full mt-2", | |
| left: "right-full mr-2 top-1/2 -translate-y-1/2", | |
| right: "left-full ml-2 top-1/2 -translate-y-1/2", | |
| }; | |
| </script> | |
| <div class="group/tooltip inline-block md:relative"> | |
| {@render children?.()} | |
| <div | |
| class=" | |
| invisible | |
| absolute | |
| z-10 | |
| w-64 | |
| whitespace-normal | |
| rounded-md | |
| bg-black | |
| p-2 | |
| text-center | |
| text-white | |
| group-hover/tooltip:visible | |
| group-active/tooltip:visible | |
| max-sm:left-1/2 | |
| max-sm:-translate-x-1/2 | |
| {positionClasses[position]} | |
| {TooltipClassNames} | |
| " | |
| > | |
| {label} | |
| </div> | |
| </div> | |