import{type TemplateResult,type PropertyValues}from'lit';import{LyraElement}from'../../../internal/lyra-element.js';import type{LyraSize}from'../../../internal/variants.js';import type{LyraSelectionDirection}from'../../../internal/shared-unions.js';import{type FormOwnerValue}from'../../../internal/form-associated.js';import{type LyraCatalog,type LyraCatalogEntry}from'../../../internal/catalog-picker.js'; /** * `true`-defaulting boolean attribute converter for `preview`. Lit's built-in `type: Boolean` * converter is presence-based -- the attribute's mere presence (regardless of its string value) * maps to `true`, so a plain-markup consumer writing the literal `preview="false"` would actually * get `true` (this property's default) -- the same bug class `spellcheckConverter` above and * ``'s `restorable`/`confirmRestore` converters document and fix. */ /** A catalog row: a selectable TTS voice. */ export interface LyraVoiceCatalogEntry extends LyraCatalogEntry{ /** Rendered (with `description`) as a quiet `[part="option-meta"]` second line. */ language?:string;description?:string; /** A sample-audio URL; validated via `safeMediaSrc()` before ever reaching an `