{"release_id":"01a1c502-4ad1-0000-ec62-adc54d3c69aa","chunk_id":"01a1c502-4c4c-70b3-b5ba-a899e5fcb6d7","file":"XUspkGRn.mjs","mappings":"ysCAAA,CAUE,IAAAA,kBAAU,OAAO,EACVC,gBAAQ,EAAC,kCAKhBC,EAAIC,EAAA,EAAJC,EAAA,IAAAC,EAAAH,gBAAsBD,KAAK,EAAA,GAAA,eAAA,CAAA,MAA3BC,CAAI,SAmBJ,IAAAI,EAAAC,EAAA,EAAAH,EAAA,IAAAC,EAAAC,EAAA,EAAA,4KACiLL,KAAK,EAAA,GAAA,eAAA,CAAA,EADtLO,EAAAC,EAAAH,CAAA,WApBGN,EAAO,IAAK,YAAWU,EAAAC,CAAA,EAAAD,EAAAE,EAAA,EAAA,UAFpB","names":["variant","klass","span","root_1","$.template_effect","$.set_class","span_1","root_2","$.append","$$anchor","$$render","consequent","alternate"],"sources":["../../../../../../src/lib/components/AdminBadge.svelte"],"sourcesContent":["<script lang=\"ts\">\n\t// Small staff chip shown next to staff users' names (chat + profile).\n\t// \"admin 😎\" gets an animated rainbow gradient (a deliberate admin flex).\n\t// \"mod\" is built like UserBadge's labelled chips — same translucent pill,\n\t// same enamel emblem with gloss, same type — with a siren glyph whose fill\n\t// drifts red ↔ blue like a police light (a crossfade, never a strobe).\n\t// Fills, not glows — respects the no-neon rule — and both honour\n\t// prefers-reduced-motion. Status is resolved by the caller (cached\n\t// staff-id sets, or profile flags); this component is presentation only.\n\tlet {\n\t\tvariant = 'admin',\n\t\tclass: klass = ''\n\t}: { variant?: 'admin' | 'moderator'; class?: string } = $props();\n</script>\n\n{#if variant === 'moderator'}\n\t<span class=\"mod-chip {klass}\" title=\"ratemyd. moderator\">\n\t\t<span class=\"emblem\">\n\t\t\t<span class=\"blue\" aria-hidden=\"true\"></span>\n\t\t\t<svg viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\">\n\t\t\t\t<path d=\"M7 18v-5a5 5 0 0 1 10 0v5z\" />\n\t\t\t\t<rect x=\"4.5\" y=\"18.2\" width=\"15\" height=\"3\" rx=\"1\" />\n\t\t\t\t<path\n\t\t\t\t\td=\"M12 2.5v2.6M4.2 6.2l1.8 1.8M19.8 6.2L18 8\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t/>\n\t\t\t</svg>\n\t\t\t<span class=\"gloss\" aria-hidden=\"true\"></span>\n\t\t</span>\n\t\t<span class=\"mod-text\">mod</span>\n\t</span>\n{:else}\n\t<span\n\t\tclass=\"inline-flex shrink-0 items-center gap-1 rounded-full border border-border bg-surface px-2 py-0.5 align-middle text-[10px] font-bold uppercase leading-none tracking-wide {klass}\"\n\t\ttitle=\"ratemyd. admin\"\n\t>\n\t\t<span class=\"text-[11px] leading-none\">😎</span><span class=\"admin-rainbow\">admin</span>\n\t</span>\n{/if}\n\n<style>\n\t.admin-rainbow {\n\t\tbackground: linear-gradient(\n\t\t\t90deg,\n\t\t\t#ff4d4d,\n\t\t\t#ff9a3d,\n\t\t\t#ffe74d,\n\t\t\t#4dff88,\n\t\t\t#4dd2ff,\n\t\t\t#9a6bff,\n\t\t\t#ff4df0,\n\t\t\t#ff4d4d\n\t\t);\n\t\tbackground-size: 200% auto;\n\t\tbackground-clip: text;\n\t\t-webkit-background-clip: text;\n\t\tcolor: transparent;\n\t\t-webkit-text-fill-color: transparent;\n\t\tanimation: admin-rainbow-slide 3s linear infinite;\n\t}\n\n\t@keyframes admin-rainbow-slide {\n\t\tto {\n\t\t\tbackground-position: 200% center;\n\t\t}\n\t}\n\n\t/* Accessibility: hold a static gradient for users who prefer less motion. */\n\t@media (prefers-reduced-motion: reduce) {\n\t\t.admin-rainbow {\n\t\t\tanimation: none;\n\t\t}\n\t}\n\n\t/* moderator — mirrors UserBadge's .ub--chip / .emblem / .gloss / .ub-text at\n\t   the 15px size it sits beside, so it reads as one more pin in the row. */\n\t.mod-chip {\n\t\tdisplay: inline-flex;\n\t\tflex-shrink: 0;\n\t\talign-items: center;\n\t\tgap: 5px;\n\t\tpadding: 2px 7px 2px 3px;\n\t\tborder-radius: 999px;\n\t\tbackground: rgba(255, 255, 255, 0.05);\n\t\tborder: 1px solid rgba(255, 255, 255, 0.08);\n\t\tvertical-align: middle;\n\t\tline-height: 0;\n\t}\n\t.emblem {\n\t\tposition: relative;\n\t\tdisplay: inline-grid;\n\t\tplace-items: center;\n\t\twidth: 15px;\n\t\theight: 15px;\n\t\tborder-radius: 4.8px;\n\t\toverflow: hidden;\n\t\tbackground: linear-gradient(155deg, #ff7d92 0%, #e22746 55%, #b01230 100%);\n\t\tbox-shadow:\n\t\t\t0 1px 2px rgba(0, 0, 0, 0.55),\n\t\t\tinset 0 0 0 1px rgba(255, 255, 255, 0.22);\n\t}\n\t/* the blue layer fades in and out over the red: red → blue → red */\n\t.blue {\n\t\tposition: absolute;\n\t\tinset: 0;\n\t\tbackground: linear-gradient(155deg, #6fb4ff 0%, #2f6fe0 55%, #1d4fb0 100%);\n\t\topacity: 0;\n\t\tanimation: police 1.6s ease-in-out infinite;\n\t}\n\t@keyframes police {\n\t\t50% {\n\t\t\topacity: 1;\n\t\t}\n\t}\n\t.emblem svg {\n\t\tposition: relative;\n\t\tz-index: 2;\n\t\twidth: 66%;\n\t\theight: 66%;\n\t\tcolor: #fff;\n\t\tfilter: drop-shadow(0 0.5px 0.5px rgba(0, 0, 0, 0.4));\n\t}\n\t.gloss {\n\t\tposition: absolute;\n\t\tinset: 0;\n\t\tz-index: 1;\n\t\tbackground: linear-gradient(\n\t\t\t180deg,\n\t\t\trgba(255, 255, 255, 0.42),\n\t\t\trgba(255, 255, 255, 0.08) 48%,\n\t\t\ttransparent 60%\n\t\t);\n\t\tpointer-events: none;\n\t}\n\t.mod-text {\n\t\tfont-family: var(--font-display, inherit);\n\t\tfont-size: 10px;\n\t\tfont-weight: 800;\n\t\tletter-spacing: 0.08em;\n\t\ttext-transform: uppercase;\n\t\tline-height: 1;\n\t\tcolor: var(--color-text, #f0f0f0);\n\t}\n\n\t@media (prefers-reduced-motion: reduce) {\n\t\t.blue {\n\t\t\tanimation: none;\n\t\t}\n\t}\n</style>\n"],"version":3}