jsx-view
Version:
Minimal JSX for HTML DOM tightly integrated with RxJS. TypeScript definitions, and attributes can be assigned to observables.
28 lines • 1.18 kB
TypeScript
import type { Observable, Observer, Subscription } from "rxjs";
declare const _default: 0;
export default _default;
declare global {
namespace JSX {
type Value<T> = Observable<T | undefined> | T | undefined;
type StringValue = Value<string>;
type NumberValue = Value<number>;
type BooleanValue = Value<boolean>;
type DateValue = Value<Date>;
type RefValue<T = DOMElement> = ((dom: T, sub: Subscription) => any) | Observer<{
dom: T;
sub: Subscription;
}>;
type $StyleValue = Value<Partial<CSSStyleDeclaration>>;
/**
* Nestable lists of class names compatible
*/
type ClassNames = Value<{
[className: string]: boolean;
} | string[] | string | undefined | null | false> | {
[className: string]: Value<boolean>;
};
type $ClassValue = ClassNames | ClassNames[];
type AnyValue = $ClassValue | $StyleValue | BooleanValue | Children | DateValue | NumberValue | RefValue<any> | StringValue | ((this: DOMElement, event: any) => any) | null | undefined;
}
}
//# sourceMappingURL=declare-values.d.ts.map