/** * TyTag Web Component * PORTED FROM: clj/ty/components/tag.cljs * Tag component with slots and semantic flavors */ import type { Flavor, Size, TyTagElement } from "../types/common.js"; import { TyComponent } from "../base/ty-component.js"; import type { PropertyChange } from "../utils/property-manager.js"; /** * Component internal state (for typing TyComponent) */ interface TagState { flavor: Flavor; size: Size; value: string; selected: boolean; pill: boolean; clickable: boolean; dismissible: boolean; disabled: boolean; } /** * Ty Tag Component * * @example * ```html * Primary Tag * Success Tag * Clickable Tag * Selected Tag * ``` */ export declare class TyTag extends TyComponent implements TyTagElement { static formAssociated: boolean; protected static properties: { flavor: { type: "string"; visual: boolean; default: string; }; size: { type: "string"; visual: boolean; default: string; validate: (v: any) => boolean; coerce: (v: any) => any; }; value: { type: "string"; visual: boolean; default: string; }; selected: { type: "boolean"; visual: boolean; default: boolean; }; pill: { type: "boolean"; visual: boolean; default: boolean; aliases: { "not-pill": boolean; }; }; clickable: { type: "boolean"; visual: boolean; default: boolean; }; dismissible: { type: "boolean"; visual: boolean; default: boolean; }; disabled: { type: "boolean"; visual: boolean; default: boolean; }; }; private _cleanup; constructor(); /** * Called when component connects to DOM * TyComponent already handled pre-connection property capture * TyComponent will call render() automatically after this hook */ protected onConnect(): void; /** * Called when component disconnects from DOM */ protected onDisconnect(): void; /** * Handle property changes - called BEFORE render */ protected onPropertiesChanged(_changes: PropertyChange[]): void; /** * Handle tag click events */ private handleClick; /** * Handle tag dismiss events */ private handleDismiss; /** * Handle keyboard interactions */ private handleKeydown; /** * Dispatch custom tag events */ private dispatchTagEvent; /** * Clean up existing event listeners */ private cleanupEventListeners; /** * Setup event listeners for tag interactions */ private setupEventListeners; /** * Render the tag component */ protected render(): void; get flavor(): Flavor; set flavor(value: Flavor); get size(): Size; set size(value: Size); get value(): string; set value(val: string); get selected(): boolean; set selected(value: boolean); get pill(): boolean; set pill(value: boolean); get clickable(): boolean; set clickable(value: boolean); get dismissible(): boolean; set dismissible(value: boolean); get disabled(): boolean; set disabled(value: boolean); } export {}; //# sourceMappingURL=tag.d.ts.map