stagnate 1.0.8 → 1.1.0

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.
@@ -27,8 +27,7 @@ export declare class Component<REFS = {}, PROPS = undefined, ROOT extends SVGEle
27
27
  * if component is to be used from jsx it has to have one constructor argument being the props,
28
28
  * any other constructor signature will fail when used from jsx
29
29
  */
30
- constructor(...props: PROPS extends undefined ? [] : [never]);
31
- constructor(props: PROPS);
30
+ constructor(...props: PROPS extends undefined ? [] : [props: PROPS]);
32
31
  private attach;
33
32
  private detach;
34
33
  /**
@@ -26,6 +26,9 @@ export class Component {
26
26
  this._components.forEach(x => x.detach());
27
27
  this._components = [];
28
28
  this._attached = false;
29
+ this.refs = {};
30
+ this.parent = null;
31
+ this.root = null;
29
32
  this.onDetach();
30
33
  }
31
34
  /**
@@ -137,7 +140,7 @@ export class Component {
137
140
  target = target.root;
138
141
  }
139
142
  if (typeof before === "number") {
140
- before = target.children[Math.min(Math.max(0, before), target.children.length - 1)];
143
+ before = before < target.children.length ? target.children[Math.max(0, before)] : undefined;
141
144
  }
142
145
  else if (before instanceof Component) {
143
146
  before = before.root;
@@ -176,8 +179,6 @@ export class Component {
176
179
  }
177
180
  /** remove this component from DOM and its parent component */
178
181
  destroy() {
179
- this.detach();
180
- this.refs = {};
181
182
  if (this.root) {
182
183
  this.root.remove();
183
184
  }
@@ -187,8 +188,7 @@ export class Component {
187
188
  this.parent._components.splice(index, 1);
188
189
  }
189
190
  }
190
- this.parent = null;
191
- this.root = null;
191
+ this.detach();
192
192
  }
193
193
  /** true if component is attached */
