import{type TemplateResult,type PropertyValues}from'lit';import{LyraElement}from'../../../internal/lyra-element.js';import type{LyraFrame}from'../../../internal/variants.js';export interface SourceCardExpandDetail{sourceId:string;expanded:boolean;}export interface SourceCardOpenDetail{sourceId:string;href?:string;}export interface LyraSourceCardEventMap{'lr-expand':CustomEvent;'lr-open':CustomEvent;}declare class LyraSourceCardBase extends LyraElement{}declare const LyraSourceCard_base:typeof LyraSourceCardBase; /** * `` — one citation/source entry, meant to be a direct * light-DOM child of `` (though it renders and functions * fine standalone). Shows a title/page heading, an always-visible `excerpt` * slot, and an optional `full` slot revealed behind its own independent * "Show more" toggle — unrelated to the parent ``'s own * expand/collapse, which only ever hides/shows the *set* of cards, never a * single card's own content. * * `source-id` is this card's stable identity, meant to match a * `` (a sibling component) elsewhere on the page. This * component doesn't implement any scroll-to/highlight behavior itself — that * lives at the app level, wiring a citation badge's activation event to this * card's `id`/`source-id`. Let the browser's default scroll behavior apply, * or add application motion that respects reduced-motion preferences. See the * `@example` below. * * @customElement lr-source-card * @slot excerpt - A short preview. When left empty, the `excerpt` part * collapses away entirely rather than leaving an empty gap in the card. * @slot full - The complete source text/chunk, hidden behind the "Show * more"/"Show less" toggle. When left empty, no toggle renders at all — a * card with no `full` content simply has no expand affordance. Removing all * `full`-slotted content while expanded automatically collapses it back, and * announces that collapse through `lr-expand` like any other state change. * @event lr-expand - The card's expanded state changed — either the per-card * "Show more"/"Show less" toggle was activated, or all `full`-slotted content * was removed while expanded, collapsing the card automatically. * `detail: { sourceId, expanded }`. * @event lr-open - The title was activated. `detail: { sourceId, href }` — * `href` may be `undefined`. This component never navigates on its own * (staying a controlled component, the same convention * ``'s `lr-tool-call-chip-select` follows); a listener * decides what "open" means (open `href` in a new tab, open an in-app * viewer, etc). * @csspart base - The outer container. * @csspart title - The clickable title/page heading (`