diff --git a/README.md b/README.md index 9cff2f9..be55df5 100644 --- a/README.md +++ b/README.md @@ -21,36 +21,36 @@ bower install git@github.com:lumihq/purescript-react-basic.git Here is an example component which renders a label read from props along with a counter: ```purescript -module React.Basic.Example where +module Counter where import Prelude -import React.Basic (ReactComponent, react) +import React.Basic as React import React.Basic.DOM as R import React.Basic.Events as Events -- The props for the component -type ExampleProps = +type Props = { label :: String } -- Create a component by passing a record to the `react` function. -- The `render` function takes the props and current state, as well as a -- state update callback, and produces a document. -component :: ReactComponent ExampleProps -component = react { displayName: "Counter", initialState, receiveProps, render } +component :: React.Component Props +component = React.component { displayName: "Counter", initialState, receiveProps, render } where initialState = { counter: 0 } - receiveProps _ _ _ = + receiveProps _ = pure unit - render props state setState = + render { props, state, setState } = R.button { onClick: Events.handler_ do - setState \s -> s { counter = s.counter + 1 } + setState \s -> s { counter = s.counter + 1 } , children: [ R.text (props.label <> ": " <> show state.counter) ] } ``` diff --git a/bower.json b/bower.json index f8343ce..dc054bb 100644 --- a/bower.json +++ b/bower.json @@ -17,6 +17,12 @@ "purescript-nullable": "^4.0.0", "purescript-typelevel-prelude": "^3.0.0", "purescript-record": "^1.0.0", - "purescript-effect": "^2.0.0" + "purescript-effect": "^2.0.0", + "purescript-web-events": "^1.0.0", + "purescript-web-dom": "^1.0.0", + "purescript-exceptions": "^4.0.0" + }, + "devDependencies": { + "purescript-web-html": "^1.0.0" } } diff --git a/codegen/index.js b/codegen/index.js index 2ac0bb7..98a0e9d 100644 --- a/codegen/index.js +++ b/codegen/index.js @@ -1,4 +1,19 @@ +const fs = require('fs'); const { props, voids, types, reserved } = require('./consts'); +const genFile = "../src/React/Basic/DOM/Generated.purs"; + +const header = `-- | ---------------------------------------- +-- | THIS FILE IS GENERATED -- DO NOT EDIT IT +-- | ---------------------------------------- + +module React.Basic.DOM.Generated where + +import Prim.Row (class Union) +import React.Basic (JSX, element) +import React.Basic.DOM.Internal (SharedProps, unsafeCreateDOMComponent) +import React.Basic.Events (EventHandler) + +`; const printRecord = (elProps) => elProps.length ? ` ( ${ elProps.map((p) => @@ -6,7 +21,7 @@ const printRecord = (elProps) => elProps.length ? ` } )` : "()" -props.elements.html +const domTypes = props.elements.html .map((e) => { const noChildren = voids.includes(e); const symbol = reserved.includes(e) ? `${e}'` : e; @@ -20,11 +35,15 @@ props.elements.html . Union attrs attrs_ (SharedProps Props_${e}) => Record attrs -> JSX - ${symbol} = createElement (unsafeCreateDOMComponent "${e}")${ + ${symbol} = element (unsafeCreateDOMComponent "${e}")${ noChildren ? "" : ` ${e}_ :: Array JSX -> JSX ${e}_ children = ${symbol} { children }` } `; -}).forEach((x) => console.log(x.replace(/^\n\ {4}/, "").replace(/\n\ {4}/g, "\n"))) +}).map((x) => x.replace(/^\n\ {4}/, "").replace(/\n\ {4}/g, "\n")).join("\n"); + +console.log(`Writing "${genFile}" ...`); +fs.writeFileSync(genFile, header + domTypes); +console.log("Done."); diff --git a/examples/component/Makefile b/examples/component/Makefile index 0d58f1a..8c34d8c 100644 --- a/examples/component/Makefile +++ b/examples/component/Makefile @@ -1,8 +1,9 @@ all: node_modules purs compile src/*.purs '../../src/**/*.purs' '../../bower_components/purescript-*/src/**/*.purs' - purs bundle --module Container output/*/*.js > output/bundle.js - echo 'module.exports = PS.Container;' >> output/bundle.js - node_modules/.bin/browserify output/bundle.js index.js -o html/index.js + purs bundle output/*/*.js > output/bundle.js + echo 'PS.Main.main();' >> output/bundle.js + node_modules/.bin/browserify output/bundle.js -o html/index.js node_modules: npm install + diff --git a/examples/component/index.js b/examples/component/index.js deleted file mode 100644 index 1a54c75..0000000 --- a/examples/component/index.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; - -var React = require("react"); -var ReactDOM = require("react-dom"); -var Container = require("./output/bundle.js"); - -ReactDOM.render( - React.createElement(Container.component, { label: 'Increment' }), - document.getElementById("container") -); diff --git a/examples/component/package.json b/examples/component/package.json index 56f6b85..624a6f3 100644 --- a/examples/component/package.json +++ b/examples/component/package.json @@ -1,14 +1,9 @@ { - "name": "component", - "version": "1.0.0", - "description": "", - "keywords": [], - "author": "", "dependencies": { - "react": "^16.2.0", - "react-dom": "^16.2.0" + "react": "^16.4.2", + "react-dom": "^16.4.2" }, "devDependencies": { - "browserify": "^16.1.0" + "browserify": "^16.2.2" } } diff --git a/examples/component/src/Container.purs b/examples/component/src/Container.purs index 556b35c..dcda2f4 100644 --- a/examples/component/src/Container.purs +++ b/examples/component/src/Container.purs @@ -1,16 +1,16 @@ module Container where -import React.Basic (ReactComponent, createElement, stateless) +import React.Basic as React import React.Basic.DOM as R import ToggleButton as ToggleButton -component :: ReactComponent {} -component = stateless { displayName: "Container", render } +component :: React.Component {} +component = React.stateless { displayName: "Container", render } where render _ = R.div { children: - [ createElement ToggleButton.component { on: true } - , createElement ToggleButton.component { on: false } + [ React.element ToggleButton.component { on: true } + , React.element ToggleButton.component { on: false } ] } diff --git a/examples/component/src/Main.purs b/examples/component/src/Main.purs new file mode 100644 index 0000000..d6cf566 --- /dev/null +++ b/examples/component/src/Main.purs @@ -0,0 +1,23 @@ +module Main where + +import Prelude + +import Container as Container +import Data.Maybe (Maybe(..)) +import Effect (Effect) +import Effect.Exception (throw) +import React.Basic (element) +import React.Basic.DOM (render) +import Web.DOM.NonElementParentNode (getElementById) +import Web.HTML (window) +import Web.HTML.HTMLDocument (toNonElementParentNode) +import Web.HTML.Window (document) + +main :: Effect Unit +main = do + container <- getElementById "container" =<< (map toNonElementParentNode $ document =<< window) + case container of + Nothing -> throw "Container element not found." + Just c -> + let app = element Container.component {} + in render app c diff --git a/examples/component/src/ToggleButton.purs b/examples/component/src/ToggleButton.purs index dc617ba..b0ef221 100644 --- a/examples/component/src/ToggleButton.purs +++ b/examples/component/src/ToggleButton.purs @@ -2,24 +2,24 @@ module ToggleButton where import Prelude -import React.Basic (ReactComponent, react) +import React.Basic as React import React.Basic.DOM as R import React.Basic.Events as Events -type ExampleProps = +type Props = { on :: Boolean } -component :: ReactComponent ExampleProps -component = react { displayName: "ToggleButton", initialState, receiveProps, render } +component :: React.Component Props +component = React.component { displayName: "ToggleButton", initialState, receiveProps, render } where initialState = { on: false } - receiveProps props _ setState = + receiveProps { props, setState } = setState _ { on = props.on } - render _ state setState = + render { state, setState } = R.button { onClick: Events.handler_ (setState \s -> s { on = not s.on }) , children: [ R.text if state.on then "On" else "Off" ] diff --git a/examples/controlled-input/Makefile b/examples/controlled-input/Makefile index f0b07dc..8c34d8c 100644 --- a/examples/controlled-input/Makefile +++ b/examples/controlled-input/Makefile @@ -1,8 +1,9 @@ all: node_modules purs compile src/*.purs '../../src/**/*.purs' '../../bower_components/purescript-*/src/**/*.purs' - purs bundle --module ControlledInput output/*/*.js > output/bundle.js - echo 'module.exports = PS.ControlledInput;' >> output/bundle.js - node_modules/.bin/browserify output/bundle.js index.js -o html/index.js + purs bundle output/*/*.js > output/bundle.js + echo 'PS.Main.main();' >> output/bundle.js + node_modules/.bin/browserify output/bundle.js -o html/index.js node_modules: npm install + diff --git a/examples/controlled-input/index.js b/examples/controlled-input/index.js deleted file mode 100644 index cbf31c0..0000000 --- a/examples/controlled-input/index.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; - -var React = require("react"); -var ReactDOM = require("react-dom"); -var ControlledInput = require("./output/bundle.js"); - -ReactDOM.render( - React.createElement(ControlledInput.component), - document.getElementById("container") -); diff --git a/examples/controlled-input/package.json b/examples/controlled-input/package.json index 0750eb8..624a6f3 100644 --- a/examples/controlled-input/package.json +++ b/examples/controlled-input/package.json @@ -1,15 +1,9 @@ { - "name": "counter", - "version": "1.0.0", - "description": "", - "keywords": [], - "author": "", "dependencies": { - "create-react-class": "^15.6.2", - "react": "^16.2.0", - "react-dom": "^16.2.0" + "react": "^16.4.2", + "react-dom": "^16.4.2" }, "devDependencies": { - "browserify": "^16.1.0" + "browserify": "^16.2.2" } } diff --git a/examples/controlled-input/src/ControlledInput.purs b/examples/controlled-input/src/ControlledInput.purs index 92fe792..509c746 100644 --- a/examples/controlled-input/src/ControlledInput.purs +++ b/examples/controlled-input/src/ControlledInput.purs @@ -3,24 +3,24 @@ module ControlledInput where import Prelude import Data.Maybe (Maybe(..), fromMaybe, maybe) -import React.Basic (ReactComponent, fragment, react) +import React.Basic as React import React.Basic.DOM as R import React.Basic.DOM.Events (preventDefault, targetValue, timeStamp) import React.Basic.Events as Events -component :: ReactComponent {} -component = react { displayName: "ControlledInput", initialState, receiveProps, render } +component :: React.Component {} +component = React.component { displayName: "ControlledInput", initialState, receiveProps, render } where initialState = { value: "hello world" , timeStamp: Nothing } - receiveProps _ _ _ = + receiveProps _ = pure unit - - render _ state setState = - fragment + + render { state, setState } = + React.fragment [ R.input { onChange: Events.handler diff --git a/examples/controlled-input/src/Main.purs b/examples/controlled-input/src/Main.purs new file mode 100644 index 0000000..69cc4b8 --- /dev/null +++ b/examples/controlled-input/src/Main.purs @@ -0,0 +1,23 @@ +module Main where + +import Prelude + +import ControlledInput as ControlledInput +import Data.Maybe (Maybe(..)) +import Effect (Effect) +import Effect.Exception (throw) +import React.Basic (element) +import React.Basic.DOM (render) +import Web.DOM.NonElementParentNode (getElementById) +import Web.HTML (window) +import Web.HTML.HTMLDocument (toNonElementParentNode) +import Web.HTML.Window (document) + +main :: Effect Unit +main = do + container <- getElementById "container" =<< (map toNonElementParentNode $ document =<< window) + case container of + Nothing -> throw "Container element not found." + Just c -> + let app = element ControlledInput.component {} + in render app c diff --git a/examples/counter/Makefile b/examples/counter/Makefile index 419a5c2..8c34d8c 100644 --- a/examples/counter/Makefile +++ b/examples/counter/Makefile @@ -1,8 +1,8 @@ all: node_modules purs compile src/*.purs '../../src/**/*.purs' '../../bower_components/purescript-*/src/**/*.purs' - purs bundle --module Counter output/*/*.js > output/bundle.js - echo 'module.exports = PS.Counter;' >> output/bundle.js - node_modules/.bin/browserify output/bundle.js index.js -o html/index.js + purs bundle output/*/*.js > output/bundle.js + echo 'PS.Main.main();' >> output/bundle.js + node_modules/.bin/browserify output/bundle.js -o html/index.js node_modules: npm install diff --git a/examples/counter/index.js b/examples/counter/index.js deleted file mode 100644 index 4fbcf78..0000000 --- a/examples/counter/index.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; - -var React = require("react"); -var ReactDOM = require("react-dom"); -var Counter = require("./output/bundle.js"); - -ReactDOM.render( - React.createElement(Counter.component, { label: 'Increment' }), - document.getElementById("container") -); diff --git a/examples/counter/package.json b/examples/counter/package.json index 0750eb8..624a6f3 100644 --- a/examples/counter/package.json +++ b/examples/counter/package.json @@ -1,15 +1,9 @@ { - "name": "counter", - "version": "1.0.0", - "description": "", - "keywords": [], - "author": "", "dependencies": { - "create-react-class": "^15.6.2", - "react": "^16.2.0", - "react-dom": "^16.2.0" + "react": "^16.4.2", + "react-dom": "^16.4.2" }, "devDependencies": { - "browserify": "^16.1.0" + "browserify": "^16.2.2" } } diff --git a/examples/counter/src/Counter.purs b/examples/counter/src/Counter.purs index 12dda23..cc49f94 100644 --- a/examples/counter/src/Counter.purs +++ b/examples/counter/src/Counter.purs @@ -2,31 +2,31 @@ module Counter where import Prelude -import React.Basic (ReactComponent, react) +import React.Basic as React import React.Basic.DOM as R import React.Basic.Events as Events -- The props for the component -type ExampleProps = +type Props = { label :: String } -- Create a component by passing a record to the `react` function. -- The `render` function takes the props and current state, as well as a -- state update callback, and produces a document. -component :: ReactComponent ExampleProps -component = react { displayName: "Counter", initialState, receiveProps, render } +component :: React.Component Props +component = React.component { displayName: "Counter", initialState, receiveProps, render } where initialState = { counter: 0 } - receiveProps _ _ _ = + receiveProps _ = pure unit - render props state setState = + render { props, state, setState } = R.button { onClick: Events.handler_ do - setState \s -> s { counter = s.counter + 1 } + setState \s -> s { counter = s.counter + 1 } , children: [ R.text (props.label <> ": " <> show state.counter) ] } diff --git a/examples/counter/src/Main.purs b/examples/counter/src/Main.purs new file mode 100644 index 0000000..901a9d1 --- /dev/null +++ b/examples/counter/src/Main.purs @@ -0,0 +1,23 @@ +module Main where + +import Prelude + +import Counter as Counter +import Data.Maybe (Maybe(..)) +import Effect (Effect) +import Effect.Exception (throw) +import React.Basic (element) +import React.Basic.DOM (render) +import Web.DOM.NonElementParentNode (getElementById) +import Web.HTML (window) +import Web.HTML.HTMLDocument (toNonElementParentNode) +import Web.HTML.Window (document) + +main :: Effect Unit +main = do + container <- getElementById "container" =<< (map toNonElementParentNode $ document =<< window) + case container of + Nothing -> throw "Container element not found." + Just c -> + let app = element Counter.component { label: "Increment" } + in render app c diff --git a/generated-docs/React/Basic.md b/generated-docs/React/Basic.md index 40240bd..abab069 100644 --- a/generated-docs/React/Basic.md +++ b/generated-docs/React/Basic.md @@ -1,9 +1,39 @@ ## Module React.Basic -#### `react` +#### `Component` ``` purescript -react :: forall props state fx. { displayName :: String, initialState :: { | state }, receiveProps :: { | props } -> { | state } -> (SetState state fx) -> Effect Unit, render :: { | props } -> { | state } -> (SetState state fx) -> JSX } -> ReactComponent { | props } +data Component :: Type -> Type +``` + +A React component which can be used from JavaScript. + +#### `ComponentInstance` + +``` purescript +data ComponentInstance :: Type +``` + +Represents the mounted component instance, or "this" in vanilla React. + +#### `JSX` + +``` purescript +data JSX :: Type +``` + +A virtual DOM element. + +##### Instances +``` purescript +Semigroup JSX +Monoid JSX +``` + +#### `component` + +``` purescript +component :: forall props state. { displayName :: String, initialState :: { | state }, receiveProps :: { isFirstMount :: Boolean, props :: { | props }, state :: { | state }, setState :: SetState state, setStateThen :: SetStateThen state, instance_ :: ComponentInstance } -> Effect Unit, render :: { props :: { | props }, state :: { | state }, setState :: SetState state, setStateThen :: SetStateThen state, instance_ :: ComponentInstance } -> JSX } -> Component { | props } ``` Create a React component from a _specification_ of that component. @@ -14,12 +44,14 @@ function which takes props, state and a state update function. The rendering function should return a value of type `JSX`, which can be constructed using the helper functions provided by the `React.Basic.DOM` -module (and re-exported here). +module. + +Note: This function relies on `React.PureComponent` internally #### `stateless` ``` purescript -stateless :: forall props. { displayName :: String, render :: { | props } -> JSX } -> ReactComponent { | props } +stateless :: forall props. { displayName :: String, render :: { | props } -> JSX } -> Component { | props } ``` Create a stateless React component. @@ -27,21 +59,21 @@ Create a stateless React component. Removes a little bit of the `react` function's boilerplate when creating components which don't use state. -#### `createElement` +#### `element` ``` purescript -createElement :: forall props. ReactComponent { | props } -> { | props } -> JSX +element :: forall props. Component { | props } -> { | props } -> JSX ``` Create a `JSX` node from a React component, by providing the props. -#### `createElementKeyed` +#### `elementKeyed` ``` purescript -createElementKeyed :: forall props. ReactComponent { | props } -> { key :: String | props } -> JSX +elementKeyed :: forall props. Component { | props } -> { key :: String | props } -> JSX ``` -Like `createElement`, plus a `key` for rendering components in a dynamic list. +Like `element`, plus a `key` for rendering components in a dynamic list. For more information see: https://reactjs.org/docs/reconciliation.html#keys #### `empty` @@ -73,26 +105,4 @@ Render an Array of children without a wrapping component. Provide a key when dynamically rendering multiple fragments along side each other. -#### `JSX` - -``` purescript -data JSX :: Type -``` - -A virtual DOM element. - -##### Instances -``` purescript -Semigroup JSX -Monoid JSX -``` - -#### `ReactComponent` - -``` purescript -data ReactComponent :: Type -> Type -``` - -A React component which can be used from JavaScript. - diff --git a/generated-docs/React/Basic/DOM.md b/generated-docs/React/Basic/DOM.md index 874e462..b3da0bb 100644 --- a/generated-docs/React/Basic/DOM.md +++ b/generated-docs/React/Basic/DOM.md @@ -7,21 +7,89 @@ Note: DOM element props are provided as records, and checked using `Union` constraints. This means that we don't need to provide all props, but any we do provide must have the correct types. -#### `text` +#### `render` ``` purescript -text :: String -> JSX +render :: JSX -> Element -> Effect Unit ``` -Create a text node. +Render or update/re-render a component tree into +a DOM element. -#### `CSS` +Note: Relies on `ReactDOM.render` + +#### `render'` ``` purescript -data CSS :: Type +render' :: JSX -> Element -> Effect Unit -> Effect Unit ``` -An abstract type representing records of CSS attributes. +Render or update/re-render a component tree into +a DOM element. The given Effect is run once the +DOM update is complete. + +Note: Relies on `ReactDOM.render` + +#### `hydrate` + +``` purescript +hydrate :: JSX -> Element -> Effect Unit +``` + +Render or update/re-render a component tree into +a DOM element, attempting to reuse the existing +DOM tree. + +Note: Relies on `ReactDOM.hydrate`, generally only + used with `ReactDOMServer.renderToNodeStream` or + `ReactDOMServer.renderToString` + +#### `hydrate'` + +``` purescript +hydrate' :: JSX -> Element -> Effect Unit -> Effect Unit +``` + +Render or update/re-render a component tree into +a DOM element, attempting to reuse the existing +DOM tree. The given Effect is run once the +DOM update is complete. + +Note: Relies on `ReactDOM.hydrate`, generally only + used with `ReactDOMServer.renderToNodeStream` or + `ReactDOMServer.renderToString` + +#### `unmount` + +``` purescript +unmount :: Element -> Effect Boolean +``` + +Attempt to unmount and clean up the React app +rendered into the given element. Returns `true` +if an app existed and was unmounted successfully. + +Note: Relies on `ReactDOM.unmountComponentAtNode` + +#### `findDOMNode` + +``` purescript +findDOMNode :: ComponentInstance -> Effect (Either Error Node) +``` + +Returns the current DOM node associated with the given +instance, or an Error if no node was found or the given +instance was not mounted. + +Note: Relies on `ReactDOM.findDOMNode` + +#### `text` + +``` purescript +text :: String -> JSX +``` + +Create a text node. #### `css` @@ -52,1246 +120,1249 @@ E.g. style: mergeCSS [ (css { padding: "5px" }), props.style ] ``` -#### `SharedProps` + +### Re-exported from React.Basic.DOM.Generated: + +#### `Props_wbr` ``` purescript -type SharedProps specific = (key :: String, about :: String, acceptCharset :: String, accessKey :: String, allowFullScreen :: Boolean, allowTransparency :: String, autoComplete :: String, autoFocus :: String, autoPlay :: Boolean, capture :: Boolean, cellPadding :: String, cellSpacing :: String, charSet :: String, classID :: String, className :: String, colSpan :: Number, contentEditable :: String, contextMenu :: String, crossOrigin :: String, datatype :: String, dateTime :: String, dir :: String, draggable :: String, encType :: String, formAction :: String, formEncType :: String, formMethod :: String, formNoValidate :: String, formTarget :: String, frameBorder :: String, hidden :: Boolean, hrefLang :: String, htmlFor :: String, httpEquiv :: String, icon :: String, id :: String, inlist :: String, inputMode :: String, is :: String, itemID :: String, itemProp :: String, itemRef :: String, itemScope :: Boolean, itemType :: String, keyParams :: String, keyType :: String, lang :: String, marginHeight :: String, marginWidth :: String, maxLength :: String, mediaGroup :: String, minLength :: String, noValidate :: String, prefix :: String, property :: String, radioGroup :: String, readOnly :: Boolean, resource :: String, role :: String, rowSpan :: Number, scoped :: Boolean, seamless :: Boolean, security :: String, spellCheck :: String, srcDoc :: String, srcLang :: String, srcSet :: String, style :: CSS, tabIndex :: String, title :: String, typeof :: String, unselectable :: String, useMap :: String, vocab :: String, wmode :: String, onClick :: EventHandler | specific) +type Props_wbr = () ``` -Standard props which are shared by all DOM elements. - -#### `unsafeCreateDOMComponent` +#### `Props_video` ``` purescript -unsafeCreateDOMComponent :: forall props. String -> ReactComponent props +type Props_video = (children :: Array JSX, controls :: Boolean, height :: String, loop :: Boolean, muted :: Boolean, playsInline :: Boolean, poster :: String, preload :: String, src :: String, width :: String) ``` -#### `Props_a` +#### `Props_var` ``` purescript -type Props_a = (children :: Array JSX, coords :: String, download :: String, href :: String, name :: String, rel :: String, shape :: String, target :: String, "type" :: String) +type Props_var = (children :: Array JSX) ``` -------------------------------- -GENERATED CODE BELOW THIS LINE! -------------------------------- +#### `Props_ul` -#### `a` +``` purescript +type Props_ul = (children :: Array JSX, "type" :: String) +``` + +#### `Props_u` ``` purescript -a :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_a) => { | attrs } -> JSX +type Props_u = (children :: Array JSX) ``` -#### `a_` +#### `Props_track` ``` purescript -a_ :: Array JSX -> JSX +type Props_track = (default :: Boolean, kind :: String, label :: String, src :: String) ``` -#### `Props_abbr` +#### `Props_tr` ``` purescript -type Props_abbr = (children :: Array JSX, title :: String) +type Props_tr = (children :: Array JSX) ``` -#### `abbr` +#### `Props_title` ``` purescript -abbr :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_abbr) => { | attrs } -> JSX +type Props_title = (children :: Array JSX) ``` -#### `abbr_` +#### `Props_time` ``` purescript -abbr_ :: Array JSX -> JSX +type Props_time = (children :: Array JSX) ``` -#### `Props_address` +#### `Props_thead` ``` purescript -type Props_address = (children :: Array JSX) +type Props_thead = (children :: Array JSX) ``` -#### `address` +#### `Props_th` ``` purescript -address :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_address) => { | attrs } -> JSX +type Props_th = (children :: Array JSX, headers :: String, height :: String, scope :: String, width :: String) ``` -#### `address_` +#### `Props_tfoot` ``` purescript -address_ :: Array JSX -> JSX +type Props_tfoot = (children :: Array JSX) ``` -#### `Props_area` +#### `Props_textarea` ``` purescript -type Props_area = (alt :: String, coords :: String, download :: String, href :: String, rel :: String, shape :: String, target :: String, "type" :: String) +type Props_textarea = (autoCapitalize :: String, autoCorrect :: String, children :: Array JSX, cols :: Number, defaultValue :: String, disabled :: Boolean, form :: String, name :: String, onChange :: EventHandler, placeholder :: String, required :: Boolean, rows :: Number, value :: String, wrap :: String) ``` -#### `area` +#### `Props_template` ``` purescript -area :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_area) => { | attrs } -> JSX +type Props_template = (children :: Array JSX) ``` -#### `Props_article` +#### `Props_td` ``` purescript -type Props_article = (children :: Array JSX) +type Props_td = (children :: Array JSX, headers :: String, height :: String, scope :: String, width :: String) ``` -#### `article` +#### `Props_tbody` ``` purescript -article :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_article) => { | attrs } -> JSX +type Props_tbody = (children :: Array JSX) ``` -#### `article_` +#### `Props_table` ``` purescript -article_ :: Array JSX -> JSX +type Props_table = (children :: Array JSX, summary :: String, width :: String) ``` -#### `Props_aside` +#### `Props_svg` ``` purescript -type Props_aside = (children :: Array JSX) +type Props_svg = (accentHeight :: String, accumulate :: String, additive :: String, alignmentBaseline :: String, allowReorder :: String, alphabetic :: String, amplitude :: String, arabicForm :: String, ascent :: String, attributeName :: String, attributeType :: String, autoReverse :: String, azimuth :: String, baseFrequency :: String, baseProfile :: String, baselineShift :: String, bbox :: String, begin :: String, bias :: String, by :: String, calcMode :: String, capHeight :: String, children :: Array JSX, clip :: String, clipPath :: String, clipPathUnits :: String, clipRule :: String, color :: String, colorInterpolation :: String, colorInterpolationFilters :: String, colorProfile :: String, colorRendering :: String, contentScriptType :: String, contentStyleType :: String, cursor :: String, cx :: String, cy :: String, d :: String, decelerate :: String, descent :: String, diffuseConstant :: String, direction :: String, display :: String, divisor :: String, dominantBaseline :: String, dur :: String, dx :: String, dy :: String, edgeMode :: String, elevation :: String, enableBackground :: String, end :: String, exponent :: String, externalResourcesRequired :: String, fill :: String, fillOpacity :: String, fillRule :: String, filter :: String, filterRes :: String, filterUnits :: String, floodColor :: String, floodOpacity :: String, focusable :: String, fontFamily :: String, fontSize :: String, fontSizeAdjust :: String, fontStretch :: String, fontStyle :: String, fontVariant :: String, fontWeight :: String, format :: String, from :: String, fx :: String, fy :: String, g1 :: String, g2 :: String, glyphName :: String, glyphOrientationHorizontal :: String, glyphOrientationVertical :: String, glyphRef :: String, gradientTransform :: String, gradientUnits :: String, hanging :: String, height :: String, horizAdvX :: String, horizOriginX :: String, ideographic :: String, imageRendering :: String, "in" :: String, in2 :: String, intercept :: String, k :: String, k1 :: String, k2 :: String, k3 :: String, k4 :: String, kernelMatrix :: String, kernelUnitLength :: String, kerning :: String, keyPoints :: String, keySplines :: String, keyTimes :: String, lengthAdjust :: String, letterSpacing :: String, lightingColor :: String, limitingConeAngle :: String, local :: String, markerEnd :: String, markerHeight :: String, markerMid :: String, markerStart :: String, markerUnits :: String, markerWidth :: String, mask :: String, maskContentUnits :: String, maskUnits :: String, mathematical :: String, mode :: String, numOctaves :: String, offset :: String, opacity :: String, operator :: String, order :: String, orient :: String, orientation :: String, origin :: String, overflow :: String, overlinePosition :: String, overlineThickness :: String, paintOrder :: String, panose1 :: String, pathLength :: String, patternContentUnits :: String, patternTransform :: String, patternUnits :: String, pointerEvents :: String, points :: String, pointsAtX :: String, pointsAtY :: String, pointsAtZ :: String, preserveAlpha :: String, preserveAspectRatio :: String, primitiveUnits :: String, r :: String, radius :: String, refX :: String, refY :: String, renderingIntent :: String, repeatCount :: String, repeatDur :: String, requiredExtensions :: String, requiredFeatures :: String, restart :: String, result :: String, rotate :: String, rx :: String, ry :: String, scale :: String, seed :: String, shapeRendering :: String, slope :: String, spacing :: String, specularConstant :: String, specularExponent :: String, speed :: String, spreadMethod :: String, startOffset :: String, stdDeviation :: String, stemh :: String, stemv :: String, stitchTiles :: String, stopColor :: String, stopOpacity :: String, strikethroughPosition :: String, strikethroughThickness :: String, string :: String, stroke :: String, strokeDasharray :: String, strokeDashoffset :: String, strokeLinecap :: String, strokeLinejoin :: String, strokeMiterlimit :: String, strokeOpacity :: String, strokeWidth :: String, surfaceScale :: String, systemLanguage :: String, tableValues :: String, targetX :: String, targetY :: String, textAnchor :: String, textDecoration :: String, textLength :: String, textRendering :: String, to :: String, transform :: String, u1 :: String, u2 :: String, underlinePosition :: String, underlineThickness :: String, unicode :: String, unicodeBidi :: String, unicodeRange :: String, unitsPerEm :: String, vAlphabetic :: String, vHanging :: String, vIdeographic :: String, vMathematical :: String, values :: String, vectorEffect :: String, version :: String, vertAdvY :: String, vertOriginX :: String, vertOriginY :: String, viewBox :: String, viewTarget :: String, visibility :: String, width :: String, widths :: String, wordSpacing :: String, writingMode :: String, x :: String, x1 :: String, x2 :: String, xChannelSelector :: String, xHeight :: String, xlinkActuate :: String, xlinkArcrole :: String, xlinkHref :: String, xlinkRole :: String, xlinkShow :: String, xlinkTitle :: String, xlinkType :: String, xmlBase :: String, xmlLang :: String, xmlSpace :: String, xmlns :: String, xmlnsXlink :: String, y :: String, y1 :: String, y2 :: String, yChannelSelector :: String, z :: String, zoomAndPan :: String) ``` -#### `aside` +#### `Props_sup` ``` purescript -aside :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_aside) => { | attrs } -> JSX +type Props_sup = (children :: Array JSX) ``` -#### `aside_` +#### `Props_summary` ``` purescript -aside_ :: Array JSX -> JSX +type Props_summary = (children :: Array JSX) ``` -#### `Props_audio` +#### `Props_sub` ``` purescript -type Props_audio = (children :: Array JSX, controls :: Boolean, loop :: Boolean, muted :: Boolean, preload :: String, src :: String) +type Props_sub = (children :: Array JSX) ``` -#### `audio` +#### `Props_style` ``` purescript -audio :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_audio) => { | attrs } -> JSX +type Props_style = (children :: Array JSX, media :: String, nonce :: String, title :: String, "type" :: String) ``` -#### `audio_` +#### `Props_strong` ``` purescript -audio_ :: Array JSX -> JSX +type Props_strong = (children :: Array JSX) ``` -#### `Props_b` +#### `Props_span` ``` purescript -type Props_b = (children :: Array JSX) +type Props_span = (children :: Array JSX) ``` -#### `b` +#### `Props_source` ``` purescript -b :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_b) => { | attrs } -> JSX +type Props_source = (media :: String, sizes :: String, src :: String, "type" :: String) ``` -#### `b_` +#### `Props_small` ``` purescript -b_ :: Array JSX -> JSX +type Props_small = (children :: Array JSX) ``` -#### `Props_base` +#### `Props_slot` ``` purescript -type Props_base = (href :: String, target :: String) +type Props_slot = (children :: Array JSX, name :: String) ``` -#### `base` +#### `Props_select` ``` purescript -base :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_base) => { | attrs } -> JSX +type Props_select = (children :: Array JSX, defaultValue :: String, disabled :: Boolean, form :: String, multiple :: Boolean, name :: String, onChange :: EventHandler, required :: Boolean, size :: Number, value :: String) ``` -#### `Props_bdi` +#### `Props_section` ``` purescript -type Props_bdi = (children :: Array JSX) +type Props_section = (children :: Array JSX) ``` -#### `bdi` +#### `Props_script` ``` purescript -bdi :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_bdi) => { | attrs } -> JSX +type Props_script = (async :: Boolean, children :: Array JSX, defer :: Boolean, integrity :: String, nonce :: String, src :: String, "type" :: String) ``` -#### `bdi_` +#### `Props_samp` ``` purescript -bdi_ :: Array JSX -> JSX +type Props_samp = (children :: Array JSX) ``` -#### `Props_bdo` +#### `Props_s` ``` purescript -type Props_bdo = (children :: Array JSX, dir :: String) +type Props_s = (children :: Array JSX) ``` -#### `bdo` +#### `Props_ruby` ``` purescript -bdo :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_bdo) => { | attrs } -> JSX +type Props_ruby = (children :: Array JSX) ``` -#### `bdo_` +#### `Props_rtc` ``` purescript -bdo_ :: Array JSX -> JSX +type Props_rtc = (children :: Array JSX) ``` -#### `Props_blockquote` +#### `Props_rt` ``` purescript -type Props_blockquote = (children :: Array JSX, cite :: String) +type Props_rt = (children :: Array JSX) ``` -#### `blockquote` +#### `Props_rp` ``` purescript -blockquote :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_blockquote) => { | attrs } -> JSX +type Props_rp = (children :: Array JSX) ``` -#### `blockquote_` +#### `Props_rb` ``` purescript -blockquote_ :: Array JSX -> JSX +type Props_rb = (children :: Array JSX) ``` -#### `Props_body` +#### `Props_q` ``` purescript -type Props_body = (children :: Array JSX) +type Props_q = (children :: Array JSX, cite :: String) ``` -#### `body` +#### `Props_progress` ``` purescript -body :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_body) => { | attrs } -> JSX +type Props_progress = (children :: Array JSX, max :: Number, value :: String) ``` -#### `body_` +#### `Props_pre` ``` purescript -body_ :: Array JSX -> JSX +type Props_pre = (children :: Array JSX, width :: String) ``` -#### `Props_br` +#### `Props_picture` ``` purescript -type Props_br = () +type Props_picture = (children :: Array JSX) ``` -#### `br` +#### `Props_param` ``` purescript -br :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_br) => { | attrs } -> JSX +type Props_param = (name :: String, "type" :: String, value :: String) ``` -#### `Props_button` +#### `Props_p` ``` purescript -type Props_button = (children :: Array JSX, disabled :: Boolean, form :: String, name :: String, "type" :: String, value :: String) +type Props_p = (children :: Array JSX) ``` -#### `button` +#### `Props_output` ``` purescript -button :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_button) => { | attrs } -> JSX +type Props_output = (children :: Array JSX, form :: String, name :: String) ``` -#### `button_` +#### `Props_option` ``` purescript -button_ :: Array JSX -> JSX +type Props_option = (children :: Array JSX, disabled :: Boolean, label :: String, selected :: Boolean, value :: String) ``` -#### `Props_canvas` +#### `Props_optgroup` ``` purescript -type Props_canvas = (children :: Array JSX, height :: String, width :: String) +type Props_optgroup = (children :: Array JSX, disabled :: Boolean, label :: String) ``` -#### `canvas` +#### `Props_ol` ``` purescript -canvas :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_canvas) => { | attrs } -> JSX +type Props_ol = (children :: Array JSX, reversed :: Boolean, start :: Number, "type" :: String) ``` -#### `canvas_` +#### `Props_object` ``` purescript -canvas_ :: Array JSX -> JSX +type Props_object = (children :: Array JSX, "data" :: String, form :: String, height :: String, name :: String, "type" :: String, width :: String) ``` -#### `Props_caption` +#### `Props_noscript` ``` purescript -type Props_caption = (children :: Array JSX) +type Props_noscript = (children :: Array JSX) ``` -#### `caption` +#### `Props_nav` ``` purescript -caption :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_caption) => { | attrs } -> JSX +type Props_nav = (children :: Array JSX) ``` -#### `caption_` +#### `Props_meter` ``` purescript -caption_ :: Array JSX -> JSX +type Props_meter = (children :: Array JSX, high :: String, low :: String, max :: Number, min :: Number, optimum :: String, value :: String) ``` -#### `Props_cite` +#### `Props_meta` ``` purescript -type Props_cite = (children :: Array JSX) +type Props_meta = (content :: String, name :: String) ``` -#### `cite` +#### `Props_menuitem` ``` purescript -cite :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_cite) => { | attrs } -> JSX +type Props_menuitem = (children :: Array JSX) ``` -#### `cite_` +#### `Props_menu` ``` purescript -cite_ :: Array JSX -> JSX +type Props_menu = (children :: Array JSX) ``` -#### `Props_code` +#### `Props_math` ``` purescript -type Props_code = (children :: Array JSX) +type Props_math = (children :: Array JSX) ``` -#### `code` +#### `Props_mark` ``` purescript -code :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_code) => { | attrs } -> JSX +type Props_mark = (children :: Array JSX) ``` -#### `code_` +#### `Props_map` ``` purescript -code_ :: Array JSX -> JSX +type Props_map = (children :: Array JSX, name :: String) ``` -#### `Props_col` +#### `Props_main` ``` purescript -type Props_col = (span :: Number, width :: String) +type Props_main = (children :: Array JSX) ``` -#### `col` +#### `Props_link` ``` purescript -col :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_col) => { | attrs } -> JSX +type Props_link = (color :: String, href :: String, integrity :: String, media :: String, nonce :: String, rel :: String, scope :: String, sizes :: String, target :: String, title :: String, "type" :: String) ``` -#### `Props_colgroup` +#### `Props_li` ``` purescript -type Props_colgroup = (children :: Array JSX, span :: Number, width :: String) +type Props_li = (children :: Array JSX, "type" :: String, value :: String) ``` -#### `colgroup` +#### `Props_legend` ``` purescript -colgroup :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_colgroup) => { | attrs } -> JSX +type Props_legend = (children :: Array JSX) ``` -#### `colgroup_` +#### `Props_label` ``` purescript -colgroup_ :: Array JSX -> JSX +type Props_label = (children :: Array JSX, form :: String) ``` -#### `Props_data` +#### `Props_keygen` ``` purescript -type Props_data = (children :: Array JSX, value :: String) +type Props_keygen = (challenge :: String, children :: Array JSX, disabled :: Boolean, form :: String, name :: String) ``` -#### `data'` +#### `Props_kbd` ``` purescript -data' :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_data) => { | attrs } -> JSX +type Props_kbd = (children :: Array JSX) ``` -#### `data_` +#### `Props_ins` ``` purescript -data_ :: Array JSX -> JSX +type Props_ins = (children :: Array JSX, cite :: String) ``` -#### `Props_datalist` +#### `Props_input` ``` purescript -type Props_datalist = (children :: Array JSX) +type Props_input = (accept :: String, alt :: String, autoCapitalize :: String, autoCorrect :: String, autoSave :: String, checked :: Boolean, defaultChecked :: String, defaultValue :: String, disabled :: Boolean, form :: String, height :: String, list :: String, max :: Number, min :: Number, multiple :: Boolean, name :: String, onChange :: EventHandler, pattern :: String, placeholder :: String, required :: Boolean, results :: String, size :: Number, src :: String, step :: String, title :: String, "type" :: String, value :: String, width :: String) ``` -#### `datalist` +#### `Props_img` ``` purescript -datalist :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_datalist) => { | attrs } -> JSX +type Props_img = (alt :: String, height :: String, name :: String, sizes :: String, src :: String, width :: String) ``` -#### `datalist_` +#### `Props_iframe` ``` purescript -datalist_ :: Array JSX -> JSX +type Props_iframe = (children :: Array JSX, height :: String, name :: String, sandbox :: String, scrolling :: String, src :: String, width :: String) ``` -#### `Props_dd` +#### `Props_i` ``` purescript -type Props_dd = (children :: Array JSX) +type Props_i = (children :: Array JSX) ``` -#### `dd` +#### `Props_html` ``` purescript -dd :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dd) => { | attrs } -> JSX +type Props_html = (children :: Array JSX, manifest :: String) ``` -#### `dd_` +#### `Props_hr` ``` purescript -dd_ :: Array JSX -> JSX +type Props_hr = (size :: Number, width :: String) ``` -#### `Props_del` +#### `Props_hgroup` ``` purescript -type Props_del = (children :: Array JSX, cite :: String) +type Props_hgroup = (children :: Array JSX) ``` -#### `del` +#### `Props_header` ``` purescript -del :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_del) => { | attrs } -> JSX +type Props_header = (children :: Array JSX) ``` -#### `del_` +#### `Props_head` ``` purescript -del_ :: Array JSX -> JSX +type Props_head = (children :: Array JSX, profile :: String) ``` -#### `Props_details` +#### `Props_h6` ``` purescript -type Props_details = (children :: Array JSX, open :: Boolean) +type Props_h6 = (children :: Array JSX) ``` -#### `details` +#### `Props_h5` ``` purescript -details :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_details) => { | attrs } -> JSX +type Props_h5 = (children :: Array JSX) ``` -#### `details_` +#### `Props_h4` ``` purescript -details_ :: Array JSX -> JSX +type Props_h4 = (children :: Array JSX) ``` -#### `Props_dfn` +#### `Props_h3` ``` purescript -type Props_dfn = (children :: Array JSX, title :: String) +type Props_h3 = (children :: Array JSX) ``` -#### `dfn` +#### `Props_h2` ``` purescript -dfn :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dfn) => { | attrs } -> JSX +type Props_h2 = (children :: Array JSX) ``` -#### `dfn_` +#### `Props_h1` ``` purescript -dfn_ :: Array JSX -> JSX +type Props_h1 = (children :: Array JSX) ``` -#### `Props_dialog` +#### `Props_form` ``` purescript -type Props_dialog = (children :: Array JSX, open :: Boolean) +type Props_form = (accept :: String, action :: String, children :: Array JSX, method :: String, name :: String, onChange :: EventHandler, onInput :: EventHandler, onInvalid :: EventHandler, onSubmit :: EventHandler, target :: String) ``` -#### `dialog` +#### `Props_footer` ``` purescript -dialog :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dialog) => { | attrs } -> JSX +type Props_footer = (children :: Array JSX) ``` -#### `dialog_` +#### `Props_figure` ``` purescript -dialog_ :: Array JSX -> JSX +type Props_figure = (children :: Array JSX) ``` -#### `Props_div` +#### `Props_figcaption` ``` purescript -type Props_div = (children :: Array JSX) +type Props_figcaption = (children :: Array JSX) ``` -#### `div` +#### `Props_fieldset` ``` purescript -div :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_div) => { | attrs } -> JSX +type Props_fieldset = (children :: Array JSX, disabled :: Boolean, form :: String, name :: String) ``` -#### `div_` +#### `Props_embed` ``` purescript -div_ :: Array JSX -> JSX +type Props_embed = (height :: String, src :: String, "type" :: String, width :: String) ``` -#### `Props_dl` +#### `Props_em` ``` purescript -type Props_dl = (children :: Array JSX) +type Props_em = (children :: Array JSX) ``` -#### `dl` +#### `Props_dt` ``` purescript -dl :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dl) => { | attrs } -> JSX +type Props_dt = (children :: Array JSX) ``` -#### `dl_` +#### `Props_dl` ``` purescript -dl_ :: Array JSX -> JSX +type Props_dl = (children :: Array JSX) ``` -#### `Props_dt` +#### `Props_div` ``` purescript -type Props_dt = (children :: Array JSX) +type Props_div = (children :: Array JSX) ``` -#### `dt` +#### `Props_dialog` ``` purescript -dt :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dt) => { | attrs } -> JSX +type Props_dialog = (children :: Array JSX, open :: Boolean) ``` -#### `dt_` +#### `Props_dfn` ``` purescript -dt_ :: Array JSX -> JSX +type Props_dfn = (children :: Array JSX, title :: String) ``` -#### `Props_em` +#### `Props_details` ``` purescript -type Props_em = (children :: Array JSX) +type Props_details = (children :: Array JSX, open :: Boolean) ``` -#### `em` +#### `Props_del` ``` purescript -em :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_em) => { | attrs } -> JSX +type Props_del = (children :: Array JSX, cite :: String) ``` -#### `em_` +#### `Props_dd` ``` purescript -em_ :: Array JSX -> JSX +type Props_dd = (children :: Array JSX) ``` -#### `Props_embed` +#### `Props_datalist` ``` purescript -type Props_embed = (height :: String, src :: String, "type" :: String, width :: String) +type Props_datalist = (children :: Array JSX) ``` -#### `embed` +#### `Props_data` ``` purescript -embed :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_embed) => { | attrs } -> JSX +type Props_data = (children :: Array JSX, value :: String) ``` -#### `Props_fieldset` +#### `Props_colgroup` ``` purescript -type Props_fieldset = (children :: Array JSX, disabled :: Boolean, form :: String, name :: String) +type Props_colgroup = (children :: Array JSX, span :: Number, width :: String) ``` -#### `fieldset` +#### `Props_col` ``` purescript -fieldset :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_fieldset) => { | attrs } -> JSX +type Props_col = (span :: Number, width :: String) ``` -#### `fieldset_` +#### `Props_code` ``` purescript -fieldset_ :: Array JSX -> JSX +type Props_code = (children :: Array JSX) ``` -#### `Props_figcaption` +#### `Props_cite` ``` purescript -type Props_figcaption = (children :: Array JSX) +type Props_cite = (children :: Array JSX) ``` -#### `figcaption` +#### `Props_caption` ``` purescript -figcaption :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_figcaption) => { | attrs } -> JSX +type Props_caption = (children :: Array JSX) ``` -#### `figcaption_` +#### `Props_canvas` ``` purescript -figcaption_ :: Array JSX -> JSX +type Props_canvas = (children :: Array JSX, height :: String, width :: String) ``` -#### `Props_figure` +#### `Props_button` ``` purescript -type Props_figure = (children :: Array JSX) +type Props_button = (children :: Array JSX, disabled :: Boolean, form :: String, name :: String, "type" :: String, value :: String) ``` -#### `figure` +#### `Props_br` ``` purescript -figure :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_figure) => { | attrs } -> JSX +type Props_br = () ``` -#### `figure_` +#### `Props_body` ``` purescript -figure_ :: Array JSX -> JSX +type Props_body = (children :: Array JSX) ``` -#### `Props_footer` +#### `Props_blockquote` ``` purescript -type Props_footer = (children :: Array JSX) +type Props_blockquote = (children :: Array JSX, cite :: String) ``` -#### `footer` +#### `Props_bdo` ``` purescript -footer :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_footer) => { | attrs } -> JSX +type Props_bdo = (children :: Array JSX, dir :: String) ``` -#### `footer_` +#### `Props_bdi` ``` purescript -footer_ :: Array JSX -> JSX +type Props_bdi = (children :: Array JSX) ``` -#### `Props_form` +#### `Props_base` ``` purescript -type Props_form = (accept :: String, action :: String, children :: Array JSX, method :: String, name :: String, target :: String) +type Props_base = (href :: String, target :: String) ``` -#### `form` +#### `Props_b` ``` purescript -form :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_form) => { | attrs } -> JSX +type Props_b = (children :: Array JSX) ``` -#### `form_` +#### `Props_audio` ``` purescript -form_ :: Array JSX -> JSX +type Props_audio = (children :: Array JSX, controls :: Boolean, loop :: Boolean, muted :: Boolean, preload :: String, src :: String) ``` -#### `Props_h1` +#### `Props_aside` ``` purescript -type Props_h1 = (children :: Array JSX) +type Props_aside = (children :: Array JSX) ``` -#### `h1` +#### `Props_article` ``` purescript -h1 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h1) => { | attrs } -> JSX +type Props_article = (children :: Array JSX) ``` -#### `h1_` +#### `Props_area` ``` purescript -h1_ :: Array JSX -> JSX +type Props_area = (alt :: String, coords :: String, download :: String, href :: String, rel :: String, shape :: String, target :: String, "type" :: String) ``` -#### `Props_h2` +#### `Props_address` ``` purescript -type Props_h2 = (children :: Array JSX) +type Props_address = (children :: Array JSX) ``` -#### `h2` +#### `Props_abbr` ``` purescript -h2 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h2) => { | attrs } -> JSX +type Props_abbr = (children :: Array JSX, title :: String) ``` -#### `h2_` +#### `Props_a` ``` purescript -h2_ :: Array JSX -> JSX +type Props_a = (children :: Array JSX, coords :: String, download :: String, href :: String, name :: String, onClick :: EventHandler, rel :: String, shape :: String, target :: String, "type" :: String) ``` -#### `Props_h3` +#### `wbr` ``` purescript -type Props_h3 = (children :: Array JSX) +wbr :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_wbr) => { | attrs } -> JSX ``` -#### `h3` +#### `video_` ``` purescript -h3 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h3) => { | attrs } -> JSX +video_ :: Array JSX -> JSX ``` -#### `h3_` +#### `video` ``` purescript -h3_ :: Array JSX -> JSX +video :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_video) => { | attrs } -> JSX ``` -#### `Props_h4` +#### `var_` ``` purescript -type Props_h4 = (children :: Array JSX) +var_ :: Array JSX -> JSX ``` -#### `h4` +#### `var` ``` purescript -h4 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h4) => { | attrs } -> JSX +var :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_var) => { | attrs } -> JSX ``` -#### `h4_` +#### `ul_` ``` purescript -h4_ :: Array JSX -> JSX +ul_ :: Array JSX -> JSX ``` -#### `Props_h5` +#### `ul` ``` purescript -type Props_h5 = (children :: Array JSX) +ul :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_ul) => { | attrs } -> JSX ``` -#### `h5` +#### `u_` ``` purescript -h5 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h5) => { | attrs } -> JSX +u_ :: Array JSX -> JSX ``` -#### `h5_` +#### `u` ``` purescript -h5_ :: Array JSX -> JSX +u :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_u) => { | attrs } -> JSX ``` -#### `Props_h6` +#### `track` ``` purescript -type Props_h6 = (children :: Array JSX) +track :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_track) => { | attrs } -> JSX ``` -#### `h6` +#### `tr_` ``` purescript -h6 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h6) => { | attrs } -> JSX +tr_ :: Array JSX -> JSX ``` -#### `h6_` +#### `tr` ``` purescript -h6_ :: Array JSX -> JSX +tr :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_tr) => { | attrs } -> JSX ``` -#### `Props_head` +#### `title_` ``` purescript -type Props_head = (children :: Array JSX, profile :: String) +title_ :: Array JSX -> JSX ``` -#### `head` +#### `title` ``` purescript -head :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_head) => { | attrs } -> JSX +title :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_title) => { | attrs } -> JSX ``` -#### `head_` +#### `time_` ``` purescript -head_ :: Array JSX -> JSX +time_ :: Array JSX -> JSX ``` -#### `Props_header` +#### `time` ``` purescript -type Props_header = (children :: Array JSX) +time :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_time) => { | attrs } -> JSX ``` -#### `header` +#### `thead_` ``` purescript -header :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_header) => { | attrs } -> JSX +thead_ :: Array JSX -> JSX ``` -#### `header_` +#### `thead` ``` purescript -header_ :: Array JSX -> JSX +thead :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_thead) => { | attrs } -> JSX ``` -#### `Props_hgroup` +#### `th_` ``` purescript -type Props_hgroup = (children :: Array JSX) +th_ :: Array JSX -> JSX ``` -#### `hgroup` +#### `th` ``` purescript -hgroup :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_hgroup) => { | attrs } -> JSX +th :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_th) => { | attrs } -> JSX ``` -#### `hgroup_` +#### `tfoot_` ``` purescript -hgroup_ :: Array JSX -> JSX +tfoot_ :: Array JSX -> JSX ``` -#### `Props_hr` +#### `tfoot` ``` purescript -type Props_hr = (size :: Number, width :: String) +tfoot :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_tfoot) => { | attrs } -> JSX ``` -#### `hr` +#### `textarea_` ``` purescript -hr :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_hr) => { | attrs } -> JSX +textarea_ :: Array JSX -> JSX ``` -#### `Props_html` +#### `textarea` ``` purescript -type Props_html = (children :: Array JSX, manifest :: String) +textarea :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_textarea) => { | attrs } -> JSX ``` -#### `html` +#### `template_` ``` purescript -html :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_html) => { | attrs } -> JSX +template_ :: Array JSX -> JSX ``` -#### `html_` +#### `template` ``` purescript -html_ :: Array JSX -> JSX +template :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_template) => { | attrs } -> JSX ``` -#### `Props_i` +#### `td_` ``` purescript -type Props_i = (children :: Array JSX) +td_ :: Array JSX -> JSX ``` -#### `i` +#### `td` ``` purescript -i :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_i) => { | attrs } -> JSX +td :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_td) => { | attrs } -> JSX ``` -#### `i_` +#### `tbody_` ``` purescript -i_ :: Array JSX -> JSX +tbody_ :: Array JSX -> JSX ``` -#### `Props_iframe` +#### `tbody` ``` purescript -type Props_iframe = (children :: Array JSX, height :: String, name :: String, sandbox :: String, scrolling :: String, src :: String, width :: String) +tbody :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_tbody) => { | attrs } -> JSX ``` -#### `iframe` +#### `table_` ``` purescript -iframe :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_iframe) => { | attrs } -> JSX +table_ :: Array JSX -> JSX ``` -#### `iframe_` +#### `table` ``` purescript -iframe_ :: Array JSX -> JSX +table :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_table) => { | attrs } -> JSX ``` -#### `Props_img` +#### `svg_` ``` purescript -type Props_img = (alt :: String, height :: String, name :: String, sizes :: String, src :: String, width :: String) +svg_ :: Array JSX -> JSX ``` -#### `img` +#### `svg` ``` purescript -img :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_img) => { | attrs } -> JSX +svg :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_svg) => { | attrs } -> JSX ``` -#### `Props_input` +#### `sup_` ``` purescript -type Props_input = (accept :: String, alt :: String, autoCapitalize :: String, autoCorrect :: String, autoSave :: String, checked :: Boolean, defaultChecked :: String, defaultValue :: String, disabled :: Boolean, form :: String, height :: String, list :: String, max :: Number, min :: Number, multiple :: Boolean, name :: String, onChange :: EventHandler, pattern :: String, placeholder :: String, required :: Boolean, results :: String, size :: Number, src :: String, step :: String, title :: String, "type" :: String, value :: String, width :: String) +sup_ :: Array JSX -> JSX ``` -#### `input` +#### `sup` ``` purescript -input :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_input) => { | attrs } -> JSX +sup :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_sup) => { | attrs } -> JSX ``` -#### `Props_ins` +#### `summary_` ``` purescript -type Props_ins = (children :: Array JSX, cite :: String) +summary_ :: Array JSX -> JSX ``` -#### `ins` +#### `summary` ``` purescript -ins :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_ins) => { | attrs } -> JSX +summary :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_summary) => { | attrs } -> JSX ``` -#### `ins_` +#### `sub_` ``` purescript -ins_ :: Array JSX -> JSX +sub_ :: Array JSX -> JSX ``` -#### `Props_kbd` +#### `sub` ``` purescript -type Props_kbd = (children :: Array JSX) +sub :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_sub) => { | attrs } -> JSX ``` -#### `kbd` +#### `style_` ``` purescript -kbd :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_kbd) => { | attrs } -> JSX +style_ :: Array JSX -> JSX ``` -#### `kbd_` +#### `style` ``` purescript -kbd_ :: Array JSX -> JSX +style :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_style) => { | attrs } -> JSX ``` -#### `Props_keygen` +#### `strong_` ``` purescript -type Props_keygen = (challenge :: String, children :: Array JSX, disabled :: Boolean, form :: String, name :: String) +strong_ :: Array JSX -> JSX ``` -#### `keygen` +#### `strong` ``` purescript -keygen :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_keygen) => { | attrs } -> JSX +strong :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_strong) => { | attrs } -> JSX ``` -#### `keygen_` +#### `span_` ``` purescript -keygen_ :: Array JSX -> JSX +span_ :: Array JSX -> JSX ``` -#### `Props_label` +#### `span` ``` purescript -type Props_label = (children :: Array JSX, form :: String) +span :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_span) => { | attrs } -> JSX ``` -#### `label` +#### `source` ``` purescript -label :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_label) => { | attrs } -> JSX +source :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_source) => { | attrs } -> JSX ``` -#### `label_` +#### `small_` ``` purescript -label_ :: Array JSX -> JSX +small_ :: Array JSX -> JSX ``` -#### `Props_legend` +#### `small` ``` purescript -type Props_legend = (children :: Array JSX) +small :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_small) => { | attrs } -> JSX ``` -#### `legend` +#### `slot_` ``` purescript -legend :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_legend) => { | attrs } -> JSX +slot_ :: Array JSX -> JSX ``` -#### `legend_` +#### `slot` ``` purescript -legend_ :: Array JSX -> JSX +slot :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_slot) => { | attrs } -> JSX ``` -#### `Props_li` +#### `select_` ``` purescript -type Props_li = (children :: Array JSX, "type" :: String, value :: String) +select_ :: Array JSX -> JSX ``` -#### `li` +#### `select` ``` purescript -li :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_li) => { | attrs } -> JSX +select :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_select) => { | attrs } -> JSX ``` -#### `li_` +#### `section_` ``` purescript -li_ :: Array JSX -> JSX +section_ :: Array JSX -> JSX ``` -#### `Props_link` +#### `section` ``` purescript -type Props_link = (color :: String, href :: String, integrity :: String, media :: String, nonce :: String, rel :: String, scope :: String, sizes :: String, target :: String, title :: String, "type" :: String) +section :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_section) => { | attrs } -> JSX ``` -#### `link` +#### `script_` ``` purescript -link :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_link) => { | attrs } -> JSX +script_ :: Array JSX -> JSX ``` -#### `Props_main` +#### `script` ``` purescript -type Props_main = (children :: Array JSX) +script :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_script) => { | attrs } -> JSX ``` -#### `main` +#### `samp_` ``` purescript -main :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_main) => { | attrs } -> JSX +samp_ :: Array JSX -> JSX ``` -#### `main_` +#### `samp` ``` purescript -main_ :: Array JSX -> JSX +samp :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_samp) => { | attrs } -> JSX ``` -#### `Props_map` +#### `s_` ``` purescript -type Props_map = (children :: Array JSX, name :: String) +s_ :: Array JSX -> JSX ``` -#### `map` +#### `s` ``` purescript -map :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_map) => { | attrs } -> JSX +s :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_s) => { | attrs } -> JSX ``` -#### `map_` +#### `ruby_` ``` purescript -map_ :: Array JSX -> JSX +ruby_ :: Array JSX -> JSX ``` -#### `Props_mark` +#### `ruby` ``` purescript -type Props_mark = (children :: Array JSX) +ruby :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_ruby) => { | attrs } -> JSX ``` -#### `mark` +#### `rtc_` ``` purescript -mark :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_mark) => { | attrs } -> JSX +rtc_ :: Array JSX -> JSX ``` -#### `mark_` +#### `rtc` ``` purescript -mark_ :: Array JSX -> JSX +rtc :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_rtc) => { | attrs } -> JSX ``` -#### `Props_math` +#### `rt_` ``` purescript -type Props_math = (children :: Array JSX) +rt_ :: Array JSX -> JSX ``` -#### `math` +#### `rt` ``` purescript -math :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_math) => { | attrs } -> JSX +rt :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_rt) => { | attrs } -> JSX ``` -#### `math_` +#### `rp_` ``` purescript -math_ :: Array JSX -> JSX +rp_ :: Array JSX -> JSX ``` -#### `Props_menu` +#### `rp` ``` purescript -type Props_menu = (children :: Array JSX) +rp :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_rp) => { | attrs } -> JSX ``` -#### `menu` +#### `rb_` ``` purescript -menu :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_menu) => { | attrs } -> JSX +rb_ :: Array JSX -> JSX ``` -#### `menu_` +#### `rb` ``` purescript -menu_ :: Array JSX -> JSX +rb :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_rb) => { | attrs } -> JSX ``` -#### `Props_menuitem` +#### `q_` ``` purescript -type Props_menuitem = (children :: Array JSX) +q_ :: Array JSX -> JSX ``` -#### `menuitem` +#### `q` ``` purescript -menuitem :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_menuitem) => { | attrs } -> JSX +q :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_q) => { | attrs } -> JSX ``` -#### `menuitem_` +#### `progress_` ``` purescript -menuitem_ :: Array JSX -> JSX +progress_ :: Array JSX -> JSX ``` -#### `Props_meta` +#### `progress` ``` purescript -type Props_meta = (content :: String, name :: String) +progress :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_progress) => { | attrs } -> JSX ``` -#### `meta` +#### `pre_` ``` purescript -meta :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_meta) => { | attrs } -> JSX +pre_ :: Array JSX -> JSX ``` -#### `Props_meter` +#### `pre` ``` purescript -type Props_meter = (children :: Array JSX, high :: String, low :: String, max :: Number, min :: Number, optimum :: String, value :: String) +pre :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_pre) => { | attrs } -> JSX ``` -#### `meter` +#### `picture_` ``` purescript -meter :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_meter) => { | attrs } -> JSX +picture_ :: Array JSX -> JSX ``` -#### `meter_` +#### `picture` ``` purescript -meter_ :: Array JSX -> JSX +picture :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_picture) => { | attrs } -> JSX ``` -#### `Props_nav` +#### `param` ``` purescript -type Props_nav = (children :: Array JSX) +param :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_param) => { | attrs } -> JSX ``` -#### `nav` +#### `p_` ``` purescript -nav :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_nav) => { | attrs } -> JSX +p_ :: Array JSX -> JSX ``` -#### `nav_` +#### `p` ``` purescript -nav_ :: Array JSX -> JSX +p :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_p) => { | attrs } -> JSX ``` -#### `Props_noscript` +#### `output_` ``` purescript -type Props_noscript = (children :: Array JSX) +output_ :: Array JSX -> JSX ``` -#### `noscript` +#### `output` ``` purescript -noscript :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_noscript) => { | attrs } -> JSX +output :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_output) => { | attrs } -> JSX ``` -#### `noscript_` +#### `option_` ``` purescript -noscript_ :: Array JSX -> JSX +option_ :: Array JSX -> JSX ``` -#### `Props_object` +#### `option` ``` purescript -type Props_object = (children :: Array JSX, "data" :: String, form :: String, height :: String, name :: String, "type" :: String, width :: String) +option :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_option) => { | attrs } -> JSX ``` -#### `object` +#### `optgroup_` ``` purescript -object :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_object) => { | attrs } -> JSX +optgroup_ :: Array JSX -> JSX ``` -#### `object_` +#### `optgroup` ``` purescript -object_ :: Array JSX -> JSX +optgroup :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_optgroup) => { | attrs } -> JSX ``` -#### `Props_ol` +#### `ol_` ``` purescript -type Props_ol = (children :: Array JSX, reversed :: Boolean, start :: Number, "type" :: String) +ol_ :: Array JSX -> JSX ``` #### `ol` @@ -1300,814 +1371,819 @@ type Props_ol = (children :: Array JSX, reversed :: Boolean, start :: Number, "t ol :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_ol) => { | attrs } -> JSX ``` -#### `ol_` +#### `object_` ``` purescript -ol_ :: Array JSX -> JSX +object_ :: Array JSX -> JSX ``` -#### `Props_optgroup` +#### `object` ``` purescript -type Props_optgroup = (children :: Array JSX, disabled :: Boolean, label :: String) +object :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_object) => { | attrs } -> JSX ``` -#### `optgroup` +#### `noscript_` ``` purescript -optgroup :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_optgroup) => { | attrs } -> JSX +noscript_ :: Array JSX -> JSX ``` -#### `optgroup_` +#### `noscript` ``` purescript -optgroup_ :: Array JSX -> JSX +noscript :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_noscript) => { | attrs } -> JSX ``` -#### `Props_option` +#### `nav_` ``` purescript -type Props_option = (children :: Array JSX, disabled :: Boolean, label :: String, selected :: Boolean, value :: String) +nav_ :: Array JSX -> JSX ``` -#### `option` +#### `nav` ``` purescript -option :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_option) => { | attrs } -> JSX +nav :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_nav) => { | attrs } -> JSX ``` -#### `option_` +#### `meter_` ``` purescript -option_ :: Array JSX -> JSX +meter_ :: Array JSX -> JSX ``` -#### `Props_output` +#### `meter` ``` purescript -type Props_output = (children :: Array JSX, form :: String, name :: String) +meter :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_meter) => { | attrs } -> JSX ``` -#### `output` +#### `meta` ``` purescript -output :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_output) => { | attrs } -> JSX +meta :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_meta) => { | attrs } -> JSX ``` -#### `output_` +#### `menuitem_` ``` purescript -output_ :: Array JSX -> JSX +menuitem_ :: Array JSX -> JSX ``` -#### `Props_p` +#### `menuitem` ``` purescript -type Props_p = (children :: Array JSX) +menuitem :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_menuitem) => { | attrs } -> JSX ``` -#### `p` +#### `menu_` ``` purescript -p :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_p) => { | attrs } -> JSX +menu_ :: Array JSX -> JSX ``` -#### `p_` +#### `menu` ``` purescript -p_ :: Array JSX -> JSX +menu :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_menu) => { | attrs } -> JSX ``` -#### `Props_param` +#### `math_` ``` purescript -type Props_param = (name :: String, "type" :: String, value :: String) +math_ :: Array JSX -> JSX ``` -#### `param` +#### `math` ``` purescript -param :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_param) => { | attrs } -> JSX +math :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_math) => { | attrs } -> JSX ``` -#### `Props_picture` +#### `mark_` ``` purescript -type Props_picture = (children :: Array JSX) +mark_ :: Array JSX -> JSX ``` -#### `picture` +#### `mark` ``` purescript -picture :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_picture) => { | attrs } -> JSX +mark :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_mark) => { | attrs } -> JSX ``` -#### `picture_` +#### `map_` ``` purescript -picture_ :: Array JSX -> JSX +map_ :: Array JSX -> JSX ``` -#### `Props_pre` +#### `map` ``` purescript -type Props_pre = (children :: Array JSX, width :: String) +map :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_map) => { | attrs } -> JSX ``` -#### `pre` +#### `main_` ``` purescript -pre :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_pre) => { | attrs } -> JSX +main_ :: Array JSX -> JSX ``` -#### `pre_` +#### `main` ``` purescript -pre_ :: Array JSX -> JSX +main :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_main) => { | attrs } -> JSX ``` -#### `Props_progress` +#### `link` ``` purescript -type Props_progress = (children :: Array JSX, max :: Number, value :: String) +link :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_link) => { | attrs } -> JSX ``` -#### `progress` +#### `li_` ``` purescript -progress :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_progress) => { | attrs } -> JSX +li_ :: Array JSX -> JSX ``` -#### `progress_` +#### `li` ``` purescript -progress_ :: Array JSX -> JSX +li :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_li) => { | attrs } -> JSX ``` -#### `Props_q` +#### `legend_` ``` purescript -type Props_q = (children :: Array JSX, cite :: String) +legend_ :: Array JSX -> JSX ``` -#### `q` +#### `legend` ``` purescript -q :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_q) => { | attrs } -> JSX +legend :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_legend) => { | attrs } -> JSX ``` -#### `q_` +#### `label_` ``` purescript -q_ :: Array JSX -> JSX +label_ :: Array JSX -> JSX ``` -#### `Props_rb` +#### `label` ``` purescript -type Props_rb = (children :: Array JSX) +label :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_label) => { | attrs } -> JSX ``` -#### `rb` +#### `keygen_` ``` purescript -rb :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_rb) => { | attrs } -> JSX +keygen_ :: Array JSX -> JSX ``` -#### `rb_` +#### `keygen` ``` purescript -rb_ :: Array JSX -> JSX +keygen :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_keygen) => { | attrs } -> JSX ``` -#### `Props_rp` +#### `kbd_` ``` purescript -type Props_rp = (children :: Array JSX) +kbd_ :: Array JSX -> JSX ``` -#### `rp` +#### `kbd` ``` purescript -rp :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_rp) => { | attrs } -> JSX +kbd :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_kbd) => { | attrs } -> JSX ``` -#### `rp_` +#### `ins_` ``` purescript -rp_ :: Array JSX -> JSX +ins_ :: Array JSX -> JSX ``` -#### `Props_rt` +#### `ins` ``` purescript -type Props_rt = (children :: Array JSX) +ins :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_ins) => { | attrs } -> JSX ``` -#### `rt` +#### `input` ``` purescript -rt :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_rt) => { | attrs } -> JSX +input :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_input) => { | attrs } -> JSX ``` -#### `rt_` +#### `img` ``` purescript -rt_ :: Array JSX -> JSX +img :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_img) => { | attrs } -> JSX ``` -#### `Props_rtc` +#### `iframe_` ``` purescript -type Props_rtc = (children :: Array JSX) +iframe_ :: Array JSX -> JSX ``` -#### `rtc` +#### `iframe` ``` purescript -rtc :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_rtc) => { | attrs } -> JSX +iframe :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_iframe) => { | attrs } -> JSX ``` -#### `rtc_` +#### `i_` ``` purescript -rtc_ :: Array JSX -> JSX +i_ :: Array JSX -> JSX ``` -#### `Props_ruby` +#### `i` ``` purescript -type Props_ruby = (children :: Array JSX) +i :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_i) => { | attrs } -> JSX ``` -#### `ruby` +#### `html_` ``` purescript -ruby :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_ruby) => { | attrs } -> JSX +html_ :: Array JSX -> JSX ``` -#### `ruby_` +#### `html` ``` purescript -ruby_ :: Array JSX -> JSX +html :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_html) => { | attrs } -> JSX ``` -#### `Props_s` +#### `hr` ``` purescript -type Props_s = (children :: Array JSX) +hr :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_hr) => { | attrs } -> JSX ``` -#### `s` +#### `hgroup_` ``` purescript -s :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_s) => { | attrs } -> JSX +hgroup_ :: Array JSX -> JSX ``` -#### `s_` +#### `hgroup` ``` purescript -s_ :: Array JSX -> JSX +hgroup :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_hgroup) => { | attrs } -> JSX ``` -#### `Props_samp` +#### `header_` ``` purescript -type Props_samp = (children :: Array JSX) +header_ :: Array JSX -> JSX ``` -#### `samp` +#### `header` ``` purescript -samp :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_samp) => { | attrs } -> JSX +header :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_header) => { | attrs } -> JSX ``` -#### `samp_` +#### `head_` ``` purescript -samp_ :: Array JSX -> JSX +head_ :: Array JSX -> JSX ``` -#### `Props_script` +#### `head` ``` purescript -type Props_script = (async :: Boolean, children :: Array JSX, defer :: Boolean, integrity :: String, nonce :: String, src :: String, "type" :: String) +head :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_head) => { | attrs } -> JSX ``` -#### `script` +#### `h6_` ``` purescript -script :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_script) => { | attrs } -> JSX +h6_ :: Array JSX -> JSX ``` -#### `script_` +#### `h6` ``` purescript -script_ :: Array JSX -> JSX +h6 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h6) => { | attrs } -> JSX ``` -#### `Props_section` +#### `h5_` ``` purescript -type Props_section = (children :: Array JSX) +h5_ :: Array JSX -> JSX ``` -#### `section` +#### `h5` ``` purescript -section :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_section) => { | attrs } -> JSX +h5 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h5) => { | attrs } -> JSX ``` -#### `section_` +#### `h4_` ``` purescript -section_ :: Array JSX -> JSX +h4_ :: Array JSX -> JSX ``` -#### `Props_select` +#### `h4` ``` purescript -type Props_select = (children :: Array JSX, defaultValue :: String, disabled :: Boolean, form :: String, multiple :: Boolean, name :: String, onChange :: EventHandler, required :: Boolean, size :: Number, value :: String) +h4 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h4) => { | attrs } -> JSX ``` -#### `select` +#### `h3_` ``` purescript -select :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_select) => { | attrs } -> JSX +h3_ :: Array JSX -> JSX ``` -#### `select_` +#### `h3` ``` purescript -select_ :: Array JSX -> JSX +h3 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h3) => { | attrs } -> JSX ``` -#### `Props_slot` +#### `h2_` ``` purescript -type Props_slot = (children :: Array JSX, name :: String) +h2_ :: Array JSX -> JSX ``` -#### `slot` +#### `h2` ``` purescript -slot :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_slot) => { | attrs } -> JSX +h2 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h2) => { | attrs } -> JSX ``` -#### `slot_` +#### `h1_` ``` purescript -slot_ :: Array JSX -> JSX +h1_ :: Array JSX -> JSX ``` -#### `Props_small` +#### `h1` ``` purescript -type Props_small = (children :: Array JSX) +h1 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h1) => { | attrs } -> JSX ``` -#### `small` +#### `form_` ``` purescript -small :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_small) => { | attrs } -> JSX +form_ :: Array JSX -> JSX ``` -#### `small_` +#### `form` ``` purescript -small_ :: Array JSX -> JSX +form :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_form) => { | attrs } -> JSX ``` -#### `Props_source` +#### `footer_` ``` purescript -type Props_source = (media :: String, sizes :: String, src :: String, "type" :: String) +footer_ :: Array JSX -> JSX ``` -#### `source` +#### `footer` ``` purescript -source :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_source) => { | attrs } -> JSX +footer :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_footer) => { | attrs } -> JSX ``` -#### `Props_span` +#### `figure_` ``` purescript -type Props_span = (children :: Array JSX) +figure_ :: Array JSX -> JSX ``` -#### `span` +#### `figure` ``` purescript -span :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_span) => { | attrs } -> JSX +figure :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_figure) => { | attrs } -> JSX ``` -#### `span_` +#### `figcaption_` ``` purescript -span_ :: Array JSX -> JSX +figcaption_ :: Array JSX -> JSX ``` -#### `Props_strong` +#### `figcaption` ``` purescript -type Props_strong = (children :: Array JSX) +figcaption :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_figcaption) => { | attrs } -> JSX ``` -#### `strong` +#### `fieldset_` ``` purescript -strong :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_strong) => { | attrs } -> JSX +fieldset_ :: Array JSX -> JSX ``` -#### `strong_` +#### `fieldset` ``` purescript -strong_ :: Array JSX -> JSX +fieldset :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_fieldset) => { | attrs } -> JSX ``` -#### `Props_style` +#### `embed` ``` purescript -type Props_style = (children :: Array JSX, media :: String, nonce :: String, title :: String, "type" :: String) +embed :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_embed) => { | attrs } -> JSX ``` -#### `style` +#### `em_` ``` purescript -style :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_style) => { | attrs } -> JSX +em_ :: Array JSX -> JSX ``` -#### `style_` +#### `em` ``` purescript -style_ :: Array JSX -> JSX +em :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_em) => { | attrs } -> JSX ``` -#### `Props_sub` +#### `dt_` ``` purescript -type Props_sub = (children :: Array JSX) +dt_ :: Array JSX -> JSX ``` -#### `sub` +#### `dt` ``` purescript -sub :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_sub) => { | attrs } -> JSX +dt :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dt) => { | attrs } -> JSX ``` -#### `sub_` +#### `dl_` ``` purescript -sub_ :: Array JSX -> JSX +dl_ :: Array JSX -> JSX ``` -#### `Props_summary` +#### `dl` ``` purescript -type Props_summary = (children :: Array JSX) +dl :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dl) => { | attrs } -> JSX ``` -#### `summary` +#### `div_` ``` purescript -summary :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_summary) => { | attrs } -> JSX +div_ :: Array JSX -> JSX ``` -#### `summary_` +#### `div` ``` purescript -summary_ :: Array JSX -> JSX +div :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_div) => { | attrs } -> JSX ``` -#### `Props_sup` +#### `dialog_` ``` purescript -type Props_sup = (children :: Array JSX) +dialog_ :: Array JSX -> JSX ``` -#### `sup` +#### `dialog` ``` purescript -sup :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_sup) => { | attrs } -> JSX +dialog :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dialog) => { | attrs } -> JSX ``` -#### `sup_` +#### `dfn_` ``` purescript -sup_ :: Array JSX -> JSX +dfn_ :: Array JSX -> JSX ``` -#### `Props_svg` +#### `dfn` ``` purescript -type Props_svg = (accentHeight :: String, accumulate :: String, additive :: String, alignmentBaseline :: String, allowReorder :: String, alphabetic :: String, amplitude :: String, arabicForm :: String, ascent :: String, attributeName :: String, attributeType :: String, autoReverse :: String, azimuth :: String, baseFrequency :: String, baseProfile :: String, baselineShift :: String, bbox :: String, begin :: String, bias :: String, by :: String, calcMode :: String, capHeight :: String, children :: Array JSX, clip :: String, clipPath :: String, clipPathUnits :: String, clipRule :: String, color :: String, colorInterpolation :: String, colorInterpolationFilters :: String, colorProfile :: String, colorRendering :: String, contentScriptType :: String, contentStyleType :: String, cursor :: String, cx :: String, cy :: String, d :: String, decelerate :: String, descent :: String, diffuseConstant :: String, direction :: String, display :: String, divisor :: String, dominantBaseline :: String, dur :: String, dx :: String, dy :: String, edgeMode :: String, elevation :: String, enableBackground :: String, end :: String, exponent :: String, externalResourcesRequired :: String, fill :: String, fillOpacity :: String, fillRule :: String, filter :: String, filterRes :: String, filterUnits :: String, floodColor :: String, floodOpacity :: String, focusable :: String, fontFamily :: String, fontSize :: String, fontSizeAdjust :: String, fontStretch :: String, fontStyle :: String, fontVariant :: String, fontWeight :: String, format :: String, from :: String, fx :: String, fy :: String, g1 :: String, g2 :: String, glyphName :: String, glyphOrientationHorizontal :: String, glyphOrientationVertical :: String, glyphRef :: String, gradientTransform :: String, gradientUnits :: String, hanging :: String, height :: String, horizAdvX :: String, horizOriginX :: String, ideographic :: String, imageRendering :: String, "in" :: String, in2 :: String, intercept :: String, k :: String, k1 :: String, k2 :: String, k3 :: String, k4 :: String, kernelMatrix :: String, kernelUnitLength :: String, kerning :: String, keyPoints :: String, keySplines :: String, keyTimes :: String, lengthAdjust :: String, letterSpacing :: String, lightingColor :: String, limitingConeAngle :: String, local :: String, markerEnd :: String, markerHeight :: String, markerMid :: String, markerStart :: String, markerUnits :: String, markerWidth :: String, mask :: String, maskContentUnits :: String, maskUnits :: String, mathematical :: String, mode :: String, numOctaves :: String, offset :: String, opacity :: String, operator :: String, order :: String, orient :: String, orientation :: String, origin :: String, overflow :: String, overlinePosition :: String, overlineThickness :: String, paintOrder :: String, panose1 :: String, pathLength :: String, patternContentUnits :: String, patternTransform :: String, patternUnits :: String, pointerEvents :: String, points :: String, pointsAtX :: String, pointsAtY :: String, pointsAtZ :: String, preserveAlpha :: String, preserveAspectRatio :: String, primitiveUnits :: String, r :: String, radius :: String, refX :: String, refY :: String, renderingIntent :: String, repeatCount :: String, repeatDur :: String, requiredExtensions :: String, requiredFeatures :: String, restart :: String, result :: String, rotate :: String, rx :: String, ry :: String, scale :: String, seed :: String, shapeRendering :: String, slope :: String, spacing :: String, specularConstant :: String, specularExponent :: String, speed :: String, spreadMethod :: String, startOffset :: String, stdDeviation :: String, stemh :: String, stemv :: String, stitchTiles :: String, stopColor :: String, stopOpacity :: String, strikethroughPosition :: String, strikethroughThickness :: String, string :: String, stroke :: String, strokeDasharray :: String, strokeDashoffset :: String, strokeLinecap :: String, strokeLinejoin :: String, strokeMiterlimit :: String, strokeOpacity :: String, strokeWidth :: String, surfaceScale :: String, systemLanguage :: String, tableValues :: String, targetX :: String, targetY :: String, textAnchor :: String, textDecoration :: String, textLength :: String, textRendering :: String, to :: String, transform :: String, u1 :: String, u2 :: String, underlinePosition :: String, underlineThickness :: String, unicode :: String, unicodeBidi :: String, unicodeRange :: String, unitsPerEm :: String, vAlphabetic :: String, vHanging :: String, vIdeographic :: String, vMathematical :: String, values :: String, vectorEffect :: String, version :: String, vertAdvY :: String, vertOriginX :: String, vertOriginY :: String, viewBox :: String, viewTarget :: String, visibility :: String, width :: String, widths :: String, wordSpacing :: String, writingMode :: String, x :: String, x1 :: String, x2 :: String, xChannelSelector :: String, xHeight :: String, xlinkActuate :: String, xlinkArcrole :: String, xlinkHref :: String, xlinkRole :: String, xlinkShow :: String, xlinkTitle :: String, xlinkType :: String, xmlBase :: String, xmlLang :: String, xmlSpace :: String, xmlns :: String, xmlnsXlink :: String, y :: String, y1 :: String, y2 :: String, yChannelSelector :: String, z :: String, zoomAndPan :: String) +dfn :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dfn) => { | attrs } -> JSX ``` -#### `svg` +#### `details_` ``` purescript -svg :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_svg) => { | attrs } -> JSX +details_ :: Array JSX -> JSX ``` -#### `svg_` +#### `details` ``` purescript -svg_ :: Array JSX -> JSX +details :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_details) => { | attrs } -> JSX ``` -#### `Props_table` +#### `del_` ``` purescript -type Props_table = (children :: Array JSX, summary :: String, width :: String) +del_ :: Array JSX -> JSX ``` -#### `table` +#### `del` ``` purescript -table :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_table) => { | attrs } -> JSX +del :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_del) => { | attrs } -> JSX ``` -#### `table_` +#### `dd_` ``` purescript -table_ :: Array JSX -> JSX +dd_ :: Array JSX -> JSX ``` -#### `Props_tbody` +#### `dd` ``` purescript -type Props_tbody = (children :: Array JSX) +dd :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dd) => { | attrs } -> JSX ``` -#### `tbody` +#### `datalist_` ``` purescript -tbody :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_tbody) => { | attrs } -> JSX +datalist_ :: Array JSX -> JSX ``` -#### `tbody_` +#### `datalist` ``` purescript -tbody_ :: Array JSX -> JSX +datalist :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_datalist) => { | attrs } -> JSX ``` -#### `Props_td` +#### `data_` ``` purescript -type Props_td = (children :: Array JSX, headers :: String, height :: String, scope :: String, width :: String) +data_ :: Array JSX -> JSX ``` -#### `td` +#### `data'` ``` purescript -td :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_td) => { | attrs } -> JSX +data' :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_data) => { | attrs } -> JSX ``` -#### `td_` +#### `colgroup_` ``` purescript -td_ :: Array JSX -> JSX +colgroup_ :: Array JSX -> JSX ``` -#### `Props_template` +#### `colgroup` ``` purescript -type Props_template = (children :: Array JSX) +colgroup :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_colgroup) => { | attrs } -> JSX ``` -#### `template` +#### `col` ``` purescript -template :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_template) => { | attrs } -> JSX +col :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_col) => { | attrs } -> JSX ``` -#### `template_` +#### `code_` ``` purescript -template_ :: Array JSX -> JSX +code_ :: Array JSX -> JSX ``` -#### `Props_textarea` +#### `code` ``` purescript -type Props_textarea = (autoCapitalize :: String, autoCorrect :: String, children :: Array JSX, cols :: Number, defaultValue :: String, disabled :: Boolean, form :: String, name :: String, onChange :: EventHandler, placeholder :: String, required :: Boolean, rows :: Number, value :: String, wrap :: String) +code :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_code) => { | attrs } -> JSX ``` -#### `textarea` +#### `cite_` ``` purescript -textarea :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_textarea) => { | attrs } -> JSX +cite_ :: Array JSX -> JSX ``` -#### `textarea_` +#### `cite` ``` purescript -textarea_ :: Array JSX -> JSX +cite :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_cite) => { | attrs } -> JSX ``` -#### `Props_tfoot` +#### `caption_` ``` purescript -type Props_tfoot = (children :: Array JSX) +caption_ :: Array JSX -> JSX ``` -#### `tfoot` +#### `caption` ``` purescript -tfoot :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_tfoot) => { | attrs } -> JSX +caption :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_caption) => { | attrs } -> JSX ``` -#### `tfoot_` +#### `canvas_` ``` purescript -tfoot_ :: Array JSX -> JSX +canvas_ :: Array JSX -> JSX ``` -#### `Props_th` +#### `canvas` ``` purescript -type Props_th = (children :: Array JSX, headers :: String, height :: String, scope :: String, width :: String) +canvas :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_canvas) => { | attrs } -> JSX ``` -#### `th` +#### `button_` ``` purescript -th :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_th) => { | attrs } -> JSX +button_ :: Array JSX -> JSX ``` -#### `th_` +#### `button` ``` purescript -th_ :: Array JSX -> JSX +button :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_button) => { | attrs } -> JSX ``` -#### `Props_thead` +#### `br` ``` purescript -type Props_thead = (children :: Array JSX) +br :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_br) => { | attrs } -> JSX ``` -#### `thead` +#### `body_` ``` purescript -thead :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_thead) => { | attrs } -> JSX +body_ :: Array JSX -> JSX ``` -#### `thead_` +#### `body` ``` purescript -thead_ :: Array JSX -> JSX +body :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_body) => { | attrs } -> JSX ``` -#### `Props_time` +#### `blockquote_` ``` purescript -type Props_time = (children :: Array JSX) +blockquote_ :: Array JSX -> JSX ``` -#### `time` +#### `blockquote` ``` purescript -time :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_time) => { | attrs } -> JSX +blockquote :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_blockquote) => { | attrs } -> JSX ``` -#### `time_` +#### `bdo_` ``` purescript -time_ :: Array JSX -> JSX +bdo_ :: Array JSX -> JSX ``` -#### `Props_title` +#### `bdo` ``` purescript -type Props_title = (children :: Array JSX) +bdo :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_bdo) => { | attrs } -> JSX ``` -#### `title` +#### `bdi_` ``` purescript -title :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_title) => { | attrs } -> JSX +bdi_ :: Array JSX -> JSX ``` -#### `title_` +#### `bdi` ``` purescript -title_ :: Array JSX -> JSX +bdi :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_bdi) => { | attrs } -> JSX ``` -#### `Props_tr` +#### `base` ``` purescript -type Props_tr = (children :: Array JSX) +base :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_base) => { | attrs } -> JSX ``` -#### `tr` +#### `b_` ``` purescript -tr :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_tr) => { | attrs } -> JSX +b_ :: Array JSX -> JSX ``` -#### `tr_` +#### `b` ``` purescript -tr_ :: Array JSX -> JSX +b :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_b) => { | attrs } -> JSX ``` -#### `Props_track` +#### `audio_` ``` purescript -type Props_track = (default :: Boolean, kind :: String, label :: String, src :: String) +audio_ :: Array JSX -> JSX ``` -#### `track` +#### `audio` ``` purescript -track :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_track) => { | attrs } -> JSX +audio :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_audio) => { | attrs } -> JSX ``` -#### `Props_u` +#### `aside_` ``` purescript -type Props_u = (children :: Array JSX) +aside_ :: Array JSX -> JSX ``` -#### `u` +#### `aside` ``` purescript -u :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_u) => { | attrs } -> JSX +aside :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_aside) => { | attrs } -> JSX ``` -#### `u_` +#### `article_` ``` purescript -u_ :: Array JSX -> JSX +article_ :: Array JSX -> JSX ``` -#### `Props_ul` +#### `article` ``` purescript -type Props_ul = (children :: Array JSX, "type" :: String) +article :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_article) => { | attrs } -> JSX ``` -#### `ul` +#### `area` ``` purescript -ul :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_ul) => { | attrs } -> JSX +area :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_area) => { | attrs } -> JSX ``` -#### `ul_` +#### `address_` ``` purescript -ul_ :: Array JSX -> JSX +address_ :: Array JSX -> JSX ``` -#### `Props_var` +#### `address` ``` purescript -type Props_var = (children :: Array JSX) +address :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_address) => { | attrs } -> JSX ``` -#### `var` +#### `abbr_` ``` purescript -var :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_var) => { | attrs } -> JSX +abbr_ :: Array JSX -> JSX ``` -#### `var_` +#### `abbr` ``` purescript -var_ :: Array JSX -> JSX +abbr :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_abbr) => { | attrs } -> JSX ``` -#### `Props_video` +#### `a_` ``` purescript -type Props_video = (children :: Array JSX, controls :: Boolean, height :: String, loop :: Boolean, muted :: Boolean, playsInline :: Boolean, poster :: String, preload :: String, src :: String, width :: String) +a_ :: Array JSX -> JSX ``` -#### `video` +#### `a` ``` purescript -video :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_video) => { | attrs } -> JSX +a :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_a) => { | attrs } -> JSX ``` -#### `video_` +### Re-exported from React.Basic.DOM.Internal: + +#### `SharedProps` ``` purescript -video_ :: Array JSX -> JSX +type SharedProps specific = (key :: String, about :: String, acceptCharset :: String, accessKey :: String, allowFullScreen :: Boolean, allowTransparency :: String, autoComplete :: String, autoFocus :: String, autoPlay :: Boolean, capture :: Boolean, cellPadding :: String, cellSpacing :: String, charSet :: String, classID :: String, className :: String, colSpan :: Number, contentEditable :: String, contextMenu :: String, crossOrigin :: String, datatype :: String, dateTime :: String, dir :: String, draggable :: String, encType :: String, formAction :: String, formEncType :: String, formMethod :: String, formNoValidate :: String, formTarget :: String, frameBorder :: String, hidden :: Boolean, hrefLang :: String, htmlFor :: String, httpEquiv :: String, icon :: String, id :: String, inlist :: String, inputMode :: String, is :: String, itemID :: String, itemProp :: String, itemRef :: String, itemScope :: Boolean, itemType :: String, keyParams :: String, keyType :: String, lang :: String, marginHeight :: String, marginWidth :: String, maxLength :: String, mediaGroup :: String, minLength :: String, noValidate :: String, prefix :: String, property :: String, radioGroup :: String, readOnly :: Boolean, resource :: String, role :: String, rowSpan :: Number, scoped :: Boolean, seamless :: Boolean, security :: String, spellCheck :: String, srcDoc :: String, srcLang :: String, srcSet :: String, style :: CSS, tabIndex :: String, title :: String, typeof :: String, unselectable :: String, useMap :: String, vocab :: String, wmode :: String, onClick :: EventHandler | specific) ``` -#### `Props_wbr` +Standard props which are shared by all DOM elements. + +#### `CSS` ``` purescript -type Props_wbr = () +data CSS :: Type ``` -#### `wbr` +An abstract type representing records of CSS attributes. + +#### `unsafeCreateDOMComponent` ``` purescript -wbr :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_wbr) => { | attrs } -> JSX +unsafeCreateDOMComponent :: forall props. String -> Component props ``` - diff --git a/generated-docs/React/Basic/DOM/Events.md b/generated-docs/React/Basic/DOM/Events.md index 0b8b6b1..4b86a99 100644 --- a/generated-docs/React/Basic/DOM/Events.md +++ b/generated-docs/React/Basic/DOM/Events.md @@ -2,22 +2,6 @@ This module defines safe DOM event function and property accessors. -#### `DOMNode` - -``` purescript -data DOMNode :: Type -``` - -An _actual_ DOM node (not a virtual DOM element!) - -#### `DOMEvent` - -``` purescript -data DOMEvent :: Type -``` - -The underlying browser Event. - #### `bubbles` ``` purescript @@ -71,7 +55,7 @@ isTrusted :: EventFn SyntheticEvent Boolean #### `nativeEvent` ``` purescript -nativeEvent :: EventFn SyntheticEvent DOMEvent +nativeEvent :: EventFn SyntheticEvent Event ``` #### `preventDefault` @@ -101,19 +85,19 @@ isPropagationStopped :: EventFn SyntheticEvent Boolean #### `target` ``` purescript -target :: EventFn SyntheticEvent DOMNode +target :: EventFn SyntheticEvent EventTarget ``` #### `currentTarget` ``` purescript -currentTarget :: EventFn SyntheticEvent DOMNode +currentTarget :: EventFn SyntheticEvent EventTarget ``` #### `relatedTarget` ``` purescript -relatedTarget :: EventFn SyntheticEvent (Maybe DOMNode) +relatedTarget :: EventFn SyntheticEvent (Maybe EventTarget) ``` #### `targetChecked` diff --git a/generated-docs/React/Basic/DOM/Generated.md b/generated-docs/React/Basic/DOM/Generated.md new file mode 100644 index 0000000..418160e --- /dev/null +++ b/generated-docs/React/Basic/DOM/Generated.md @@ -0,0 +1,2047 @@ +## Module React.Basic.DOM.Generated + +---------------------------------------- +THIS FILE IS GENERATED -- DO NOT EDIT IT +---------------------------------------- + +#### `Props_a` + +``` purescript +type Props_a = (children :: Array JSX, coords :: String, download :: String, href :: String, name :: String, onClick :: EventHandler, rel :: String, shape :: String, target :: String, "type" :: String) +``` + +#### `a` + +``` purescript +a :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_a) => { | attrs } -> JSX +``` + +#### `a_` + +``` purescript +a_ :: Array JSX -> JSX +``` + +#### `Props_abbr` + +``` purescript +type Props_abbr = (children :: Array JSX, title :: String) +``` + +#### `abbr` + +``` purescript +abbr :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_abbr) => { | attrs } -> JSX +``` + +#### `abbr_` + +``` purescript +abbr_ :: Array JSX -> JSX +``` + +#### `Props_address` + +``` purescript +type Props_address = (children :: Array JSX) +``` + +#### `address` + +``` purescript +address :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_address) => { | attrs } -> JSX +``` + +#### `address_` + +``` purescript +address_ :: Array JSX -> JSX +``` + +#### `Props_area` + +``` purescript +type Props_area = (alt :: String, coords :: String, download :: String, href :: String, rel :: String, shape :: String, target :: String, "type" :: String) +``` + +#### `area` + +``` purescript +area :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_area) => { | attrs } -> JSX +``` + +#### `Props_article` + +``` purescript +type Props_article = (children :: Array JSX) +``` + +#### `article` + +``` purescript +article :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_article) => { | attrs } -> JSX +``` + +#### `article_` + +``` purescript +article_ :: Array JSX -> JSX +``` + +#### `Props_aside` + +``` purescript +type Props_aside = (children :: Array JSX) +``` + +#### `aside` + +``` purescript +aside :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_aside) => { | attrs } -> JSX +``` + +#### `aside_` + +``` purescript +aside_ :: Array JSX -> JSX +``` + +#### `Props_audio` + +``` purescript +type Props_audio = (children :: Array JSX, controls :: Boolean, loop :: Boolean, muted :: Boolean, preload :: String, src :: String) +``` + +#### `audio` + +``` purescript +audio :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_audio) => { | attrs } -> JSX +``` + +#### `audio_` + +``` purescript +audio_ :: Array JSX -> JSX +``` + +#### `Props_b` + +``` purescript +type Props_b = (children :: Array JSX) +``` + +#### `b` + +``` purescript +b :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_b) => { | attrs } -> JSX +``` + +#### `b_` + +``` purescript +b_ :: Array JSX -> JSX +``` + +#### `Props_base` + +``` purescript +type Props_base = (href :: String, target :: String) +``` + +#### `base` + +``` purescript +base :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_base) => { | attrs } -> JSX +``` + +#### `Props_bdi` + +``` purescript +type Props_bdi = (children :: Array JSX) +``` + +#### `bdi` + +``` purescript +bdi :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_bdi) => { | attrs } -> JSX +``` + +#### `bdi_` + +``` purescript +bdi_ :: Array JSX -> JSX +``` + +#### `Props_bdo` + +``` purescript +type Props_bdo = (children :: Array JSX, dir :: String) +``` + +#### `bdo` + +``` purescript +bdo :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_bdo) => { | attrs } -> JSX +``` + +#### `bdo_` + +``` purescript +bdo_ :: Array JSX -> JSX +``` + +#### `Props_blockquote` + +``` purescript +type Props_blockquote = (children :: Array JSX, cite :: String) +``` + +#### `blockquote` + +``` purescript +blockquote :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_blockquote) => { | attrs } -> JSX +``` + +#### `blockquote_` + +``` purescript +blockquote_ :: Array JSX -> JSX +``` + +#### `Props_body` + +``` purescript +type Props_body = (children :: Array JSX) +``` + +#### `body` + +``` purescript +body :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_body) => { | attrs } -> JSX +``` + +#### `body_` + +``` purescript +body_ :: Array JSX -> JSX +``` + +#### `Props_br` + +``` purescript +type Props_br = () +``` + +#### `br` + +``` purescript +br :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_br) => { | attrs } -> JSX +``` + +#### `Props_button` + +``` purescript +type Props_button = (children :: Array JSX, disabled :: Boolean, form :: String, name :: String, "type" :: String, value :: String) +``` + +#### `button` + +``` purescript +button :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_button) => { | attrs } -> JSX +``` + +#### `button_` + +``` purescript +button_ :: Array JSX -> JSX +``` + +#### `Props_canvas` + +``` purescript +type Props_canvas = (children :: Array JSX, height :: String, width :: String) +``` + +#### `canvas` + +``` purescript +canvas :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_canvas) => { | attrs } -> JSX +``` + +#### `canvas_` + +``` purescript +canvas_ :: Array JSX -> JSX +``` + +#### `Props_caption` + +``` purescript +type Props_caption = (children :: Array JSX) +``` + +#### `caption` + +``` purescript +caption :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_caption) => { | attrs } -> JSX +``` + +#### `caption_` + +``` purescript +caption_ :: Array JSX -> JSX +``` + +#### `Props_cite` + +``` purescript +type Props_cite = (children :: Array JSX) +``` + +#### `cite` + +``` purescript +cite :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_cite) => { | attrs } -> JSX +``` + +#### `cite_` + +``` purescript +cite_ :: Array JSX -> JSX +``` + +#### `Props_code` + +``` purescript +type Props_code = (children :: Array JSX) +``` + +#### `code` + +``` purescript +code :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_code) => { | attrs } -> JSX +``` + +#### `code_` + +``` purescript +code_ :: Array JSX -> JSX +``` + +#### `Props_col` + +``` purescript +type Props_col = (span :: Number, width :: String) +``` + +#### `col` + +``` purescript +col :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_col) => { | attrs } -> JSX +``` + +#### `Props_colgroup` + +``` purescript +type Props_colgroup = (children :: Array JSX, span :: Number, width :: String) +``` + +#### `colgroup` + +``` purescript +colgroup :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_colgroup) => { | attrs } -> JSX +``` + +#### `colgroup_` + +``` purescript +colgroup_ :: Array JSX -> JSX +``` + +#### `Props_data` + +``` purescript +type Props_data = (children :: Array JSX, value :: String) +``` + +#### `data'` + +``` purescript +data' :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_data) => { | attrs } -> JSX +``` + +#### `data_` + +``` purescript +data_ :: Array JSX -> JSX +``` + +#### `Props_datalist` + +``` purescript +type Props_datalist = (children :: Array JSX) +``` + +#### `datalist` + +``` purescript +datalist :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_datalist) => { | attrs } -> JSX +``` + +#### `datalist_` + +``` purescript +datalist_ :: Array JSX -> JSX +``` + +#### `Props_dd` + +``` purescript +type Props_dd = (children :: Array JSX) +``` + +#### `dd` + +``` purescript +dd :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dd) => { | attrs } -> JSX +``` + +#### `dd_` + +``` purescript +dd_ :: Array JSX -> JSX +``` + +#### `Props_del` + +``` purescript +type Props_del = (children :: Array JSX, cite :: String) +``` + +#### `del` + +``` purescript +del :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_del) => { | attrs } -> JSX +``` + +#### `del_` + +``` purescript +del_ :: Array JSX -> JSX +``` + +#### `Props_details` + +``` purescript +type Props_details = (children :: Array JSX, open :: Boolean) +``` + +#### `details` + +``` purescript +details :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_details) => { | attrs } -> JSX +``` + +#### `details_` + +``` purescript +details_ :: Array JSX -> JSX +``` + +#### `Props_dfn` + +``` purescript +type Props_dfn = (children :: Array JSX, title :: String) +``` + +#### `dfn` + +``` purescript +dfn :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dfn) => { | attrs } -> JSX +``` + +#### `dfn_` + +``` purescript +dfn_ :: Array JSX -> JSX +``` + +#### `Props_dialog` + +``` purescript +type Props_dialog = (children :: Array JSX, open :: Boolean) +``` + +#### `dialog` + +``` purescript +dialog :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dialog) => { | attrs } -> JSX +``` + +#### `dialog_` + +``` purescript +dialog_ :: Array JSX -> JSX +``` + +#### `Props_div` + +``` purescript +type Props_div = (children :: Array JSX) +``` + +#### `div` + +``` purescript +div :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_div) => { | attrs } -> JSX +``` + +#### `div_` + +``` purescript +div_ :: Array JSX -> JSX +``` + +#### `Props_dl` + +``` purescript +type Props_dl = (children :: Array JSX) +``` + +#### `dl` + +``` purescript +dl :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dl) => { | attrs } -> JSX +``` + +#### `dl_` + +``` purescript +dl_ :: Array JSX -> JSX +``` + +#### `Props_dt` + +``` purescript +type Props_dt = (children :: Array JSX) +``` + +#### `dt` + +``` purescript +dt :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dt) => { | attrs } -> JSX +``` + +#### `dt_` + +``` purescript +dt_ :: Array JSX -> JSX +``` + +#### `Props_em` + +``` purescript +type Props_em = (children :: Array JSX) +``` + +#### `em` + +``` purescript +em :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_em) => { | attrs } -> JSX +``` + +#### `em_` + +``` purescript +em_ :: Array JSX -> JSX +``` + +#### `Props_embed` + +``` purescript +type Props_embed = (height :: String, src :: String, "type" :: String, width :: String) +``` + +#### `embed` + +``` purescript +embed :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_embed) => { | attrs } -> JSX +``` + +#### `Props_fieldset` + +``` purescript +type Props_fieldset = (children :: Array JSX, disabled :: Boolean, form :: String, name :: String) +``` + +#### `fieldset` + +``` purescript +fieldset :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_fieldset) => { | attrs } -> JSX +``` + +#### `fieldset_` + +``` purescript +fieldset_ :: Array JSX -> JSX +``` + +#### `Props_figcaption` + +``` purescript +type Props_figcaption = (children :: Array JSX) +``` + +#### `figcaption` + +``` purescript +figcaption :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_figcaption) => { | attrs } -> JSX +``` + +#### `figcaption_` + +``` purescript +figcaption_ :: Array JSX -> JSX +``` + +#### `Props_figure` + +``` purescript +type Props_figure = (children :: Array JSX) +``` + +#### `figure` + +``` purescript +figure :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_figure) => { | attrs } -> JSX +``` + +#### `figure_` + +``` purescript +figure_ :: Array JSX -> JSX +``` + +#### `Props_footer` + +``` purescript +type Props_footer = (children :: Array JSX) +``` + +#### `footer` + +``` purescript +footer :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_footer) => { | attrs } -> JSX +``` + +#### `footer_` + +``` purescript +footer_ :: Array JSX -> JSX +``` + +#### `Props_form` + +``` purescript +type Props_form = (accept :: String, action :: String, children :: Array JSX, method :: String, name :: String, onChange :: EventHandler, onInput :: EventHandler, onInvalid :: EventHandler, onSubmit :: EventHandler, target :: String) +``` + +#### `form` + +``` purescript +form :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_form) => { | attrs } -> JSX +``` + +#### `form_` + +``` purescript +form_ :: Array JSX -> JSX +``` + +#### `Props_h1` + +``` purescript +type Props_h1 = (children :: Array JSX) +``` + +#### `h1` + +``` purescript +h1 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h1) => { | attrs } -> JSX +``` + +#### `h1_` + +``` purescript +h1_ :: Array JSX -> JSX +``` + +#### `Props_h2` + +``` purescript +type Props_h2 = (children :: Array JSX) +``` + +#### `h2` + +``` purescript +h2 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h2) => { | attrs } -> JSX +``` + +#### `h2_` + +``` purescript +h2_ :: Array JSX -> JSX +``` + +#### `Props_h3` + +``` purescript +type Props_h3 = (children :: Array JSX) +``` + +#### `h3` + +``` purescript +h3 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h3) => { | attrs } -> JSX +``` + +#### `h3_` + +``` purescript +h3_ :: Array JSX -> JSX +``` + +#### `Props_h4` + +``` purescript +type Props_h4 = (children :: Array JSX) +``` + +#### `h4` + +``` purescript +h4 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h4) => { | attrs } -> JSX +``` + +#### `h4_` + +``` purescript +h4_ :: Array JSX -> JSX +``` + +#### `Props_h5` + +``` purescript +type Props_h5 = (children :: Array JSX) +``` + +#### `h5` + +``` purescript +h5 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h5) => { | attrs } -> JSX +``` + +#### `h5_` + +``` purescript +h5_ :: Array JSX -> JSX +``` + +#### `Props_h6` + +``` purescript +type Props_h6 = (children :: Array JSX) +``` + +#### `h6` + +``` purescript +h6 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h6) => { | attrs } -> JSX +``` + +#### `h6_` + +``` purescript +h6_ :: Array JSX -> JSX +``` + +#### `Props_head` + +``` purescript +type Props_head = (children :: Array JSX, profile :: String) +``` + +#### `head` + +``` purescript +head :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_head) => { | attrs } -> JSX +``` + +#### `head_` + +``` purescript +head_ :: Array JSX -> JSX +``` + +#### `Props_header` + +``` purescript +type Props_header = (children :: Array JSX) +``` + +#### `header` + +``` purescript +header :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_header) => { | attrs } -> JSX +``` + +#### `header_` + +``` purescript +header_ :: Array JSX -> JSX +``` + +#### `Props_hgroup` + +``` purescript +type Props_hgroup = (children :: Array JSX) +``` + +#### `hgroup` + +``` purescript +hgroup :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_hgroup) => { | attrs } -> JSX +``` + +#### `hgroup_` + +``` purescript +hgroup_ :: Array JSX -> JSX +``` + +#### `Props_hr` + +``` purescript +type Props_hr = (size :: Number, width :: String) +``` + +#### `hr` + +``` purescript +hr :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_hr) => { | attrs } -> JSX +``` + +#### `Props_html` + +``` purescript +type Props_html = (children :: Array JSX, manifest :: String) +``` + +#### `html` + +``` purescript +html :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_html) => { | attrs } -> JSX +``` + +#### `html_` + +``` purescript +html_ :: Array JSX -> JSX +``` + +#### `Props_i` + +``` purescript +type Props_i = (children :: Array JSX) +``` + +#### `i` + +``` purescript +i :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_i) => { | attrs } -> JSX +``` + +#### `i_` + +``` purescript +i_ :: Array JSX -> JSX +``` + +#### `Props_iframe` + +``` purescript +type Props_iframe = (children :: Array JSX, height :: String, name :: String, sandbox :: String, scrolling :: String, src :: String, width :: String) +``` + +#### `iframe` + +``` purescript +iframe :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_iframe) => { | attrs } -> JSX +``` + +#### `iframe_` + +``` purescript +iframe_ :: Array JSX -> JSX +``` + +#### `Props_img` + +``` purescript +type Props_img = (alt :: String, height :: String, name :: String, sizes :: String, src :: String, width :: String) +``` + +#### `img` + +``` purescript +img :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_img) => { | attrs } -> JSX +``` + +#### `Props_input` + +``` purescript +type Props_input = (accept :: String, alt :: String, autoCapitalize :: String, autoCorrect :: String, autoSave :: String, checked :: Boolean, defaultChecked :: String, defaultValue :: String, disabled :: Boolean, form :: String, height :: String, list :: String, max :: Number, min :: Number, multiple :: Boolean, name :: String, onChange :: EventHandler, pattern :: String, placeholder :: String, required :: Boolean, results :: String, size :: Number, src :: String, step :: String, title :: String, "type" :: String, value :: String, width :: String) +``` + +#### `input` + +``` purescript +input :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_input) => { | attrs } -> JSX +``` + +#### `Props_ins` + +``` purescript +type Props_ins = (children :: Array JSX, cite :: String) +``` + +#### `ins` + +``` purescript +ins :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_ins) => { | attrs } -> JSX +``` + +#### `ins_` + +``` purescript +ins_ :: Array JSX -> JSX +``` + +#### `Props_kbd` + +``` purescript +type Props_kbd = (children :: Array JSX) +``` + +#### `kbd` + +``` purescript +kbd :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_kbd) => { | attrs } -> JSX +``` + +#### `kbd_` + +``` purescript +kbd_ :: Array JSX -> JSX +``` + +#### `Props_keygen` + +``` purescript +type Props_keygen = (challenge :: String, children :: Array JSX, disabled :: Boolean, form :: String, name :: String) +``` + +#### `keygen` + +``` purescript +keygen :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_keygen) => { | attrs } -> JSX +``` + +#### `keygen_` + +``` purescript +keygen_ :: Array JSX -> JSX +``` + +#### `Props_label` + +``` purescript +type Props_label = (children :: Array JSX, form :: String) +``` + +#### `label` + +``` purescript +label :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_label) => { | attrs } -> JSX +``` + +#### `label_` + +``` purescript +label_ :: Array JSX -> JSX +``` + +#### `Props_legend` + +``` purescript +type Props_legend = (children :: Array JSX) +``` + +#### `legend` + +``` purescript +legend :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_legend) => { | attrs } -> JSX +``` + +#### `legend_` + +``` purescript +legend_ :: Array JSX -> JSX +``` + +#### `Props_li` + +``` purescript +type Props_li = (children :: Array JSX, "type" :: String, value :: String) +``` + +#### `li` + +``` purescript +li :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_li) => { | attrs } -> JSX +``` + +#### `li_` + +``` purescript +li_ :: Array JSX -> JSX +``` + +#### `Props_link` + +``` purescript +type Props_link = (color :: String, href :: String, integrity :: String, media :: String, nonce :: String, rel :: String, scope :: String, sizes :: String, target :: String, title :: String, "type" :: String) +``` + +#### `link` + +``` purescript +link :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_link) => { | attrs } -> JSX +``` + +#### `Props_main` + +``` purescript +type Props_main = (children :: Array JSX) +``` + +#### `main` + +``` purescript +main :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_main) => { | attrs } -> JSX +``` + +#### `main_` + +``` purescript +main_ :: Array JSX -> JSX +``` + +#### `Props_map` + +``` purescript +type Props_map = (children :: Array JSX, name :: String) +``` + +#### `map` + +``` purescript +map :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_map) => { | attrs } -> JSX +``` + +#### `map_` + +``` purescript +map_ :: Array JSX -> JSX +``` + +#### `Props_mark` + +``` purescript +type Props_mark = (children :: Array JSX) +``` + +#### `mark` + +``` purescript +mark :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_mark) => { | attrs } -> JSX +``` + +#### `mark_` + +``` purescript +mark_ :: Array JSX -> JSX +``` + +#### `Props_math` + +``` purescript +type Props_math = (children :: Array JSX) +``` + +#### `math` + +``` purescript +math :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_math) => { | attrs } -> JSX +``` + +#### `math_` + +``` purescript +math_ :: Array JSX -> JSX +``` + +#### `Props_menu` + +``` purescript +type Props_menu = (children :: Array JSX) +``` + +#### `menu` + +``` purescript +menu :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_menu) => { | attrs } -> JSX +``` + +#### `menu_` + +``` purescript +menu_ :: Array JSX -> JSX +``` + +#### `Props_menuitem` + +``` purescript +type Props_menuitem = (children :: Array JSX) +``` + +#### `menuitem` + +``` purescript +menuitem :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_menuitem) => { | attrs } -> JSX +``` + +#### `menuitem_` + +``` purescript +menuitem_ :: Array JSX -> JSX +``` + +#### `Props_meta` + +``` purescript +type Props_meta = (content :: String, name :: String) +``` + +#### `meta` + +``` purescript +meta :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_meta) => { | attrs } -> JSX +``` + +#### `Props_meter` + +``` purescript +type Props_meter = (children :: Array JSX, high :: String, low :: String, max :: Number, min :: Number, optimum :: String, value :: String) +``` + +#### `meter` + +``` purescript +meter :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_meter) => { | attrs } -> JSX +``` + +#### `meter_` + +``` purescript +meter_ :: Array JSX -> JSX +``` + +#### `Props_nav` + +``` purescript +type Props_nav = (children :: Array JSX) +``` + +#### `nav` + +``` purescript +nav :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_nav) => { | attrs } -> JSX +``` + +#### `nav_` + +``` purescript +nav_ :: Array JSX -> JSX +``` + +#### `Props_noscript` + +``` purescript +type Props_noscript = (children :: Array JSX) +``` + +#### `noscript` + +``` purescript +noscript :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_noscript) => { | attrs } -> JSX +``` + +#### `noscript_` + +``` purescript +noscript_ :: Array JSX -> JSX +``` + +#### `Props_object` + +``` purescript +type Props_object = (children :: Array JSX, "data" :: String, form :: String, height :: String, name :: String, "type" :: String, width :: String) +``` + +#### `object` + +``` purescript +object :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_object) => { | attrs } -> JSX +``` + +#### `object_` + +``` purescript +object_ :: Array JSX -> JSX +``` + +#### `Props_ol` + +``` purescript +type Props_ol = (children :: Array JSX, reversed :: Boolean, start :: Number, "type" :: String) +``` + +#### `ol` + +``` purescript +ol :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_ol) => { | attrs } -> JSX +``` + +#### `ol_` + +``` purescript +ol_ :: Array JSX -> JSX +``` + +#### `Props_optgroup` + +``` purescript +type Props_optgroup = (children :: Array JSX, disabled :: Boolean, label :: String) +``` + +#### `optgroup` + +``` purescript +optgroup :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_optgroup) => { | attrs } -> JSX +``` + +#### `optgroup_` + +``` purescript +optgroup_ :: Array JSX -> JSX +``` + +#### `Props_option` + +``` purescript +type Props_option = (children :: Array JSX, disabled :: Boolean, label :: String, selected :: Boolean, value :: String) +``` + +#### `option` + +``` purescript +option :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_option) => { | attrs } -> JSX +``` + +#### `option_` + +``` purescript +option_ :: Array JSX -> JSX +``` + +#### `Props_output` + +``` purescript +type Props_output = (children :: Array JSX, form :: String, name :: String) +``` + +#### `output` + +``` purescript +output :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_output) => { | attrs } -> JSX +``` + +#### `output_` + +``` purescript +output_ :: Array JSX -> JSX +``` + +#### `Props_p` + +``` purescript +type Props_p = (children :: Array JSX) +``` + +#### `p` + +``` purescript +p :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_p) => { | attrs } -> JSX +``` + +#### `p_` + +``` purescript +p_ :: Array JSX -> JSX +``` + +#### `Props_param` + +``` purescript +type Props_param = (name :: String, "type" :: String, value :: String) +``` + +#### `param` + +``` purescript +param :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_param) => { | attrs } -> JSX +``` + +#### `Props_picture` + +``` purescript +type Props_picture = (children :: Array JSX) +``` + +#### `picture` + +``` purescript +picture :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_picture) => { | attrs } -> JSX +``` + +#### `picture_` + +``` purescript +picture_ :: Array JSX -> JSX +``` + +#### `Props_pre` + +``` purescript +type Props_pre = (children :: Array JSX, width :: String) +``` + +#### `pre` + +``` purescript +pre :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_pre) => { | attrs } -> JSX +``` + +#### `pre_` + +``` purescript +pre_ :: Array JSX -> JSX +``` + +#### `Props_progress` + +``` purescript +type Props_progress = (children :: Array JSX, max :: Number, value :: String) +``` + +#### `progress` + +``` purescript +progress :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_progress) => { | attrs } -> JSX +``` + +#### `progress_` + +``` purescript +progress_ :: Array JSX -> JSX +``` + +#### `Props_q` + +``` purescript +type Props_q = (children :: Array JSX, cite :: String) +``` + +#### `q` + +``` purescript +q :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_q) => { | attrs } -> JSX +``` + +#### `q_` + +``` purescript +q_ :: Array JSX -> JSX +``` + +#### `Props_rb` + +``` purescript +type Props_rb = (children :: Array JSX) +``` + +#### `rb` + +``` purescript +rb :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_rb) => { | attrs } -> JSX +``` + +#### `rb_` + +``` purescript +rb_ :: Array JSX -> JSX +``` + +#### `Props_rp` + +``` purescript +type Props_rp = (children :: Array JSX) +``` + +#### `rp` + +``` purescript +rp :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_rp) => { | attrs } -> JSX +``` + +#### `rp_` + +``` purescript +rp_ :: Array JSX -> JSX +``` + +#### `Props_rt` + +``` purescript +type Props_rt = (children :: Array JSX) +``` + +#### `rt` + +``` purescript +rt :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_rt) => { | attrs } -> JSX +``` + +#### `rt_` + +``` purescript +rt_ :: Array JSX -> JSX +``` + +#### `Props_rtc` + +``` purescript +type Props_rtc = (children :: Array JSX) +``` + +#### `rtc` + +``` purescript +rtc :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_rtc) => { | attrs } -> JSX +``` + +#### `rtc_` + +``` purescript +rtc_ :: Array JSX -> JSX +``` + +#### `Props_ruby` + +``` purescript +type Props_ruby = (children :: Array JSX) +``` + +#### `ruby` + +``` purescript +ruby :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_ruby) => { | attrs } -> JSX +``` + +#### `ruby_` + +``` purescript +ruby_ :: Array JSX -> JSX +``` + +#### `Props_s` + +``` purescript +type Props_s = (children :: Array JSX) +``` + +#### `s` + +``` purescript +s :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_s) => { | attrs } -> JSX +``` + +#### `s_` + +``` purescript +s_ :: Array JSX -> JSX +``` + +#### `Props_samp` + +``` purescript +type Props_samp = (children :: Array JSX) +``` + +#### `samp` + +``` purescript +samp :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_samp) => { | attrs } -> JSX +``` + +#### `samp_` + +``` purescript +samp_ :: Array JSX -> JSX +``` + +#### `Props_script` + +``` purescript +type Props_script = (async :: Boolean, children :: Array JSX, defer :: Boolean, integrity :: String, nonce :: String, src :: String, "type" :: String) +``` + +#### `script` + +``` purescript +script :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_script) => { | attrs } -> JSX +``` + +#### `script_` + +``` purescript +script_ :: Array JSX -> JSX +``` + +#### `Props_section` + +``` purescript +type Props_section = (children :: Array JSX) +``` + +#### `section` + +``` purescript +section :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_section) => { | attrs } -> JSX +``` + +#### `section_` + +``` purescript +section_ :: Array JSX -> JSX +``` + +#### `Props_select` + +``` purescript +type Props_select = (children :: Array JSX, defaultValue :: String, disabled :: Boolean, form :: String, multiple :: Boolean, name :: String, onChange :: EventHandler, required :: Boolean, size :: Number, value :: String) +``` + +#### `select` + +``` purescript +select :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_select) => { | attrs } -> JSX +``` + +#### `select_` + +``` purescript +select_ :: Array JSX -> JSX +``` + +#### `Props_slot` + +``` purescript +type Props_slot = (children :: Array JSX, name :: String) +``` + +#### `slot` + +``` purescript +slot :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_slot) => { | attrs } -> JSX +``` + +#### `slot_` + +``` purescript +slot_ :: Array JSX -> JSX +``` + +#### `Props_small` + +``` purescript +type Props_small = (children :: Array JSX) +``` + +#### `small` + +``` purescript +small :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_small) => { | attrs } -> JSX +``` + +#### `small_` + +``` purescript +small_ :: Array JSX -> JSX +``` + +#### `Props_source` + +``` purescript +type Props_source = (media :: String, sizes :: String, src :: String, "type" :: String) +``` + +#### `source` + +``` purescript +source :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_source) => { | attrs } -> JSX +``` + +#### `Props_span` + +``` purescript +type Props_span = (children :: Array JSX) +``` + +#### `span` + +``` purescript +span :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_span) => { | attrs } -> JSX +``` + +#### `span_` + +``` purescript +span_ :: Array JSX -> JSX +``` + +#### `Props_strong` + +``` purescript +type Props_strong = (children :: Array JSX) +``` + +#### `strong` + +``` purescript +strong :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_strong) => { | attrs } -> JSX +``` + +#### `strong_` + +``` purescript +strong_ :: Array JSX -> JSX +``` + +#### `Props_style` + +``` purescript +type Props_style = (children :: Array JSX, media :: String, nonce :: String, title :: String, "type" :: String) +``` + +#### `style` + +``` purescript +style :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_style) => { | attrs } -> JSX +``` + +#### `style_` + +``` purescript +style_ :: Array JSX -> JSX +``` + +#### `Props_sub` + +``` purescript +type Props_sub = (children :: Array JSX) +``` + +#### `sub` + +``` purescript +sub :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_sub) => { | attrs } -> JSX +``` + +#### `sub_` + +``` purescript +sub_ :: Array JSX -> JSX +``` + +#### `Props_summary` + +``` purescript +type Props_summary = (children :: Array JSX) +``` + +#### `summary` + +``` purescript +summary :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_summary) => { | attrs } -> JSX +``` + +#### `summary_` + +``` purescript +summary_ :: Array JSX -> JSX +``` + +#### `Props_sup` + +``` purescript +type Props_sup = (children :: Array JSX) +``` + +#### `sup` + +``` purescript +sup :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_sup) => { | attrs } -> JSX +``` + +#### `sup_` + +``` purescript +sup_ :: Array JSX -> JSX +``` + +#### `Props_svg` + +``` purescript +type Props_svg = (accentHeight :: String, accumulate :: String, additive :: String, alignmentBaseline :: String, allowReorder :: String, alphabetic :: String, amplitude :: String, arabicForm :: String, ascent :: String, attributeName :: String, attributeType :: String, autoReverse :: String, azimuth :: String, baseFrequency :: String, baseProfile :: String, baselineShift :: String, bbox :: String, begin :: String, bias :: String, by :: String, calcMode :: String, capHeight :: String, children :: Array JSX, clip :: String, clipPath :: String, clipPathUnits :: String, clipRule :: String, color :: String, colorInterpolation :: String, colorInterpolationFilters :: String, colorProfile :: String, colorRendering :: String, contentScriptType :: String, contentStyleType :: String, cursor :: String, cx :: String, cy :: String, d :: String, decelerate :: String, descent :: String, diffuseConstant :: String, direction :: String, display :: String, divisor :: String, dominantBaseline :: String, dur :: String, dx :: String, dy :: String, edgeMode :: String, elevation :: String, enableBackground :: String, end :: String, exponent :: String, externalResourcesRequired :: String, fill :: String, fillOpacity :: String, fillRule :: String, filter :: String, filterRes :: String, filterUnits :: String, floodColor :: String, floodOpacity :: String, focusable :: String, fontFamily :: String, fontSize :: String, fontSizeAdjust :: String, fontStretch :: String, fontStyle :: String, fontVariant :: String, fontWeight :: String, format :: String, from :: String, fx :: String, fy :: String, g1 :: String, g2 :: String, glyphName :: String, glyphOrientationHorizontal :: String, glyphOrientationVertical :: String, glyphRef :: String, gradientTransform :: String, gradientUnits :: String, hanging :: String, height :: String, horizAdvX :: String, horizOriginX :: String, ideographic :: String, imageRendering :: String, "in" :: String, in2 :: String, intercept :: String, k :: String, k1 :: String, k2 :: String, k3 :: String, k4 :: String, kernelMatrix :: String, kernelUnitLength :: String, kerning :: String, keyPoints :: String, keySplines :: String, keyTimes :: String, lengthAdjust :: String, letterSpacing :: String, lightingColor :: String, limitingConeAngle :: String, local :: String, markerEnd :: String, markerHeight :: String, markerMid :: String, markerStart :: String, markerUnits :: String, markerWidth :: String, mask :: String, maskContentUnits :: String, maskUnits :: String, mathematical :: String, mode :: String, numOctaves :: String, offset :: String, opacity :: String, operator :: String, order :: String, orient :: String, orientation :: String, origin :: String, overflow :: String, overlinePosition :: String, overlineThickness :: String, paintOrder :: String, panose1 :: String, pathLength :: String, patternContentUnits :: String, patternTransform :: String, patternUnits :: String, pointerEvents :: String, points :: String, pointsAtX :: String, pointsAtY :: String, pointsAtZ :: String, preserveAlpha :: String, preserveAspectRatio :: String, primitiveUnits :: String, r :: String, radius :: String, refX :: String, refY :: String, renderingIntent :: String, repeatCount :: String, repeatDur :: String, requiredExtensions :: String, requiredFeatures :: String, restart :: String, result :: String, rotate :: String, rx :: String, ry :: String, scale :: String, seed :: String, shapeRendering :: String, slope :: String, spacing :: String, specularConstant :: String, specularExponent :: String, speed :: String, spreadMethod :: String, startOffset :: String, stdDeviation :: String, stemh :: String, stemv :: String, stitchTiles :: String, stopColor :: String, stopOpacity :: String, strikethroughPosition :: String, strikethroughThickness :: String, string :: String, stroke :: String, strokeDasharray :: String, strokeDashoffset :: String, strokeLinecap :: String, strokeLinejoin :: String, strokeMiterlimit :: String, strokeOpacity :: String, strokeWidth :: String, surfaceScale :: String, systemLanguage :: String, tableValues :: String, targetX :: String, targetY :: String, textAnchor :: String, textDecoration :: String, textLength :: String, textRendering :: String, to :: String, transform :: String, u1 :: String, u2 :: String, underlinePosition :: String, underlineThickness :: String, unicode :: String, unicodeBidi :: String, unicodeRange :: String, unitsPerEm :: String, vAlphabetic :: String, vHanging :: String, vIdeographic :: String, vMathematical :: String, values :: String, vectorEffect :: String, version :: String, vertAdvY :: String, vertOriginX :: String, vertOriginY :: String, viewBox :: String, viewTarget :: String, visibility :: String, width :: String, widths :: String, wordSpacing :: String, writingMode :: String, x :: String, x1 :: String, x2 :: String, xChannelSelector :: String, xHeight :: String, xlinkActuate :: String, xlinkArcrole :: String, xlinkHref :: String, xlinkRole :: String, xlinkShow :: String, xlinkTitle :: String, xlinkType :: String, xmlBase :: String, xmlLang :: String, xmlSpace :: String, xmlns :: String, xmlnsXlink :: String, y :: String, y1 :: String, y2 :: String, yChannelSelector :: String, z :: String, zoomAndPan :: String) +``` + +#### `svg` + +``` purescript +svg :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_svg) => { | attrs } -> JSX +``` + +#### `svg_` + +``` purescript +svg_ :: Array JSX -> JSX +``` + +#### `Props_table` + +``` purescript +type Props_table = (children :: Array JSX, summary :: String, width :: String) +``` + +#### `table` + +``` purescript +table :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_table) => { | attrs } -> JSX +``` + +#### `table_` + +``` purescript +table_ :: Array JSX -> JSX +``` + +#### `Props_tbody` + +``` purescript +type Props_tbody = (children :: Array JSX) +``` + +#### `tbody` + +``` purescript +tbody :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_tbody) => { | attrs } -> JSX +``` + +#### `tbody_` + +``` purescript +tbody_ :: Array JSX -> JSX +``` + +#### `Props_td` + +``` purescript +type Props_td = (children :: Array JSX, headers :: String, height :: String, scope :: String, width :: String) +``` + +#### `td` + +``` purescript +td :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_td) => { | attrs } -> JSX +``` + +#### `td_` + +``` purescript +td_ :: Array JSX -> JSX +``` + +#### `Props_template` + +``` purescript +type Props_template = (children :: Array JSX) +``` + +#### `template` + +``` purescript +template :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_template) => { | attrs } -> JSX +``` + +#### `template_` + +``` purescript +template_ :: Array JSX -> JSX +``` + +#### `Props_textarea` + +``` purescript +type Props_textarea = (autoCapitalize :: String, autoCorrect :: String, children :: Array JSX, cols :: Number, defaultValue :: String, disabled :: Boolean, form :: String, name :: String, onChange :: EventHandler, placeholder :: String, required :: Boolean, rows :: Number, value :: String, wrap :: String) +``` + +#### `textarea` + +``` purescript +textarea :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_textarea) => { | attrs } -> JSX +``` + +#### `textarea_` + +``` purescript +textarea_ :: Array JSX -> JSX +``` + +#### `Props_tfoot` + +``` purescript +type Props_tfoot = (children :: Array JSX) +``` + +#### `tfoot` + +``` purescript +tfoot :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_tfoot) => { | attrs } -> JSX +``` + +#### `tfoot_` + +``` purescript +tfoot_ :: Array JSX -> JSX +``` + +#### `Props_th` + +``` purescript +type Props_th = (children :: Array JSX, headers :: String, height :: String, scope :: String, width :: String) +``` + +#### `th` + +``` purescript +th :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_th) => { | attrs } -> JSX +``` + +#### `th_` + +``` purescript +th_ :: Array JSX -> JSX +``` + +#### `Props_thead` + +``` purescript +type Props_thead = (children :: Array JSX) +``` + +#### `thead` + +``` purescript +thead :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_thead) => { | attrs } -> JSX +``` + +#### `thead_` + +``` purescript +thead_ :: Array JSX -> JSX +``` + +#### `Props_time` + +``` purescript +type Props_time = (children :: Array JSX) +``` + +#### `time` + +``` purescript +time :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_time) => { | attrs } -> JSX +``` + +#### `time_` + +``` purescript +time_ :: Array JSX -> JSX +``` + +#### `Props_title` + +``` purescript +type Props_title = (children :: Array JSX) +``` + +#### `title` + +``` purescript +title :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_title) => { | attrs } -> JSX +``` + +#### `title_` + +``` purescript +title_ :: Array JSX -> JSX +``` + +#### `Props_tr` + +``` purescript +type Props_tr = (children :: Array JSX) +``` + +#### `tr` + +``` purescript +tr :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_tr) => { | attrs } -> JSX +``` + +#### `tr_` + +``` purescript +tr_ :: Array JSX -> JSX +``` + +#### `Props_track` + +``` purescript +type Props_track = (default :: Boolean, kind :: String, label :: String, src :: String) +``` + +#### `track` + +``` purescript +track :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_track) => { | attrs } -> JSX +``` + +#### `Props_u` + +``` purescript +type Props_u = (children :: Array JSX) +``` + +#### `u` + +``` purescript +u :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_u) => { | attrs } -> JSX +``` + +#### `u_` + +``` purescript +u_ :: Array JSX -> JSX +``` + +#### `Props_ul` + +``` purescript +type Props_ul = (children :: Array JSX, "type" :: String) +``` + +#### `ul` + +``` purescript +ul :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_ul) => { | attrs } -> JSX +``` + +#### `ul_` + +``` purescript +ul_ :: Array JSX -> JSX +``` + +#### `Props_var` + +``` purescript +type Props_var = (children :: Array JSX) +``` + +#### `var` + +``` purescript +var :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_var) => { | attrs } -> JSX +``` + +#### `var_` + +``` purescript +var_ :: Array JSX -> JSX +``` + +#### `Props_video` + +``` purescript +type Props_video = (children :: Array JSX, controls :: Boolean, height :: String, loop :: Boolean, muted :: Boolean, playsInline :: Boolean, poster :: String, preload :: String, src :: String, width :: String) +``` + +#### `video` + +``` purescript +video :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_video) => { | attrs } -> JSX +``` + +#### `video_` + +``` purescript +video_ :: Array JSX -> JSX +``` + +#### `Props_wbr` + +``` purescript +type Props_wbr = () +``` + +#### `wbr` + +``` purescript +wbr :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_wbr) => { | attrs } -> JSX +``` + + diff --git a/generated-docs/React/Basic/DOM/Internal.md b/generated-docs/React/Basic/DOM/Internal.md new file mode 100644 index 0000000..2014c92 --- /dev/null +++ b/generated-docs/React/Basic/DOM/Internal.md @@ -0,0 +1,25 @@ +## Module React.Basic.DOM.Internal + +#### `CSS` + +``` purescript +data CSS :: Type +``` + +An abstract type representing records of CSS attributes. + +#### `SharedProps` + +``` purescript +type SharedProps specific = (key :: String, about :: String, acceptCharset :: String, accessKey :: String, allowFullScreen :: Boolean, allowTransparency :: String, autoComplete :: String, autoFocus :: String, autoPlay :: Boolean, capture :: Boolean, cellPadding :: String, cellSpacing :: String, charSet :: String, classID :: String, className :: String, colSpan :: Number, contentEditable :: String, contextMenu :: String, crossOrigin :: String, datatype :: String, dateTime :: String, dir :: String, draggable :: String, encType :: String, formAction :: String, formEncType :: String, formMethod :: String, formNoValidate :: String, formTarget :: String, frameBorder :: String, hidden :: Boolean, hrefLang :: String, htmlFor :: String, httpEquiv :: String, icon :: String, id :: String, inlist :: String, inputMode :: String, is :: String, itemID :: String, itemProp :: String, itemRef :: String, itemScope :: Boolean, itemType :: String, keyParams :: String, keyType :: String, lang :: String, marginHeight :: String, marginWidth :: String, maxLength :: String, mediaGroup :: String, minLength :: String, noValidate :: String, prefix :: String, property :: String, radioGroup :: String, readOnly :: Boolean, resource :: String, role :: String, rowSpan :: Number, scoped :: Boolean, seamless :: Boolean, security :: String, spellCheck :: String, srcDoc :: String, srcLang :: String, srcSet :: String, style :: CSS, tabIndex :: String, title :: String, typeof :: String, unselectable :: String, useMap :: String, vocab :: String, wmode :: String, onClick :: EventHandler | specific) +``` + +Standard props which are shared by all DOM elements. + +#### `unsafeCreateDOMComponent` + +``` purescript +unsafeCreateDOMComponent :: forall props. String -> Component props +``` + + diff --git a/src/React/Basic.js b/src/React/Basic.js index 28b7c98..2d65da9 100644 --- a/src/React/Basic.js +++ b/src/React/Basic.js @@ -4,55 +4,61 @@ var React = require("react"); var Fragment = React.Fragment || "div"; exports.component_ = function(spec) { - var Component = function constructor(props) { + var Component = function constructor() { this.state = spec.initialState; + this._setState = this.setState.bind(this); return this; }; - Component.prototype = Object.create(React.Component.prototype); + Component.prototype = Object.create(React.PureComponent.prototype); Component.displayName = spec.displayName; Component.prototype.componentDidMount = function componentDidMount() { - var this_ = this; - spec.receiveProps(this.props, this.state, function(newState) { - return function() { - this_.setState(newState); - }; + spec.receiveProps({ + isFirstMount: true, + props: this.props, + state: this.state, + setState: this._setState, + setStateThen: this._setState, + instance_: this, }); }; Component.prototype.componentWillReceiveProps = function componentWillReceiveProps( newProps ) { - var this_ = this; - spec.receiveProps(newProps, this.state, function(newState) { - return function() { - this_.setState(newState); - }; + spec.receiveProps({ + isFirstMount: false, + props: newProps, + state: this.state, + setState: this._setState, + setStateThen: this._setState, + instance_: this, }); }; Component.prototype.render = function render() { - var this_ = this; - return spec.render(this.props, this.state, function(newState) { - return function() { - this_.setState(newState); - }; + return spec.render({ + props: this.props, + state: this.state, + setState: this._setState, + setStateThen: this._setState, + instance_: this, }); }; return Component; }; -exports.createElement_ = function(el, attrs) { +exports.element_ = function(el, attrs) { return React.createElement.apply( null, [el, attrs].concat((attrs && attrs.children) || []) ); }; -exports.createElementKeyed_ = exports.createElement_; +exports.elementKeyed_ = exports.element_; exports.fragment = function(children) { return React.createElement.apply(null, [Fragment, {}].concat(children)); diff --git a/src/React/Basic.purs b/src/React/Basic.purs index f0591f3..2438ccd 100644 --- a/src/React/Basic.purs +++ b/src/React/Basic.purs @@ -1,20 +1,21 @@ module React.Basic - ( react + ( Component + , ComponentInstance + , JSX + , component , stateless - , createElement - , createElementKeyed + , element + , elementKeyed , empty , fragment , fragmentKeyed - , JSX - , ReactComponent ) where import Prelude -import Data.Function.Uncurried (Fn2, Fn3, mkFn3, runFn2) +import Data.Function.Uncurried (Fn1, Fn2, mkFn1, runFn2) import Effect (Effect) -import Effect.Uncurried (EffectFn3, mkEffectFn3) +import Effect.Uncurried (EffectFn1, EffectFn2, mkEffectFn1, runEffectFn1, runEffectFn2) import Unsafe.Coerce (unsafeCoerce) -- | A virtual DOM element. @@ -27,7 +28,7 @@ instance monoidJSX :: Monoid JSX where mempty = empty -- | A React component which can be used from JavaScript. -foreign import data ReactComponent :: Type -> Type +foreign import data Component :: Type -> Type -- | Create a React component from a _specification_ of that component. -- | @@ -37,21 +38,51 @@ foreign import data ReactComponent :: Type -> Type -- | -- | The rendering function should return a value of type `JSX`, which can be -- | constructed using the helper functions provided by the `React.Basic.DOM` --- | module (and re-exported here). -react - :: forall props state fx +-- | module. +-- | +-- | Note: This function relies on `React.PureComponent` internally +component + :: forall props state . { displayName :: String , initialState :: { | state } - , receiveProps :: { | props } -> { | state } -> (SetState state fx) -> Effect Unit - , render :: { | props } -> { | state } -> (SetState state fx) -> JSX + , receiveProps :: + { isFirstMount :: Boolean + , props :: { | props } + , state :: { | state } + , setState :: SetState state + , setStateThen :: SetStateThen state + , instance_ :: ComponentInstance + } + -> Effect Unit + , render :: + { props :: { | props } + , state :: { | state } + , setState :: SetState state + , setStateThen :: SetStateThen state + , instance_ :: ComponentInstance + } + -> JSX } - -> ReactComponent { | props } -react { displayName, initialState, receiveProps, render } = + -> Component { | props } +component { displayName, initialState, receiveProps, render } = component_ { displayName , initialState - , receiveProps: mkEffectFn3 receiveProps - , render: mkFn3 render + , receiveProps: mkEffectFn1 \this -> receiveProps + { isFirstMount: this.isFirstMount + , props: this.props + , state: this.state + , setState: runEffectFn1 this.setState + , setStateThen: \update cb -> runEffectFn2 this.setStateThen update (mkEffectFn1 cb) + , instance_: this.instance_ + } + , render: mkFn1 \this -> render + { props: this.props + , state: this.state + , setState: runEffectFn1 this.setState + , setStateThen: \update cb -> runEffectFn2 this.setStateThen update (mkEffectFn1 cb) + , instance_: this.instance_ + } } -- | Create a stateless React component. @@ -63,34 +94,41 @@ stateless . { displayName :: String , render :: { | props } -> JSX } - -> ReactComponent { | props } + -> Component { | props } stateless { displayName, render } = - react + component { displayName , initialState: {} - , receiveProps: \_ _ _ -> pure unit - , render: \props _ _ -> render props + , receiveProps: \_ -> pure unit + , render: \this -> render this.props } -- | SetState uses an update function to modify the current state. -type SetState state fx = ({ | state } -> { | state }) -> Effect Unit +type SetState state = ({ | state } -> { | state }) -> Effect Unit + +-- | SetState uses an update function to modify the current state and a +-- | callback to invoke once the resulting rerender has been completely applied. +type SetStateThen state = ({ | state } -> { | state }) -> ({ | state } -> Effect Unit) -> Effect Unit + +-- | Represents the mounted component instance, or "this" in vanilla React. +foreign import data ComponentInstance :: Type -- | Create a `JSX` node from a React component, by providing the props. -createElement +element :: forall props - . ReactComponent { | props } + . Component { | props } -> { | props } -> JSX -createElement = runFn2 createElement_ +element = runFn2 element_ --- | Like `createElement`, plus a `key` for rendering components in a dynamic list. +-- | Like `element`, plus a `key` for rendering components in a dynamic list. -- | For more information see: https://reactjs.org/docs/reconciliation.html#keys -createElementKeyed +elementKeyed :: forall props - . ReactComponent { | props } + . Component { | props } -> { key :: String | props } -> JSX -createElementKeyed = runFn2 createElementKeyed_ +elementKeyed = runFn2 elementKeyed_ -- | An empty node. This is often useful when you would like to conditionally -- | show something, but you don't want to (or can't) modify the `children` prop @@ -111,16 +149,33 @@ fragmentKeyed = runFn2 fragmentKeyed_ -- | Private FFI foreign import component_ - :: forall props state fx + :: forall props state . { displayName :: String , initialState :: { | state } - , receiveProps :: EffectFn3 { | props } { | state } (SetState state fx) Unit - , render :: Fn3 { | props } { | state } (SetState state fx) JSX + , receiveProps :: + EffectFn1 + { isFirstMount :: Boolean + , props :: { | props } + , state :: { | state } + , setState :: EffectFn1 ({ | state } -> { | state }) Unit + , setStateThen :: EffectFn2 ({ | state } -> { | state }) (EffectFn1 { | state } Unit) Unit + , instance_ :: ComponentInstance + } + Unit + , render :: + Fn1 + { props :: { | props } + , state :: { | state } + , setState :: EffectFn1 ({ | state } -> { | state }) Unit + , setStateThen :: EffectFn2 ({ | state } -> { | state }) (EffectFn1 { | state } Unit) Unit + , instance_ :: ComponentInstance + } + JSX } - -> ReactComponent { | props } + -> Component { | props } -foreign import createElement_ :: forall props. Fn2 (ReactComponent { | props }) { | props } JSX +foreign import element_ :: forall props. Fn2 (Component { | props }) { | props } JSX -foreign import createElementKeyed_ :: forall props. Fn2 (ReactComponent { | props }) { key :: String | props } JSX +foreign import elementKeyed_ :: forall props. Fn2 (Component { | props }) { key :: String | props } JSX foreign import fragmentKeyed_ :: Fn2 String (Array JSX) JSX diff --git a/src/React/Basic/DOM.js b/src/React/Basic/DOM.js index 3306d09..51527c6 100644 --- a/src/React/Basic/DOM.js +++ b/src/React/Basic/DOM.js @@ -1,5 +1,23 @@ "use strict"; +var ReactDOM = require("react-dom"); + +exports.render_ = function(jsx, node, callback) { + ReactDOM.render(jsx, node, callback); +}; + +exports.hydrate_ = function(jsx, node, callback) { + ReactDOM.hydrate(jsx, node, callback); +}; + +exports.unmountComponentAtNode_ = function(node) { + return ReactDOM.unmountComponentAtNode(node); +}; + +exports.findDOMNode_ = function(instance) { + return ReactDOM.findDOMNode(instance); +}; + exports.mergeStyles = function(styles) { return Object.assign.apply(null, [ {} ].concat(styles)); }; diff --git a/src/React/Basic/DOM.purs b/src/React/Basic/DOM.purs index 02156ca..fea3d84 100644 --- a/src/React/Basic/DOM.purs +++ b/src/React/Basic/DOM.purs @@ -5,20 +5,103 @@ -- | constraints. This means that we don't need to provide all props, but any we -- | do provide must have the correct types. -module React.Basic.DOM where - -import Prim.Row (class Union) -import React.Basic (JSX, ReactComponent, createElement) -import React.Basic.Events (EventHandler) +module React.Basic.DOM + ( module Internal + , render + , render' + , hydrate + , hydrate' + , unmount + , findDOMNode + , text + , css + , mergeStyles + , module Generated + ) where + +import Prelude + +import Data.Either (Either) +import Data.Maybe (Maybe(..)) +import Data.Nullable (Nullable, toMaybe) +import Effect (Effect) +import Effect.Exception (Error, throw, try) +import Effect.Uncurried (EffectFn1, EffectFn3, runEffectFn1, runEffectFn3) +import React.Basic (ComponentInstance, JSX) +import React.Basic.DOM.Generated (Props_a, Props_abbr, Props_address, Props_area, Props_article, Props_aside, Props_audio, Props_b, Props_base, Props_bdi, Props_bdo, Props_blockquote, Props_body, Props_br, Props_button, Props_canvas, Props_caption, Props_cite, Props_code, Props_col, Props_colgroup, Props_data, Props_datalist, Props_dd, Props_del, Props_details, Props_dfn, Props_dialog, Props_div, Props_dl, Props_dt, Props_em, Props_embed, Props_fieldset, Props_figcaption, Props_figure, Props_footer, Props_form, Props_h1, Props_h2, Props_h3, Props_h4, Props_h5, Props_h6, Props_head, Props_header, Props_hgroup, Props_hr, Props_html, Props_i, Props_iframe, Props_img, Props_input, Props_ins, Props_kbd, Props_keygen, Props_label, Props_legend, Props_li, Props_link, Props_main, Props_map, Props_mark, Props_math, Props_menu, Props_menuitem, Props_meta, Props_meter, Props_nav, Props_noscript, Props_object, Props_ol, Props_optgroup, Props_option, Props_output, Props_p, Props_param, Props_picture, Props_pre, Props_progress, Props_q, Props_rb, Props_rp, Props_rt, Props_rtc, Props_ruby, Props_s, Props_samp, Props_script, Props_section, Props_select, Props_slot, Props_small, Props_source, Props_span, Props_strong, Props_style, Props_sub, Props_summary, Props_sup, Props_svg, Props_table, Props_tbody, Props_td, Props_template, Props_textarea, Props_tfoot, Props_th, Props_thead, Props_time, Props_title, Props_tr, Props_track, Props_u, Props_ul, Props_var, Props_video, Props_wbr, a, a_, abbr, abbr_, address, address_, area, article, article_, aside, aside_, audio, audio_, b, b_, base, bdi, bdi_, bdo, bdo_, blockquote, blockquote_, body, body_, br, button, button_, canvas, canvas_, caption, caption_, cite, cite_, code, code_, col, colgroup, colgroup_, data', data_, datalist, datalist_, dd, dd_, del, del_, details, details_, dfn, dfn_, dialog, dialog_, div, div_, dl, dl_, dt, dt_, em, em_, embed, fieldset, fieldset_, figcaption, figcaption_, figure, figure_, footer, footer_, form, form_, h1, h1_, h2, h2_, h3, h3_, h4, h4_, h5, h5_, h6, h6_, head, head_, header, header_, hgroup, hgroup_, hr, html, html_, i, i_, iframe, iframe_, img, input, ins, ins_, kbd, kbd_, keygen, keygen_, label, label_, legend, legend_, li, li_, link, main, main_, map, map_, mark, mark_, math, math_, menu, menu_, menuitem, menuitem_, meta, meter, meter_, nav, nav_, noscript, noscript_, object, object_, ol, ol_, optgroup, optgroup_, option, option_, output, output_, p, p_, param, picture, picture_, pre, pre_, progress, progress_, q, q_, rb, rb_, rp, rp_, rt, rt_, rtc, rtc_, ruby, ruby_, s, s_, samp, samp_, script, script_, section, section_, select, select_, slot, slot_, small, small_, source, span, span_, strong, strong_, style, style_, sub, sub_, summary, summary_, sup, sup_, svg, svg_, table, table_, tbody, tbody_, td, td_, template, template_, textarea, textarea_, tfoot, tfoot_, th, th_, thead, thead_, time, time_, title, title_, tr, tr_, track, u, u_, ul, ul_, var, var_, video, video_, wbr) as Generated +import React.Basic.DOM.Internal (CSS, SharedProps, unsafeCreateDOMComponent) as Internal import Unsafe.Coerce (unsafeCoerce) +import Web.DOM (Element, Node) + +-- | Render or update/re-render a component tree into +-- | a DOM element. +-- | +-- | Note: Relies on `ReactDOM.render` +render :: JSX -> Element -> Effect Unit +render jsx node = render' jsx node (pure unit) + +-- | Render or update/re-render a component tree into +-- | a DOM element. The given Effect is run once the +-- | DOM update is complete. +-- | +-- | Note: Relies on `ReactDOM.render` +render' :: JSX -> Element -> Effect Unit -> Effect Unit +render' = runEffectFn3 render_ + +foreign import render_ :: EffectFn3 JSX Element (Effect Unit) Unit + +-- | Render or update/re-render a component tree into +-- | a DOM element, attempting to reuse the existing +-- | DOM tree. +-- | +-- | Note: Relies on `ReactDOM.hydrate`, generally only +-- | used with `ReactDOMServer.renderToNodeStream` or +-- | `ReactDOMServer.renderToString` +hydrate :: JSX -> Element -> Effect Unit +hydrate jsx node = hydrate' jsx node (pure unit) + +-- | Render or update/re-render a component tree into +-- | a DOM element, attempting to reuse the existing +-- | DOM tree. The given Effect is run once the +-- | DOM update is complete. +-- | +-- | Note: Relies on `ReactDOM.hydrate`, generally only +-- | used with `ReactDOMServer.renderToNodeStream` or +-- | `ReactDOMServer.renderToString` +hydrate' :: JSX -> Element -> Effect Unit -> Effect Unit +hydrate' = runEffectFn3 hydrate_ + +foreign import hydrate_ :: EffectFn3 JSX Element (Effect Unit) Unit + +-- | Attempt to unmount and clean up the React app +-- | rendered into the given element. Returns `true` +-- | if an app existed and was unmounted successfully. +-- | +-- | Note: Relies on `ReactDOM.unmountComponentAtNode` +unmount :: Element -> Effect Boolean +unmount = runEffectFn1 unmountComponentAtNode_ + +foreign import unmountComponentAtNode_ :: EffectFn1 Element Boolean + +-- | Returns the current DOM node associated with the given +-- | instance, or an Error if no node was found or the given +-- | instance was not mounted. +-- | +-- | Note: Relies on `ReactDOM.findDOMNode` +findDOMNode :: ComponentInstance -> Effect (Either Error Node) +findDOMNode instance_ = try do + node <- runEffectFn1 findDOMNode_ instance_ + case toMaybe node of + Nothing -> throw "Node not found." + Just n -> pure n + +-- | Warning: Relies on `ReactDOM.findDOMNode` which may throw exceptions +foreign import findDOMNode_ :: EffectFn1 ComponentInstance (Nullable Node) -- | Create a text node. text :: String -> JSX text = unsafeCoerce --- | An abstract type representing records of CSS attributes. -foreign import data CSS :: Type - -- | Create a value of type `CSS` (which can be provided to the `style` property) -- | from a plain record of CSS attributes. -- | @@ -27,7 +110,7 @@ foreign import data CSS :: Type -- | ``` -- | div { style: css { padding: "5px" } } [ text "This text is padded." ] -- | ``` -css :: forall css. { | css } -> CSS +css :: forall css. { | css } -> Internal.CSS css = unsafeCoerce -- | Merge styles from right to left. Uses `Object.assign`. @@ -37,2147 +120,4 @@ css = unsafeCoerce -- | ``` -- | style: mergeCSS [ (css { padding: "5px" }), props.style ] -- | ``` -foreign import mergeStyles :: Array CSS -> CSS - --- | Standard props which are shared by all DOM elements. -type SharedProps specific = - -- | `key` is not really a DOM attribute - React intercepts it - ( key :: String - - , about :: String - , acceptCharset :: String - , accessKey :: String - , allowFullScreen :: Boolean - , allowTransparency :: String - , autoComplete :: String - , autoFocus :: String - , autoPlay :: Boolean - , capture :: Boolean - , cellPadding :: String - , cellSpacing :: String - , charSet :: String - , classID :: String - , className :: String - , colSpan :: Number - , contentEditable :: String - , contextMenu :: String - , crossOrigin :: String - , datatype :: String - , dateTime :: String - , dir :: String - , draggable :: String - , encType :: String - , formAction :: String - , formEncType :: String - , formMethod :: String - , formNoValidate :: String - , formTarget :: String - , frameBorder :: String - , hidden :: Boolean - , hrefLang :: String - , htmlFor :: String - , httpEquiv :: String - , icon :: String - , id :: String - , inlist :: String - , inputMode :: String - , is :: String - , itemID :: String - , itemProp :: String - , itemRef :: String - , itemScope :: Boolean - , itemType :: String - , keyParams :: String - , keyType :: String - , lang :: String - , marginHeight :: String - , marginWidth :: String - , maxLength :: String - , mediaGroup :: String - , minLength :: String - , noValidate :: String - , prefix :: String - , property :: String - , radioGroup :: String - , readOnly :: Boolean - , resource :: String - , role :: String - , rowSpan :: Number - , scoped :: Boolean - , seamless :: Boolean - , security :: String - , spellCheck :: String - , srcDoc :: String - , srcLang :: String - , srcSet :: String - , style :: CSS - , tabIndex :: String - , title :: String - , typeof :: String - , unselectable :: String - , useMap :: String - , vocab :: String - , wmode :: String - , onClick :: EventHandler - -- TODO: add more common event handlers - | specific - ) - -unsafeCreateDOMComponent :: forall props. String -> ReactComponent props -unsafeCreateDOMComponent = unsafeCoerce - --- | ------------------------------- --- | GENERATED CODE BELOW THIS LINE! --- | ------------------------------- - -type Props_a = - ( children :: Array JSX - , coords :: String - , download :: String - , href :: String - , name :: String - , onClick :: EventHandler - , rel :: String - , shape :: String - , target :: String - , type :: String - ) - -a - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_a) - => Record attrs - -> JSX -a = createElement (unsafeCreateDOMComponent "a") - -a_ :: Array JSX -> JSX -a_ children = a { children } - -type Props_abbr = - ( children :: Array JSX - , title :: String - ) - -abbr - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_abbr) - => Record attrs - -> JSX -abbr = createElement (unsafeCreateDOMComponent "abbr") - -abbr_ :: Array JSX -> JSX -abbr_ children = abbr { children } - -type Props_address = - ( children :: Array JSX - ) - -address - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_address) - => Record attrs - -> JSX -address = createElement (unsafeCreateDOMComponent "address") - -address_ :: Array JSX -> JSX -address_ children = address { children } - -type Props_area = - ( alt :: String - , coords :: String - , download :: String - , href :: String - , rel :: String - , shape :: String - , target :: String - , type :: String - ) - -area - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_area) - => Record attrs - -> JSX -area = createElement (unsafeCreateDOMComponent "area") - -type Props_article = - ( children :: Array JSX - ) - -article - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_article) - => Record attrs - -> JSX -article = createElement (unsafeCreateDOMComponent "article") - -article_ :: Array JSX -> JSX -article_ children = article { children } - -type Props_aside = - ( children :: Array JSX - ) - -aside - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_aside) - => Record attrs - -> JSX -aside = createElement (unsafeCreateDOMComponent "aside") - -aside_ :: Array JSX -> JSX -aside_ children = aside { children } - -type Props_audio = - ( children :: Array JSX - , controls :: Boolean - , loop :: Boolean - , muted :: Boolean - , preload :: String - , src :: String - ) - -audio - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_audio) - => Record attrs - -> JSX -audio = createElement (unsafeCreateDOMComponent "audio") - -audio_ :: Array JSX -> JSX -audio_ children = audio { children } - -type Props_b = - ( children :: Array JSX - ) - -b - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_b) - => Record attrs - -> JSX -b = createElement (unsafeCreateDOMComponent "b") - -b_ :: Array JSX -> JSX -b_ children = b { children } - -type Props_base = - ( href :: String - , target :: String - ) - -base - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_base) - => Record attrs - -> JSX -base = createElement (unsafeCreateDOMComponent "base") - -type Props_bdi = - ( children :: Array JSX - ) - -bdi - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_bdi) - => Record attrs - -> JSX -bdi = createElement (unsafeCreateDOMComponent "bdi") - -bdi_ :: Array JSX -> JSX -bdi_ children = bdi { children } - -type Props_bdo = - ( children :: Array JSX - , dir :: String - ) - -bdo - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_bdo) - => Record attrs - -> JSX -bdo = createElement (unsafeCreateDOMComponent "bdo") - -bdo_ :: Array JSX -> JSX -bdo_ children = bdo { children } - -type Props_blockquote = - ( children :: Array JSX - , cite :: String - ) - -blockquote - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_blockquote) - => Record attrs - -> JSX -blockquote = createElement (unsafeCreateDOMComponent "blockquote") - -blockquote_ :: Array JSX -> JSX -blockquote_ children = blockquote { children } - -type Props_body = - ( children :: Array JSX - ) - -body - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_body) - => Record attrs - -> JSX -body = createElement (unsafeCreateDOMComponent "body") - -body_ :: Array JSX -> JSX -body_ children = body { children } - -type Props_br =() - -br - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_br) - => Record attrs - -> JSX -br = createElement (unsafeCreateDOMComponent "br") - -type Props_button = - ( children :: Array JSX - , disabled :: Boolean - , form :: String - , name :: String - , type :: String - , value :: String - ) - -button - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_button) - => Record attrs - -> JSX -button = createElement (unsafeCreateDOMComponent "button") - -button_ :: Array JSX -> JSX -button_ children = button { children } - -type Props_canvas = - ( children :: Array JSX - , height :: String - , width :: String - ) - -canvas - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_canvas) - => Record attrs - -> JSX -canvas = createElement (unsafeCreateDOMComponent "canvas") - -canvas_ :: Array JSX -> JSX -canvas_ children = canvas { children } - -type Props_caption = - ( children :: Array JSX - ) - -caption - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_caption) - => Record attrs - -> JSX -caption = createElement (unsafeCreateDOMComponent "caption") - -caption_ :: Array JSX -> JSX -caption_ children = caption { children } - -type Props_cite = - ( children :: Array JSX - ) - -cite - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_cite) - => Record attrs - -> JSX -cite = createElement (unsafeCreateDOMComponent "cite") - -cite_ :: Array JSX -> JSX -cite_ children = cite { children } - -type Props_code = - ( children :: Array JSX - ) - -code - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_code) - => Record attrs - -> JSX -code = createElement (unsafeCreateDOMComponent "code") - -code_ :: Array JSX -> JSX -code_ children = code { children } - -type Props_col = - ( span :: Number - , width :: String - ) - -col - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_col) - => Record attrs - -> JSX -col = createElement (unsafeCreateDOMComponent "col") - -type Props_colgroup = - ( children :: Array JSX - , span :: Number - , width :: String - ) - -colgroup - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_colgroup) - => Record attrs - -> JSX -colgroup = createElement (unsafeCreateDOMComponent "colgroup") - -colgroup_ :: Array JSX -> JSX -colgroup_ children = colgroup { children } - -type Props_data = - ( children :: Array JSX - , value :: String - ) - -data' - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_data) - => Record attrs - -> JSX -data' = createElement (unsafeCreateDOMComponent "data") - -data_ :: Array JSX -> JSX -data_ children = data' { children } - -type Props_datalist = - ( children :: Array JSX - ) - -datalist - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_datalist) - => Record attrs - -> JSX -datalist = createElement (unsafeCreateDOMComponent "datalist") - -datalist_ :: Array JSX -> JSX -datalist_ children = datalist { children } - -type Props_dd = - ( children :: Array JSX - ) - -dd - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_dd) - => Record attrs - -> JSX -dd = createElement (unsafeCreateDOMComponent "dd") - -dd_ :: Array JSX -> JSX -dd_ children = dd { children } - -type Props_del = - ( children :: Array JSX - , cite :: String - ) - -del - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_del) - => Record attrs - -> JSX -del = createElement (unsafeCreateDOMComponent "del") - -del_ :: Array JSX -> JSX -del_ children = del { children } - -type Props_details = - ( children :: Array JSX - , open :: Boolean - ) - -details - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_details) - => Record attrs - -> JSX -details = createElement (unsafeCreateDOMComponent "details") - -details_ :: Array JSX -> JSX -details_ children = details { children } - -type Props_dfn = - ( children :: Array JSX - , title :: String - ) - -dfn - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_dfn) - => Record attrs - -> JSX -dfn = createElement (unsafeCreateDOMComponent "dfn") - -dfn_ :: Array JSX -> JSX -dfn_ children = dfn { children } - -type Props_dialog = - ( children :: Array JSX - , open :: Boolean - ) - -dialog - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_dialog) - => Record attrs - -> JSX -dialog = createElement (unsafeCreateDOMComponent "dialog") - -dialog_ :: Array JSX -> JSX -dialog_ children = dialog { children } - -type Props_div = - ( children :: Array JSX - ) - -div - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_div) - => Record attrs - -> JSX -div = createElement (unsafeCreateDOMComponent "div") - -div_ :: Array JSX -> JSX -div_ children = div { children } - -type Props_dl = - ( children :: Array JSX - ) - -dl - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_dl) - => Record attrs - -> JSX -dl = createElement (unsafeCreateDOMComponent "dl") - -dl_ :: Array JSX -> JSX -dl_ children = dl { children } - -type Props_dt = - ( children :: Array JSX - ) - -dt - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_dt) - => Record attrs - -> JSX -dt = createElement (unsafeCreateDOMComponent "dt") - -dt_ :: Array JSX -> JSX -dt_ children = dt { children } - -type Props_em = - ( children :: Array JSX - ) - -em - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_em) - => Record attrs - -> JSX -em = createElement (unsafeCreateDOMComponent "em") - -em_ :: Array JSX -> JSX -em_ children = em { children } - -type Props_embed = - ( height :: String - , src :: String - , type :: String - , width :: String - ) - -embed - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_embed) - => Record attrs - -> JSX -embed = createElement (unsafeCreateDOMComponent "embed") - -type Props_fieldset = - ( children :: Array JSX - , disabled :: Boolean - , form :: String - , name :: String - ) - -fieldset - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_fieldset) - => Record attrs - -> JSX -fieldset = createElement (unsafeCreateDOMComponent "fieldset") - -fieldset_ :: Array JSX -> JSX -fieldset_ children = fieldset { children } - -type Props_figcaption = - ( children :: Array JSX - ) - -figcaption - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_figcaption) - => Record attrs - -> JSX -figcaption = createElement (unsafeCreateDOMComponent "figcaption") - -figcaption_ :: Array JSX -> JSX -figcaption_ children = figcaption { children } - -type Props_figure = - ( children :: Array JSX - ) - -figure - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_figure) - => Record attrs - -> JSX -figure = createElement (unsafeCreateDOMComponent "figure") - -figure_ :: Array JSX -> JSX -figure_ children = figure { children } - -type Props_footer = - ( children :: Array JSX - ) - -footer - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_footer) - => Record attrs - -> JSX -footer = createElement (unsafeCreateDOMComponent "footer") - -footer_ :: Array JSX -> JSX -footer_ children = footer { children } - -type Props_form = - ( accept :: String - , action :: String - , children :: Array JSX - , method :: String - , name :: String - , onChange :: EventHandler - , onInput :: EventHandler - , onInvalid :: EventHandler - , onSubmit :: EventHandler - , target :: String - ) - -form - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_form) - => Record attrs - -> JSX -form = createElement (unsafeCreateDOMComponent "form") - -form_ :: Array JSX -> JSX -form_ children = form { children } - -type Props_h1 = - ( children :: Array JSX - ) - -h1 - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_h1) - => Record attrs - -> JSX -h1 = createElement (unsafeCreateDOMComponent "h1") - -h1_ :: Array JSX -> JSX -h1_ children = h1 { children } - -type Props_h2 = - ( children :: Array JSX - ) - -h2 - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_h2) - => Record attrs - -> JSX -h2 = createElement (unsafeCreateDOMComponent "h2") - -h2_ :: Array JSX -> JSX -h2_ children = h2 { children } - -type Props_h3 = - ( children :: Array JSX - ) - -h3 - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_h3) - => Record attrs - -> JSX -h3 = createElement (unsafeCreateDOMComponent "h3") - -h3_ :: Array JSX -> JSX -h3_ children = h3 { children } - -type Props_h4 = - ( children :: Array JSX - ) - -h4 - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_h4) - => Record attrs - -> JSX -h4 = createElement (unsafeCreateDOMComponent "h4") - -h4_ :: Array JSX -> JSX -h4_ children = h4 { children } - -type Props_h5 = - ( children :: Array JSX - ) - -h5 - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_h5) - => Record attrs - -> JSX -h5 = createElement (unsafeCreateDOMComponent "h5") - -h5_ :: Array JSX -> JSX -h5_ children = h5 { children } - -type Props_h6 = - ( children :: Array JSX - ) - -h6 - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_h6) - => Record attrs - -> JSX -h6 = createElement (unsafeCreateDOMComponent "h6") - -h6_ :: Array JSX -> JSX -h6_ children = h6 { children } - -type Props_head = - ( children :: Array JSX - , profile :: String - ) - -head - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_head) - => Record attrs - -> JSX -head = createElement (unsafeCreateDOMComponent "head") - -head_ :: Array JSX -> JSX -head_ children = head { children } - -type Props_header = - ( children :: Array JSX - ) - -header - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_header) - => Record attrs - -> JSX -header = createElement (unsafeCreateDOMComponent "header") - -header_ :: Array JSX -> JSX -header_ children = header { children } - -type Props_hgroup = - ( children :: Array JSX - ) - -hgroup - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_hgroup) - => Record attrs - -> JSX -hgroup = createElement (unsafeCreateDOMComponent "hgroup") - -hgroup_ :: Array JSX -> JSX -hgroup_ children = hgroup { children } - -type Props_hr = - ( size :: Number - , width :: String - ) - -hr - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_hr) - => Record attrs - -> JSX -hr = createElement (unsafeCreateDOMComponent "hr") - -type Props_html = - ( children :: Array JSX - , manifest :: String - ) - -html - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_html) - => Record attrs - -> JSX -html = createElement (unsafeCreateDOMComponent "html") - -html_ :: Array JSX -> JSX -html_ children = html { children } - -type Props_i = - ( children :: Array JSX - ) - -i - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_i) - => Record attrs - -> JSX -i = createElement (unsafeCreateDOMComponent "i") - -i_ :: Array JSX -> JSX -i_ children = i { children } - -type Props_iframe = - ( children :: Array JSX - , height :: String - , name :: String - , sandbox :: String - , scrolling :: String - , src :: String - , width :: String - ) - -iframe - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_iframe) - => Record attrs - -> JSX -iframe = createElement (unsafeCreateDOMComponent "iframe") - -iframe_ :: Array JSX -> JSX -iframe_ children = iframe { children } - -type Props_img = - ( alt :: String - , height :: String - , name :: String - , sizes :: String - , src :: String - , width :: String - ) - -img - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_img) - => Record attrs - -> JSX -img = createElement (unsafeCreateDOMComponent "img") - -type Props_input = - ( accept :: String - , alt :: String - , autoCapitalize :: String - , autoCorrect :: String - , autoSave :: String - , checked :: Boolean - , defaultChecked :: String - , defaultValue :: String - , disabled :: Boolean - , form :: String - , height :: String - , list :: String - , max :: Number - , min :: Number - , multiple :: Boolean - , name :: String - , onChange :: EventHandler - , pattern :: String - , placeholder :: String - , required :: Boolean - , results :: String - , size :: Number - , src :: String - , step :: String - , title :: String - , type :: String - , value :: String - , width :: String - ) - -input - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_input) - => Record attrs - -> JSX -input = createElement (unsafeCreateDOMComponent "input") - -type Props_ins = - ( children :: Array JSX - , cite :: String - ) - -ins - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_ins) - => Record attrs - -> JSX -ins = createElement (unsafeCreateDOMComponent "ins") - -ins_ :: Array JSX -> JSX -ins_ children = ins { children } - -type Props_kbd = - ( children :: Array JSX - ) - -kbd - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_kbd) - => Record attrs - -> JSX -kbd = createElement (unsafeCreateDOMComponent "kbd") - -kbd_ :: Array JSX -> JSX -kbd_ children = kbd { children } - -type Props_keygen = - ( challenge :: String - , children :: Array JSX - , disabled :: Boolean - , form :: String - , name :: String - ) - -keygen - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_keygen) - => Record attrs - -> JSX -keygen = createElement (unsafeCreateDOMComponent "keygen") - -keygen_ :: Array JSX -> JSX -keygen_ children = keygen { children } - -type Props_label = - ( children :: Array JSX - , form :: String - ) - -label - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_label) - => Record attrs - -> JSX -label = createElement (unsafeCreateDOMComponent "label") - -label_ :: Array JSX -> JSX -label_ children = label { children } - -type Props_legend = - ( children :: Array JSX - ) - -legend - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_legend) - => Record attrs - -> JSX -legend = createElement (unsafeCreateDOMComponent "legend") - -legend_ :: Array JSX -> JSX -legend_ children = legend { children } - -type Props_li = - ( children :: Array JSX - , type :: String - , value :: String - ) - -li - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_li) - => Record attrs - -> JSX -li = createElement (unsafeCreateDOMComponent "li") - -li_ :: Array JSX -> JSX -li_ children = li { children } - -type Props_link = - ( color :: String - , href :: String - , integrity :: String - , media :: String - , nonce :: String - , rel :: String - , scope :: String - , sizes :: String - , target :: String - , title :: String - , type :: String - ) - -link - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_link) - => Record attrs - -> JSX -link = createElement (unsafeCreateDOMComponent "link") - -type Props_main = - ( children :: Array JSX - ) - -main - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_main) - => Record attrs - -> JSX -main = createElement (unsafeCreateDOMComponent "main") - -main_ :: Array JSX -> JSX -main_ children = main { children } - -type Props_map = - ( children :: Array JSX - , name :: String - ) - -map - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_map) - => Record attrs - -> JSX -map = createElement (unsafeCreateDOMComponent "map") - -map_ :: Array JSX -> JSX -map_ children = map { children } - -type Props_mark = - ( children :: Array JSX - ) - -mark - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_mark) - => Record attrs - -> JSX -mark = createElement (unsafeCreateDOMComponent "mark") - -mark_ :: Array JSX -> JSX -mark_ children = mark { children } - -type Props_math = - ( children :: Array JSX - ) - -math - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_math) - => Record attrs - -> JSX -math = createElement (unsafeCreateDOMComponent "math") - -math_ :: Array JSX -> JSX -math_ children = math { children } - -type Props_menu = - ( children :: Array JSX - ) - -menu - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_menu) - => Record attrs - -> JSX -menu = createElement (unsafeCreateDOMComponent "menu") - -menu_ :: Array JSX -> JSX -menu_ children = menu { children } - -type Props_menuitem = - ( children :: Array JSX - ) - -menuitem - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_menuitem) - => Record attrs - -> JSX -menuitem = createElement (unsafeCreateDOMComponent "menuitem") - -menuitem_ :: Array JSX -> JSX -menuitem_ children = menuitem { children } - -type Props_meta = - ( content :: String - , name :: String - ) - -meta - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_meta) - => Record attrs - -> JSX -meta = createElement (unsafeCreateDOMComponent "meta") - -type Props_meter = - ( children :: Array JSX - , high :: String - , low :: String - , max :: Number - , min :: Number - , optimum :: String - , value :: String - ) - -meter - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_meter) - => Record attrs - -> JSX -meter = createElement (unsafeCreateDOMComponent "meter") - -meter_ :: Array JSX -> JSX -meter_ children = meter { children } - -type Props_nav = - ( children :: Array JSX - ) - -nav - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_nav) - => Record attrs - -> JSX -nav = createElement (unsafeCreateDOMComponent "nav") - -nav_ :: Array JSX -> JSX -nav_ children = nav { children } - -type Props_noscript = - ( children :: Array JSX - ) - -noscript - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_noscript) - => Record attrs - -> JSX -noscript = createElement (unsafeCreateDOMComponent "noscript") - -noscript_ :: Array JSX -> JSX -noscript_ children = noscript { children } - -type Props_object = - ( children :: Array JSX - , data :: String - , form :: String - , height :: String - , name :: String - , type :: String - , width :: String - ) - -object - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_object) - => Record attrs - -> JSX -object = createElement (unsafeCreateDOMComponent "object") - -object_ :: Array JSX -> JSX -object_ children = object { children } - -type Props_ol = - ( children :: Array JSX - , reversed :: Boolean - , start :: Number - , type :: String - ) - -ol - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_ol) - => Record attrs - -> JSX -ol = createElement (unsafeCreateDOMComponent "ol") - -ol_ :: Array JSX -> JSX -ol_ children = ol { children } - -type Props_optgroup = - ( children :: Array JSX - , disabled :: Boolean - , label :: String - ) - -optgroup - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_optgroup) - => Record attrs - -> JSX -optgroup = createElement (unsafeCreateDOMComponent "optgroup") - -optgroup_ :: Array JSX -> JSX -optgroup_ children = optgroup { children } - -type Props_option = - ( children :: Array JSX - , disabled :: Boolean - , label :: String - , selected :: Boolean - , value :: String - ) - -option - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_option) - => Record attrs - -> JSX -option = createElement (unsafeCreateDOMComponent "option") - -option_ :: Array JSX -> JSX -option_ children = option { children } - -type Props_output = - ( children :: Array JSX - , form :: String - , name :: String - ) - -output - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_output) - => Record attrs - -> JSX -output = createElement (unsafeCreateDOMComponent "output") - -output_ :: Array JSX -> JSX -output_ children = output { children } - -type Props_p = - ( children :: Array JSX - ) - -p - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_p) - => Record attrs - -> JSX -p = createElement (unsafeCreateDOMComponent "p") - -p_ :: Array JSX -> JSX -p_ children = p { children } - -type Props_param = - ( name :: String - , type :: String - , value :: String - ) - -param - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_param) - => Record attrs - -> JSX -param = createElement (unsafeCreateDOMComponent "param") - -type Props_picture = - ( children :: Array JSX - ) - -picture - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_picture) - => Record attrs - -> JSX -picture = createElement (unsafeCreateDOMComponent "picture") - -picture_ :: Array JSX -> JSX -picture_ children = picture { children } - -type Props_pre = - ( children :: Array JSX - , width :: String - ) - -pre - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_pre) - => Record attrs - -> JSX -pre = createElement (unsafeCreateDOMComponent "pre") - -pre_ :: Array JSX -> JSX -pre_ children = pre { children } - -type Props_progress = - ( children :: Array JSX - , max :: Number - , value :: String - ) - -progress - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_progress) - => Record attrs - -> JSX -progress = createElement (unsafeCreateDOMComponent "progress") - -progress_ :: Array JSX -> JSX -progress_ children = progress { children } - -type Props_q = - ( children :: Array JSX - , cite :: String - ) - -q - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_q) - => Record attrs - -> JSX -q = createElement (unsafeCreateDOMComponent "q") - -q_ :: Array JSX -> JSX -q_ children = q { children } - -type Props_rb = - ( children :: Array JSX - ) - -rb - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_rb) - => Record attrs - -> JSX -rb = createElement (unsafeCreateDOMComponent "rb") - -rb_ :: Array JSX -> JSX -rb_ children = rb { children } - -type Props_rp = - ( children :: Array JSX - ) - -rp - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_rp) - => Record attrs - -> JSX -rp = createElement (unsafeCreateDOMComponent "rp") - -rp_ :: Array JSX -> JSX -rp_ children = rp { children } - -type Props_rt = - ( children :: Array JSX - ) - -rt - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_rt) - => Record attrs - -> JSX -rt = createElement (unsafeCreateDOMComponent "rt") - -rt_ :: Array JSX -> JSX -rt_ children = rt { children } - -type Props_rtc = - ( children :: Array JSX - ) - -rtc - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_rtc) - => Record attrs - -> JSX -rtc = createElement (unsafeCreateDOMComponent "rtc") - -rtc_ :: Array JSX -> JSX -rtc_ children = rtc { children } - -type Props_ruby = - ( children :: Array JSX - ) - -ruby - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_ruby) - => Record attrs - -> JSX -ruby = createElement (unsafeCreateDOMComponent "ruby") - -ruby_ :: Array JSX -> JSX -ruby_ children = ruby { children } - -type Props_s = - ( children :: Array JSX - ) - -s - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_s) - => Record attrs - -> JSX -s = createElement (unsafeCreateDOMComponent "s") - -s_ :: Array JSX -> JSX -s_ children = s { children } - -type Props_samp = - ( children :: Array JSX - ) - -samp - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_samp) - => Record attrs - -> JSX -samp = createElement (unsafeCreateDOMComponent "samp") - -samp_ :: Array JSX -> JSX -samp_ children = samp { children } - -type Props_script = - ( async :: Boolean - , children :: Array JSX - , defer :: Boolean - , integrity :: String - , nonce :: String - , src :: String - , type :: String - ) - -script - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_script) - => Record attrs - -> JSX -script = createElement (unsafeCreateDOMComponent "script") - -script_ :: Array JSX -> JSX -script_ children = script { children } - -type Props_section = - ( children :: Array JSX - ) - -section - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_section) - => Record attrs - -> JSX -section = createElement (unsafeCreateDOMComponent "section") - -section_ :: Array JSX -> JSX -section_ children = section { children } - -type Props_select = - ( children :: Array JSX - , defaultValue :: String - , disabled :: Boolean - , form :: String - , multiple :: Boolean - , name :: String - , onChange :: EventHandler - , required :: Boolean - , size :: Number - , value :: String - ) - -select - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_select) - => Record attrs - -> JSX -select = createElement (unsafeCreateDOMComponent "select") - -select_ :: Array JSX -> JSX -select_ children = select { children } - -type Props_slot = - ( children :: Array JSX - , name :: String - ) - -slot - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_slot) - => Record attrs - -> JSX -slot = createElement (unsafeCreateDOMComponent "slot") - -slot_ :: Array JSX -> JSX -slot_ children = slot { children } - -type Props_small = - ( children :: Array JSX - ) - -small - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_small) - => Record attrs - -> JSX -small = createElement (unsafeCreateDOMComponent "small") - -small_ :: Array JSX -> JSX -small_ children = small { children } - -type Props_source = - ( media :: String - , sizes :: String - , src :: String - , type :: String - ) - -source - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_source) - => Record attrs - -> JSX -source = createElement (unsafeCreateDOMComponent "source") - -type Props_span = - ( children :: Array JSX - ) - -span - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_span) - => Record attrs - -> JSX -span = createElement (unsafeCreateDOMComponent "span") - -span_ :: Array JSX -> JSX -span_ children = span { children } - -type Props_strong = - ( children :: Array JSX - ) - -strong - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_strong) - => Record attrs - -> JSX -strong = createElement (unsafeCreateDOMComponent "strong") - -strong_ :: Array JSX -> JSX -strong_ children = strong { children } - -type Props_style = - ( children :: Array JSX - , media :: String - , nonce :: String - , title :: String - , type :: String - ) - -style - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_style) - => Record attrs - -> JSX -style = createElement (unsafeCreateDOMComponent "style") - -style_ :: Array JSX -> JSX -style_ children = style { children } - -type Props_sub = - ( children :: Array JSX - ) - -sub - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_sub) - => Record attrs - -> JSX -sub = createElement (unsafeCreateDOMComponent "sub") - -sub_ :: Array JSX -> JSX -sub_ children = sub { children } - -type Props_summary = - ( children :: Array JSX - ) - -summary - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_summary) - => Record attrs - -> JSX -summary = createElement (unsafeCreateDOMComponent "summary") - -summary_ :: Array JSX -> JSX -summary_ children = summary { children } - -type Props_sup = - ( children :: Array JSX - ) - -sup - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_sup) - => Record attrs - -> JSX -sup = createElement (unsafeCreateDOMComponent "sup") - -sup_ :: Array JSX -> JSX -sup_ children = sup { children } - -type Props_svg = - ( accentHeight :: String - , accumulate :: String - , additive :: String - , alignmentBaseline :: String - , allowReorder :: String - , alphabetic :: String - , amplitude :: String - , arabicForm :: String - , ascent :: String - , attributeName :: String - , attributeType :: String - , autoReverse :: String - , azimuth :: String - , baseFrequency :: String - , baseProfile :: String - , baselineShift :: String - , bbox :: String - , begin :: String - , bias :: String - , by :: String - , calcMode :: String - , capHeight :: String - , children :: Array JSX - , clip :: String - , clipPath :: String - , clipPathUnits :: String - , clipRule :: String - , color :: String - , colorInterpolation :: String - , colorInterpolationFilters :: String - , colorProfile :: String - , colorRendering :: String - , contentScriptType :: String - , contentStyleType :: String - , cursor :: String - , cx :: String - , cy :: String - , d :: String - , decelerate :: String - , descent :: String - , diffuseConstant :: String - , direction :: String - , display :: String - , divisor :: String - , dominantBaseline :: String - , dur :: String - , dx :: String - , dy :: String - , edgeMode :: String - , elevation :: String - , enableBackground :: String - , end :: String - , exponent :: String - , externalResourcesRequired :: String - , fill :: String - , fillOpacity :: String - , fillRule :: String - , filter :: String - , filterRes :: String - , filterUnits :: String - , floodColor :: String - , floodOpacity :: String - , focusable :: String - , fontFamily :: String - , fontSize :: String - , fontSizeAdjust :: String - , fontStretch :: String - , fontStyle :: String - , fontVariant :: String - , fontWeight :: String - , format :: String - , from :: String - , fx :: String - , fy :: String - , g1 :: String - , g2 :: String - , glyphName :: String - , glyphOrientationHorizontal :: String - , glyphOrientationVertical :: String - , glyphRef :: String - , gradientTransform :: String - , gradientUnits :: String - , hanging :: String - , height :: String - , horizAdvX :: String - , horizOriginX :: String - , ideographic :: String - , imageRendering :: String - , in :: String - , in2 :: String - , intercept :: String - , k :: String - , k1 :: String - , k2 :: String - , k3 :: String - , k4 :: String - , kernelMatrix :: String - , kernelUnitLength :: String - , kerning :: String - , keyPoints :: String - , keySplines :: String - , keyTimes :: String - , lengthAdjust :: String - , letterSpacing :: String - , lightingColor :: String - , limitingConeAngle :: String - , local :: String - , markerEnd :: String - , markerHeight :: String - , markerMid :: String - , markerStart :: String - , markerUnits :: String - , markerWidth :: String - , mask :: String - , maskContentUnits :: String - , maskUnits :: String - , mathematical :: String - , mode :: String - , numOctaves :: String - , offset :: String - , opacity :: String - , operator :: String - , order :: String - , orient :: String - , orientation :: String - , origin :: String - , overflow :: String - , overlinePosition :: String - , overlineThickness :: String - , paintOrder :: String - , panose1 :: String - , pathLength :: String - , patternContentUnits :: String - , patternTransform :: String - , patternUnits :: String - , pointerEvents :: String - , points :: String - , pointsAtX :: String - , pointsAtY :: String - , pointsAtZ :: String - , preserveAlpha :: String - , preserveAspectRatio :: String - , primitiveUnits :: String - , r :: String - , radius :: String - , refX :: String - , refY :: String - , renderingIntent :: String - , repeatCount :: String - , repeatDur :: String - , requiredExtensions :: String - , requiredFeatures :: String - , restart :: String - , result :: String - , rotate :: String - , rx :: String - , ry :: String - , scale :: String - , seed :: String - , shapeRendering :: String - , slope :: String - , spacing :: String - , specularConstant :: String - , specularExponent :: String - , speed :: String - , spreadMethod :: String - , startOffset :: String - , stdDeviation :: String - , stemh :: String - , stemv :: String - , stitchTiles :: String - , stopColor :: String - , stopOpacity :: String - , strikethroughPosition :: String - , strikethroughThickness :: String - , string :: String - , stroke :: String - , strokeDasharray :: String - , strokeDashoffset :: String - , strokeLinecap :: String - , strokeLinejoin :: String - , strokeMiterlimit :: String - , strokeOpacity :: String - , strokeWidth :: String - , surfaceScale :: String - , systemLanguage :: String - , tableValues :: String - , targetX :: String - , targetY :: String - , textAnchor :: String - , textDecoration :: String - , textLength :: String - , textRendering :: String - , to :: String - , transform :: String - , u1 :: String - , u2 :: String - , underlinePosition :: String - , underlineThickness :: String - , unicode :: String - , unicodeBidi :: String - , unicodeRange :: String - , unitsPerEm :: String - , vAlphabetic :: String - , vHanging :: String - , vIdeographic :: String - , vMathematical :: String - , values :: String - , vectorEffect :: String - , version :: String - , vertAdvY :: String - , vertOriginX :: String - , vertOriginY :: String - , viewBox :: String - , viewTarget :: String - , visibility :: String - , width :: String - , widths :: String - , wordSpacing :: String - , writingMode :: String - , x :: String - , x1 :: String - , x2 :: String - , xChannelSelector :: String - , xHeight :: String - , xlinkActuate :: String - , xlinkArcrole :: String - , xlinkHref :: String - , xlinkRole :: String - , xlinkShow :: String - , xlinkTitle :: String - , xlinkType :: String - , xmlBase :: String - , xmlLang :: String - , xmlSpace :: String - , xmlns :: String - , xmlnsXlink :: String - , y :: String - , y1 :: String - , y2 :: String - , yChannelSelector :: String - , z :: String - , zoomAndPan :: String - ) - -svg - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_svg) - => Record attrs - -> JSX -svg = createElement (unsafeCreateDOMComponent "svg") - -svg_ :: Array JSX -> JSX -svg_ children = svg { children } - -type Props_table = - ( children :: Array JSX - , summary :: String - , width :: String - ) - -table - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_table) - => Record attrs - -> JSX -table = createElement (unsafeCreateDOMComponent "table") - -table_ :: Array JSX -> JSX -table_ children = table { children } - -type Props_tbody = - ( children :: Array JSX - ) - -tbody - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_tbody) - => Record attrs - -> JSX -tbody = createElement (unsafeCreateDOMComponent "tbody") - -tbody_ :: Array JSX -> JSX -tbody_ children = tbody { children } - -type Props_td = - ( children :: Array JSX - , headers :: String - , height :: String - , scope :: String - , width :: String - ) - -td - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_td) - => Record attrs - -> JSX -td = createElement (unsafeCreateDOMComponent "td") - -td_ :: Array JSX -> JSX -td_ children = td { children } - -type Props_template = - ( children :: Array JSX - ) - -template - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_template) - => Record attrs - -> JSX -template = createElement (unsafeCreateDOMComponent "template") - -template_ :: Array JSX -> JSX -template_ children = template { children } - -type Props_textarea = - ( autoCapitalize :: String - , autoCorrect :: String - , children :: Array JSX - , cols :: Number - , defaultValue :: String - , disabled :: Boolean - , form :: String - , name :: String - , onChange :: EventHandler - , placeholder :: String - , required :: Boolean - , rows :: Number - , value :: String - , wrap :: String - ) - -textarea - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_textarea) - => Record attrs - -> JSX -textarea = createElement (unsafeCreateDOMComponent "textarea") - -textarea_ :: Array JSX -> JSX -textarea_ children = textarea { children } - -type Props_tfoot = - ( children :: Array JSX - ) - -tfoot - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_tfoot) - => Record attrs - -> JSX -tfoot = createElement (unsafeCreateDOMComponent "tfoot") - -tfoot_ :: Array JSX -> JSX -tfoot_ children = tfoot { children } - -type Props_th = - ( children :: Array JSX - , headers :: String - , height :: String - , scope :: String - , width :: String - ) - -th - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_th) - => Record attrs - -> JSX -th = createElement (unsafeCreateDOMComponent "th") - -th_ :: Array JSX -> JSX -th_ children = th { children } - -type Props_thead = - ( children :: Array JSX - ) - -thead - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_thead) - => Record attrs - -> JSX -thead = createElement (unsafeCreateDOMComponent "thead") - -thead_ :: Array JSX -> JSX -thead_ children = thead { children } - -type Props_time = - ( children :: Array JSX - ) - -time - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_time) - => Record attrs - -> JSX -time = createElement (unsafeCreateDOMComponent "time") - -time_ :: Array JSX -> JSX -time_ children = time { children } - -type Props_title = - ( children :: Array JSX - ) - -title - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_title) - => Record attrs - -> JSX -title = createElement (unsafeCreateDOMComponent "title") - -title_ :: Array JSX -> JSX -title_ children = title { children } - -type Props_tr = - ( children :: Array JSX - ) - -tr - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_tr) - => Record attrs - -> JSX -tr = createElement (unsafeCreateDOMComponent "tr") - -tr_ :: Array JSX -> JSX -tr_ children = tr { children } - -type Props_track = - ( default :: Boolean - , kind :: String - , label :: String - , src :: String - ) - -track - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_track) - => Record attrs - -> JSX -track = createElement (unsafeCreateDOMComponent "track") - -type Props_u = - ( children :: Array JSX - ) - -u - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_u) - => Record attrs - -> JSX -u = createElement (unsafeCreateDOMComponent "u") - -u_ :: Array JSX -> JSX -u_ children = u { children } - -type Props_ul = - ( children :: Array JSX - , type :: String - ) - -ul - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_ul) - => Record attrs - -> JSX -ul = createElement (unsafeCreateDOMComponent "ul") - -ul_ :: Array JSX -> JSX -ul_ children = ul { children } - -type Props_var = - ( children :: Array JSX - ) - -var - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_var) - => Record attrs - -> JSX -var = createElement (unsafeCreateDOMComponent "var") - -var_ :: Array JSX -> JSX -var_ children = var { children } - -type Props_video = - ( children :: Array JSX - , controls :: Boolean - , height :: String - , loop :: Boolean - , muted :: Boolean - , playsInline :: Boolean - , poster :: String - , preload :: String - , src :: String - , width :: String - ) - -video - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_video) - => Record attrs - -> JSX -video = createElement (unsafeCreateDOMComponent "video") - -video_ :: Array JSX -> JSX -video_ children = video { children } - -type Props_wbr =() - -wbr - :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_wbr) - => Record attrs - -> JSX -wbr = createElement (unsafeCreateDOMComponent "wbr") +foreign import mergeStyles :: Array Internal.CSS -> Internal.CSS diff --git a/src/React/Basic/DOM/Events.purs b/src/React/Basic/DOM/Events.purs index 07a4684..55fa568 100644 --- a/src/React/Basic/DOM/Events.purs +++ b/src/React/Basic/DOM/Events.purs @@ -1,9 +1,7 @@ -- | This module defines safe DOM event function and property accessors. module React.Basic.DOM.Events - ( DOMNode - , DOMEvent - , bubbles + ( bubbles , cancelable , eventPhase , eventPhaseNone @@ -49,12 +47,7 @@ import Data.Nullable (toMaybe) import Effect.Unsafe (unsafePerformEffect) import React.Basic.Events (EventFn, SyntheticEvent, unsafeEventFn) import Unsafe.Coerce (unsafeCoerce) - --- | An _actual_ DOM node (not a virtual DOM element!) -foreign import data DOMNode :: Type - --- | The underlying browser Event. -foreign import data DOMEvent :: Type +import Web.Event.Internal.Types (Event, EventTarget) -- | General event fields @@ -82,7 +75,7 @@ eventPhaseBubbling = 3 isTrusted :: EventFn SyntheticEvent Boolean isTrusted = unsafeEventFn \e -> (unsafeCoerce e).isTrusted -nativeEvent :: EventFn SyntheticEvent DOMEvent +nativeEvent :: EventFn SyntheticEvent Event nativeEvent = unsafeEventFn \e -> (unsafeCoerce e).nativeEvent preventDefault :: EventFn SyntheticEvent SyntheticEvent @@ -103,13 +96,13 @@ isPropagationStopped :: EventFn SyntheticEvent Boolean isPropagationStopped = unsafeEventFn \e -> unsafePerformEffect do (unsafeCoerce e).isPropagationStopped -target :: EventFn SyntheticEvent DOMNode +target :: EventFn SyntheticEvent EventTarget target = unsafeEventFn \e -> (unsafeCoerce e).target -currentTarget :: EventFn SyntheticEvent DOMNode +currentTarget :: EventFn SyntheticEvent EventTarget currentTarget = unsafeEventFn \e -> (unsafeCoerce e).currentTarget -relatedTarget :: EventFn SyntheticEvent (Maybe DOMNode) +relatedTarget :: EventFn SyntheticEvent (Maybe EventTarget) relatedTarget = unsafeEventFn \e -> toMaybe (unsafeCoerce e).relatedTarget targetChecked :: EventFn SyntheticEvent (Maybe Boolean) diff --git a/src/React/Basic/DOM/Generated.purs b/src/React/Basic/DOM/Generated.purs new file mode 100644 index 0000000..4f5402f --- /dev/null +++ b/src/React/Basic/DOM/Generated.purs @@ -0,0 +1,2062 @@ +-- | ---------------------------------------- +-- | THIS FILE IS GENERATED -- DO NOT EDIT IT +-- | ---------------------------------------- + +module React.Basic.DOM.Generated where + +import Prim.Row (class Union) +import React.Basic (JSX, element) +import React.Basic.DOM.Internal (SharedProps, unsafeCreateDOMComponent) +import React.Basic.Events (EventHandler) + +type Props_a = + ( children :: Array JSX + , coords :: String + , download :: String + , href :: String + , name :: String + , onClick :: EventHandler + , rel :: String + , shape :: String + , target :: String + , type :: String + ) + +a + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_a) + => Record attrs + -> JSX +a = element (unsafeCreateDOMComponent "a") + +a_ :: Array JSX -> JSX +a_ children = a { children } + +type Props_abbr = + ( children :: Array JSX + , title :: String + ) + +abbr + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_abbr) + => Record attrs + -> JSX +abbr = element (unsafeCreateDOMComponent "abbr") + +abbr_ :: Array JSX -> JSX +abbr_ children = abbr { children } + +type Props_address = + ( children :: Array JSX + ) + +address + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_address) + => Record attrs + -> JSX +address = element (unsafeCreateDOMComponent "address") + +address_ :: Array JSX -> JSX +address_ children = address { children } + +type Props_area = + ( alt :: String + , coords :: String + , download :: String + , href :: String + , rel :: String + , shape :: String + , target :: String + , type :: String + ) + +area + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_area) + => Record attrs + -> JSX +area = element (unsafeCreateDOMComponent "area") + +type Props_article = + ( children :: Array JSX + ) + +article + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_article) + => Record attrs + -> JSX +article = element (unsafeCreateDOMComponent "article") + +article_ :: Array JSX -> JSX +article_ children = article { children } + +type Props_aside = + ( children :: Array JSX + ) + +aside + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_aside) + => Record attrs + -> JSX +aside = element (unsafeCreateDOMComponent "aside") + +aside_ :: Array JSX -> JSX +aside_ children = aside { children } + +type Props_audio = + ( children :: Array JSX + , controls :: Boolean + , loop :: Boolean + , muted :: Boolean + , preload :: String + , src :: String + ) + +audio + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_audio) + => Record attrs + -> JSX +audio = element (unsafeCreateDOMComponent "audio") + +audio_ :: Array JSX -> JSX +audio_ children = audio { children } + +type Props_b = + ( children :: Array JSX + ) + +b + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_b) + => Record attrs + -> JSX +b = element (unsafeCreateDOMComponent "b") + +b_ :: Array JSX -> JSX +b_ children = b { children } + +type Props_base = + ( href :: String + , target :: String + ) + +base + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_base) + => Record attrs + -> JSX +base = element (unsafeCreateDOMComponent "base") + +type Props_bdi = + ( children :: Array JSX + ) + +bdi + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_bdi) + => Record attrs + -> JSX +bdi = element (unsafeCreateDOMComponent "bdi") + +bdi_ :: Array JSX -> JSX +bdi_ children = bdi { children } + +type Props_bdo = + ( children :: Array JSX + , dir :: String + ) + +bdo + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_bdo) + => Record attrs + -> JSX +bdo = element (unsafeCreateDOMComponent "bdo") + +bdo_ :: Array JSX -> JSX +bdo_ children = bdo { children } + +type Props_blockquote = + ( children :: Array JSX + , cite :: String + ) + +blockquote + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_blockquote) + => Record attrs + -> JSX +blockquote = element (unsafeCreateDOMComponent "blockquote") + +blockquote_ :: Array JSX -> JSX +blockquote_ children = blockquote { children } + +type Props_body = + ( children :: Array JSX + ) + +body + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_body) + => Record attrs + -> JSX +body = element (unsafeCreateDOMComponent "body") + +body_ :: Array JSX -> JSX +body_ children = body { children } + +type Props_br =() + +br + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_br) + => Record attrs + -> JSX +br = element (unsafeCreateDOMComponent "br") + +type Props_button = + ( children :: Array JSX + , disabled :: Boolean + , form :: String + , name :: String + , type :: String + , value :: String + ) + +button + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_button) + => Record attrs + -> JSX +button = element (unsafeCreateDOMComponent "button") + +button_ :: Array JSX -> JSX +button_ children = button { children } + +type Props_canvas = + ( children :: Array JSX + , height :: String + , width :: String + ) + +canvas + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_canvas) + => Record attrs + -> JSX +canvas = element (unsafeCreateDOMComponent "canvas") + +canvas_ :: Array JSX -> JSX +canvas_ children = canvas { children } + +type Props_caption = + ( children :: Array JSX + ) + +caption + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_caption) + => Record attrs + -> JSX +caption = element (unsafeCreateDOMComponent "caption") + +caption_ :: Array JSX -> JSX +caption_ children = caption { children } + +type Props_cite = + ( children :: Array JSX + ) + +cite + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_cite) + => Record attrs + -> JSX +cite = element (unsafeCreateDOMComponent "cite") + +cite_ :: Array JSX -> JSX +cite_ children = cite { children } + +type Props_code = + ( children :: Array JSX + ) + +code + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_code) + => Record attrs + -> JSX +code = element (unsafeCreateDOMComponent "code") + +code_ :: Array JSX -> JSX +code_ children = code { children } + +type Props_col = + ( span :: Number + , width :: String + ) + +col + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_col) + => Record attrs + -> JSX +col = element (unsafeCreateDOMComponent "col") + +type Props_colgroup = + ( children :: Array JSX + , span :: Number + , width :: String + ) + +colgroup + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_colgroup) + => Record attrs + -> JSX +colgroup = element (unsafeCreateDOMComponent "colgroup") + +colgroup_ :: Array JSX -> JSX +colgroup_ children = colgroup { children } + +type Props_data = + ( children :: Array JSX + , value :: String + ) + +data' + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_data) + => Record attrs + -> JSX +data' = element (unsafeCreateDOMComponent "data") + +data_ :: Array JSX -> JSX +data_ children = data' { children } + +type Props_datalist = + ( children :: Array JSX + ) + +datalist + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_datalist) + => Record attrs + -> JSX +datalist = element (unsafeCreateDOMComponent "datalist") + +datalist_ :: Array JSX -> JSX +datalist_ children = datalist { children } + +type Props_dd = + ( children :: Array JSX + ) + +dd + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_dd) + => Record attrs + -> JSX +dd = element (unsafeCreateDOMComponent "dd") + +dd_ :: Array JSX -> JSX +dd_ children = dd { children } + +type Props_del = + ( children :: Array JSX + , cite :: String + ) + +del + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_del) + => Record attrs + -> JSX +del = element (unsafeCreateDOMComponent "del") + +del_ :: Array JSX -> JSX +del_ children = del { children } + +type Props_details = + ( children :: Array JSX + , open :: Boolean + ) + +details + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_details) + => Record attrs + -> JSX +details = element (unsafeCreateDOMComponent "details") + +details_ :: Array JSX -> JSX +details_ children = details { children } + +type Props_dfn = + ( children :: Array JSX + , title :: String + ) + +dfn + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_dfn) + => Record attrs + -> JSX +dfn = element (unsafeCreateDOMComponent "dfn") + +dfn_ :: Array JSX -> JSX +dfn_ children = dfn { children } + +type Props_dialog = + ( children :: Array JSX + , open :: Boolean + ) + +dialog + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_dialog) + => Record attrs + -> JSX +dialog = element (unsafeCreateDOMComponent "dialog") + +dialog_ :: Array JSX -> JSX +dialog_ children = dialog { children } + +type Props_div = + ( children :: Array JSX + ) + +div + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_div) + => Record attrs + -> JSX +div = element (unsafeCreateDOMComponent "div") + +div_ :: Array JSX -> JSX +div_ children = div { children } + +type Props_dl = + ( children :: Array JSX + ) + +dl + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_dl) + => Record attrs + -> JSX +dl = element (unsafeCreateDOMComponent "dl") + +dl_ :: Array JSX -> JSX +dl_ children = dl { children } + +type Props_dt = + ( children :: Array JSX + ) + +dt + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_dt) + => Record attrs + -> JSX +dt = element (unsafeCreateDOMComponent "dt") + +dt_ :: Array JSX -> JSX +dt_ children = dt { children } + +type Props_em = + ( children :: Array JSX + ) + +em + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_em) + => Record attrs + -> JSX +em = element (unsafeCreateDOMComponent "em") + +em_ :: Array JSX -> JSX +em_ children = em { children } + +type Props_embed = + ( height :: String + , src :: String + , type :: String + , width :: String + ) + +embed + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_embed) + => Record attrs + -> JSX +embed = element (unsafeCreateDOMComponent "embed") + +type Props_fieldset = + ( children :: Array JSX + , disabled :: Boolean + , form :: String + , name :: String + ) + +fieldset + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_fieldset) + => Record attrs + -> JSX +fieldset = element (unsafeCreateDOMComponent "fieldset") + +fieldset_ :: Array JSX -> JSX +fieldset_ children = fieldset { children } + +type Props_figcaption = + ( children :: Array JSX + ) + +figcaption + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_figcaption) + => Record attrs + -> JSX +figcaption = element (unsafeCreateDOMComponent "figcaption") + +figcaption_ :: Array JSX -> JSX +figcaption_ children = figcaption { children } + +type Props_figure = + ( children :: Array JSX + ) + +figure + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_figure) + => Record attrs + -> JSX +figure = element (unsafeCreateDOMComponent "figure") + +figure_ :: Array JSX -> JSX +figure_ children = figure { children } + +type Props_footer = + ( children :: Array JSX + ) + +footer + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_footer) + => Record attrs + -> JSX +footer = element (unsafeCreateDOMComponent "footer") + +footer_ :: Array JSX -> JSX +footer_ children = footer { children } + +type Props_form = + ( accept :: String + , action :: String + , children :: Array JSX + , method :: String + , name :: String + , onChange :: EventHandler + , onInput :: EventHandler + , onInvalid :: EventHandler + , onSubmit :: EventHandler + , target :: String + ) + +form + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_form) + => Record attrs + -> JSX +form = element (unsafeCreateDOMComponent "form") + +form_ :: Array JSX -> JSX +form_ children = form { children } + +type Props_h1 = + ( children :: Array JSX + ) + +h1 + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_h1) + => Record attrs + -> JSX +h1 = element (unsafeCreateDOMComponent "h1") + +h1_ :: Array JSX -> JSX +h1_ children = h1 { children } + +type Props_h2 = + ( children :: Array JSX + ) + +h2 + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_h2) + => Record attrs + -> JSX +h2 = element (unsafeCreateDOMComponent "h2") + +h2_ :: Array JSX -> JSX +h2_ children = h2 { children } + +type Props_h3 = + ( children :: Array JSX + ) + +h3 + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_h3) + => Record attrs + -> JSX +h3 = element (unsafeCreateDOMComponent "h3") + +h3_ :: Array JSX -> JSX +h3_ children = h3 { children } + +type Props_h4 = + ( children :: Array JSX + ) + +h4 + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_h4) + => Record attrs + -> JSX +h4 = element (unsafeCreateDOMComponent "h4") + +h4_ :: Array JSX -> JSX +h4_ children = h4 { children } + +type Props_h5 = + ( children :: Array JSX + ) + +h5 + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_h5) + => Record attrs + -> JSX +h5 = element (unsafeCreateDOMComponent "h5") + +h5_ :: Array JSX -> JSX +h5_ children = h5 { children } + +type Props_h6 = + ( children :: Array JSX + ) + +h6 + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_h6) + => Record attrs + -> JSX +h6 = element (unsafeCreateDOMComponent "h6") + +h6_ :: Array JSX -> JSX +h6_ children = h6 { children } + +type Props_head = + ( children :: Array JSX + , profile :: String + ) + +head + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_head) + => Record attrs + -> JSX +head = element (unsafeCreateDOMComponent "head") + +head_ :: Array JSX -> JSX +head_ children = head { children } + +type Props_header = + ( children :: Array JSX + ) + +header + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_header) + => Record attrs + -> JSX +header = element (unsafeCreateDOMComponent "header") + +header_ :: Array JSX -> JSX +header_ children = header { children } + +type Props_hgroup = + ( children :: Array JSX + ) + +hgroup + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_hgroup) + => Record attrs + -> JSX +hgroup = element (unsafeCreateDOMComponent "hgroup") + +hgroup_ :: Array JSX -> JSX +hgroup_ children = hgroup { children } + +type Props_hr = + ( size :: Number + , width :: String + ) + +hr + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_hr) + => Record attrs + -> JSX +hr = element (unsafeCreateDOMComponent "hr") + +type Props_html = + ( children :: Array JSX + , manifest :: String + ) + +html + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_html) + => Record attrs + -> JSX +html = element (unsafeCreateDOMComponent "html") + +html_ :: Array JSX -> JSX +html_ children = html { children } + +type Props_i = + ( children :: Array JSX + ) + +i + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_i) + => Record attrs + -> JSX +i = element (unsafeCreateDOMComponent "i") + +i_ :: Array JSX -> JSX +i_ children = i { children } + +type Props_iframe = + ( children :: Array JSX + , height :: String + , name :: String + , sandbox :: String + , scrolling :: String + , src :: String + , width :: String + ) + +iframe + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_iframe) + => Record attrs + -> JSX +iframe = element (unsafeCreateDOMComponent "iframe") + +iframe_ :: Array JSX -> JSX +iframe_ children = iframe { children } + +type Props_img = + ( alt :: String + , height :: String + , name :: String + , sizes :: String + , src :: String + , width :: String + ) + +img + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_img) + => Record attrs + -> JSX +img = element (unsafeCreateDOMComponent "img") + +type Props_input = + ( accept :: String + , alt :: String + , autoCapitalize :: String + , autoCorrect :: String + , autoSave :: String + , checked :: Boolean + , defaultChecked :: String + , defaultValue :: String + , disabled :: Boolean + , form :: String + , height :: String + , list :: String + , max :: Number + , min :: Number + , multiple :: Boolean + , name :: String + , onChange :: EventHandler + , pattern :: String + , placeholder :: String + , required :: Boolean + , results :: String + , size :: Number + , src :: String + , step :: String + , title :: String + , type :: String + , value :: String + , width :: String + ) + +input + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_input) + => Record attrs + -> JSX +input = element (unsafeCreateDOMComponent "input") + +type Props_ins = + ( children :: Array JSX + , cite :: String + ) + +ins + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_ins) + => Record attrs + -> JSX +ins = element (unsafeCreateDOMComponent "ins") + +ins_ :: Array JSX -> JSX +ins_ children = ins { children } + +type Props_kbd = + ( children :: Array JSX + ) + +kbd + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_kbd) + => Record attrs + -> JSX +kbd = element (unsafeCreateDOMComponent "kbd") + +kbd_ :: Array JSX -> JSX +kbd_ children = kbd { children } + +type Props_keygen = + ( challenge :: String + , children :: Array JSX + , disabled :: Boolean + , form :: String + , name :: String + ) + +keygen + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_keygen) + => Record attrs + -> JSX +keygen = element (unsafeCreateDOMComponent "keygen") + +keygen_ :: Array JSX -> JSX +keygen_ children = keygen { children } + +type Props_label = + ( children :: Array JSX + , form :: String + ) + +label + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_label) + => Record attrs + -> JSX +label = element (unsafeCreateDOMComponent "label") + +label_ :: Array JSX -> JSX +label_ children = label { children } + +type Props_legend = + ( children :: Array JSX + ) + +legend + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_legend) + => Record attrs + -> JSX +legend = element (unsafeCreateDOMComponent "legend") + +legend_ :: Array JSX -> JSX +legend_ children = legend { children } + +type Props_li = + ( children :: Array JSX + , type :: String + , value :: String + ) + +li + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_li) + => Record attrs + -> JSX +li = element (unsafeCreateDOMComponent "li") + +li_ :: Array JSX -> JSX +li_ children = li { children } + +type Props_link = + ( color :: String + , href :: String + , integrity :: String + , media :: String + , nonce :: String + , rel :: String + , scope :: String + , sizes :: String + , target :: String + , title :: String + , type :: String + ) + +link + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_link) + => Record attrs + -> JSX +link = element (unsafeCreateDOMComponent "link") + +type Props_main = + ( children :: Array JSX + ) + +main + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_main) + => Record attrs + -> JSX +main = element (unsafeCreateDOMComponent "main") + +main_ :: Array JSX -> JSX +main_ children = main { children } + +type Props_map = + ( children :: Array JSX + , name :: String + ) + +map + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_map) + => Record attrs + -> JSX +map = element (unsafeCreateDOMComponent "map") + +map_ :: Array JSX -> JSX +map_ children = map { children } + +type Props_mark = + ( children :: Array JSX + ) + +mark + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_mark) + => Record attrs + -> JSX +mark = element (unsafeCreateDOMComponent "mark") + +mark_ :: Array JSX -> JSX +mark_ children = mark { children } + +type Props_math = + ( children :: Array JSX + ) + +math + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_math) + => Record attrs + -> JSX +math = element (unsafeCreateDOMComponent "math") + +math_ :: Array JSX -> JSX +math_ children = math { children } + +type Props_menu = + ( children :: Array JSX + ) + +menu + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_menu) + => Record attrs + -> JSX +menu = element (unsafeCreateDOMComponent "menu") + +menu_ :: Array JSX -> JSX +menu_ children = menu { children } + +type Props_menuitem = + ( children :: Array JSX + ) + +menuitem + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_menuitem) + => Record attrs + -> JSX +menuitem = element (unsafeCreateDOMComponent "menuitem") + +menuitem_ :: Array JSX -> JSX +menuitem_ children = menuitem { children } + +type Props_meta = + ( content :: String + , name :: String + ) + +meta + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_meta) + => Record attrs + -> JSX +meta = element (unsafeCreateDOMComponent "meta") + +type Props_meter = + ( children :: Array JSX + , high :: String + , low :: String + , max :: Number + , min :: Number + , optimum :: String + , value :: String + ) + +meter + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_meter) + => Record attrs + -> JSX +meter = element (unsafeCreateDOMComponent "meter") + +meter_ :: Array JSX -> JSX +meter_ children = meter { children } + +type Props_nav = + ( children :: Array JSX + ) + +nav + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_nav) + => Record attrs + -> JSX +nav = element (unsafeCreateDOMComponent "nav") + +nav_ :: Array JSX -> JSX +nav_ children = nav { children } + +type Props_noscript = + ( children :: Array JSX + ) + +noscript + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_noscript) + => Record attrs + -> JSX +noscript = element (unsafeCreateDOMComponent "noscript") + +noscript_ :: Array JSX -> JSX +noscript_ children = noscript { children } + +type Props_object = + ( children :: Array JSX + , data :: String + , form :: String + , height :: String + , name :: String + , type :: String + , width :: String + ) + +object + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_object) + => Record attrs + -> JSX +object = element (unsafeCreateDOMComponent "object") + +object_ :: Array JSX -> JSX +object_ children = object { children } + +type Props_ol = + ( children :: Array JSX + , reversed :: Boolean + , start :: Number + , type :: String + ) + +ol + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_ol) + => Record attrs + -> JSX +ol = element (unsafeCreateDOMComponent "ol") + +ol_ :: Array JSX -> JSX +ol_ children = ol { children } + +type Props_optgroup = + ( children :: Array JSX + , disabled :: Boolean + , label :: String + ) + +optgroup + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_optgroup) + => Record attrs + -> JSX +optgroup = element (unsafeCreateDOMComponent "optgroup") + +optgroup_ :: Array JSX -> JSX +optgroup_ children = optgroup { children } + +type Props_option = + ( children :: Array JSX + , disabled :: Boolean + , label :: String + , selected :: Boolean + , value :: String + ) + +option + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_option) + => Record attrs + -> JSX +option = element (unsafeCreateDOMComponent "option") + +option_ :: Array JSX -> JSX +option_ children = option { children } + +type Props_output = + ( children :: Array JSX + , form :: String + , name :: String + ) + +output + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_output) + => Record attrs + -> JSX +output = element (unsafeCreateDOMComponent "output") + +output_ :: Array JSX -> JSX +output_ children = output { children } + +type Props_p = + ( children :: Array JSX + ) + +p + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_p) + => Record attrs + -> JSX +p = element (unsafeCreateDOMComponent "p") + +p_ :: Array JSX -> JSX +p_ children = p { children } + +type Props_param = + ( name :: String + , type :: String + , value :: String + ) + +param + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_param) + => Record attrs + -> JSX +param = element (unsafeCreateDOMComponent "param") + +type Props_picture = + ( children :: Array JSX + ) + +picture + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_picture) + => Record attrs + -> JSX +picture = element (unsafeCreateDOMComponent "picture") + +picture_ :: Array JSX -> JSX +picture_ children = picture { children } + +type Props_pre = + ( children :: Array JSX + , width :: String + ) + +pre + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_pre) + => Record attrs + -> JSX +pre = element (unsafeCreateDOMComponent "pre") + +pre_ :: Array JSX -> JSX +pre_ children = pre { children } + +type Props_progress = + ( children :: Array JSX + , max :: Number + , value :: String + ) + +progress + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_progress) + => Record attrs + -> JSX +progress = element (unsafeCreateDOMComponent "progress") + +progress_ :: Array JSX -> JSX +progress_ children = progress { children } + +type Props_q = + ( children :: Array JSX + , cite :: String + ) + +q + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_q) + => Record attrs + -> JSX +q = element (unsafeCreateDOMComponent "q") + +q_ :: Array JSX -> JSX +q_ children = q { children } + +type Props_rb = + ( children :: Array JSX + ) + +rb + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_rb) + => Record attrs + -> JSX +rb = element (unsafeCreateDOMComponent "rb") + +rb_ :: Array JSX -> JSX +rb_ children = rb { children } + +type Props_rp = + ( children :: Array JSX + ) + +rp + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_rp) + => Record attrs + -> JSX +rp = element (unsafeCreateDOMComponent "rp") + +rp_ :: Array JSX -> JSX +rp_ children = rp { children } + +type Props_rt = + ( children :: Array JSX + ) + +rt + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_rt) + => Record attrs + -> JSX +rt = element (unsafeCreateDOMComponent "rt") + +rt_ :: Array JSX -> JSX +rt_ children = rt { children } + +type Props_rtc = + ( children :: Array JSX + ) + +rtc + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_rtc) + => Record attrs + -> JSX +rtc = element (unsafeCreateDOMComponent "rtc") + +rtc_ :: Array JSX -> JSX +rtc_ children = rtc { children } + +type Props_ruby = + ( children :: Array JSX + ) + +ruby + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_ruby) + => Record attrs + -> JSX +ruby = element (unsafeCreateDOMComponent "ruby") + +ruby_ :: Array JSX -> JSX +ruby_ children = ruby { children } + +type Props_s = + ( children :: Array JSX + ) + +s + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_s) + => Record attrs + -> JSX +s = element (unsafeCreateDOMComponent "s") + +s_ :: Array JSX -> JSX +s_ children = s { children } + +type Props_samp = + ( children :: Array JSX + ) + +samp + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_samp) + => Record attrs + -> JSX +samp = element (unsafeCreateDOMComponent "samp") + +samp_ :: Array JSX -> JSX +samp_ children = samp { children } + +type Props_script = + ( async :: Boolean + , children :: Array JSX + , defer :: Boolean + , integrity :: String + , nonce :: String + , src :: String + , type :: String + ) + +script + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_script) + => Record attrs + -> JSX +script = element (unsafeCreateDOMComponent "script") + +script_ :: Array JSX -> JSX +script_ children = script { children } + +type Props_section = + ( children :: Array JSX + ) + +section + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_section) + => Record attrs + -> JSX +section = element (unsafeCreateDOMComponent "section") + +section_ :: Array JSX -> JSX +section_ children = section { children } + +type Props_select = + ( children :: Array JSX + , defaultValue :: String + , disabled :: Boolean + , form :: String + , multiple :: Boolean + , name :: String + , onChange :: EventHandler + , required :: Boolean + , size :: Number + , value :: String + ) + +select + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_select) + => Record attrs + -> JSX +select = element (unsafeCreateDOMComponent "select") + +select_ :: Array JSX -> JSX +select_ children = select { children } + +type Props_slot = + ( children :: Array JSX + , name :: String + ) + +slot + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_slot) + => Record attrs + -> JSX +slot = element (unsafeCreateDOMComponent "slot") + +slot_ :: Array JSX -> JSX +slot_ children = slot { children } + +type Props_small = + ( children :: Array JSX + ) + +small + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_small) + => Record attrs + -> JSX +small = element (unsafeCreateDOMComponent "small") + +small_ :: Array JSX -> JSX +small_ children = small { children } + +type Props_source = + ( media :: String + , sizes :: String + , src :: String + , type :: String + ) + +source + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_source) + => Record attrs + -> JSX +source = element (unsafeCreateDOMComponent "source") + +type Props_span = + ( children :: Array JSX + ) + +span + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_span) + => Record attrs + -> JSX +span = element (unsafeCreateDOMComponent "span") + +span_ :: Array JSX -> JSX +span_ children = span { children } + +type Props_strong = + ( children :: Array JSX + ) + +strong + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_strong) + => Record attrs + -> JSX +strong = element (unsafeCreateDOMComponent "strong") + +strong_ :: Array JSX -> JSX +strong_ children = strong { children } + +type Props_style = + ( children :: Array JSX + , media :: String + , nonce :: String + , title :: String + , type :: String + ) + +style + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_style) + => Record attrs + -> JSX +style = element (unsafeCreateDOMComponent "style") + +style_ :: Array JSX -> JSX +style_ children = style { children } + +type Props_sub = + ( children :: Array JSX + ) + +sub + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_sub) + => Record attrs + -> JSX +sub = element (unsafeCreateDOMComponent "sub") + +sub_ :: Array JSX -> JSX +sub_ children = sub { children } + +type Props_summary = + ( children :: Array JSX + ) + +summary + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_summary) + => Record attrs + -> JSX +summary = element (unsafeCreateDOMComponent "summary") + +summary_ :: Array JSX -> JSX +summary_ children = summary { children } + +type Props_sup = + ( children :: Array JSX + ) + +sup + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_sup) + => Record attrs + -> JSX +sup = element (unsafeCreateDOMComponent "sup") + +sup_ :: Array JSX -> JSX +sup_ children = sup { children } + +type Props_svg = + ( accentHeight :: String + , accumulate :: String + , additive :: String + , alignmentBaseline :: String + , allowReorder :: String + , alphabetic :: String + , amplitude :: String + , arabicForm :: String + , ascent :: String + , attributeName :: String + , attributeType :: String + , autoReverse :: String + , azimuth :: String + , baseFrequency :: String + , baseProfile :: String + , baselineShift :: String + , bbox :: String + , begin :: String + , bias :: String + , by :: String + , calcMode :: String + , capHeight :: String + , children :: Array JSX + , clip :: String + , clipPath :: String + , clipPathUnits :: String + , clipRule :: String + , color :: String + , colorInterpolation :: String + , colorInterpolationFilters :: String + , colorProfile :: String + , colorRendering :: String + , contentScriptType :: String + , contentStyleType :: String + , cursor :: String + , cx :: String + , cy :: String + , d :: String + , decelerate :: String + , descent :: String + , diffuseConstant :: String + , direction :: String + , display :: String + , divisor :: String + , dominantBaseline :: String + , dur :: String + , dx :: String + , dy :: String + , edgeMode :: String + , elevation :: String + , enableBackground :: String + , end :: String + , exponent :: String + , externalResourcesRequired :: String + , fill :: String + , fillOpacity :: String + , fillRule :: String + , filter :: String + , filterRes :: String + , filterUnits :: String + , floodColor :: String + , floodOpacity :: String + , focusable :: String + , fontFamily :: String + , fontSize :: String + , fontSizeAdjust :: String + , fontStretch :: String + , fontStyle :: String + , fontVariant :: String + , fontWeight :: String + , format :: String + , from :: String + , fx :: String + , fy :: String + , g1 :: String + , g2 :: String + , glyphName :: String + , glyphOrientationHorizontal :: String + , glyphOrientationVertical :: String + , glyphRef :: String + , gradientTransform :: String + , gradientUnits :: String + , hanging :: String + , height :: String + , horizAdvX :: String + , horizOriginX :: String + , ideographic :: String + , imageRendering :: String + , in :: String + , in2 :: String + , intercept :: String + , k :: String + , k1 :: String + , k2 :: String + , k3 :: String + , k4 :: String + , kernelMatrix :: String + , kernelUnitLength :: String + , kerning :: String + , keyPoints :: String + , keySplines :: String + , keyTimes :: String + , lengthAdjust :: String + , letterSpacing :: String + , lightingColor :: String + , limitingConeAngle :: String + , local :: String + , markerEnd :: String + , markerHeight :: String + , markerMid :: String + , markerStart :: String + , markerUnits :: String + , markerWidth :: String + , mask :: String + , maskContentUnits :: String + , maskUnits :: String + , mathematical :: String + , mode :: String + , numOctaves :: String + , offset :: String + , opacity :: String + , operator :: String + , order :: String + , orient :: String + , orientation :: String + , origin :: String + , overflow :: String + , overlinePosition :: String + , overlineThickness :: String + , paintOrder :: String + , panose1 :: String + , pathLength :: String + , patternContentUnits :: String + , patternTransform :: String + , patternUnits :: String + , pointerEvents :: String + , points :: String + , pointsAtX :: String + , pointsAtY :: String + , pointsAtZ :: String + , preserveAlpha :: String + , preserveAspectRatio :: String + , primitiveUnits :: String + , r :: String + , radius :: String + , refX :: String + , refY :: String + , renderingIntent :: String + , repeatCount :: String + , repeatDur :: String + , requiredExtensions :: String + , requiredFeatures :: String + , restart :: String + , result :: String + , rotate :: String + , rx :: String + , ry :: String + , scale :: String + , seed :: String + , shapeRendering :: String + , slope :: String + , spacing :: String + , specularConstant :: String + , specularExponent :: String + , speed :: String + , spreadMethod :: String + , startOffset :: String + , stdDeviation :: String + , stemh :: String + , stemv :: String + , stitchTiles :: String + , stopColor :: String + , stopOpacity :: String + , strikethroughPosition :: String + , strikethroughThickness :: String + , string :: String + , stroke :: String + , strokeDasharray :: String + , strokeDashoffset :: String + , strokeLinecap :: String + , strokeLinejoin :: String + , strokeMiterlimit :: String + , strokeOpacity :: String + , strokeWidth :: String + , surfaceScale :: String + , systemLanguage :: String + , tableValues :: String + , targetX :: String + , targetY :: String + , textAnchor :: String + , textDecoration :: String + , textLength :: String + , textRendering :: String + , to :: String + , transform :: String + , u1 :: String + , u2 :: String + , underlinePosition :: String + , underlineThickness :: String + , unicode :: String + , unicodeBidi :: String + , unicodeRange :: String + , unitsPerEm :: String + , vAlphabetic :: String + , vHanging :: String + , vIdeographic :: String + , vMathematical :: String + , values :: String + , vectorEffect :: String + , version :: String + , vertAdvY :: String + , vertOriginX :: String + , vertOriginY :: String + , viewBox :: String + , viewTarget :: String + , visibility :: String + , width :: String + , widths :: String + , wordSpacing :: String + , writingMode :: String + , x :: String + , x1 :: String + , x2 :: String + , xChannelSelector :: String + , xHeight :: String + , xlinkActuate :: String + , xlinkArcrole :: String + , xlinkHref :: String + , xlinkRole :: String + , xlinkShow :: String + , xlinkTitle :: String + , xlinkType :: String + , xmlBase :: String + , xmlLang :: String + , xmlSpace :: String + , xmlns :: String + , xmlnsXlink :: String + , y :: String + , y1 :: String + , y2 :: String + , yChannelSelector :: String + , z :: String + , zoomAndPan :: String + ) + +svg + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_svg) + => Record attrs + -> JSX +svg = element (unsafeCreateDOMComponent "svg") + +svg_ :: Array JSX -> JSX +svg_ children = svg { children } + +type Props_table = + ( children :: Array JSX + , summary :: String + , width :: String + ) + +table + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_table) + => Record attrs + -> JSX +table = element (unsafeCreateDOMComponent "table") + +table_ :: Array JSX -> JSX +table_ children = table { children } + +type Props_tbody = + ( children :: Array JSX + ) + +tbody + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_tbody) + => Record attrs + -> JSX +tbody = element (unsafeCreateDOMComponent "tbody") + +tbody_ :: Array JSX -> JSX +tbody_ children = tbody { children } + +type Props_td = + ( children :: Array JSX + , headers :: String + , height :: String + , scope :: String + , width :: String + ) + +td + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_td) + => Record attrs + -> JSX +td = element (unsafeCreateDOMComponent "td") + +td_ :: Array JSX -> JSX +td_ children = td { children } + +type Props_template = + ( children :: Array JSX + ) + +template + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_template) + => Record attrs + -> JSX +template = element (unsafeCreateDOMComponent "template") + +template_ :: Array JSX -> JSX +template_ children = template { children } + +type Props_textarea = + ( autoCapitalize :: String + , autoCorrect :: String + , children :: Array JSX + , cols :: Number + , defaultValue :: String + , disabled :: Boolean + , form :: String + , name :: String + , onChange :: EventHandler + , placeholder :: String + , required :: Boolean + , rows :: Number + , value :: String + , wrap :: String + ) + +textarea + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_textarea) + => Record attrs + -> JSX +textarea = element (unsafeCreateDOMComponent "textarea") + +textarea_ :: Array JSX -> JSX +textarea_ children = textarea { children } + +type Props_tfoot = + ( children :: Array JSX + ) + +tfoot + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_tfoot) + => Record attrs + -> JSX +tfoot = element (unsafeCreateDOMComponent "tfoot") + +tfoot_ :: Array JSX -> JSX +tfoot_ children = tfoot { children } + +type Props_th = + ( children :: Array JSX + , headers :: String + , height :: String + , scope :: String + , width :: String + ) + +th + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_th) + => Record attrs + -> JSX +th = element (unsafeCreateDOMComponent "th") + +th_ :: Array JSX -> JSX +th_ children = th { children } + +type Props_thead = + ( children :: Array JSX + ) + +thead + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_thead) + => Record attrs + -> JSX +thead = element (unsafeCreateDOMComponent "thead") + +thead_ :: Array JSX -> JSX +thead_ children = thead { children } + +type Props_time = + ( children :: Array JSX + ) + +time + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_time) + => Record attrs + -> JSX +time = element (unsafeCreateDOMComponent "time") + +time_ :: Array JSX -> JSX +time_ children = time { children } + +type Props_title = + ( children :: Array JSX + ) + +title + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_title) + => Record attrs + -> JSX +title = element (unsafeCreateDOMComponent "title") + +title_ :: Array JSX -> JSX +title_ children = title { children } + +type Props_tr = + ( children :: Array JSX + ) + +tr + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_tr) + => Record attrs + -> JSX +tr = element (unsafeCreateDOMComponent "tr") + +tr_ :: Array JSX -> JSX +tr_ children = tr { children } + +type Props_track = + ( default :: Boolean + , kind :: String + , label :: String + , src :: String + ) + +track + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_track) + => Record attrs + -> JSX +track = element (unsafeCreateDOMComponent "track") + +type Props_u = + ( children :: Array JSX + ) + +u + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_u) + => Record attrs + -> JSX +u = element (unsafeCreateDOMComponent "u") + +u_ :: Array JSX -> JSX +u_ children = u { children } + +type Props_ul = + ( children :: Array JSX + , type :: String + ) + +ul + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_ul) + => Record attrs + -> JSX +ul = element (unsafeCreateDOMComponent "ul") + +ul_ :: Array JSX -> JSX +ul_ children = ul { children } + +type Props_var = + ( children :: Array JSX + ) + +var + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_var) + => Record attrs + -> JSX +var = element (unsafeCreateDOMComponent "var") + +var_ :: Array JSX -> JSX +var_ children = var { children } + +type Props_video = + ( children :: Array JSX + , controls :: Boolean + , height :: String + , loop :: Boolean + , muted :: Boolean + , playsInline :: Boolean + , poster :: String + , preload :: String + , src :: String + , width :: String + ) + +video + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_video) + => Record attrs + -> JSX +video = element (unsafeCreateDOMComponent "video") + +video_ :: Array JSX -> JSX +video_ children = video { children } + +type Props_wbr =() + +wbr + :: forall attrs attrs_ + . Union attrs attrs_ (SharedProps Props_wbr) + => Record attrs + -> JSX +wbr = element (unsafeCreateDOMComponent "wbr") diff --git a/src/React/Basic/DOM/Internal.purs b/src/React/Basic/DOM/Internal.purs new file mode 100644 index 0000000..7d13daf --- /dev/null +++ b/src/React/Basic/DOM/Internal.purs @@ -0,0 +1,95 @@ +module React.Basic.DOM.Internal where + +import React.Basic (Component) +import React.Basic.Events (EventHandler) +import Unsafe.Coerce (unsafeCoerce) + +-- | An abstract type representing records of CSS attributes. +foreign import data CSS :: Type + +-- | Standard props which are shared by all DOM elements. +type SharedProps specific = + -- | `key` is not really a DOM attribute - React intercepts it + ( key :: String + + , about :: String + , acceptCharset :: String + , accessKey :: String + , allowFullScreen :: Boolean + , allowTransparency :: String + , autoComplete :: String + , autoFocus :: String + , autoPlay :: Boolean + , capture :: Boolean + , cellPadding :: String + , cellSpacing :: String + , charSet :: String + , classID :: String + , className :: String + , colSpan :: Number + , contentEditable :: String + , contextMenu :: String + , crossOrigin :: String + , datatype :: String + , dateTime :: String + , dir :: String + , draggable :: String + , encType :: String + , formAction :: String + , formEncType :: String + , formMethod :: String + , formNoValidate :: String + , formTarget :: String + , frameBorder :: String + , hidden :: Boolean + , hrefLang :: String + , htmlFor :: String + , httpEquiv :: String + , icon :: String + , id :: String + , inlist :: String + , inputMode :: String + , is :: String + , itemID :: String + , itemProp :: String + , itemRef :: String + , itemScope :: Boolean + , itemType :: String + , keyParams :: String + , keyType :: String + , lang :: String + , marginHeight :: String + , marginWidth :: String + , maxLength :: String + , mediaGroup :: String + , minLength :: String + , noValidate :: String + , prefix :: String + , property :: String + , radioGroup :: String + , readOnly :: Boolean + , resource :: String + , role :: String + , rowSpan :: Number + , scoped :: Boolean + , seamless :: Boolean + , security :: String + , spellCheck :: String + , srcDoc :: String + , srcLang :: String + , srcSet :: String + , style :: CSS + , tabIndex :: String + , title :: String + , typeof :: String + , unselectable :: String + , useMap :: String + , vocab :: String + , wmode :: String + , onClick :: EventHandler + -- TODO: add more common event handlers + | specific + ) + +unsafeCreateDOMComponent :: forall props. String -> Component props +unsafeCreateDOMComponent = unsafeCoerce