cobalt/web/src/components/save/CaptchaTooltip.svelte
wukko 2ac9153142
Some checks failed
Run tests / api sanity check (push) Has been cancelled
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Has been cancelled
Run tests / check lockfile correctness (push) Has been cancelled
Run tests / web sanity check (push) Has been cancelled
web/CaptchaTooltip: increase max width
allows for prettier layout of text in languages other than english
2025-06-15 15:16:32 +06:00

78 lines
1.7 KiB
Svelte

<script lang="ts">
import { t } from "$lib/i18n/translations";
type Props = {
visible: boolean;
};
let { visible }: Props = $props();
</script>
<div class="tooltip-holder" class:visible aria-hidden="true">
<div class="tooltip-body">
<div class="tooltip-content subtext">
{$t("save.tooltip.captcha")}
</div>
<div class="tooltip-pointer border"></div>
<div class="tooltip-pointer"></div>
</div>
</div>
<style>
.tooltip-holder {
position: absolute;
bottom: calc(100% + 10px);
opacity: 0;
transform: scale(0.5) translateX(10px) translateY(15px);
transform-origin: bottom left;
transition:
transform 0.2s cubic-bezier(0.53, 0.05, 0.23, 1.15),
opacity 0.2s cubic-bezier(0.53, 0.05, 0.23, 0.99);
will-change: transform, opacity;
}
.tooltip-holder.visible {
opacity: 1;
transform: none;
}
.tooltip-body {
max-width: 190px;
position: relative;
pointer-events: none;
padding: 8px 14px;
border-radius: 11px;
background: var(--button);
box-shadow: var(--button-box-shadow);
filter: drop-shadow(0 0 8px var(--popover-glow));
}
.tooltip-content {
padding: 0;
}
.tooltip-pointer {
position: absolute;
top: calc(100% - 7px);
left: 14px;
transform: rotate(45deg);
background: var(--button);
z-index: 2;
height: 10px;
width: 10px;
}
.tooltip-pointer.border {
box-shadow: var(--button-box-shadow);
z-index: 1;
margin-top: 2px;
}
</style>