|
1 |
| -module.exports.props = require("react-html-attributes"); |
| 1 | +// For now, we are using a local copy of react-html-attributes. |
| 2 | +// Eventually, the relative path here should be removed, and |
| 3 | +// the version number of react-html-attributes should be bumped. |
| 4 | +module.exports.props = require("./react-html-attributes"); |
| 5 | + |
2 | 6 | module.exports.voids = ["area", "base", "br", "col", "embed", "hr", "img", "input", "link", "meta", "param", "source", "track", "wbr"];
|
| 7 | +// The types for certain attributes differ according to their containing element. |
| 8 | +// These appear in the typesByElement object, using "*" as a default element |
| 9 | +// (required only if the default attribute type is other than `String`). |
| 10 | +// For clarity, it is an error for any attribute to be in both `types` and `typesByElement`. |
| 11 | +module.exports.typesByElement = { |
| 12 | + "cols": { |
| 13 | + "textarea": "Int", |
| 14 | + }, |
| 15 | + "max": { |
| 16 | + "meter": "Number", |
| 17 | + "progress": "Number" |
| 18 | + }, |
| 19 | + "min": { |
| 20 | + "meter": "Number" |
| 21 | + }, |
| 22 | + "rows": { |
| 23 | + "textarea": "Int" |
| 24 | + }, |
| 25 | + "size" : { |
| 26 | + "input": "Int", |
| 27 | + "select": "Int" |
| 28 | + } |
| 29 | +}; |
3 | 30 | module.exports.types = {
|
4 | 31 | "allowFullScreen": "Boolean",
|
| 32 | + "allowTransparency": "Boolean", |
5 | 33 | "async": "Boolean",
|
| 34 | + "autoComplete": "Boolean", |
| 35 | + "autoFocus": "Boolean", |
6 | 36 | "autoPlay": "Boolean",
|
7 | 37 | "capture": "Boolean",
|
8 | 38 | "checked": "Boolean",
|
9 | 39 | "children": "Array JSX",
|
10 |
| - "cols": "Number", |
| 40 | + "colSpan": "Int", |
| 41 | + "contentEditable": "Boolean", |
11 | 42 | "controls": "Boolean",
|
| 43 | + "dangerouslySetInnerHTML": "{ __html :: String }", |
12 | 44 | "default": "Boolean",
|
13 | 45 | "defer": "Boolean",
|
14 | 46 | "disabled": "Boolean",
|
| 47 | + "draggable": "Boolean", |
15 | 48 | "formNoValidate": "Boolean",
|
16 | 49 | "hidden": "Boolean",
|
17 | 50 | "itemScope": "Boolean",
|
18 | 51 | "loop": "Boolean",
|
19 |
| - "max": "Number", |
20 |
| - "min": "Number", |
| 52 | + "maxLength": "Int", |
| 53 | + "minLength": "Int", |
21 | 54 | "multiple": "Boolean",
|
22 | 55 | "muted": "Boolean",
|
| 56 | + "noValidate": "Boolean", |
| 57 | + "onBlur": "EventHandler", |
| 58 | + "onChange": "EventHandler", |
23 | 59 | "onClick": "EventHandler",
|
| 60 | + "onFocus": "EventHandler", |
24 | 61 | "onInput": "EventHandler",
|
25 | 62 | "onInvalid": "EventHandler",
|
| 63 | + "onKeyDown": "EventHandler", |
| 64 | + "onKeyPress": "EventHandler", |
| 65 | + "onKeyUp": "EventHandler", |
| 66 | + "onMouseDown": "EventHandler", |
| 67 | + "onMouseEnter": "EventHandler", |
| 68 | + "onMouseLeave": "EventHandler", |
| 69 | + "onMouseMove": "EventHandler", |
| 70 | + "onMouseOut": "EventHandler", |
| 71 | + "onMouseOver": "EventHandler", |
| 72 | + "onMouseUp": "EventHandler", |
26 | 73 | "onSubmit": "EventHandler",
|
27 |
| - "noValidate": "Boolean", |
28 |
| - "onChange": "EventHandler", |
29 | 74 | "open": "Boolean",
|
30 | 75 | "playsInline": "Boolean",
|
31 | 76 | "readOnly": "Boolean",
|
| 77 | + "ref": "Ref (Nullable Node)", |
32 | 78 | "required": "Boolean",
|
33 | 79 | "reversed": "Boolean",
|
34 |
| - "rowSpan": "Number", |
35 |
| - "rows": "Number", |
| 80 | + "rowSpan": "Int", |
36 | 81 | "scoped": "Boolean",
|
37 | 82 | "seamless": "Boolean",
|
38 | 83 | "selected": "Boolean",
|
39 |
| - "size": "Number", |
40 |
| - "span": "Number", |
41 |
| - "start": "Number" |
| 84 | + "span": "Int", |
| 85 | + "spellCheck": "Boolean", |
| 86 | + "srcDoc": "JSX", |
| 87 | + "start": "Int", |
| 88 | + "style": "CSS", |
| 89 | + "suppressContentEditableWarning": "Boolean", |
| 90 | + "tabIndex": "Int", |
| 91 | + "unselectable": "Boolean" |
42 | 92 | };
|
43 | 93 | module.exports.reserved = ["module", "data", "type", "newtype", "class", "instance", "where", "derive", "if", "then", "else", "case", "of"];
|
0 commit comments