@xtia/jel 0.4.1 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.d.ts +6 -4
  2. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  export type ElementClassDescriptor = string | Record<string, boolean> | ElementClassDescriptor[];
2
2
  export type DOMContent = number | null | string | Element | JelEntity<object> | Text | DOMContent[];
3
3
  export type DomEntity<T extends HTMLElement> = JelEntity<ElementAPI<T>>;
4
+ export type AppendableDomEntity = DomEntity<AppendableElement>;
5
+ type AppendableElement = HTMLElementTagNameMap[Exclude<keyof HTMLElementTagNameMap, ContentlessTag>];
4
6
  type PartConstructor<Spec, API extends object | void, EventDataMap> = (spec: Spec & EventSpec<EventDataMap>) => JelEntity<EventHost<API, EventDataMap>>;
5
7
  type EventSpec<EventDataMap> = EventDataMap extends object ? {
6
8
  on?: {
@@ -34,9 +36,9 @@ type ElementDescriptor<Tag extends string> = {
34
36
  } : Tag extends ContentlessTag ? {} : {
35
37
  content?: DOMContent;
36
38
  }) & (Tag extends TagWithSrc ? {
37
- src: string;
39
+ src?: string;
38
40
  } : Tag extends TagWithHref ? {
39
- href: string;
41
+ href?: string;
40
42
  } : {});
41
43
  type ElementAPI<T extends HTMLElement> = EventHost<{
42
44
  readonly element: T;
@@ -54,9 +56,9 @@ type ElementAPI<T extends HTMLElement> = EventHost<{
54
56
  getRect(): DOMRect;
55
57
  focus(): void;
56
58
  blur(): void;
57
- } & (T extends ContentlessTag ? {} : {
59
+ } & (T extends AppendableElement ? {
58
60
  content: DOMContent;
59
- }) & (T extends HTMLInputElement ? {
61
+ } : {}) & (T extends HTMLInputElement ? {
60
62
  value: string;
61
63
  select(): void;
62
64
  } : T extends HTMLCanvasElement ? {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xtia/jel",
3
- "version": "0.4.1",
3
+ "version": "0.4.2",
4
4
  "repository": {
5
5
  "url": "https://github.com/tiadrop/jel-ts",
6
6
  "type": "github"