anki/ts/deck-options/TooltipLabel.svelte
Damien Elmes e3bfc86f50 update JS deps
- fixes warnings about security issues in marked/markdown-it
- jsdoc is mostly unmaintained at this point, and we need to override
its dependencies manually
- typescript is still pinned
2022-01-16 13:29:48 +10:00

39 lines
1011 B
Svelte

<!--
Copyright: Ankitects Pty Ltd and contributors
License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
-->
<script lang="ts">
import { marked } from "marked";
import { infoCircle } from "./icons";
import WithTooltip from "../components/WithTooltip.svelte";
import Label from "./Label.svelte";
import Badge from "../components/Badge.svelte";
export let markdownTooltip: string;
let forId: string | undefined = undefined;
export { forId as for };
</script>
<span>
{#if forId}
<Label for={forId}><slot /></Label>
{:else}
<slot />
{/if}
<WithTooltip
tooltip={marked(markdownTooltip)}
showDelay={250}
offset={[0, 20]}
placement="bottom"
let:createTooltip
>
<Badge
class="opacity-50"
iconSize={85}
on:mount={(event) => createTooltip(event.detail.span)}
>
{@html infoCircle}
</Badge>
</WithTooltip>
</span>