@viewfly/platform-browser 0.0.1-alpha.9 → 0.0.1

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.
package/README.md CHANGED
@@ -1,4 +1,57 @@
1
1
  Viewfly
2
2
  ================================
3
3
 
4
- Viewfly 是一个简单、数据驱动的前端视图库,完整文档请参考官方网站:[viewfly.org](https://viewfly.org)
4
+ Viewfly 是一个简单、数据驱动的前端框架。此项目为内核运行在浏览器上的支持层。
5
+
6
+ ## 安装
7
+
8
+ ```
9
+ npm install @viewfly/platform-browser
10
+ ```
11
+
12
+ ## API
13
+
14
+ ### createApp()
15
+
16
+ createApp 用于创建一个独立的应用。
17
+
18
+ ```js
19
+ import { createApp } from '@viewfly/platform-browser'
20
+
21
+ function App() {
22
+ return () => {
23
+ return <div>App!</div>
24
+ }
25
+ }
26
+
27
+ const app = createApp(document.getElementById('app'), <App/>)
28
+
29
+ // 销毁 app 实例
30
+ app.destroy()
31
+ ```
32
+
33
+ ### fork()
34
+
35
+ 可以在任意组件内创建一个子应用,并可以继承当前组件的上下文(特指当前组件的依赖注入树),常用于创建一个弹窗或对话框。
36
+
37
+ ```jsx
38
+ function App() {
39
+ function Modal() {
40
+ return () => {
41
+ return <div>modal</div>
42
+ }
43
+ }
44
+ // 创建子应用
45
+ const childApp = fork(<Modal/>)
46
+ // 启动子应用
47
+ childApp.mount(document.getElementById('modal'))
48
+ // 销毁子应用
49
+ childApp.destroy()
50
+
51
+ return () => {
52
+ return <div>App!</div>
53
+ }
54
+ }
55
+ ```
56
+
57
+ 完整文档请参考官方网站:[viewfly.org](https://viewfly.org)
package/bundles/fork.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  import { RootNode, Viewfly } from '@viewfly/core';
2
- export declare function fork(host: HTMLElement, root: RootNode): Viewfly;
2
+ export declare function fork(root: RootNode): Viewfly;
@@ -244,7 +244,6 @@ DomRenderer = __decorate([
244
244
  function createApp(host, root, autoUpdate = true) {
245
245
  host.innerHTML = '';
246
246
  const app = new Viewfly({
247
- host,
248
247
  root,
249
248
  autoUpdate,
250
249
  providers: [
@@ -254,12 +253,12 @@ function createApp(host, root, autoUpdate = true) {
254
253
  }
255
254
  ]
256
255
  });
257
- app.run();
256
+ app.mount(host);
258
257
  return app;
259
258
  }
260
259
 
261
260
  const forkErrorFn = makeError('fork');
262
- function fork(host, root) {
261
+ function fork(root) {
263
262
  let parentComponent;
264
263
  try {
265
264
  parentComponent = provide([]);
@@ -268,7 +267,6 @@ function fork(host, root) {
268
267
  throw forkErrorFn('The fork function can only be called synchronously within a component.');
269
268
  }
270
269
  const app = new Viewfly({
271
- host,
272
270
  root,
273
271
  context: parentComponent,
274
272
  providers: [
package/bundles/index.js CHANGED
@@ -246,7 +246,6 @@ exports.DomRenderer = __decorate([
246
246
  function createApp(host, root, autoUpdate = true) {
247
247
  host.innerHTML = '';
248
248
  const app = new core.Viewfly({
249
- host,
250
249
  root,
251
250
  autoUpdate,
252
251
  providers: [
@@ -256,12 +255,12 @@ function createApp(host, root, autoUpdate = true) {
256
255
  }
257
256
  ]
258
257
  });
259
- app.run();
258
+ app.mount(host);
260
259
  return app;
261
260
  }
262
261
 
263
262
  const forkErrorFn = core.makeError('fork');
264
- function fork(host, root) {
263
+ function fork(root) {
265
264
  let parentComponent;
266
265
  try {
267
266
  parentComponent = core.provide([]);
@@ -270,7 +269,6 @@ function fork(host, root) {
270
269
  throw forkErrorFn('The fork function can only be called synchronously within a component.');
271
270
  }
272
271
  const app = new core.Viewfly({
273
- host,
274
272
  root,
275
273
  context: parentComponent,
276
274
  providers: [
@@ -0,0 +1,1145 @@
1
+ import * as CSS from 'csstype';
2
+ import { JSX } from '@viewfly/core';
3
+ export interface CSSProperties extends CSS.Properties<string | number>, CSS.PropertiesHyphen<string | number> {
4
+ /**
5
+ * The index signature was removed to enable closed typing for style
6
+ * using CSSType. You're able to use type assertion or module augmentation
7
+ * to add properties or an index signature of your own.
8
+ *
9
+ * For examples and more information, visit:
10
+ * https://github.com/frenic/csstype#what-should-i-do-when-i-get-type-errors
11
+ */
12
+ [v: `--${string}`]: string | number | undefined;
13
+ }
14
+ type Booleanish = boolean | 'true' | 'false';
15
+ type Numberish = number | string;
16
+ interface AriaAttributes {
17
+ /** Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application. */
18
+ 'aria-activedescendant'?: string;
19
+ /** Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute. */
20
+ 'aria-atomic'?: Booleanish;
21
+ /**
22
+ * Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be
23
+ * presented if they are made.
24
+ */
25
+ 'aria-autocomplete'?: 'none' | 'inline' | 'list' | 'both';
26
+ /** Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user. */
27
+ 'aria-busy'?: Booleanish;
28
+ /**
29
+ * Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.
30
+ * @see aria-pressed @see aria-selected.
31
+ */
32
+ 'aria-checked'?: Booleanish | 'mixed';
33
+ /**
34
+ * Defines the total number of columns in a table, grid, or treegrid.
35
+ * @see aria-colindex.
36
+ */
37
+ 'aria-colcount'?: Numberish;
38
+ /**
39
+ * Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid.
40
+ * @see aria-colcount @see aria-colspan.
41
+ */
42
+ 'aria-colindex'?: Numberish;
43
+ /**
44
+ * Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid.
45
+ * @see aria-colindex @see aria-rowspan.
46
+ */
47
+ 'aria-colspan'?: Numberish;
48
+ /**
49
+ * Identifies the element (or elements) whose contents or presence are controlled by the current element.
50
+ * @see aria-owns.
51
+ */
52
+ 'aria-controls'?: string;
53
+ /** Indicates the element that represents the current item within a container or set of related elements. */
54
+ 'aria-current'?: Booleanish | 'page' | 'step' | 'location' | 'date' | 'time';
55
+ /**
56
+ * Identifies the element (or elements) that describes the object.
57
+ * @see aria-labelledby
58
+ */
59
+ 'aria-describedby'?: string;
60
+ /**
61
+ * Identifies the element that provides a detailed, extended description for the object.
62
+ * @see aria-describedby.
63
+ */
64
+ 'aria-details'?: string;
65
+ /**
66
+ * Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.
67
+ * @see aria-hidden @see aria-readonly.
68
+ */
69
+ 'aria-disabled'?: Booleanish;
70
+ /**
71
+ * Indicates what functions can be performed when a dragged object is released on the drop target.
72
+ * @deprecated in ARIA 1.1
73
+ */
74
+ 'aria-dropeffect'?: 'none' | 'copy' | 'execute' | 'link' | 'move' | 'popup';
75
+ /**
76
+ * Identifies the element that provides an error message for the object.
77
+ * @see aria-invalid @see aria-describedby.
78
+ */
79
+ 'aria-errormessage'?: string;
80
+ /** Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. */
81
+ 'aria-expanded'?: Booleanish;
82
+ /**
83
+ * Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion,
84
+ * allows assistive technology to override the general default of reading in document source order.
85
+ */
86
+ 'aria-flowto'?: string;
87
+ /**
88
+ * Indicates an element's "grabbed" state in a drag-and-drop operation.
89
+ * @deprecated in ARIA 1.1
90
+ */
91
+ 'aria-grabbed'?: Booleanish;
92
+ /** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */
93
+ 'aria-haspopup'?: Booleanish | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog';
94
+ /**
95
+ * Indicates whether the element is exposed to an accessibility API.
96
+ * @see aria-disabled.
97
+ */
98
+ 'aria-hidden'?: Booleanish;
99
+ /**
100
+ * Indicates the entered value does not conform to the format expected by the application.
101
+ * @see aria-errormessage.
102
+ */
103
+ 'aria-invalid'?: Booleanish | 'grammar' | 'spelling';
104
+ /** Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element. */
105
+ 'aria-keyshortcuts'?: string;
106
+ /**
107
+ * Defines a string value that labels the current element.
108
+ * @see aria-labelledby.
109
+ */
110
+ 'aria-label'?: string;
111
+ /**
112
+ * Identifies the element (or elements) that labels the current element.
113
+ * @see aria-describedby.
114
+ */
115
+ 'aria-labelledby'?: string;
116
+ /** Defines the hierarchical level of an element within a structure. */
117
+ 'aria-level'?: Numberish;
118
+ /** Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region. */
119
+ 'aria-live'?: 'off' | 'assertive' | 'polite';
120
+ /** Indicates whether an element is modal when displayed. */
121
+ 'aria-modal'?: Booleanish;
122
+ /** Indicates whether a text box accepts multiple lines of input or only a single line. */
123
+ 'aria-multiline'?: Booleanish;
124
+ /** Indicates that the user may select more than one item from the current selectable descendants. */
125
+ 'aria-multiselectable'?: Booleanish;
126
+ /** Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. */
127
+ 'aria-orientation'?: 'horizontal' | 'vertical';
128
+ /**
129
+ * Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship
130
+ * between DOM elements where the DOM hierarchy cannot be used to represent the relationship.
131
+ * @see aria-controls.
132
+ */
133
+ 'aria-owns'?: string;
134
+ /**
135
+ * Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value.
136
+ * A hint could be a sample value or a brief description of the expected format.
137
+ */
138
+ 'aria-placeholder'?: string;
139
+ /**
140
+ * Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.
141
+ * @see aria-setsize.
142
+ */
143
+ 'aria-posinset'?: Numberish;
144
+ /**
145
+ * Indicates the current "pressed" state of toggle buttons.
146
+ * @see aria-checked @see aria-selected.
147
+ */
148
+ 'aria-pressed'?: Booleanish | 'mixed';
149
+ /**
150
+ * Indicates that the element is not editable, but is otherwise operable.
151
+ * @see aria-disabled.
152
+ */
153
+ 'aria-readonly'?: Booleanish;
154
+ /**
155
+ * Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified.
156
+ * @see aria-atomic.
157
+ */
158
+ 'aria-relevant'?: 'additions' | 'additions text' | 'all' | 'removals' | 'text';
159
+ /** Indicates that user input is required on the element before a form may be submitted. */
160
+ 'aria-required'?: Booleanish;
161
+ /** Defines a human-readable, author-localized description for the role of an element. */
162
+ 'aria-roledescription'?: string;
163
+ /**
164
+ * Defines the total number of rows in a table, grid, or treegrid.
165
+ * @see aria-rowindex.
166
+ */
167
+ 'aria-rowcount'?: Numberish;
168
+ /**
169
+ * Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid.
170
+ * @see aria-rowcount @see aria-rowspan.
171
+ */
172
+ 'aria-rowindex'?: Numberish;
173
+ /**
174
+ * Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.
175
+ * @see aria-rowindex @see aria-colspan.
176
+ */
177
+ 'aria-rowspan'?: Numberish;
178
+ /**
179
+ * Indicates the current "selected" state of various widgets.
180
+ * @see aria-checked @see aria-pressed.
181
+ */
182
+ 'aria-selected'?: Booleanish;
183
+ /**
184
+ * Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.
185
+ * @see aria-posinset.
186
+ */
187
+ 'aria-setsize'?: Numberish;
188
+ /** Indicates if items in a table or grid are sorted in ascending or descending order. */
189
+ 'aria-sort'?: 'none' | 'ascending' | 'descending' | 'other';
190
+ /** Defines the maximum allowed value for a range widget. */
191
+ 'aria-valuemax'?: Numberish;
192
+ /** Defines the minimum allowed value for a range widget. */
193
+ 'aria-valuemin'?: Numberish;
194
+ /**
195
+ * Defines the current value for a range widget.
196
+ * @see aria-valuetext.
197
+ */
198
+ 'aria-valuenow'?: Numberish;
199
+ /** Defines the human readable text alternative of aria-valuenow for a range widget. */
200
+ 'aria-valuetext'?: string;
201
+ }
202
+ export type StyleValue = string | CSSProperties;
203
+ export interface HTMLAttributes<T extends object> extends AriaAttributes, EventHandlers<Events>, JSX.Attributes<T> {
204
+ innerHTML?: string;
205
+ class?: any;
206
+ style?: StyleValue;
207
+ accesskey?: string;
208
+ contenteditable?: Booleanish | 'inherit';
209
+ contextmenu?: string;
210
+ dir?: string;
211
+ draggable?: Booleanish;
212
+ hidden?: Booleanish;
213
+ id?: string;
214
+ lang?: string;
215
+ placeholder?: string;
216
+ spellcheck?: Booleanish;
217
+ tabindex?: Numberish;
218
+ title?: string;
219
+ translate?: 'yes' | 'no';
220
+ radiogroup?: string;
221
+ role?: string;
222
+ about?: string;
223
+ datatype?: string;
224
+ inlist?: any;
225
+ prefix?: string;
226
+ property?: string;
227
+ resource?: string;
228
+ typeof?: string;
229
+ vocab?: string;
230
+ autocapitalize?: string;
231
+ autocorrect?: string;
232
+ autosave?: string;
233
+ color?: string;
234
+ itemprop?: string;
235
+ itemscope?: Booleanish;
236
+ itemtype?: string;
237
+ itemid?: string;
238
+ itemref?: string;
239
+ results?: Numberish;
240
+ security?: string;
241
+ unselectable?: 'on' | 'off';
242
+ /**
243
+ * Hints at the type of data that might be entered by the user while editing the element or its contents
244
+ * @see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute
245
+ */
246
+ inputmode?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search';
247
+ [k: string]: any;
248
+ }
249
+ type HTMLAttributeReferrerPolicy = '' | 'no-referrer' | 'no-referrer-when-downgrade' | 'origin' | 'origin-when-cross-origin' | 'same-origin' | 'strict-origin' | 'strict-origin-when-cross-origin' | 'unsafe-url';
250
+ export interface AnchorHTMLAttributes<T extends object> extends HTMLAttributes<T> {
251
+ download?: any;
252
+ href?: string;
253
+ hreflang?: string;
254
+ media?: string;
255
+ ping?: string;
256
+ rel?: string;
257
+ target?: string;
258
+ type?: string;
259
+ referrerpolicy?: HTMLAttributeReferrerPolicy;
260
+ }
261
+ export interface AreaHTMLAttributes<T extends object> extends HTMLAttributes<T> {
262
+ alt?: string;
263
+ coords?: string;
264
+ download?: any;
265
+ href?: string;
266
+ hreflang?: string;
267
+ media?: string;
268
+ referrerpolicy?: HTMLAttributeReferrerPolicy;
269
+ rel?: string;
270
+ shape?: string;
271
+ target?: string;
272
+ }
273
+ export interface AudioHTMLAttributes<T extends object> extends MediaHTMLAttributes<T> {
274
+ }
275
+ export interface BaseHTMLAttributes<T extends object> extends HTMLAttributes<T> {
276
+ href?: string;
277
+ target?: string;
278
+ }
279
+ export interface BlockquoteHTMLAttributes<T extends object> extends HTMLAttributes<T> {
280
+ cite?: string;
281
+ }
282
+ export interface ButtonHTMLAttributes<T extends object> extends HTMLAttributes<T> {
283
+ autofocus?: Booleanish;
284
+ disabled?: Booleanish;
285
+ form?: string;
286
+ formaction?: string;
287
+ formenctype?: string;
288
+ formmethod?: string;
289
+ formnovalidate?: Booleanish;
290
+ formtarget?: string;
291
+ name?: string;
292
+ type?: 'submit' | 'reset' | 'button';
293
+ value?: string | string[] | number;
294
+ }
295
+ export interface CanvasHTMLAttributes<T extends object> extends HTMLAttributes<T> {
296
+ height?: Numberish;
297
+ width?: Numberish;
298
+ }
299
+ export interface ColHTMLAttributes<T extends object> extends HTMLAttributes<T> {
300
+ span?: Numberish;
301
+ width?: Numberish;
302
+ }
303
+ export interface ColgroupHTMLAttributes<T extends object> extends HTMLAttributes<T> {
304
+ span?: Numberish;
305
+ }
306
+ export interface DataHTMLAttributes<T extends object> extends HTMLAttributes<T> {
307
+ value?: string | string[] | number;
308
+ }
309
+ export interface DetailsHTMLAttributes<T extends object> extends HTMLAttributes<T> {
310
+ open?: Booleanish;
311
+ }
312
+ export interface DelHTMLAttributes<T extends object> extends HTMLAttributes<T> {
313
+ cite?: string;
314
+ datetime?: string;
315
+ }
316
+ export interface DialogHTMLAttributes<T extends object> extends HTMLAttributes<T> {
317
+ open?: Booleanish;
318
+ }
319
+ export interface EmbedHTMLAttributes<T extends object> extends HTMLAttributes<T> {
320
+ height?: Numberish;
321
+ src?: string;
322
+ type?: string;
323
+ width?: Numberish;
324
+ }
325
+ export interface FieldsetHTMLAttributes<T extends object> extends HTMLAttributes<T> {
326
+ disabled?: Booleanish;
327
+ form?: string;
328
+ name?: string;
329
+ }
330
+ export interface FormHTMLAttributes<T extends object> extends HTMLAttributes<T> {
331
+ acceptcharset?: string;
332
+ action?: string;
333
+ autocomplete?: string;
334
+ enctype?: string;
335
+ method?: string;
336
+ name?: string;
337
+ novalidate?: Booleanish;
338
+ target?: string;
339
+ }
340
+ export interface HtmlHTMLAttributes<T extends object> extends HTMLAttributes<T> {
341
+ manifest?: string;
342
+ }
343
+ export interface IframeHTMLAttributes<T extends object> extends HTMLAttributes<T> {
344
+ allow?: string;
345
+ allowfullscreen?: Booleanish;
346
+ allowtransparency?: Booleanish;
347
+ frameborder?: Numberish;
348
+ height?: Numberish;
349
+ marginheight?: Numberish;
350
+ marginwidth?: Numberish;
351
+ name?: string;
352
+ referrerpolicy?: HTMLAttributeReferrerPolicy;
353
+ sandbox?: string;
354
+ scrolling?: string;
355
+ seamless?: Booleanish;
356
+ src?: string;
357
+ srcdoc?: string;
358
+ width?: Numberish;
359
+ }
360
+ export interface ImgHTMLAttributes<T extends object> extends HTMLAttributes<T> {
361
+ alt?: string;
362
+ crossorigin?: 'anonymous' | 'use-credentials' | '';
363
+ decoding?: 'async' | 'auto' | 'sync';
364
+ height?: Numberish;
365
+ referrerpolicy?: HTMLAttributeReferrerPolicy;
366
+ sizes?: string;
367
+ src?: string;
368
+ srcset?: string;
369
+ usemap?: string;
370
+ width?: Numberish;
371
+ }
372
+ export interface InsHTMLAttributes<T extends object> extends HTMLAttributes<T> {
373
+ cite?: string;
374
+ datetime?: string;
375
+ }
376
+ export interface InputHTMLAttributes<T extends object> extends HTMLAttributes<T> {
377
+ accept?: string;
378
+ alt?: string;
379
+ autocomplete?: string;
380
+ autofocus?: Booleanish;
381
+ capture?: boolean | 'user' | 'environment';
382
+ checked?: Booleanish | any[] | Set<any>;
383
+ crossorigin?: string;
384
+ disabled?: Booleanish;
385
+ form?: string;
386
+ formaction?: string;
387
+ formenctype?: string;
388
+ formmethod?: string;
389
+ formnovalidate?: Booleanish;
390
+ formtarget?: string;
391
+ height?: Numberish;
392
+ indeterminate?: boolean;
393
+ list?: string;
394
+ max?: Numberish;
395
+ maxlength?: Numberish;
396
+ min?: Numberish;
397
+ minlength?: Numberish;
398
+ multiple?: Booleanish;
399
+ name?: string;
400
+ pattern?: string;
401
+ placeholder?: string;
402
+ readonly?: Booleanish;
403
+ required?: Booleanish;
404
+ size?: Numberish;
405
+ src?: string;
406
+ step?: Numberish;
407
+ type?: string;
408
+ value?: any;
409
+ width?: Numberish;
410
+ }
411
+ export interface KeygenHTMLAttributes<T extends object> extends HTMLAttributes<T> {
412
+ autofocus?: Booleanish;
413
+ challenge?: string;
414
+ disabled?: Booleanish;
415
+ form?: string;
416
+ keytype?: string;
417
+ keyparams?: string;
418
+ name?: string;
419
+ }
420
+ export interface LabelHTMLAttributes<T extends object> extends HTMLAttributes<T> {
421
+ for?: string;
422
+ form?: string;
423
+ }
424
+ export interface LiHTMLAttributes<T extends object> extends HTMLAttributes<T> {
425
+ value?: string | string[] | number;
426
+ }
427
+ export interface LinkHTMLAttributes<T extends object> extends HTMLAttributes<T> {
428
+ as?: string;
429
+ crossorigin?: string;
430
+ href?: string;
431
+ hreflang?: string;
432
+ integrity?: string;
433
+ media?: string;
434
+ referrerpolicy?: HTMLAttributeReferrerPolicy;
435
+ rel?: string;
436
+ sizes?: string;
437
+ type?: string;
438
+ }
439
+ export interface MapHTMLAttributes<T extends object> extends HTMLAttributes<T> {
440
+ name?: string;
441
+ }
442
+ export interface MenuHTMLAttributes<T extends object> extends HTMLAttributes<T> {
443
+ type?: string;
444
+ }
445
+ export interface MediaHTMLAttributes<T extends object> extends HTMLAttributes<T> {
446
+ autoplay?: Booleanish;
447
+ controls?: Booleanish;
448
+ controlslist?: string;
449
+ crossorigin?: string;
450
+ loop?: Booleanish;
451
+ mediagroup?: string;
452
+ muted?: Booleanish;
453
+ playsinline?: Booleanish;
454
+ preload?: string;
455
+ src?: string;
456
+ }
457
+ export interface MetaHTMLAttributes<T extends object> extends HTMLAttributes<T> {
458
+ charset?: string;
459
+ content?: string;
460
+ httpequiv?: string;
461
+ name?: string;
462
+ }
463
+ export interface MeterHTMLAttributes<T extends object> extends HTMLAttributes<T> {
464
+ form?: string;
465
+ high?: Numberish;
466
+ low?: Numberish;
467
+ max?: Numberish;
468
+ min?: Numberish;
469
+ optimum?: Numberish;
470
+ value?: string | string[] | number;
471
+ }
472
+ export interface QuoteHTMLAttributes<T extends object> extends HTMLAttributes<T> {
473
+ cite?: string;
474
+ }
475
+ export interface ObjectHTMLAttributes<T extends object> extends HTMLAttributes<T> {
476
+ classid?: string;
477
+ data?: string;
478
+ form?: string;
479
+ height?: Numberish;
480
+ name?: string;
481
+ type?: string;
482
+ usemap?: string;
483
+ width?: Numberish;
484
+ wmode?: string;
485
+ }
486
+ export interface OlHTMLAttributes<T extends object> extends HTMLAttributes<T> {
487
+ reversed?: Booleanish;
488
+ start?: Numberish;
489
+ type?: '1' | 'a' | 'A' | 'i' | 'I';
490
+ }
491
+ export interface OptgroupHTMLAttributes<T extends object> extends HTMLAttributes<T> {
492
+ disabled?: Booleanish;
493
+ label?: string;
494
+ }
495
+ export interface OptionHTMLAttributes<T extends object> extends HTMLAttributes<T> {
496
+ disabled?: Booleanish;
497
+ label?: string;
498
+ selected?: Booleanish;
499
+ value?: string;
500
+ }
501
+ export interface OutputHTMLAttributes<T extends object> extends HTMLAttributes<T> {
502
+ for?: string;
503
+ form?: string;
504
+ name?: string;
505
+ }
506
+ export interface ParamHTMLAttributes<T extends object> extends HTMLAttributes<T> {
507
+ name?: string;
508
+ value?: string | string[] | number;
509
+ }
510
+ export interface ProgressHTMLAttributes<T extends object> extends HTMLAttributes<T> {
511
+ max?: Numberish;
512
+ value?: string | string[] | number;
513
+ }
514
+ export interface ScriptHTMLAttributes<T extends object> extends HTMLAttributes<T> {
515
+ async?: Booleanish;
516
+ charset?: string;
517
+ crossorigin?: string;
518
+ defer?: Booleanish;
519
+ integrity?: string;
520
+ nomodule?: Booleanish;
521
+ referrerpolicy?: HTMLAttributeReferrerPolicy;
522
+ nonce?: string;
523
+ src?: string;
524
+ type?: string;
525
+ }
526
+ export interface SelectHTMLAttributes<T extends object> extends HTMLAttributes<T> {
527
+ autocomplete?: string;
528
+ autofocus?: Booleanish;
529
+ disabled?: Booleanish;
530
+ form?: string;
531
+ multiple?: Booleanish;
532
+ name?: string;
533
+ required?: Booleanish;
534
+ size?: Numberish;
535
+ value?: string;
536
+ }
537
+ export interface SourceHTMLAttributes<T extends object> extends HTMLAttributes<T> {
538
+ media?: string;
539
+ sizes?: string;
540
+ src?: string;
541
+ srcset?: string;
542
+ type?: string;
543
+ }
544
+ export interface StyleHTMLAttributes<T extends object> extends HTMLAttributes<T> {
545
+ media?: string;
546
+ nonce?: string;
547
+ scoped?: Booleanish;
548
+ type?: string;
549
+ }
550
+ export interface TableHTMLAttributes<T extends object> extends HTMLAttributes<T> {
551
+ cellpadding?: Numberish;
552
+ cellspacing?: Numberish;
553
+ summary?: string;
554
+ }
555
+ export interface TextareaHTMLAttributes<T extends object> extends HTMLAttributes<T> {
556
+ autocomplete?: string;
557
+ autofocus?: Booleanish;
558
+ cols?: Numberish;
559
+ dirname?: string;
560
+ disabled?: Booleanish;
561
+ form?: string;
562
+ maxlength?: Numberish;
563
+ minlength?: Numberish;
564
+ name?: string;
565
+ placeholder?: string;
566
+ readonly?: boolean;
567
+ required?: Booleanish;
568
+ rows?: Numberish;
569
+ value?: string | string[] | number;
570
+ wrap?: string;
571
+ }
572
+ export interface TdHTMLAttributes<T extends object> extends HTMLAttributes<T> {
573
+ align?: 'left' | 'center' | 'right' | 'justify' | 'char';
574
+ colspan?: Numberish;
575
+ headers?: string;
576
+ rowspan?: Numberish;
577
+ scope?: string;
578
+ valign?: 'top' | 'middle' | 'bottom' | 'baseline';
579
+ }
580
+ export interface ThHTMLAttributes<T extends object> extends HTMLAttributes<T> {
581
+ align?: 'left' | 'center' | 'right' | 'justify' | 'char';
582
+ colspan?: Numberish;
583
+ headers?: string;
584
+ rowspan?: Numberish;
585
+ scope?: string;
586
+ }
587
+ export interface TimeHTMLAttributes<T extends object> extends HTMLAttributes<T> {
588
+ datetime?: string;
589
+ }
590
+ export interface TrackHTMLAttributes<T extends object> extends HTMLAttributes<T> {
591
+ default?: Booleanish;
592
+ kind?: string;
593
+ label?: string;
594
+ src?: string;
595
+ srclang?: string;
596
+ }
597
+ export interface VideoHTMLAttributes<T extends object> extends MediaHTMLAttributes<T> {
598
+ height?: Numberish;
599
+ playsinline?: Booleanish;
600
+ poster?: string;
601
+ width?: Numberish;
602
+ disablePictureInPicture?: Booleanish;
603
+ }
604
+ export interface WebViewHTMLAttributes<T extends object> extends HTMLAttributes<T> {
605
+ allowfullscreen?: Booleanish;
606
+ allowpopups?: Booleanish;
607
+ autoFocus?: Booleanish;
608
+ autosize?: Booleanish;
609
+ blinkfeatures?: string;
610
+ disableblinkfeatures?: string;
611
+ disableguestresize?: Booleanish;
612
+ disablewebsecurity?: Booleanish;
613
+ guestinstance?: string;
614
+ httpreferrer?: string;
615
+ nodeintegration?: Booleanish;
616
+ partition?: string;
617
+ plugins?: Booleanish;
618
+ preload?: string;
619
+ src?: string;
620
+ useragent?: string;
621
+ webpreferences?: string;
622
+ }
623
+ export interface SVGAttributes<T extends object> extends AriaAttributes, EventHandlers<Events>, JSX.Attributes<T> {
624
+ innerHTML?: string;
625
+ /**
626
+ * SVG Styling Attributes
627
+ * @see https://www.w3.org/TR/SVG/styling.html#ElementSpecificStyling
628
+ */
629
+ class?: any;
630
+ style?: string | CSSProperties;
631
+ color?: string;
632
+ height?: Numberish;
633
+ id?: string;
634
+ lang?: string;
635
+ max?: Numberish;
636
+ media?: string;
637
+ method?: string;
638
+ min?: Numberish;
639
+ name?: string;
640
+ target?: string;
641
+ type?: string;
642
+ width?: Numberish;
643
+ role?: string;
644
+ tabindex?: Numberish;
645
+ 'accent-height'?: Numberish;
646
+ accumulate?: 'none' | 'sum';
647
+ additive?: 'replace' | 'sum';
648
+ 'alignment-baseline'?: 'auto' | 'baseline' | 'before-edge' | 'text-before-edge' | 'middle' | 'central' | 'after-edge' | 'text-after-edge' | 'ideographic' | 'alphabetic' | 'hanging' | 'mathematical' | 'inherit';
649
+ allowReorder?: 'no' | 'yes';
650
+ alphabetic?: Numberish;
651
+ amplitude?: Numberish;
652
+ 'arabic-form'?: 'initial' | 'medial' | 'terminal' | 'isolated';
653
+ ascent?: Numberish;
654
+ attributeName?: string;
655
+ attributeType?: string;
656
+ autoReverse?: Numberish;
657
+ azimuth?: Numberish;
658
+ baseFrequency?: Numberish;
659
+ 'baseline-shift'?: Numberish;
660
+ baseProfile?: Numberish;
661
+ bbox?: Numberish;
662
+ begin?: Numberish;
663
+ bias?: Numberish;
664
+ by?: Numberish;
665
+ calcMode?: Numberish;
666
+ 'cap-height'?: Numberish;
667
+ clip?: Numberish;
668
+ 'clip-path'?: string;
669
+ clipPathUnits?: Numberish;
670
+ 'clip-rule'?: Numberish;
671
+ 'color-interpolation'?: Numberish;
672
+ 'color-interpolation-filters'?: 'auto' | 'sRGB' | 'linearRGB' | 'inherit';
673
+ 'color-profile'?: Numberish;
674
+ 'color-rendering'?: Numberish;
675
+ contentScriptType?: Numberish;
676
+ contentStyleType?: Numberish;
677
+ cursor?: Numberish;
678
+ cx?: Numberish;
679
+ cy?: Numberish;
680
+ d?: string;
681
+ decelerate?: Numberish;
682
+ descent?: Numberish;
683
+ diffuseConstant?: Numberish;
684
+ direction?: Numberish;
685
+ display?: Numberish;
686
+ divisor?: Numberish;
687
+ 'dominant-baseline'?: Numberish;
688
+ dur?: Numberish;
689
+ dx?: Numberish;
690
+ dy?: Numberish;
691
+ edgeMode?: Numberish;
692
+ elevation?: Numberish;
693
+ 'enable-background'?: Numberish;
694
+ end?: Numberish;
695
+ exponent?: Numberish;
696
+ externalResourcesRequired?: Numberish;
697
+ fill?: string;
698
+ 'fill-opacity'?: Numberish;
699
+ 'fill-rule'?: 'nonzero' | 'evenodd' | 'inherit';
700
+ filter?: string;
701
+ filterRes?: Numberish;
702
+ filterUnits?: Numberish;
703
+ 'flood-color'?: Numberish;
704
+ 'flood-opacity'?: Numberish;
705
+ focusable?: Numberish;
706
+ 'font-family'?: string;
707
+ 'font-size'?: Numberish;
708
+ 'font-size-adjust'?: Numberish;
709
+ 'font-stretch'?: Numberish;
710
+ 'font-style'?: Numberish;
711
+ 'font-variant'?: Numberish;
712
+ 'font-weight'?: Numberish;
713
+ format?: Numberish;
714
+ from?: Numberish;
715
+ fx?: Numberish;
716
+ fy?: Numberish;
717
+ g1?: Numberish;
718
+ g2?: Numberish;
719
+ 'glyph-name'?: Numberish;
720
+ 'glyph-orientation-horizontal'?: Numberish;
721
+ 'glyph-orientation-vertical'?: Numberish;
722
+ glyphRef?: Numberish;
723
+ gradientTransform?: string;
724
+ gradientUnits?: string;
725
+ hanging?: Numberish;
726
+ 'horiz-adv-x'?: Numberish;
727
+ 'horiz-origin-x'?: Numberish;
728
+ href?: string;
729
+ ideographic?: Numberish;
730
+ 'image-rendering'?: Numberish;
731
+ in2?: Numberish;
732
+ in?: string;
733
+ intercept?: Numberish;
734
+ k1?: Numberish;
735
+ k2?: Numberish;
736
+ k3?: Numberish;
737
+ k4?: Numberish;
738
+ k?: Numberish;
739
+ kernelMatrix?: Numberish;
740
+ kernelUnitLength?: Numberish;
741
+ kerning?: Numberish;
742
+ keyPoints?: Numberish;
743
+ keySplines?: Numberish;
744
+ keyTimes?: Numberish;
745
+ lengthAdjust?: Numberish;
746
+ 'letter-spacing'?: Numberish;
747
+ 'lighting-color'?: Numberish;
748
+ limitingConeAngle?: Numberish;
749
+ local?: Numberish;
750
+ 'marker-end'?: string;
751
+ markerHeight?: Numberish;
752
+ 'marker-mid'?: string;
753
+ 'marker-start'?: string;
754
+ markerUnits?: Numberish;
755
+ markerWidth?: Numberish;
756
+ mask?: string;
757
+ maskContentUnits?: Numberish;
758
+ maskUnits?: Numberish;
759
+ mathematical?: Numberish;
760
+ mode?: Numberish;
761
+ numOctaves?: Numberish;
762
+ offset?: Numberish;
763
+ opacity?: Numberish;
764
+ operator?: Numberish;
765
+ order?: Numberish;
766
+ orient?: Numberish;
767
+ orientation?: Numberish;
768
+ origin?: Numberish;
769
+ overflow?: Numberish;
770
+ 'overline-position'?: Numberish;
771
+ 'overline-thickness'?: Numberish;
772
+ 'paint-order'?: Numberish;
773
+ 'panose-1'?: Numberish;
774
+ pathLength?: Numberish;
775
+ patternContentUnits?: string;
776
+ patternTransform?: Numberish;
777
+ patternUnits?: string;
778
+ 'pointer-events'?: Numberish;
779
+ points?: string;
780
+ pointsAtX?: Numberish;
781
+ pointsAtY?: Numberish;
782
+ pointsAtZ?: Numberish;
783
+ preserveAlpha?: Numberish;
784
+ preserveAspectRatio?: string;
785
+ primitiveUnits?: Numberish;
786
+ r?: Numberish;
787
+ radius?: Numberish;
788
+ refX?: Numberish;
789
+ refY?: Numberish;
790
+ renderingIntent?: Numberish;
791
+ repeatCount?: Numberish;
792
+ repeatDur?: Numberish;
793
+ requiredExtensions?: Numberish;
794
+ requiredFeatures?: Numberish;
795
+ restart?: Numberish;
796
+ result?: string;
797
+ rotate?: Numberish;
798
+ rx?: Numberish;
799
+ ry?: Numberish;
800
+ scale?: Numberish;
801
+ seed?: Numberish;
802
+ 'shape-rendering'?: Numberish;
803
+ slope?: Numberish;
804
+ spacing?: Numberish;
805
+ specularConstant?: Numberish;
806
+ specularExponent?: Numberish;
807
+ speed?: Numberish;
808
+ spreadMethod?: string;
809
+ startOffset?: Numberish;
810
+ stdDeviation?: Numberish;
811
+ stemh?: Numberish;
812
+ stemv?: Numberish;
813
+ stitchTiles?: Numberish;
814
+ 'stop-color'?: string;
815
+ 'stop-opacity'?: Numberish;
816
+ 'strikethrough-position'?: Numberish;
817
+ 'strikethrough-thickness'?: Numberish;
818
+ string?: Numberish;
819
+ stroke?: string;
820
+ 'stroke-dasharray'?: Numberish;
821
+ 'stroke-dashoffset'?: Numberish;
822
+ 'stroke-linecap'?: 'butt' | 'round' | 'square' | 'inherit';
823
+ 'stroke-linejoin'?: 'miter' | 'round' | 'bevel' | 'inherit';
824
+ 'stroke-miterlimit'?: Numberish;
825
+ 'stroke-opacity'?: Numberish;
826
+ 'stroke-width'?: Numberish;
827
+ surfaceScale?: Numberish;
828
+ systemLanguage?: Numberish;
829
+ tableValues?: Numberish;
830
+ targetX?: Numberish;
831
+ targetY?: Numberish;
832
+ 'text-anchor'?: string;
833
+ 'text-decoration'?: Numberish;
834
+ textLength?: Numberish;
835
+ 'text-rendering'?: Numberish;
836
+ to?: Numberish;
837
+ transform?: string;
838
+ u1?: Numberish;
839
+ u2?: Numberish;
840
+ 'underline-position'?: Numberish;
841
+ 'underline-thickness'?: Numberish;
842
+ unicode?: Numberish;
843
+ 'unicode-bidi'?: Numberish;
844
+ 'unicode-range'?: Numberish;
845
+ 'unitsPer-em'?: Numberish;
846
+ 'v-alphabetic'?: Numberish;
847
+ values?: string;
848
+ 'vector-effect'?: Numberish;
849
+ version?: string;
850
+ 'vert-adv-y'?: Numberish;
851
+ 'vert-origin-x'?: Numberish;
852
+ 'vert-origin-y'?: Numberish;
853
+ 'v-hanging'?: Numberish;
854
+ 'v-ideographic'?: Numberish;
855
+ viewBox?: string;
856
+ viewTarget?: Numberish;
857
+ visibility?: Numberish;
858
+ 'v-mathematical'?: Numberish;
859
+ widths?: Numberish;
860
+ 'word-spacing'?: Numberish;
861
+ 'writing-mode'?: Numberish;
862
+ x1?: Numberish;
863
+ x2?: Numberish;
864
+ x?: Numberish;
865
+ xChannelSelector?: string;
866
+ 'x-height'?: Numberish;
867
+ xlinkActuate?: string;
868
+ xlinkArcrole?: string;
869
+ xlinkHref?: string;
870
+ xlinkRole?: string;
871
+ xlinkShow?: string;
872
+ xlinkTitle?: string;
873
+ xlinkType?: string;
874
+ xmlns?: string;
875
+ y1?: Numberish;
876
+ y2?: Numberish;
877
+ y?: Numberish;
878
+ yChannelSelector?: string;
879
+ z?: Numberish;
880
+ zoomAndPan?: string;
881
+ }
882
+ export interface DOMElements {
883
+ a: AnchorHTMLAttributes<HTMLAnchorElement>;
884
+ abbr: HTMLAttributes<HTMLElement>;
885
+ address: HTMLAttributes<HTMLElement>;
886
+ area: AreaHTMLAttributes<HTMLAreaElement>;
887
+ article: HTMLAttributes<HTMLElement>;
888
+ aside: HTMLAttributes<HTMLElement>;
889
+ audio: AudioHTMLAttributes<HTMLAudioElement>;
890
+ b: HTMLAttributes<HTMLElement>;
891
+ base: BaseHTMLAttributes<HTMLBaseElement>;
892
+ bdi: HTMLAttributes<HTMLElement>;
893
+ bdo: HTMLAttributes<HTMLElement>;
894
+ blockquote: BlockquoteHTMLAttributes<HTMLElement>;
895
+ body: HTMLAttributes<HTMLBodyElement>;
896
+ br: HTMLAttributes<HTMLBRElement>;
897
+ button: ButtonHTMLAttributes<HTMLButtonElement>;
898
+ canvas: CanvasHTMLAttributes<HTMLCanvasElement>;
899
+ caption: HTMLAttributes<HTMLTableCaptionElement>;
900
+ cite: HTMLAttributes<HTMLElement>;
901
+ code: HTMLAttributes<HTMLElement>;
902
+ col: ColHTMLAttributes<HTMLTableColElement>;
903
+ colgroup: ColgroupHTMLAttributes<HTMLTableColElement>;
904
+ data: DataHTMLAttributes<HTMLDataElement>;
905
+ datalist: HTMLAttributes<HTMLDataListElement>;
906
+ dd: HTMLAttributes<HTMLElement>;
907
+ del: DelHTMLAttributes<HTMLElement>;
908
+ details: DetailsHTMLAttributes<HTMLDetailsElement>;
909
+ dfn: HTMLAttributes<HTMLElement>;
910
+ dialog: DialogHTMLAttributes<HTMLDialogElement>;
911
+ div: HTMLAttributes<HTMLDivElement>;
912
+ dl: HTMLAttributes<HTMLDListElement>;
913
+ dt: HTMLAttributes<HTMLElement>;
914
+ em: HTMLAttributes<HTMLElement>;
915
+ embed: EmbedHTMLAttributes<HTMLEmbedElement>;
916
+ fieldset: FieldsetHTMLAttributes<HTMLFieldSetElement>;
917
+ figcaption: HTMLAttributes<HTMLElement>;
918
+ figure: HTMLAttributes<HTMLElement>;
919
+ footer: HTMLAttributes<HTMLElement>;
920
+ form: FormHTMLAttributes<HTMLFormElement>;
921
+ h1: HTMLAttributes<HTMLHeadingElement>;
922
+ h2: HTMLAttributes<HTMLHeadingElement>;
923
+ h3: HTMLAttributes<HTMLHeadingElement>;
924
+ h4: HTMLAttributes<HTMLHeadingElement>;
925
+ h5: HTMLAttributes<HTMLHeadingElement>;
926
+ h6: HTMLAttributes<HTMLHeadingElement>;
927
+ head: HTMLAttributes<HTMLHeadElement>;
928
+ header: HTMLAttributes<HTMLElement>;
929
+ hgroup: HTMLAttributes<HTMLElement>;
930
+ hr: HTMLAttributes<HTMLHRElement>;
931
+ html: HtmlHTMLAttributes<HTMLHtmlElement>;
932
+ i: HTMLAttributes<HTMLElement>;
933
+ iframe: IframeHTMLAttributes<HTMLIFrameElement>;
934
+ img: ImgHTMLAttributes<HTMLImageElement>;
935
+ input: InputHTMLAttributes<HTMLInputElement>;
936
+ ins: InsHTMLAttributes<HTMLModElement>;
937
+ kbd: HTMLAttributes<HTMLElement>;
938
+ label: LabelHTMLAttributes<HTMLLabelElement>;
939
+ legend: HTMLAttributes<HTMLLegendElement>;
940
+ li: LiHTMLAttributes<HTMLLIElement>;
941
+ link: LinkHTMLAttributes<HTMLLinkElement>;
942
+ main: HTMLAttributes<HTMLElement>;
943
+ map: MapHTMLAttributes<HTMLMapElement>;
944
+ mark: HTMLAttributes<HTMLElement>;
945
+ menu: MenuHTMLAttributes<HTMLMenuElement>;
946
+ meta: MetaHTMLAttributes<HTMLMetaElement>;
947
+ meter: MeterHTMLAttributes<HTMLMeterElement>;
948
+ nav: HTMLAttributes<HTMLElement>;
949
+ noindex: HTMLAttributes<HTMLElement>;
950
+ noscript: HTMLAttributes<HTMLElement>;
951
+ object: ObjectHTMLAttributes<HTMLObjectElement>;
952
+ ol: OlHTMLAttributes<HTMLOListElement>;
953
+ optgroup: OptgroupHTMLAttributes<HTMLOptGroupElement>;
954
+ option: OptionHTMLAttributes<HTMLOptionElement>;
955
+ output: OutputHTMLAttributes<HTMLOutputElement>;
956
+ p: HTMLAttributes<HTMLParagraphElement>;
957
+ picture: HTMLAttributes<HTMLPictureElement>;
958
+ pre: HTMLAttributes<HTMLPreElement>;
959
+ progress: ProgressHTMLAttributes<HTMLProgressElement>;
960
+ q: QuoteHTMLAttributes<HTMLQuoteElement>;
961
+ rp: HTMLAttributes<HTMLElement>;
962
+ rt: HTMLAttributes<HTMLElement>;
963
+ ruby: HTMLAttributes<HTMLElement>;
964
+ s: HTMLAttributes<HTMLElement>;
965
+ samp: HTMLAttributes<HTMLElement>;
966
+ script: ScriptHTMLAttributes<HTMLScriptElement>;
967
+ section: HTMLAttributes<HTMLElement>;
968
+ select: SelectHTMLAttributes<HTMLSelectElement>;
969
+ small: HTMLAttributes<HTMLElement>;
970
+ source: SourceHTMLAttributes<HTMLSourceElement>;
971
+ span: HTMLAttributes<HTMLElement>;
972
+ strong: HTMLAttributes<HTMLElement>;
973
+ style: StyleHTMLAttributes<HTMLStyleElement>;
974
+ sub: HTMLAttributes<HTMLElement>;
975
+ summary: HTMLAttributes<HTMLElement>;
976
+ sup: HTMLAttributes<HTMLElement>;
977
+ table: TableHTMLAttributes<HTMLTableElement>;
978
+ template: HTMLAttributes<HTMLTemplateElement>;
979
+ tbody: HTMLAttributes<HTMLTableSectionElement>;
980
+ td: TdHTMLAttributes<HTMLTableCellElement>;
981
+ textarea: TextareaHTMLAttributes<HTMLTextAreaElement>;
982
+ tfoot: HTMLAttributes<HTMLTableSectionElement>;
983
+ th: ThHTMLAttributes<HTMLTableCellElement>;
984
+ thead: HTMLAttributes<HTMLTableSectionElement>;
985
+ time: TimeHTMLAttributes<HTMLTimeElement>;
986
+ title: HTMLAttributes<HTMLTitleElement>;
987
+ tr: HTMLAttributes<HTMLTableRowElement>;
988
+ track: TrackHTMLAttributes<HTMLTrackElement>;
989
+ u: HTMLAttributes<HTMLElement>;
990
+ ul: HTMLAttributes<HTMLUListElement>;
991
+ var: HTMLAttributes<HTMLElement>;
992
+ video: VideoHTMLAttributes<HTMLVideoElement>;
993
+ wbr: HTMLAttributes<HTMLElement>;
994
+ webview: WebViewHTMLAttributes<HTMLElement>;
995
+ }
996
+ export interface SVGElements {
997
+ svg: SVGAttributes<SVGElement>;
998
+ animate: SVGAttributes<SVGAnimateElement>;
999
+ animateMotion: SVGAttributes<SVGAnimateMotionElement>;
1000
+ animateTransform: SVGAttributes<SVGAnimateTransformElement>;
1001
+ circle: SVGAttributes<SVGCircleElement>;
1002
+ clipPath: SVGAttributes<SVGClipPathElement>;
1003
+ defs: SVGAttributes<SVGDefsElement>;
1004
+ desc: SVGAttributes<SVGDescElement>;
1005
+ ellipse: SVGAttributes<SVGEllipseElement>;
1006
+ feBlend: SVGAttributes<SVGFEBlendElement>;
1007
+ feColorMatrix: SVGAttributes<SVGFEColorMatrixElement>;
1008
+ feComponentTransfer: SVGAttributes<SVGFEComponentTransferElement>;
1009
+ feComposite: SVGAttributes<SVGFECompositeElement>;
1010
+ feConvolveMatrix: SVGAttributes<SVGFEConvolveMatrixElement>;
1011
+ feDiffuseLighting: SVGAttributes<SVGFEDiffuseLightingElement>;
1012
+ feDisplacementMap: SVGAttributes<SVGFEDisplacementMapElement>;
1013
+ feDistantLight: SVGAttributes<SVGFEDistantLightElement>;
1014
+ feDropShadow: SVGAttributes<SVGFEDropShadowElement>;
1015
+ feFlood: SVGAttributes<SVGFEFloodElement>;
1016
+ feFuncA: SVGAttributes<SVGFEFuncAElement>;
1017
+ feFuncB: SVGAttributes<SVGFEFuncBElement>;
1018
+ feFuncG: SVGAttributes<SVGFEFuncGElement>;
1019
+ feFuncR: SVGAttributes<SVGFEFuncRElement>;
1020
+ feGaussianBlur: SVGAttributes<SVGFEGaussianBlurElement>;
1021
+ feImage: SVGAttributes<SVGFEImageElement>;
1022
+ feMerge: SVGAttributes<SVGFEMergeElement>;
1023
+ feMergeNode: SVGAttributes<SVGFEMergeNodeElement>;
1024
+ feMorphology: SVGAttributes<SVGFEMorphologyElement>;
1025
+ feOffset: SVGAttributes<SVGFEOffsetElement>;
1026
+ fePointLight: SVGAttributes<SVGFEPointLightElement>;
1027
+ feSpecularLighting: SVGAttributes<SVGFESpecularLightingElement>;
1028
+ feSpotLight: SVGAttributes<SVGFESpotLightElement>;
1029
+ feTile: SVGAttributes<SVGFETileElement>;
1030
+ feTurbulence: SVGAttributes<SVGFETurbulenceElement>;
1031
+ filter: SVGAttributes<SVGFilterElement>;
1032
+ foreignObject: SVGAttributes<SVGForeignObjectElement>;
1033
+ g: SVGAttributes<SVGGElement>;
1034
+ image: SVGAttributes<SVGImageElement>;
1035
+ line: SVGAttributes<SVGLineElement>;
1036
+ linearGradient: SVGAttributes<SVGLinearGradientElement>;
1037
+ marker: SVGAttributes<SVGMarkerElement>;
1038
+ mask: SVGAttributes<SVGMaskElement>;
1039
+ metadata: SVGAttributes<SVGMetadataElement>;
1040
+ mpath: SVGAttributes<SVGMPathElement>;
1041
+ path: SVGAttributes<SVGPathElement>;
1042
+ pattern: SVGAttributes<SVGPatternElement>;
1043
+ polygon: SVGAttributes<SVGPolygonElement>;
1044
+ polyline: SVGAttributes<SVGPolylineElement>;
1045
+ radialGradient: SVGAttributes<SVGRadialGradientElement>;
1046
+ rect: SVGAttributes<SVGRectElement>;
1047
+ stop: SVGAttributes<SVGStopElement>;
1048
+ switch: SVGAttributes<SVGSwitchElement>;
1049
+ symbol: SVGAttributes<SVGSymbolElement>;
1050
+ text: SVGAttributes<SVGTextElement>;
1051
+ textPath: SVGAttributes<SVGTextPathElement>;
1052
+ tspan: SVGAttributes<SVGTSpanElement>;
1053
+ use: SVGAttributes<SVGUseElement>;
1054
+ view: SVGAttributes<SVGViewElement>;
1055
+ }
1056
+ export interface NativeElements extends DOMElements, SVGElements {
1057
+ }
1058
+ export interface Events {
1059
+ onCopy: ClipboardEvent;
1060
+ onCut: ClipboardEvent;
1061
+ onPaste: ClipboardEvent;
1062
+ onCompositionend: CompositionEvent;
1063
+ onCompositionstart: CompositionEvent;
1064
+ onCompositionupdate: CompositionEvent;
1065
+ onDrag: DragEvent;
1066
+ onDragend: DragEvent;
1067
+ onDragenter: DragEvent;
1068
+ onDragexit: DragEvent;
1069
+ onDragleave: DragEvent;
1070
+ onDragover: DragEvent;
1071
+ onDragstart: DragEvent;
1072
+ onDrop: DragEvent;
1073
+ onFocus: FocusEvent;
1074
+ onFocusin: FocusEvent;
1075
+ onFocusout: FocusEvent;
1076
+ onBlur: FocusEvent;
1077
+ onChange: Event;
1078
+ onBeforeinput: Event;
1079
+ onInput: Event;
1080
+ onReset: Event;
1081
+ onSubmit: Event;
1082
+ onInvalid: Event;
1083
+ onLoad: Event;
1084
+ onError: Event;
1085
+ onKeydown: KeyboardEvent;
1086
+ onKeypress: KeyboardEvent;
1087
+ onKeyup: KeyboardEvent;
1088
+ onAuxclick: MouseEvent;
1089
+ onClick: MouseEvent;
1090
+ onContextmenu: MouseEvent;
1091
+ onDblclick: MouseEvent;
1092
+ onMousedown: MouseEvent;
1093
+ onMouseenter: MouseEvent;
1094
+ onMouseleave: MouseEvent;
1095
+ onMousemove: MouseEvent;
1096
+ onMouseout: MouseEvent;
1097
+ onMouseover: MouseEvent;
1098
+ onMouseup: MouseEvent;
1099
+ onAbort: Event;
1100
+ onCanplay: Event;
1101
+ onCanplaythrough: Event;
1102
+ onDurationchange: Event;
1103
+ onEmptied: Event;
1104
+ onEncrypted: Event;
1105
+ onEnded: Event;
1106
+ onLoadeddata: Event;
1107
+ onLoadedmetadata: Event;
1108
+ onLoadstart: Event;
1109
+ onPause: Event;
1110
+ onPlay: Event;
1111
+ onPlaying: Event;
1112
+ onProgress: Event;
1113
+ onRatechange: Event;
1114
+ onSeeked: Event;
1115
+ onSeeking: Event;
1116
+ onStalled: Event;
1117
+ onSuspend: Event;
1118
+ onTimeupdate: Event;
1119
+ onVolumechange: Event;
1120
+ onWaiting: Event;
1121
+ onSelect: Event;
1122
+ onScroll: UIEvent;
1123
+ onTouchcancel: TouchEvent;
1124
+ onTouchend: TouchEvent;
1125
+ onTouchmove: TouchEvent;
1126
+ onTouchstart: TouchEvent;
1127
+ onPointerdown: PointerEvent;
1128
+ onPointermove: PointerEvent;
1129
+ onPointerup: PointerEvent;
1130
+ onPointercancel: PointerEvent;
1131
+ onPointerenter: PointerEvent;
1132
+ onPointerleave: PointerEvent;
1133
+ onPointerover: PointerEvent;
1134
+ onPointerout: PointerEvent;
1135
+ onWheel: WheelEvent;
1136
+ onAnimationstart: AnimationEvent;
1137
+ onAnimationend: AnimationEvent;
1138
+ onAnimationiteration: AnimationEvent;
1139
+ onTransitionend: TransitionEvent;
1140
+ onTransitionstart: TransitionEvent;
1141
+ }
1142
+ type EventHandlers<E> = {
1143
+ [K in keyof E]?: E[K] extends (...args: any) => any ? E[K] : (payload: E[K]) => void;
1144
+ };
1145
+ export {};
@@ -1,3 +1,4 @@
1
1
  export * from './create-app';
2
2
  export * from './fork';
3
3
  export * from './dom-renderer';
4
+ export * from './jsx';
package/package.json CHANGED
@@ -1,22 +1,20 @@
1
1
  {
2
2
  "name": "@viewfly/platform-browser",
3
- "version": "0.0.1-alpha.9",
4
- "description": "Viewfly is a simple and easy-to-use JavaScript framework with an intuitive development experience.",
3
+ "version": "0.0.1",
4
+ "description": "This project is used to enable the Viewfly framework to run in a browser.",
5
5
  "main": "./bundles/index.js",
6
6
  "module": "./bundles/index.esm.js",
7
7
  "typings": "./bundles/public-api.d.ts",
8
8
  "scripts": {
9
- "start": "webpack-dev-server",
10
- "test": "cross-env env=test jest",
11
- "test-c": "cross-env env=test jest --coverage",
12
9
  "build:lib": "rimraf bundles && rollup --config rollup.config.ts --configPlugin @rollup/plugin-typescript",
13
10
  "publish:lib": "npm run build:lib && npm publish --access=public"
14
11
  },
15
12
  "license": "MIT",
16
13
  "keywords": [],
17
14
  "dependencies": {
18
- "@tanbo/di": "^1.1.4",
19
- "@viewfly/core": "^0.0.1-alpha.9",
15
+ "@tanbo/di": "^1.1.5",
16
+ "@viewfly/core": "^0.0.1",
17
+ "csstype": "^3.1.2",
20
18
  "reflect-metadata": "^0.1.13"
21
19
  },
22
20
  "devDependencies": {
@@ -37,5 +35,5 @@
37
35
  "bugs": {
38
36
  "url": "https://github.com/viewfly/viewfly.git/issues"
39
37
  },
40
- "gitHead": "c1ea5cf0163aac7b73beee2868f4ea5caa94bb3f"
38
+ "gitHead": "13f2af4215a1cd85af544af55744b2635e5cbf1b"
41
39
  }