UNPKG

jsx-view

Version:

Minimal JSX for HTML DOM tightly integrated with RxJS. TypeScript definitions, and attributes can be assigned to observables.

42 lines 1.94 kB
import "./declare-values"; declare type _DOMElement = Element; declare global { namespace JSX { type DOMElement = _DOMElement; /** Props shared between {@link HTMLElement}s and {@link SVGElement}s. */ interface ElementProps<T extends DOMElement = DOMElement> { /** Describe the actual tagName to use */ is?: string; /** The children elements accept */ children?: Children; /** * Note: If you imported rxjs-extensions, you can use `Observable<T>.prototype.map$Class((from: T) => classes)` */ $class?: $ClassValue; /** * Access the current element after the element has been created with children (but before being mounted). * * This includes the element's subscription so you can add subscriptions to be unsubscribed when the element is dropped. */ ref?: RefValue<T>; /** Add tags to the className where each of these tags will be prefixed with `tag-${item}` */ tags?: Value<string[]>; /** * Assign individual style properties with each emit. * For performance reasons, we do not track "unset" values, * so if you do `.next({ top: "2px" })` and then `.next({})`, the * style will still include `top: 2px`. This makes performance * predicatable for animation, and it ensures compatibility with * an added "style" property (as long as the style property isn't * also an observable). */ $style?: $StyleValue; } interface HtmlProps<T extends HTMLElement = HTMLElement> extends ElementProps<T> { } interface SvgProps<T extends SVGElement = SVGElement> extends ElementProps<T> { } } } export {}; //# sourceMappingURL=declare-special-props.d.ts.map