194
194
  get attached() {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Component.js","sourceRoot":"","sources":["../src/Component.ts"],"names":[],"mappings":"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"}
package/README.md CHANGED
@@ -99,13 +99,11 @@ Same as `create` but replaces `target` instead of being appended to it.
99
99
  #### The `createOrphanized` member function
100
100
 
101
101
  ```typescript
102
- createOrphanized(target?: Element | null)
102
+ createOrphanized(target?: Node)
103
103
  ```
104
104
 
105
105
  Same as `create` but intended to create the root component. The component is automatically set as attached after render.
106
106
 
107
- If `target` is `null` then component is appended to `document.body`.
108
-
109
107
  ## JSX attribute handling
110
108
 
111
109
  ### `ref` attribute
@@ -1,4 +1,4 @@
1
- import { JSX, StagnateNode } from "./types";
1
+ import type { JSX, StagnateNode } from "./types";
2
2
  /**
3
3
  * Pseudo component used to create named slots.
4
4
  *
@@ -43,7 +43,7 @@ export function Slot(props) {
43
43
  for (let i = 0; i < input.length; i += 1) {
44
44
  const item = input[i];
45
45
  if (item instanceof SlotArray) {
46
- if (input.length) {
46
+ if (item.length) {
47
47
  slots[item.name] = item[0];
48
48
  }
49
49
  input[i] = null;
package/Slot.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Slot.js","sourceRoot":"","sources":["../src/Slot.ts"],"names":[],"mappings":"AAEA,MAAM,SAAU,SAAQ,KAAmB;IAE1C,YAAa,IAAY,EAAE,QAAsB;QAChD,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACpB,CAAC;CACD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,IAAI,CAAC,KAA6C;IACjE,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAQ,CAAA;AACxD,CAAC;AAED,WAAiB,IAAI;IACpB;;;;;OAKG;IACH,SAAgB,OAAO,CAA0B,KAAmB,EAAE,QAA6B,EAAE;QACpG,IAAI,KAAK,YAAY,SAAS,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAChD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YAC5B,KAAK,CAAC,GAAG,EAAE,CAAA;QACZ,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;gBACrB,IAAI,IAAI,YAAY,SAAS,EAAE,CAAC;oBAC/B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;wBACjB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;oBAC3B,CAAC;oBACD,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;gBAChB,CAAC;qBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;gBACrB,CAAC;YACF,CAAC;QACF,CAAC;QACD,OAAO,KAAU,CAAA;IAClB,CAAC;IAlBe,YAAO,UAkBtB,CAAA;AACF,CAAC,EA1BgB,IAAI,KAAJ,IAAI,QA0BpB"}
@@ -1,5 +1,4 @@
1
- export * from "./types";
1
+ export type * from "./types";
2
2
  export * from "./Component";
3
3
  export * from "./Slot";
4
4
  export { Fragment, createElement } from "./jsx-runtime";
5
- export * as default from "./index";
@@ -1,6 +1,4 @@
1
- export * from "./types";
2
1
  export * from "./Component";
3
2
  export * from "./Slot";
4
3
  export { Fragment, createElement } from "./jsx-runtime";
5
- export * as default from "./index";
6
4
  //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA"}
@@ -6,4 +6,4 @@ export declare function Fragment(props: {
6
6
  children: StagnateNode;
7
7
  }): JSX.Element;
8
8
  export { jsx as jsxs };
9
- export { JSX };
9
+ export type { JSX };
@@ -21,7 +21,7 @@ function collect(data) {
21
21
  export function jsx(type, props) {
22
22
  if (type == "text") {
23
23
  const children = collect(props.children);
24
- const element = document.createTextNode(children.length ? children.join() : (props.value || ""));
24
+ const element = document.createTextNode(children.length ? children.join("") : (props.value || ""));
25
25
  if (props.ref) {
26
26
  props.ref(element);
27
27
  }
@@ -39,20 +39,20 @@ export function jsx(type, props) {
39
39
  element = document.createElement(type);
40
40
  }
41
41
  for (const key in props) {
42
- if (key == "children") {
42
+ let value = props[key];
43
+ if (key == "children" || value === undefined) {
43
44
  continue;
44
45
  }
45
46
  else if (key.startsWith("on")) {
46
- element.addEventListener(key.slice(2).toLowerCase(), props[key]);
47
+ element.addEventListener(key.slice(2).toLowerCase(), value);
47
48
  }
48
49
  else if (key == "innerHTML") {
49
- element.innerHTML = props.innerHTML;
50
+ element.innerHTML = value;
50
51
  }
51
52
  else if (key == "ref") {
52
- props.ref(element);
53
+ value(element);
53
54
  }
54
55
  else if (key == "class") {
55
- let value = props.class;
56
56
  if (Array.isArray(value)) {
57
57
  value = collect(value).join(" ");
58
58
  }
@@ -61,10 +61,9 @@ export function jsx(type, props) {
61
61
  }
62
62
  }
63
63
  else if (key == "style") {
64
- Object.assign(element.style, props.style);
64
+ Object.assign(element.style, value);
65
65
  }
66
66
  else {
67
- const value = props[key];
68
67
  const attribute = isSvg ? key : key.toLowerCase();
69
68
  if (value === true) {
70
69
  element.setAttribute(attribute, "");
@@ -75,7 +74,7 @@ export function jsx(type, props) {
75
74
  else if (typeof value == "string") {
76
75
  element.setAttribute(attribute, value);
77
76
  }
78
- else if (value !== undefined) {
77
+ else {
79
78
  element.setAttribute(attribute, value.toString());
80
79
  }
81
80
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsx-runtime.js","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,30 +1,18 @@
1
1
  {
2
2
  "name": "stagnate",
3
- "version": "1.0.8",
3
+ "version": "1.1.0",
4
4
  "description": "non-reactive react",
5
- "main": "lib/index.js",
6
- "files": [
7
- "lib/*"
8
- ],
9
- "directories": {
10
- "lib": "lib"
11
- },
12
- "exports": {
13
- ".": "./lib/index.js",
14
- "./jsx-runtime": "./lib/jsx-runtime.js"
15
- },
16
- "typesVersions": {
17
- "*": {
18
- "*": ["./lib/*", "./lib/index.d.js"]
19
- }
20
- },
5
+ "main": "index.js",
21
6
  "repository": {
22
7
  "type": "git",
23
8
  "url": "git+https://github.com/md5crypt/stagnate.git"
24
9
  },
25
10
  "scripts": {
26
11
  "build": "tsc",
27
- "start": "tsc --watch"
12
+ "start": "tsc --watch",
13
+ "link": "node publish.js symlink",
14
+ "prepublishOnly": "node publish.js verify && tsc --outDir .",
15
+ "pub": "node publish.js pre-publish && cd dist-package && npm publish && cd .. && node publish.js post-publish"
28
16
  },
29
17
  "author": "Marek Korzeniowski",
30
18
  "license": "MIT",
@@ -39,10 +27,9 @@
39
27
  ],
40
28
  "sideEffects": false,
41
29
  "devDependencies": {
42
- "@types/node": "^18.7.15",
43
30
  "@typescript-eslint/eslint-plugin": "^5.36.2",
44
31
  "@typescript-eslint/parser": "^5.36.2",
45
32
  "eslint": "^8.23.0",
46
- "typescript": "^4.8.2"
33
+ "typescript": "^5.9.2"
47
34
  }
48
35
  }
package/types.d.ts ADDED
@@ -0,0 +1,616 @@
1
+ export type CollectableArray<T> = (CollectableArray<T> | T | undefined | null | false)[];
2
+ export type CollectableValue<T> = CollectableArray<T> | T | undefined | null | false;
3
+ export type RefererPolicy = "no-referrer" | "no-referrer-when-downgrade" | "origin" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url";
4
+ export type LinkTarget = "_self" | "_blank" | "_parent" | "_top";
5
+ export interface EventHandlers {
6
+ onAnimationCancel?: (ev: AnimationEvent) => void;
7
+ onAnimationEnd?: (ev: AnimationEvent) => void;
8
+ onAnimationIteration?: (ev: AnimationEvent) => void;
9
+ onAnimationStart?: (ev: AnimationEvent) => void;
10
+ onTransitionCancel?: (ev: TransitionEvent) => void;
11
+ onTransitionEnd?: (ev: TransitionEvent) => void;
12
+ onTransitionRun?: (ev: TransitionEvent) => void;
13
+ onTransitionStart?: (ev: TransitionEvent) => void;
14
+ onCopy?: (ev: ClipboardEvent) => void;
15
+ onCut?: (ev: ClipboardEvent) => void;
16
+ onPaste?: (ev: ClipboardEvent) => void;
17
+ onCompositionStart?: (ev: CompositionEvent) => void;
18
+ onCompositionUpdate?: (ev: CompositionEvent) => void;
19
+ onCompositionEnd?: (ev: CompositionEvent) => void;
20
+ onFocus?: (ev: FocusEvent) => void;
21
+ onBlur?: (ev: FocusEvent) => void;
22
+ onFocusIn?: (ev: FocusEvent) => void;
23
+ onFocusOut?: (ev: FocusEvent) => void;
24
+ onBeforeInput?: (ev: InputEvent) => void;
25
+ onChange?: (ev: InputEvent) => void;
26
+ onInput?: (ev: InputEvent) => void;
27
+ onInvalid?: (ev: Event) => void;
28
+ onReset?: (ev: Event) => void;
29
+ onSubmit?: (ev: SubmitEvent) => void;
30
+ onKeyDown?: (ev: KeyboardEvent) => void;
31
+ onKeyUp?: (ev: KeyboardEvent) => void;
32
+ onAuxClick?: (ev: MouseEvent) => void;
33
+ onClick?: (ev: MouseEvent) => void;
34
+ onContextMenu?: (ev: MouseEvent) => void;
35
+ onDblClick?: (ev: MouseEvent) => void;
36
+ onMouseDown?: (ev: MouseEvent) => void;
37
+ onMouseEnter?: (ev: MouseEvent) => void;
38
+ onMouseLeave?: (ev: MouseEvent) => void;
39
+ onMouseMove?: (ev: MouseEvent) => void;
40
+ onMouseOut?: (ev: MouseEvent) => void;
41
+ onMouseOver?: (ev: MouseEvent) => void;
42
+ onMouseUp?: (ev: MouseEvent) => void;
43
+ onWheel?: (ev: WheelEvent) => void;
44
+ onPointerCancel?: (ev: PointerEvent) => void;
45
+ onPointerDown?: (ev: PointerEvent) => void;
46
+ onPointerEnter?: (ev: PointerEvent) => void;
47
+ onPointerLeave?: (ev: PointerEvent) => void;
48
+ onPointerMove?: (ev: PointerEvent) => void;
49
+ onPointerOut?: (ev: PointerEvent) => void;
50
+ onPointerOver?: (ev: PointerEvent) => void;
51
+ onPointerUp?: (ev: PointerEvent) => void;
52
+ onGotPointerCapture?: (ev: PointerEvent) => void;
53
+ onLostPointerCapture?: (ev: PointerEvent) => void;
54
+ onDrag?: (ev: DragEvent) => void;
55
+ onDragEnd?: (ev: DragEvent) => void;
56
+ onDragEnter?: (ev: DragEvent) => void;
57
+ onDragLeave?: (ev: DragEvent) => void;
58
+ onDragOver?: (ev: DragEvent) => void;
59
+ onDragStart?: (ev: DragEvent) => void;
60
+ onDrop?: (ev: DragEvent) => void;
61
+ onCanPlay?: (ev: Event) => void;
62
+ onCanPlayThrough?: (ev: Event) => void;
63
+ onDurationChange?: (ev: Event) => void;
64
+ onEmptied?: (ev: Event) => void;
65
+ onEnded?: (ev: Event) => void;
66
+ onLoadedData?: (ev: Event) => void;
67
+ onLoadedMetadata?: (ev: Event) => void;
68
+ onLoadStart?: (ev: Event) => void;
69
+ onPause?: (ev: Event) => void;
70
+ onPlay?: (ev: Event) => void;
71
+ onPlaying?: (ev: Event) => void;
72
+ onRateChange?: (ev: Event) => void;
73
+ onSeeked?: (ev: Event) => void;
74
+ onSeeking?: (ev: Event) => void;
75
+ onStalled?: (ev: Event) => void;
76
+ onSuspend?: (ev: Event) => void;
77
+ onTimeUpdate?: (ev: Event) => void;
78
+ onVolumeChange?: (ev: Event) => void;
79
+ onWaiting?: (ev: Event) => void;
80
+ onClose?: (ev: Event) => void;
81
+ onError?: (ev: Event) => void;
82
+ onLoad?: (ev: Event) => void;
83
+ onResize?: (ev: UIEvent) => void;
84
+ onScroll?: (ev: Event) => void;
85
+ onToggle?: (ev: Event) => void;
86
+ }
87
+ export interface GlobalAttributes<T> extends EventHandlers {
88
+ ref?: (value: T) => void;
89
+ id?: string;
90
+ class?: CollectableValue<string>;
91
+ style?: Partial<CSSStyleDeclaration>;
92
+ title?: string;
93
+ tabIndex?: number;
94
+ innerHTML?: string;
95
+ accessKey?: string;
96
+ autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters";
97
+ autoFocus?: boolean;
98
+ contentEditable?: "true" | "false" | "plaintext-only";
99
+ dir?: "ltr" | "rtl" | "auto";
100
+ draggable?: "true" | "false";
101
+ enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send";
102
+ hidden?: boolean;
103
+ inert?: boolean;
104
+ inputMode?: "none" | "text" | "decimal" | "numeric" | "tel" | "search" | "email" | "url";
105
+ lang?: string;
106
+ nonce?: string;
107
+ popover?: "auto" | "manual";
108
+ spellcheck?: "true" | "false";
109
+ translate?: "yes" | "no";
110
+ is?: string;
111
+ virtualKeyboardPolicy?: "auto" | "manual";
112
+ role?: string;
113
+ /** Web components / shadow DOM related */
114
+ slot?: string;
115
+ part?: string;
116
+ exportParts?: string;
117
+ /** Micro data */
118
+ itemId?: string;
119
+ itemProp?: string;
120
+ itemRef?: string;
121
+ itemScope?: boolean;
122
+ itemType?: string;
123
+ [key: `aria-${string}`]: string | number | undefined;
124
+ [key: `data-${string}`]: string | number | undefined;
125
+ }
126
+ export interface FormSubmitterAttributes {
127
+ form?: string;
128
+ formAction?: string;
129
+ formEncType?: "application/x-www-form-urlencoded" | "multipart/form-data" | "text/plain";
130
+ formMethod?: "get" | "post" | "dialog";
131
+ formNoValidate?: boolean;
132
+ formTarget?: LinkTarget;
133
+ }
134
+ export interface HTMLElementAttributes<T> extends GlobalAttributes<T> {
135
+ children?: CollectableValue<JSX.Element | string>;
136
+ }
137
+ export interface TextElementAttributes {
138
+ value?: string;
139
+ ref?: (value: Text) => void;
140
+ children?: CollectableValue<string>;
141
+ }
142
+ export interface ImageElementAttributes extends GlobalAttributes<HTMLImageElement> {
143
+ alt?: string;
144
+ src?: string;
145
+ srcSet?: string;
146
+ sizes?: string;
147
+ width?: number | string;
148
+ height?: number | string;
149
+ crossOrigin?: "anonymous" | "use-credentials";
150
+ decoding?: "sync" | "async" | "auto";
151
+ fetchPriority?: "high" | "low" | "auto";
152
+ isMap?: boolean;
153
+ useMap?: string;
154
+ loading?: "eager" | "lazy";
155
+ referrerPolicy?: RefererPolicy;
156
+ elementTiming?: string;
157
+ }
158
+ export interface AnchorElementAttributes extends GlobalAttributes<HTMLAnchorElement> {
159
+ href?: string;
160
+ target?: LinkTarget;
161
+ rel?: string;
162
+ hreflang?: string;
163
+ referrerPolicy?: RefererPolicy;
164
+ download?: boolean | string;
165
+ ping?: string;
166
+ type?: string;
167
+ children?: CollectableValue<JSX.Element | string>;
168
+ }
169
+ export interface InputElementAttributes extends GlobalAttributes<HTMLInputElement>, FormSubmitterAttributes {
170
+ type?: ("button" | "checkbox" | "color" | "date" | "datetime-local" | "email" | "file" | "hidden" | "image" | "month" | "number" | "password" | "radio" | "range" | "reset" | "search" | "submit" | "tel" | "text" | "time" | "url" | "week");
171
+ alt?: string;
172
+ checked?: boolean;
173
+ accept?: string;
174
+ capture?: boolean | "user" | "environment";
175
+ autocomplete?: string;
176
+ autoFocus?: boolean;
177
+ dirName?: string;
178
+ disabled?: boolean;
179
+ list?: string;
180
+ max?: number | string;
181
+ maxLength?: number;
182
+ min?: number | string;
183
+ minLength?: number;
184
+ multiple?: boolean;
185
+ name?: string;
186
+ pattern?: string;
187
+ placeholder?: string;
188
+ readonly?: boolean;
189
+ required?: boolean;
190
+ size?: number;
191
+ src?: string;
192
+ step?: number | "any";
193
+ width?: string | number;
194
+ height?: string | number;
195
+ value?: string | number;
196
+ inputMode?: "none" | "text" | "decimal" | "numeric" | "tel" | "search" | "email" | "url";
197
+ popoverTarget?: string;
198
+ popoverTargetAction?: "toggle" | "show" | "hide";
199
+ }
200
+ export interface TextAreaElementAttributes extends GlobalAttributes<HTMLTextAreaElement> {
201
+ cols?: number;
202
+ rows?: number;
203
+ autoFocus?: boolean;
204
+ disabled?: boolean;
205
+ maxLength?: number;
206
+ minLength?: number;
207
+ name?: string;
208
+ placeholder?: string;
209
+ readonly?: boolean;
210
+ required?: boolean;
211
+ value?: string;
212
+ wrap?: "hard" | "soft" | "off";
213
+ dirName?: string;
214
+ form?: string;
215
+ }
216
+ export interface SelectElementAttributes extends GlobalAttributes<HTMLSelectElement> {
217
+ autoFocus?: boolean;
218
+ disabled?: boolean;
219
+ form?: string;
220
+ multiple?: boolean;
221
+ name?: string;
222
+ required?: boolean;
223
+ size?: number;
224
+ autocomplete?: string;
225
+ value?: string | number | string[];
226
+ children?: CollectableValue<JSX.Element | string>;
227
+ }
228
+ export interface OptionElementAttributes extends GlobalAttributes<HTMLOptionElement> {
229
+ disabled?: boolean;
230
+ label?: string;
231
+ selected?: boolean;
232
+ value?: string;
233
+ children?: CollectableValue<string>;
234
+ }
235
+ export interface OptGroupElementAttributes extends GlobalAttributes<HTMLOptGroupElement> {
236
+ disabled?: boolean;
237
+ label?: string;
238
+ }
239
+ export interface LabelElementAttributes extends GlobalAttributes<HTMLLabelElement> {
240
+ for?: string;
241
+ form?: string;
242
+ }
243
+ export interface ButtonElementAttributes extends GlobalAttributes<HTMLButtonElement>, FormSubmitterAttributes {
244
+ autoFocus?: boolean;
245
+ disabled?: boolean;
246
+ name?: string;
247
+ type?: "button" | "submit" | "reset";
248
+ value?: string;
249
+ popoverTarget?: string;
250
+ popoverTargetAction?: "toggle" | "show" | "hide";
251
+ }
252
+ export interface FieldsetElementAttributes extends GlobalAttributes<HTMLFieldSetElement> {
253
+ disabled?: boolean;
254
+ form?: string;
255
+ name?: string;
256
+ }
257
+ export interface OutputElementAttributes extends GlobalAttributes<HTMLOutputElement> {
258
+ for?: string;
259
+ form?: string;
260
+ name?: string;
261
+ value?: string;
262
+ }
263
+ export interface ProgressElementAttributes extends GlobalAttributes<HTMLProgressElement> {
264
+ max?: number;
265
+ value?: number;
266
+ }
267
+ export interface MeterElementAttributes extends GlobalAttributes<HTMLMeterElement> {
268
+ value?: number;
269
+ min?: number;
270
+ max?: number;
271
+ low?: number;
272
+ high?: number;
273
+ optimum?: number;
274
+ form?: string;
275
+ }
276
+ export interface FormElementAttributes extends GlobalAttributes<HTMLFormElement> {
277
+ acceptCharset?: string;
278
+ action?: string;
279
+ autocomplete?: "on" | "off" | string;
280
+ encType?: "application/x-www-form-urlencoded" | "multipart/form-data" | "text/plain";
281
+ method?: "get" | "post" | "dialog";
282
+ name?: string;
283
+ noValidate?: boolean;
284
+ rel?: string;
285
+ target?: LinkTarget;
286
+ children?: CollectableValue<JSX.Element | string>;
287
+ }
288
+ export interface IframeElementAttributes extends GlobalAttributes<HTMLIFrameElement> {
289
+ src?: string;
290
+ srcDoc?: string;
291
+ name?: string;
292
+ allow?: string;
293
+ allowFullScreen?: boolean;
294
+ referrerPolicy?: RefererPolicy;
295
+ sandbox?: string;
296
+ loading?: "eager" | "lazy";
297
+ width?: number | string;
298
+ height?: number | string;
299
+ }
300
+ export interface SvgElementAttributes extends GlobalAttributes<SVGElement> {
301
+ viewBox?: string;
302
+ fill?: string;
303
+ width?: number | string;
304
+ height?: number | string;
305
+ children?: CollectableValue<JSX.Element | string>;
306
+ }
307
+ export interface AudioElementAttributes extends GlobalAttributes<HTMLAudioElement> {
308
+ src?: string;
309
+ autoPlay?: boolean;
310
+ controls?: boolean;
311
+ loop?: boolean;
312
+ muted?: boolean;
313
+ preload?: "none" | "metadata" | "auto" | true;
314
+ crossOrigin?: "anonymous" | "use-credentials";
315
+ controlsList?: string;
316
+ }
317
+ export interface VideoElementAttributes extends GlobalAttributes<HTMLVideoElement> {
318
+ src?: string;
319
+ autoPlay?: boolean;
320
+ controls?: boolean;
321
+ loop?: boolean;
322
+ muted?: boolean;
323
+ preload?: "none" | "metadata" | "auto" | true;
324
+ crossOrigin?: "anonymous" | "use-credentials";
325
+ controlsList?: string;
326
+ playsInline?: boolean;
327
+ width?: string | number;
328
+ height?: string | number;
329
+ poster?: string;
330
+ }
331
+ export interface SourceElementAttributes extends GlobalAttributes<HTMLSourceElement> {
332
+ src?: string;
333
+ type?: string;
334
+ media?: string;
335
+ srcSet?: string;
336
+ sizes?: string;
337
+ }
338
+ export interface TrackElementAttributes extends GlobalAttributes<HTMLTrackElement> {
339
+ default?: boolean;
340
+ kind?: "subtitles" | "captions" | "descriptions" | "chapters" | "metadata";
341
+ label?: string;
342
+ src?: string;
343
+ srcLang?: string;
344
+ }
345
+ export interface CanvasElementAttributes extends GlobalAttributes<HTMLCanvasElement> {
346
+ width?: string | number;
347
+ height?: string | number;
348
+ }
349
+ export interface MapElementAttributes extends GlobalAttributes<HTMLMapElement> {
350
+ name?: string;
351
+ }
352
+ export interface AreaElementAttributes extends GlobalAttributes<HTMLAreaElement> {
353
+ alt?: string;
354
+ coords?: string;
355
+ download?: boolean | string;
356
+ href?: string;
357
+ ping?: string;
358
+ referrerPolicy?: RefererPolicy;
359
+ rel?: string;
360
+ shape?: "rect" | "circle" | "poly" | "default";
361
+ target?: LinkTarget;
362
+ }
363
+ export interface ColGroupElementAttributes extends GlobalAttributes<HTMLTableColElement> {
364
+ span?: number;
365
+ }
366
+ export interface ColElementAttributes extends GlobalAttributes<HTMLTableColElement> {
367
+ span?: number;
368
+ }
369
+ export interface ThElementAttributes extends GlobalAttributes<HTMLTableCellElement> {
370
+ abbr?: string;
371
+ colSpan?: number;
372
+ rowSpan?: number;
373
+ headers?: string;
374
+ scope?: "row" | "col" | "rowgroup" | "colgroup" | "auto";
375
+ }
376
+ export interface TdElementAttributes extends GlobalAttributes<HTMLTableCellElement> {
377
+ colSpan?: number;
378
+ rowSpan?: number;
379
+ headers?: string;
380
+ }
381
+ export interface OlElementAttributes extends GlobalAttributes<HTMLOListElement> {
382
+ reversed?: boolean;
383
+ start?: number;
384
+ type?: "1" | "a" | "A" | "i" | "I";
385
+ }
386
+ export interface LiElementAttributes extends GlobalAttributes<HTMLLIElement> {
387
+ value?: number;
388
+ }
389
+ export interface BlockquoteElementAttributes extends GlobalAttributes<HTMLQuoteElement> {
390
+ cite?: string;
391
+ }
392
+ export interface QElementAttributes extends GlobalAttributes<HTMLQuoteElement> {
393
+ cite?: string;
394
+ }
395
+ export interface DataElementAttributes extends GlobalAttributes<HTMLDataElement> {
396
+ value?: string | number;
397
+ }
398
+ export interface TimeElementAttributes extends GlobalAttributes<HTMLTimeElement> {
399
+ dateTime?: string;
400
+ }
401
+ export interface DetailsElementAttributes extends GlobalAttributes<HTMLDetailsElement> {
402
+ open?: boolean;
403
+ }
404
+ export interface DialogElementAttributes extends GlobalAttributes<HTMLDialogElement> {
405
+ open?: boolean;
406
+ }
407
+ export interface LinkElementAttributes extends GlobalAttributes<HTMLLinkElement> {
408
+ as?: string;
409
+ crossOrigin?: "anonymous" | "use-credentials";
410
+ disabled?: boolean;
411
+ fetchPriority?: "high" | "low" | "auto";
412
+ href?: string;
413
+ imageSizes?: string;
414
+ imageSrcSet?: string;
415
+ integrity?: string;
416
+ media?: string;
417
+ referrerPolicy?: RefererPolicy;
418
+ rel?: string;
419
+ sizes?: string;
420
+ type?: string;
421
+ blocking?: "render";
422
+ }
423
+ export interface MetaElementAttributes extends GlobalAttributes<HTMLMetaElement> {
424
+ charset?: string;
425
+ content?: string;
426
+ httpEquiv?: string;
427
+ name?: string;
428
+ media?: string;
429
+ }
430
+ export interface BaseElementAttributes extends GlobalAttributes<HTMLBaseElement> {
431
+ href?: string;
432
+ target?: LinkTarget;
433
+ }
434
+ export interface ScriptElementAttributes extends GlobalAttributes<HTMLScriptElement> {
435
+ async?: boolean;
436
+ defer?: boolean;
437
+ crossOrigin?: "anonymous" | "use-credentials";
438
+ integrity?: string;
439
+ nonce?: string;
440
+ referrerPolicy?: RefererPolicy;
441
+ src?: string;
442
+ type?: string;
443
+ noModule?: boolean;
444
+ blocking?: "render";
445
+ }
446
+ export interface StyleElementAttributes extends GlobalAttributes<HTMLStyleElement> {
447
+ media?: string;
448
+ nonce?: string;
449
+ blocking?: "render";
450
+ }
451
+ export interface ObjectElementAttributes extends GlobalAttributes<HTMLObjectElement> {
452
+ data?: string;
453
+ type?: string;
454
+ name?: string;
455
+ width?: number | string;
456
+ height?: number | string;
457
+ useMap?: string;
458
+ form?: string;
459
+ typemustmatch?: boolean;
460
+ }
461
+ export interface EmbedElementAttributes extends GlobalAttributes<HTMLEmbedElement> {
462
+ src?: string;
463
+ type?: string;
464
+ width?: number | string;
465
+ height?: number | string;
466
+ }
467
+ export interface SlotElementAttributes extends GlobalAttributes<HTMLSlotElement> {
468
+ name?: string;
469
+ }
470
+ export interface TableElementAttributes extends GlobalAttributes<HTMLTableElement> {
471
+ sortable?: boolean;
472
+ }
473
+ export interface InsDelElementAttributes extends GlobalAttributes<HTMLModElement> {
474
+ cite?: string;
475
+ dateTime?: string;
476
+ }
477
+ export declare namespace JSX {
478
+ interface IntrinsicElements {
479
+ text: TextElementAttributes;
480
+ html: HTMLElementAttributes<HTMLHtmlElement>;
481
+ head: HTMLElementAttributes<HTMLHeadElement>;
482
+ base: BaseElementAttributes;
483
+ link: LinkElementAttributes;
484
+ meta: MetaElementAttributes;
485
+ style: StyleElementAttributes;
486
+ title: HTMLElementAttributes<HTMLTitleElement>;
487
+ body: HTMLElementAttributes<HTMLBodyElement>;
488
+ address: HTMLElementAttributes<HTMLElement>;
489
+ article: HTMLElementAttributes<HTMLElement>;
490
+ aside: HTMLElementAttributes<HTMLElement>;
491
+ footer: HTMLElementAttributes<HTMLElement>;
492
+ header: HTMLElementAttributes<HTMLElement>;
493
+ h1: HTMLElementAttributes<HTMLHeadingElement>;
494
+ h2: HTMLElementAttributes<HTMLHeadingElement>;
495
+ h3: HTMLElementAttributes<HTMLHeadingElement>;
496
+ h4: HTMLElementAttributes<HTMLHeadingElement>;
497
+ h5: HTMLElementAttributes<HTMLHeadingElement>;
498
+ h6: HTMLElementAttributes<HTMLHeadingElement>;
499
+ main: HTMLElementAttributes<HTMLElement>;
500
+ nav: HTMLElementAttributes<HTMLElement>;
501
+ section: HTMLElementAttributes<HTMLElement>;
502
+ blockquote: BlockquoteElementAttributes;
503
+ div: HTMLElementAttributes<HTMLDivElement>;
504
+ dl: HTMLElementAttributes<HTMLDListElement>;
505
+ dt: HTMLElementAttributes<HTMLElement>;
506
+ dd: HTMLElementAttributes<HTMLElement>;
507
+ figcaption: HTMLElementAttributes<HTMLElement>;
508
+ figure: HTMLElementAttributes<HTMLElement>;
509
+ hr: HTMLElementAttributes<HTMLHRElement>;
510
+ li: LiElementAttributes;
511
+ ol: OlElementAttributes;
512
+ p: HTMLElementAttributes<HTMLParagraphElement>;
513
+ pre: HTMLElementAttributes<HTMLPreElement>;
514
+ ul: HTMLElementAttributes<HTMLUListElement>;
515
+ a: AnchorElementAttributes;
516
+ abbr: HTMLElementAttributes<HTMLElement>;
517
+ b: HTMLElementAttributes<HTMLElement>;
518
+ bdi: HTMLElementAttributes<HTMLElement>;
519
+ bdo: HTMLElementAttributes<HTMLElement>;
520
+ br: HTMLElementAttributes<HTMLBRElement>;
521
+ cite: HTMLElementAttributes<HTMLElement>;
522
+ code: HTMLElementAttributes<HTMLElement>;
523
+ data: DataElementAttributes;
524
+ dfn: HTMLElementAttributes<HTMLElement>;
525
+ em: HTMLElementAttributes<HTMLElement>;
526
+ i: HTMLElementAttributes<HTMLElement>;
527
+ kbd: HTMLElementAttributes<HTMLElement>;
528
+ mark: HTMLElementAttributes<HTMLElement>;
529
+ q: QElementAttributes;
530
+ rp: HTMLElementAttributes<HTMLElement>;
531
+ rt: HTMLElementAttributes<HTMLElement>;
532
+ ruby: HTMLElementAttributes<HTMLElement>;
533
+ s: HTMLElementAttributes<HTMLElement>;
534
+ samp: HTMLElementAttributes<HTMLElement>;
535
+ small: HTMLElementAttributes<HTMLElement>;
536
+ span: HTMLElementAttributes<HTMLSpanElement>;
537
+ strong: HTMLElementAttributes<HTMLElement>;
538
+ sub: HTMLElementAttributes<HTMLElement>;
539
+ sup: HTMLElementAttributes<HTMLElement>;
540
+ time: TimeElementAttributes;
541
+ u: HTMLElementAttributes<HTMLElement>;
542
+ var: HTMLElementAttributes<HTMLElement>;
543
+ wbr: HTMLElementAttributes<HTMLBRElement>;
544
+ del: InsDelElementAttributes;
545
+ ins: InsDelElementAttributes;
546
+ img: ImageElementAttributes;
547
+ iframe: IframeElementAttributes;
548
+ embed: EmbedElementAttributes;
549
+ object: ObjectElementAttributes;
550
+ picture: GlobalAttributes<HTMLPictureElement>;
551
+ source: SourceElementAttributes;
552
+ track: TrackElementAttributes;
553
+ video: VideoElementAttributes;
554
+ audio: AudioElementAttributes;
555
+ map: MapElementAttributes;
556
+ area: AreaElementAttributes;
557
+ canvas: CanvasElementAttributes;
558
+ noscript: HTMLElementAttributes<HTMLElement>;
559
+ script: ScriptElementAttributes;
560
+ template: GlobalAttributes<HTMLTemplateElement>;
561
+ slot: SlotElementAttributes;
562
+ table: TableElementAttributes;
563
+ caption: HTMLElementAttributes<HTMLTableCaptionElement>;
564
+ colgroup: ColGroupElementAttributes;
565
+ col: ColElementAttributes;
566
+ tbody: HTMLElementAttributes<HTMLTableSectionElement>;
567
+ thead: HTMLElementAttributes<HTMLTableSectionElement>;
568
+ tfoot: HTMLElementAttributes<HTMLTableSectionElement>;
569
+ tr: HTMLElementAttributes<HTMLTableRowElement>;
570
+ th: ThElementAttributes;
571
+ td: TdElementAttributes;
572
+ form: FormElementAttributes;
573
+ label: LabelElementAttributes;
574
+ input: InputElementAttributes;
575
+ textarea: TextAreaElementAttributes;
576
+ select: SelectElementAttributes;
577
+ option: OptionElementAttributes;
578
+ optgroup: OptGroupElementAttributes;
579
+ button: ButtonElementAttributes;
580
+ fieldset: FieldsetElementAttributes;
581
+ legend: HTMLElementAttributes<HTMLLegendElement>;
582
+ output: OutputElementAttributes;
583
+ progress: ProgressElementAttributes;
584
+ meter: MeterElementAttributes;
585
+ datalist: HTMLElementAttributes<HTMLDataListElement>;
586
+ details: DetailsElementAttributes;
587
+ summary: HTMLElementAttributes<HTMLElement>;
588
+ dialog: DialogElementAttributes;
589
+ svg: SvgElementAttributes;
590
+ [key: `svg:${string}`]: GlobalAttributes<SVGElement> & Record<string, any>;
591
+ }
592
+ interface ElementChildrenAttribute {
593
+ children: {};
594
+ }
595
+ interface Element extends globalThis.Element {
596
+ }
597
+ interface ElementClass {
598
+ htmlRoot: Element | null;
599
+ }
600
+ interface IntrinsicClassAttributes<T> {
601
+ ref?: (value: T) => void;
602
+ }
603
+ interface ElementAttributesProperty {
604
+ props: {};
605
+ }
606
+ }
607
+ /** get props of an JSX element or component function / class */
608
+ export type ComponentProps<T extends keyof JSX.IntrinsicElements | {
609
+ props: any;
610
+ } | ((props: any) => any)> = T extends keyof JSX.IntrinsicElements ? JSX.IntrinsicElements[T] : (T extends {
611
+ props: any;
612
+ } ? T["props"] : (T extends (props: any) => any ? Parameters<T>[0] : never));
613
+ /** any value that can be used in JSX */
614
+ export type StagnateNode = CollectableValue<JSX.Element | string>;
615
+ /** the JSX element css class attribute */
616
+ export type ClassAttribute = CollectableValue<string>;
@@ -1 +0,0 @@
1
- {"version":3,"file":"Component.js","sourceRoot":"","sources":["../src/Component.ts"],"names":[],"mappings":"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"}
package/lib/Slot.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"Slot.js","sourceRoot":"","sources":["../src/Slot.ts"],"names":[],"mappings":"AAEA,MAAM,SAAU,SAAQ,KAAmB;IAE1C,YAAa,IAAY,EAAE,QAAsB;QAChD,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACpB,CAAC;CACD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,IAAI,CAAC,KAA6C;IACjE,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAQ,CAAA;AACxD,CAAC;AAED,WAAiB,IAAI;IACpB;;;;;OAKG;IACH,SAAgB,OAAO,CAA0B,KAAmB,EAAE,QAA6B,EAAE;QACpG,IAAI,KAAK,YAAY,SAAS,IAAI,KAAK,CAAC,MAAM,EAAE;YAC/C,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YAC5B,KAAK,CAAC,GAAG,EAAE,CAAA;SACX;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;gBACzC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;gBACrB,IAAI,IAAI,YAAY,SAAS,EAAE;oBAC9B,IAAI,KAAK,CAAC,MAAM,EAAE;wBACjB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;qBAC1B;oBACD,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;iBACf;qBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBAC/B,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;iBACpB;aACD;SACD;QACD,OAAO,KAAU,CAAA;IAClB,CAAC;IAlBe,YAAO,UAkBtB,CAAA;AACF,CAAC,EA1BgB,IAAI,KAAJ,IAAI,QA0BpB"}
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAEvD,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsx-runtime.js","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts DELETED
@@ -1,197 +0,0 @@
1
- export declare type CollectableArray<T> = (CollectableArray<T> | T | undefined | null | false)[];
2
- export declare type CollectableValue<T> = CollectableArray<T> | T | undefined | null | false;
3
- export declare type RefererPolicy = "no-referrer" | "no-referrer-when-downgrade" | "origin" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url";
4
- export interface EvenHandlers {
5
- onAnimationCancel: (ev: AnimationEvent) => void;
6
- onAnimationEnd: (ev: AnimationEvent) => void;
7
- onAnimationIteration: (ev: AnimationEvent) => void;
8
- onAnimationStart: (ev: AnimationEvent) => void;
9
- onBlur: (ev: FocusEvent) => void;
10
- onChange: (ev: Event) => void;
11
- onClick: (ev: MouseEvent) => void;
12
- onClose: (ev: Event) => void;
13
- onDrag: (ev: DragEvent) => void;
14
- onDragEnd: (ev: DragEvent) => void;
15
- onDragEnter: (ev: DragEvent) => void;
16
- onDragLeave: (ev: DragEvent) => void;
17
- onDragOver: (ev: DragEvent) => void;
18
- onDragStart: (ev: DragEvent) => void;
19
- onDrop: (ev: DragEvent) => void;
20
- onContextMenu: (ev: MouseEvent) => void;
21
- onDblClick: (ev: MouseEvent) => void;
22
- onFocus: (ev: FocusEvent) => void;
23
- onInput: (ev: Event) => void;
24
- onKeyDown: (ev: KeyboardEvent) => void;
25
- onKeyPress: (ev: KeyboardEvent) => void;
26
- onKeyUp: (ev: KeyboardEvent) => void;
27
- onLoad: (ev: Event) => void;
28
- onMouseDown: (ev: MouseEvent) => void;
29
- onMouseEnter: (ev: MouseEvent) => void;
30
- onMouseLeave: (ev: MouseEvent) => void;
31
- onMouseMove: (ev: MouseEvent) => void;
32
- onMouseOut: (ev: MouseEvent) => void;
33
- onMouseOver: (ev: MouseEvent) => void;
34
- onMouseUp: (ev: MouseEvent) => void;
35
- onPointerCancel: (ev: PointerEvent) => void;
36
- onPointerDown: (ev: PointerEvent) => void;
37
- onPointerEnter: (ev: PointerEvent) => void;
38
- onPointerLeave: (ev: PointerEvent) => void;
39
- onPointerMove: (ev: PointerEvent) => void;
40
- onPointerOut: (ev: PointerEvent) => void;
41
- onPointerOver: (ev: PointerEvent) => void;
42
- onPointerUp: (ev: PointerEvent) => void;
43
- onScroll: (ev: Event) => void;
44
- onTouchCancel: (ev: TouchEvent) => void;
45
- onTouchEnd: (ev: TouchEvent) => void;
46
- onTouchMove: (ev: TouchEvent) => void;
47
- onTouchStart: (ev: TouchEvent) => void;
48
- onTransitionCancel: (ev: TransitionEvent) => void;
49
- onTransitionEnd: (ev: TransitionEvent) => void;
50
- onTransitionRun: (ev: TransitionEvent) => void;
51
- onTransitionStart: (ev: TransitionEvent) => void;
52
- }
53
- export interface GlobalAttributes<T> extends Partial<EvenHandlers> {
54
- ref?: (value: T) => void;
55
- id?: string;
56
- class?: CollectableValue<string>;
57
- style?: Partial<CSSStyleDeclaration>;
58
- title?: string;
59
- tabIndex?: number;
60
- innerHTML?: string;
61
- accessKey?: "string";
62
- autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters";
63
- autoFocus?: boolean;
64
- contentEditable?: boolean;
65
- dir?: "ltr" | "rtl" | "auto";
66
- draggable?: boolean;
67
- enterKeyHint?: boolean;
68
- hidden?: boolean;
69
- inert?: boolean;
70
- inputMode?: "text" | "decimal" | "numeric" | "tel" | "search" | "email" | "url";
71
- lang?: string;
72
- role?: string;
73
- spellcheck?: boolean | string;
74
- translate?: "" | "yes" | "no";
75
- virtualKeyboardPolicy?: "auto" | "manual";
76
- }
77
- export interface HTMLElementAttributes<T> extends GlobalAttributes<T> {
78
- children?: CollectableValue<JSX.Element | string>;
79
- }
80
- export interface TextElementAttributes {
81
- value?: string;
82
- ref?: (value: Text) => void;
83
- children?: CollectableValue<string>;
84
- }
85
- export interface ImageElementAttributes extends GlobalAttributes<HTMLImageElement> {
86
- alt?: string;
87
- src?: string;
88
- crossOrigin?: "anonymous" | "use-credentials";
89
- }
90
- export interface AnchorElementAttributes extends GlobalAttributes<HTMLAnchorElement> {
91
- href?: string;
92
- target?: "_self" | "_blank" | "_parent" | "_top";
93
- rel?: string;
94
- download?: string;
95
- referrerPolicy?: RefererPolicy;
96
- children?: CollectableValue<JSX.Element | string>;
97
- }
98
- export interface InputElementAttributes extends GlobalAttributes<HTMLInputElement> {
99
- type?: "button" | "checkbox" | "checkbox" | "hidden" | "password" | "radio" | "text" | "file";
100
- alt?: string;
101
- checked?: boolean;
102
- disabled?: boolean;
103
- maxLength?: number;
104
- minLength?: number;
105
- name?: string;
106
- placeholder?: string;
107
- readonly?: boolean;
108
- value?: string;
109
- accept?: string;
110
- multiple?: boolean;
111
- }
112
- export interface TextAreaElementAttributes extends GlobalAttributes<HTMLTextAreaElement> {
113
- cols?: number;
114
- rows?: number;
115
- disabled?: boolean;
116
- maxLength?: number;
117
- minLength?: number;
118
- name?: string;
119
- placeholder?: string;
120
- readonly?: boolean;
121
- value?: string;
122
- spellcheck?: boolean | "default";
123
- wrap?: "hard" | "soft" | "off";
124
- children?: CollectableValue<string>;
125
- }
126
- export interface SelectElementAttributes extends GlobalAttributes<HTMLSelectElement> {
127
- disabled?: boolean;
128
- name?: string;
129
- children?: CollectableValue<JSX.Element | string>;
130
- value?: string;
131
- }
132
- export interface OptionElementAttributes extends GlobalAttributes<HTMLOptionElement> {
133
- disabled?: boolean;
134
- label?: string;
135
- selected?: string;
136
- value?: string;
137
- children?: CollectableValue<string>;
138
- }
139
- export interface IframeElementAttributes extends GlobalAttributes<HTMLIFrameElement> {
140
- allow?: string;
141
- allowFullScreen?: boolean;
142
- referrerPolicy?: RefererPolicy;
143
- sandbox?: string;
144
- src?: string;
145
- }
146
- export interface IframeElementAttributes extends GlobalAttributes<HTMLIFrameElement> {
147
- allow?: string;
148
- allowFullScreen?: boolean;
149
- referrerPolicy?: RefererPolicy;
150
- sandbox?: string;
151
- src?: string;
152
- }
153
- export interface SvgElementAttributes extends GlobalAttributes<SVGElement> {
154
- viewBox?: string;
155
- fill?: string;
156
- children?: CollectableValue<JSX.Element | string>;
157
- }
158
- export declare namespace JSX {
159
- interface IntrinsicElements {
160
- text: TextElementAttributes;
161
- div: HTMLElementAttributes<HTMLDivElement>;
162
- span: HTMLElementAttributes<HTMLSpanElement>;
163
- img: ImageElementAttributes;
164
- a: AnchorElementAttributes;
165
- input: InputElementAttributes;
166
- textarea: TextAreaElementAttributes;
167
- select: SelectElementAttributes;
168
- option: OptionElementAttributes;
169
- iframe: IframeElementAttributes;
170
- svg: SvgElementAttributes;
171
- [key: `svg:${string}`]: GlobalAttributes<SVGElement> & Record<string, any>;
172
- }
173
- interface ElementChildrenAttribute {
174
- children: {};
175
- }
176
- interface Element extends globalThis.Element {
177
- }
178
- interface ElementClass {
179
- htmlRoot: JSX.Element | null;
180
- }
181
- interface IntrinsicClassAttributes<T> {
182
- ref?: (value: T) => void;
183
- }
184
- interface ElementAttributesProperty {
185
- props: {};
186
- }
187
- }
188
- /** get props of an JSX element or component function / class */
189
- export declare type ComponentProps<T extends keyof JSX.IntrinsicElements | {
190
- props: any;
191
- } | ((props: any) => any)> = T extends keyof JSX.IntrinsicElements ? JSX.IntrinsicElements[T] : (T extends {
192
- props: any;
193
- } ? T["props"] : (T extends (props: any) => any ? Parameters<T>[0] : never));
194
- /** any value that can be used in JSX */
195
- export declare type StagnateNode = CollectableValue<JSX.Element | string>;
196
- /** the JSX element css class attribute */
197
- export declare type ClassAttribute = CollectableValue<string>;
File without changes
File without changes