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.

28 lines (25 loc) 1.13 kB
// src/elements/resizable.d.ts // Hand-authored ambient types for <kai-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 { KaiMaximizeIntentDetail, KaiMaximizeStateDetail } from './resizable'; declare global { interface KaiResizableElement 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 { 'kai-resizable': KaiResizableElement; } interface HTMLElementEventMap { 'kai-maximize-intent': CustomEvent<KaiMaximizeIntentDetail>; 'kai-maximize-state': CustomEvent<KaiMaximizeStateDetail>; } } export {};