@kitn.ai/ui
Version:
Framework-agnostic, Shadow-DOM web components for building AI chat interfaces — works in React, Vue, Angular, Svelte, or plain HTML. Authored in SolidJS.
23 lines (22 loc) • 1.1 kB
TypeScript
import { JSX } from 'solid-js';
/** The card types that render a dismissed stub, mapped to their intent verb. */
export type DismissedCardType = 'confirm' | 'choice' | 'form' | 'tasks';
/** Map a card `type` to its dismissed-stub intent label ("Proposed:", "Choose:",
* "Form:", "Tasks:"). Falls back to a capitalized type for unknown card types. */
export declare function stubIntent(type: string): string;
export interface DismissedStubProps {
/** The card type, used to derive the intent label ("Proposed:" etc.). */
type: string;
/** The card's title/heading; shown after the intent label. Falls back gracefully. */
title?: string;
/** Re-open handler. The owning card emits `{ kind:'reopen', cardId }`. */
onReopen: () => void;
/** The Reopen button label. Default 'Reopen'. */
reopenLabel?: string;
class?: string;
}
/**
* `DismissedStub` — the compact stub a card collapses to after it's been dismissed.
* Group-labelled for a11y; the Reopen affordance is a ghost button.
*/
export declare function DismissedStub(props: DismissedStubProps): JSX.Element;