UNPKG

@kitn.ai/chat

Version:

Framework-agnostic, Shadow-DOM web components for building AI chat interfaces — works in React, Vue, Angular, Svelte, or plain HTML. Authored in SolidJS.

28 lines (25 loc) 1.12 kB
// src/elements/resizable.d.ts // Hand-authored ambient types for <kc-resizable>'s maximize capability. The // generated element-types.d.ts emits prop/event interfaces only (not methods), // so the imperative host API + the cross-element protocol events live here. // NOT regenerated by `npm run build`. import type { KcMaximizeIntentDetail, KcMaximizeStateDetail } from './resizable'; declare global { interface KcResizableElement extends HTMLElement { /** Which item index is maximized (null = none). Setting it maximizes that * item (or restores when set to null) — the declarative source of truth. */ maximizedIndex: number | null; /** Imperatively maximize the item at `index` (thin wrapper over maximizedIndex). */ maximize(index: number): void; /** Imperatively restore from the maximized layout. */ restore(): void; } interface HTMLElementTagNameMap { 'kc-resizable': KcResizableElement; } interface HTMLElementEventMap { 'kc-maximize-intent': CustomEvent<KcMaximizeIntentDetail>; 'kc-maximize-state': CustomEvent<KcMaximizeStateDetail>; } } export {};