import{type PropertyValues}from'lit';import type{LyraVariant}from'../../../internal/variants.js';import{LyraBadge,type BadgeVariant}from'./badge.class.js';export interface LyraTagEventMap{'lr-remove':CustomEvent;} /** Badge tones plus Shoelace's tag-only plain-text treatment. */ export type TagVariant=BadgeVariant|'text'; /** `` — the compact badge treatment with tag semantics: the same `variant`/`size`/ * `appearance`/`pill`/`attention` surface as ``, plus an optional remove affordance for * a tag standing in for a dismissible selection, filter, or keyword. * * Like ``, removal is controlled: activating the remove action emits one notification and * leaves the tag connected. The consumer updates its own source state and removes the tag. * A host `aria-label` names one aggregate `role="group"`; the nested remove button retains a * purpose-specific name derived from visible tag text or the localized remove fallback. * * @customElement lr-tag * @slot - Tag content. A removable tag keeps its action name synchronized with visible accessible * label text through forwarding slots. * @slot start - Content placed before the label, typically an icon. * @slot end - Content placed after the label, typically an icon. * @event lr-remove - Noncancelable notification that the remove button was activated (click, or * Enter/Space while focused — native `