banners & tags
TuxCookieConsent
Bottom-right floating card (or bottom strip) with the privacy notice required on public TTI surfaces. Persists the decision in
localStorage; emits decision for consumers wiring analytics gating. Compose per-category toggles via the #categories slot — the component is the surface, the host owns categories. demo
Try it
Click "Show demo" to render a notice keyed to a separate storage slot (tux-cookie-consent-demo). Reset clears the slot and re-shows the prompt.
basic
Default placement
Renders into <body> via Teleport — see the live demo above instead of a card preview.
<tux-cookie-consent @decision="onDecision" />custom categories
With per-category toggles
Pass a #categories slot to render checkboxes for analytics / marketing / etc. The "Customize preferences" link expands the slot in place.
<tux-cookie-consent>
<template #categories>
<div class="space-y-2">
<label class="flex items-center gap-2">
<input type="checkbox" checked disabled />
<span>Necessary (always on)</span>
</label>
<label class="flex items-center gap-2">
<input type="checkbox" v-model="analytics" />
<span>Analytics — Plausible, anonymized.</span>
</label>
<label class="flex items-center gap-2">
<input type="checkbox" v-model="marketing" />
<span>Marketing — conversion attribution.</span>
</label>
</div>
</template>
</tux-cookie-consent>notes
Posture
- Necessary cookies are implicitly accepted — no toggle.
- This component is a surface; analytics / marketing wiring lives in the host app.
- The decision persists in
localStorage; no cookie is set by the consent prompt itself. - Compatible with the TAMUS digital-accessibility policy linked in the unified TuxFooter legal strip.