##// END OF EJS Templates
fixed NlsBundle locale package loading...
fixed NlsBundle locale package loading corrected DjxFragment params and return value fixed regression in DjxWidgetBase attach points processing fixed empty RenditionBase startup

File last commit:

r109:4a375b9c654a default
r112:2ccfaae984e9 v1.4.4 default
Show More
index.d.ts
88 lines | 2.9 KiB | video/mp2t | TypeScriptLexer
// eslint-disable-next-line @typescript-eslint/triple-slash-reference
/// <reference path="./css-plugin.d.ts"/>
import { Rendition } from "./tsx/traits";
declare global {
namespace JSX {
type Ref<T> = ((value: T | undefined) => void);
type Element = Rendition;
interface DjxIntrinsicAttributes<E> {
/** alias for className */
class?: string;
/** specifies the name of the property in the widget where the the
* reference to the current object will be stored
*/
"data-dojo-attach-point"?: string;
/** specifies handlers map for the events */
"data-dojo-attach-event"?: string;
ref?: Ref<E>;
/** @deprecated */
[attr: string]: unknown;
}
// eslint-disable-next-line @typescript-eslint/no-empty-interface
interface DjxIntrinsicElements {
}
type RecursivePartial<T> = T extends string | number | boolean | null | undefined | ((...args: unknown[]) => unknown) ?
T :
{ [k in keyof T]?: RecursivePartial<T[k]> };
type MatchingMemberKeys<T, U> = {
[K in keyof T]: T[K] extends U ? K : never;
}[keyof T];
type NotMatchingMemberKeys<T, U> = {
[K in keyof T]: T[K] extends U ? never : K;
}[keyof T];
type ExtractMembers<T, U> = Pick<T, MatchingMemberKeys<T, U>>;
type ExcludeMembers<T, U> = Pick<T, NotMatchingMemberKeys<T, U>>;
type ElementAttrNames<E> = NotMatchingMemberKeys<E, (...args: unknown[]) => unknown>;
type ElementAttrType<E, K extends string | symbol> = K extends keyof E ? RecursivePartial<E[K]> : string;
type ElementAttrNamesBlacklist = "children" | "getRootNode" | keyof EventTarget;
/** This type extracts keys of the specified parameter E by the following rule:
* 1. skips all ElementAttrNamesBlacklist
* 2. skips all methods except with the signature of event handlers
*/
type AssignableElementAttrNames<E> = {
[K in keyof E]: K extends ElementAttrNamesBlacklist ? never :
((evt: Event) => unknown) extends E[K] ? K :
E[K] extends ((...args: unknown[]) => unknown) ? never :
K;
}[keyof E];
type LaxElement<E extends object> =
RecursivePartial<Pick<E, AssignableElementAttrNames<E>>> &
DjxIntrinsicAttributes<E>;
type LaxIntrinsicElementsMap = {
[tag in keyof HTMLElementTagNameMap]: LaxElement<HTMLElementTagNameMap[tag]>
} & DjxIntrinsicElements;
type IntrinsicElements = {
[tag in keyof LaxIntrinsicElementsMap]: LaxIntrinsicElementsMap[tag];
};
interface ElementChildrenAttribute {
children: unknown;
}
interface IntrinsicClassAttributes<T> {
ref?: Ref<T>;
children?: unknown;
}
}
}