UNPKG

@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.

22 lines (21 loc) 1.1 kB
import { JSX } from 'solid-js'; import { CardEvent } from '../primitives/card-contract'; import { EmbedCardData } from '../primitives/embed-providers'; export interface EmbedProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, 'onError'> { /** The card id correlating every emitted event. */ cardId: string; /** The embed payload (data-down). */ data: EmbedCardData; /** Emit a contract CardEvent up (host routes it). */ onEmit?: (event: CardEvent) => void; } /** * `Embed` — a privacy-first lazy media facade. Initial render is a poster + a play * button: NO provider iframe, NO provider JS, NO cookies until the user opts in. * On play it swaps in the provider `<iframe>` (youtube-nocookie / vimeo dnt / * allowlisted generic). A persistent "Open on {provider}" affordance routes the * contract `open` verb so a blocked embed is never a dead end. The only verbs it * emits are lifecycle `ready`, `open`, and failure `error`. */ export declare function Embed(props: EmbedProps): JSX.Element; export type { EmbedCardData } from '../primitives/embed-providers';