@adpt/core
Version:
AdaptJS core library
26 lines • 999 B
TypeScript
import { OptionalPropertiesT, RequiredPropertiesT } from "type-ops";
import { AdaptElement, AnyProps, AnyState, BuiltinProps, Component } from "./jsx";
export declare type Defaultize<Props, Defaults> = {
[K in Extract<keyof Props, keyof Defaults>]?: Props[K];
} & {
[K in Exclude<RequiredPropertiesT<Props>, keyof Defaults>]: Props[K];
} & {
[K in Exclude<OptionalPropertiesT<Props>, keyof Defaults>]?: Props[K];
};
export declare namespace JSX {
interface IntrinsicElements {
}
type IntrinsicAttributes = Partial<BuiltinProps>;
interface ElementAttributesProperty {
props: never;
}
interface ElementChildrenAttribute {
children: never;
}
type ElementClass = Component<AnyProps, AnyState>;
type Element = AdaptElement;
type LibraryManagedAttributes<TComponent, Props> = (TComponent extends {
defaultProps: infer D;
} ? Defaultize<Props, D> : Props) & Partial<BuiltinProps>;
}
//# sourceMappingURL=jsx_namespace.d.ts.map