UNPKG

@teaui/preact

Version:

Preact renderer for TeaUI

56 lines (55 loc) 2.68 kB
import type { ComponentChildren } from 'preact'; import { Screen, type ScreenOptions, ViewProps, Window as WrWindow } from '@teaui/core'; import type { CheckboxProps, CollapsibleTextProps, ConsoleProps, DigitsProps, HeaderProps, InputProps, ProgressProps, SeparatorProps, SliderProps, SpaceProps, SpinnerProps, ToggleGroupProps, BoxProps, ButtonProps, CollapsibleProps, ScrollableProps, StackProps, StyleProps, TextProps, AccordionProps, AccordionSectionProps, DrawerProps, HotKeyProps, KeyboardProps, MouseProps, TabsProps, TabsSectionProps } from './components.js'; declare module 'preact' { namespace JSX { interface IntrinsicElements { 'tui-br': {}; 'tui-checkbox': CheckboxProps; 'tui-collapsible-text': CollapsibleTextProps; 'tui-console': ConsoleProps; 'tui-digits': DigitsProps; 'tui-hotkey': HotKeyProps; 'tui-keyboard': KeyboardProps; 'tui-mouse': MouseProps; 'tui-h1': HeaderProps; 'tui-h2': HeaderProps; 'tui-h3': HeaderProps; 'tui-h4': HeaderProps; 'tui-h5': HeaderProps; 'tui-h6': HeaderProps; 'tui-input': InputProps; 'tui-progress': ProgressProps; 'tui-separator': SeparatorProps; 'tui-slider': SliderProps; 'tui-space': SpaceProps; 'tui-spinner': SpinnerProps; 'tui-toggle-group': ToggleGroupProps; 'tui-tree': ViewProps; 'tui-box': BoxProps; 'tui-button': ButtonProps; 'tui-collapsible': CollapsibleProps; 'tui-scrollable': ScrollableProps; 'tui-stack': StackProps; 'tui-style': StyleProps; 'tui-text': TextProps; 'tui-accordion': AccordionProps; 'tui-accordion-section': AccordionSectionProps; 'tui-drawer': DrawerProps; 'tui-tabs': TabsProps; 'tui-tabs-section': TabsSectionProps; } } } type ViewFactory = (props: any) => any; /** * Register a custom element type for the Preact reconciler. * External packages (e.g. @teaui/subprocess) can call this to add new JSX elements. * * @example * registerElement('tui-subprocess', (props) => new SubprocessView(props)) */ export declare function registerElement(type: string, factory: ViewFactory): void; export declare function render(screen: Screen, window: WrWindow, component: ComponentChildren): () => void; export declare function run(component: ComponentChildren, options?: Partial<ScreenOptions>): Promise<[Screen, WrWindow, ComponentChildren, () => void]>; export {};