UNPKG

@zeix/ui-element

Version:

UIElement - a HTML-first library for reactive Web Components

32 lines (28 loc) 517 B
import { asInteger, type Component, component, fromDOM, fromEvents, getText, setText, } from '../../..' export type BasicCounterProps = { readonly count: number } export default component( 'basic-counter', { count: fromEvents<number>( 'button', { click: ({ value }) => ++value }, fromDOM({ span: getText() }, asInteger()), ), }, (_, { first }) => [first('span', setText('count'))], ) declare global { interface HTMLElementTagNameMap { 'basic-counter': Component<BasicCounterProps> } }