From 77201da27d210614517c1507b14d2ad44ff16368 Mon Sep 17 00:00:00 2001 From: Michael Trotter Date: Fri, 23 Feb 2018 01:18:33 -0700 Subject: [PATCH 1/6] Remove `Array JSX` "children" argument Also some other things: - no more key warnings for normal usage - `React.Basic` no longer depends on `React.Basic.DOM` - displayName - rename `react` to `reactComponent` - add new `react` which behaves more like `React.Basic.DOM` components (simpler api for PureScript-only components by pre-applying `createElement`) Closes #14 --- README.md | 24 +- codegen/index.js | 34 +- examples/component/package.json | 5 +- examples/component/src/Container.purs | 35 +- examples/component/src/ToggleButton.purs | 46 +- examples/counter/package.json | 4 +- examples/counter/src/Counter.purs | 57 +- src/React/Basic.js | 111 ++- src/React/Basic.purs | 73 +- src/React/Basic/DOM.purs | 825 ++++++++++++----------- src/React/Basic/DOM/Internal.js | 11 - src/React/Basic/DOM/Internal.purs | 28 - 12 files changed, 670 insertions(+), 583 deletions(-) delete mode 100644 src/React/Basic/DOM/Internal.js delete mode 100644 src/React/Basic/DOM/Internal.purs diff --git a/README.md b/README.md index 565a6ac..ac676b2 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ This package implements an opinionated set of bindings to the React library, opt ## Features -- All React DOM elements and attributes are supported. +- All React DOM elements and attributes are supported (soon, events are a work in progress). - An intuitive API for specifying props - no arrays of key value pairs, just records. - Attributes are optional, but type-checked. It is a type error to specify `href` as an integer, for example. @@ -12,7 +12,7 @@ This package implements an opinionated set of bindings to the React library, opt You can install this package using Bower: -``` +```sh bower install git@github.com:lumihq/purescript-react-basic.git ``` @@ -24,36 +24,32 @@ module React.Basic.Example where import Prelude import Control.Monad.Eff.Uncurried (mkEffFn1) -import React.Basic as R +import React.Basic (ReactComponent, reactComponent) +import React.Basic.DOM as R -- The props for the component type ExampleProps = { label :: String } --- The internal state of the component -type ExampleState = - { counter :: Int - } - --- Create a component by passing a record to the `react` function. +-- Create a component by passing a record to the `reactComponent` function. -- The `render` function takes the props and current state, as well as a -- state update callback, and produces a document. -example :: R.ReactComponent ExampleProps -example = R.react +example :: ReactComponent ExampleProps +example = reactComponent { initialState: { counter: 0 } , receiveProps: \_ _ _ -> pure unit , render: \{ label } { counter } setState -> R.button { onClick: mkEffFn1 \_ -> do - setState { counter: counter + 1 } + setState \s -> { counter: s.counter + 1 } + , children: [ R.text (label <> ": " <> show counter) ] } - [ R.text (label <> ": " <> show counter) ] } ``` This component can be used directly from JavaScript. For example, if you are using `purs-loader`: -```javascript +```jsx import {example as Example} from 'React.Basic.Example.purs'; const myComponent = () => ( diff --git a/codegen/index.js b/codegen/index.js index 68110fc..6ca316f 100644 --- a/codegen/index.js +++ b/codegen/index.js @@ -1,11 +1,12 @@ -const props = require('react-html-attributes'); -const voids = ['area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source', 'track', 'wbr']; +const props = require("react-html-attributes"); +const voids = ["area", "base", "br", "col", "embed", "hr", "img", "input", "link", "meta", "param", "source", "track", "wbr"]; const types = { "allowFullScreen": "Boolean", "async": "Boolean", "autoPlay": "Boolean", "capture": "Boolean", "checked": "Boolean", + "children": "Array JSX", "cols": "Number", "controls": "Boolean", "default": "Boolean", @@ -30,29 +31,26 @@ const types = { "selected": "Boolean", "size": "Number", "span": "Number", - "start": "Number", - "zoomAndPan": "String" + "start": "Number" }; +const reserved = ["module", "data", "type", "newtype", "class", "instance", "where", "derive", "if", "then", "else", "case", "of"]; -printRecord = (elProps) => ` +printRecord = (elProps) => elProps.length ? ` ( ${ elProps.map((p) => - `${p} :: ${types[p] || 'String'}`).join('\n , ') + `${p} :: ${types[p] || "String"}`).join("\n , ") } - )` + )` : "()" props.elements.html - .map((e) =>` - type Props_${e} = ${ - props[e] - ? printRecord(props[e]) - : '()' - } + .map((e) => ` + type Props_${e} = ${printRecord( + (voids.includes(e) ? [] : ["children"]).concat(props[e] || []).sort() + )} - ${e} + ${reserved.includes(e) ? `${e}_` : e} :: forall attrs attrs_ - . Union attrs attrs_ (SharedProps Props_${e})) + . Union attrs attrs_ (SharedProps Props_${e}) => Record attrs - -> Array JSX -> JSX - ${e} = ${voids.indexOf(e) >= 0 ? 'createElementNoChildren' : 'createElement'} "${e}" -`).forEach((x) => console.log(x.replace(/^\n\ {4}/, '').replace(/\n\ {4}/g, '\n'))) + ${reserved.includes(e) ? `${e}_` : e} = createElement (unsafeCoerce "${e}") +`).forEach((x) => console.log(x.replace(/^\n\ {4}/, "").replace(/\n\ {4}/g, "\n"))) diff --git a/examples/component/package.json b/examples/component/package.json index 8648b2b..56f6b85 100644 --- a/examples/component/package.json +++ b/examples/component/package.json @@ -5,9 +5,8 @@ "keywords": [], "author": "", "dependencies": { - "create-react-class": "^15.6.2", - "react": "^15.6.2", - "react-dom": "^15.6.2" + "react": "^16.2.0", + "react-dom": "^16.2.0" }, "devDependencies": { "browserify": "^16.1.0" diff --git a/examples/component/src/Container.purs b/examples/component/src/Container.purs index 8ce3150..302c7b7 100644 --- a/examples/component/src/Container.purs +++ b/examples/component/src/Container.purs @@ -1,16 +1,19 @@ -module Container where - -import Prelude - -import React.Basic as R -import ToggleButton as ToggleButton - -component :: R.ReactComponent Unit -component = R.react - { initialState: unit - , receiveProps: \_ _ _ -> pure unit - , render: \_ _ setState -> - R.div { } [ R.component ToggleButton.component { on: true } - , R.component ToggleButton.component { on: false } - ] - } +module Container where + +import Prelude + +import React.Basic (ReactComponent, reactComponent) +import React.Basic.DOM as R +import ToggleButton as ToggleButton + +component :: ReactComponent Unit +component = reactComponent + { displayName: "Container" + , initialState: unit + , receiveProps: \_ _ _ -> pure unit + , render: \_ _ setState -> + R.div { children: [ ToggleButton.component { on: true } + , ToggleButton.component { on: false } + ] + } + } diff --git a/examples/component/src/ToggleButton.purs b/examples/component/src/ToggleButton.purs index fd11c6e..88ab170 100644 --- a/examples/component/src/ToggleButton.purs +++ b/examples/component/src/ToggleButton.purs @@ -1,24 +1,22 @@ -module ToggleButton where - -import Prelude - -import Control.Monad.Eff.Uncurried (mkEffFn1) -import React.Basic as R - -type ExampleProps = - { on :: Boolean - } - -type ExampleState = - { on :: Boolean - } - -component :: R.ReactComponent ExampleProps -component = R.react - { initialState: { on: false } - , receiveProps: \{ on } _ setState -> setState { on } - , render: \_ { on } setState -> - R.button { onClick: mkEffFn1 \_ -> setState { on: not on } - } - [ R.text if on then "On" else "Off" ] - } +module ToggleButton where + +import Prelude + +import Control.Monad.Eff.Uncurried (mkEffFn1) +import React.Basic (JSX, react) +import React.Basic.DOM as R + +type ExampleProps = + { on :: Boolean + } + +component :: ExampleProps -> JSX +component = react + { displayName: "ToggleButton" + , initialState: { on: false } + , receiveProps: \{ on } _ setState -> setState (const { on }) + , render: \_ { on } setState -> + R.button { onClick: mkEffFn1 \_ -> setState \s -> { on: not s.on } + , children: [ R.text if on then "On" else "Off" ] + } + } diff --git a/examples/counter/package.json b/examples/counter/package.json index b1ac6d8..0750eb8 100644 --- a/examples/counter/package.json +++ b/examples/counter/package.json @@ -6,8 +6,8 @@ "author": "", "dependencies": { "create-react-class": "^15.6.2", - "react": "^15.6.2", - "react-dom": "^15.6.2" + "react": "^16.2.0", + "react-dom": "^16.2.0" }, "devDependencies": { "browserify": "^16.1.0" diff --git a/examples/counter/src/Counter.purs b/examples/counter/src/Counter.purs index 724d4d6..a0cf4dc 100644 --- a/examples/counter/src/Counter.purs +++ b/examples/counter/src/Counter.purs @@ -1,30 +1,27 @@ -module Counter where - -import Prelude - -import Control.Monad.Eff.Uncurried (mkEffFn1) -import React.Basic as R - --- The props for the component -type ExampleProps = - { label :: String - } - --- The internal state of the component -type ExampleState = - { counter :: Int - } - --- 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 :: R.ReactComponent ExampleProps -component = R.react - { initialState: { counter: 0 } - , receiveProps: \_ _ _ -> pure unit - , render: \{ label } { counter } setState -> - R.button { onClick: mkEffFn1 \_ -> do - setState { counter: counter + 1 } - } - [ R.text (label <> ": " <> show counter) ] - } +module Counter where + +import Prelude + +import Control.Monad.Eff.Uncurried (mkEffFn1) +import React.Basic (ReactComponent, reactComponent) +import React.Basic.DOM as R + +-- The props for the component +type ExampleProps = + { 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 = reactComponent + { displayName: "Counter" + , initialState: { counter: 0 } + , receiveProps: \_ _ _ -> pure unit + , render: \{ label } { counter } setState -> + R.button { onClick: mkEffFn1 \_ -> do + setState \s -> { counter: s.counter + 1 } + , children: [ R.text (label <> ": " <> show counter) ] + } + } diff --git a/src/React/Basic.js b/src/React/Basic.js index d5b68bc..ed3ae1c 100644 --- a/src/React/Basic.js +++ b/src/React/Basic.js @@ -1,39 +1,80 @@ "use strict"; -var React = require('react'); - -exports.react_ = function(spec) { - return React.createClass({ - getInitialState: function() { - return spec.initialState; - }, - componentDidMount: function() { - var this_ = this; - spec.receiveProps(this.props, this.state, function(newState) { - return function() { - this_.setState(newState); - }; - }); - }, - componentWillReceiveProps: function(newProps) { - var this_ = this; - spec.receiveProps(newProps, this.state, function(newState) { - return function() { - this_.setState(newState); - }; - }); - }, - render: function() { - var this_ = this; - return spec.render(this.props, this.state, function(newState) { - return function() { - this_.setState(newState); - }; - }); - } - }); +var React = require("react"); +var KeyedContainer = React.Fragment || "div"; + +// Class polyfill +var __extends = + (this && this.__extends) || + (function() { + var extendStatics = + Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && + function(d, b) { + d.__proto__ = b; + }) || + function(d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + }; + return function(d, b) { + extendStatics(d, b); + function __() { + this.constructor = d; + } + d.prototype = + b === null + ? Object.create(b) + : ((__.prototype = b.prototype), new __()); + }; + })(); + +exports.component_ = function(spec) { + function Component(props) { + this.state = spec.initialState; + return this; + } + __extends(Component, React.Component); + + Component.prototype.displayName = spec.displayName; + + Component.prototype.componentDidMount = function() { + var this_ = this; + spec.receiveProps(this.props, this.state, function(newState) { + return function() { + this_.setState(newState); + }; + }); + }; + + Component.prototype.componentWillReceiveProps = function(newProps) { + var this_ = this; + spec.receiveProps(newProps, this.state, function(newState) { + return function() { + this_.setState(newState); + }; + }); + }; + + Component.prototype.render = function() { + var this_ = this; + return spec.render(this.props, this.state, function(newState) { + return function() { + this_.setState(newState); + }; + }); + }; + + return Component; +}; + +exports.createElement_ = function(el, attrs) { + return React.createElement.apply(null, [el, attrs].concat(attrs.children)); }; -exports.component_ = function(component, props) { - return React.createElement(component, props); -} +exports.keyed = function(keyChildPairs) { + return React.createElement(KeyedContainer, { + children: keyChildPairs.map(function(keyChildPair) { + return React.cloneElement(keyChildPair.child, { key: keyChildPair.key }); + }) + }); +}; diff --git a/src/React/Basic.purs b/src/React/Basic.purs index 0ee2cdd..ea8150b 100644 --- a/src/React/Basic.purs +++ b/src/React/Basic.purs @@ -1,7 +1,8 @@ module React.Basic ( react - , component - , module React.Basic.DOM + , reactComponent + , createElement + , keyed , module React.Basic.Types ) where @@ -10,20 +11,16 @@ import Prelude import Control.Monad.Eff (Eff, kind Effect) import Control.Monad.Eff.Uncurried (EffFn3, mkEffFn3) import Data.Function.Uncurried (Fn2, runFn2, Fn3, mkFn3) -import React.Basic.DOM as React.Basic.DOM import React.Basic.Types (CSS, EventHandler, JSX, ReactComponent, ReactFX) import React.Basic.Types as React.Basic.Types -foreign import react_ - :: forall props state - . { initialState :: state - , receiveProps :: EffFn3 (react :: ReactFX) props state (state -> Eff (react :: ReactFX) Unit) Unit - , render :: Fn3 props state (state -> Eff (react :: ReactFX) Unit) JSX - } - -> ReactComponent props - -- | Create a React component from a _specification_ of that component. -- | +-- | `react` pre-applies `createElement` and returns `props -> JSX`, making it +-- | convenient for consumption within another `purescript-react-basic` +-- | component. Use `reactComponent` for better interop with JavaScript, as it +-- | returns a `ReactComponent`. +-- | -- | A _specification_ consists of a state type, an initial value for that state, -- | a function to apply incoming props to the internal state, and a rendering -- | function which takes props, state and a state update function. @@ -32,25 +29,57 @@ foreign import react_ -- | constructed using the helper functions provided by the `React.Basic.DOM` -- | module (and re-exported here). react - :: forall props state - . { initialState :: state - , receiveProps :: props -> state -> (state -> Eff (react :: ReactFX) Unit) -> Eff (react :: ReactFX) Unit - , render :: props -> state -> (state -> Eff (react :: ReactFX) Unit) -> JSX + :: forall props state fx + . { displayName :: String + , initialState :: state + , receiveProps :: props -> state -> (SetState state fx) -> Eff (react :: ReactFX | fx) Unit + , render :: props -> state -> (SetState state fx) -> JSX + } + -> props + -> JSX +react = createElement <<< reactComponent + +-- | Create a React component from a _specification_ of that component, without +-- | pre-applying it to `createElement`. Use this function for more standard +-- | JavaScript React interop. +reactComponent + :: forall props state fx + . { displayName :: String + , initialState :: state + , receiveProps :: props -> state -> (SetState state fx) -> Eff (react :: ReactFX | fx) Unit + , render :: props -> state -> (SetState state fx) -> JSX } -> ReactComponent props -react { initialState, receiveProps, render } = - react_ - { initialState +reactComponent { displayName, initialState, receiveProps, render } = + component_ + { displayName + , initialState , receiveProps: mkEffFn3 receiveProps , render: mkFn3 render } -foreign import component_ :: forall props. Fn2 (ReactComponent props) props JSX +-- | SetState uses an update function to modify the current state. +type SetState state fx = (state -> state) -> Eff (react :: ReactFX | fx) Unit --- | Create a `JSX` node from another React component, by providing the props. -component +-- | Create a `JSX` node from a React component, by providing the props. +createElement :: forall props . ReactComponent props -> props -> JSX -component = runFn2 component_ +createElement = runFn2 createElement_ + +foreign import keyed :: Array { key :: String, child :: JSX } -> JSX + +-- | Private FFI + +foreign import component_ + :: forall props state fx + . { displayName :: String + , initialState :: state + , receiveProps :: EffFn3 (react :: ReactFX | fx) props state (SetState state fx) Unit + , render :: Fn3 props state (SetState state fx) JSX + } + -> ReactComponent props + +foreign import createElement_ :: forall props. Fn2 (ReactComponent props) props JSX diff --git a/src/React/Basic/DOM.purs b/src/React/Basic/DOM.purs index 9e2c8f8..1e3c95d 100644 --- a/src/React/Basic/DOM.purs +++ b/src/React/Basic/DOM.purs @@ -7,7 +7,7 @@ module React.Basic.DOM where -import React.Basic.DOM.Internal (createElement, createElementNoChildren) +import React.Basic (createElement) import React.Basic.Types (CSS, JSX, EventHandler) import Unsafe.Coerce (unsafeCoerce) @@ -107,8 +107,9 @@ type SharedProps specific = | specific ) -type Props_a = - ( coords :: String +type Props_a = + ( children :: Array JSX + , coords :: String , download :: String , href :: String , name :: String @@ -122,33 +123,33 @@ a :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_a) => Record attrs - -> Array JSX -> JSX -a = createElement "a" +a = createElement (unsafeCoerce "a") -type Props_abbr = - ( title :: String +type Props_abbr = + ( children :: Array JSX + , title :: String ) abbr :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_abbr) => Record attrs - -> Array JSX -> JSX -abbr = createElement "abbr" +abbr = createElement (unsafeCoerce "abbr") -type Props_address = () +type Props_address = + ( children :: Array JSX + ) address :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_address) => Record attrs - -> Array JSX -> JSX -address = createElement "address" +address = createElement (unsafeCoerce "address") -type Props_area = +type Props_area = ( alt :: String , coords :: String , download :: String @@ -164,30 +165,33 @@ area . Union attrs attrs_ (SharedProps Props_area) => Record attrs -> JSX -area = createElementNoChildren "area" +area = createElement (unsafeCoerce "area") -type Props_article = () +type Props_article = + ( children :: Array JSX + ) article :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_article) => Record attrs - -> Array JSX -> JSX -article = createElement "article" +article = createElement (unsafeCoerce "article") -type Props_aside = () +type Props_aside = + ( children :: Array JSX + ) aside :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_aside) => Record attrs - -> Array JSX -> JSX -aside = createElement "aside" +aside = createElement (unsafeCoerce "aside") -type Props_audio = - ( controls :: Boolean +type Props_audio = + ( children :: Array JSX + , controls :: Boolean , loop :: Boolean , muted :: Boolean , preload :: String @@ -198,21 +202,21 @@ audio :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_audio) => Record attrs - -> Array JSX -> JSX -audio = createElement "audio" +audio = createElement (unsafeCoerce "audio") -type Props_b = () +type Props_b = + ( children :: Array JSX + ) b :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_b) => Record attrs - -> Array JSX -> JSX -b = createElement "b" +b = createElement (unsafeCoerce "b") -type Props_base = +type Props_base = ( href :: String , target :: String ) @@ -222,51 +226,53 @@ base . Union attrs attrs_ (SharedProps Props_base) => Record attrs -> JSX -base = createElementNoChildren "base" +base = createElement (unsafeCoerce "base") -type Props_bdi = () +type Props_bdi = + ( children :: Array JSX + ) bdi :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_bdi) => Record attrs - -> Array JSX -> JSX -bdi = createElement "bdi" +bdi = createElement (unsafeCoerce "bdi") -type Props_bdo = - ( dir :: String +type Props_bdo = + ( children :: Array JSX + , dir :: String ) bdo :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_bdo) => Record attrs - -> Array JSX -> JSX -bdo = createElement "bdo" +bdo = createElement (unsafeCoerce "bdo") -type Props_blockquote = - ( cite :: String +type Props_blockquote = + ( children :: Array JSX + , cite :: String ) blockquote :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_blockquote) => Record attrs - -> Array JSX -> JSX -blockquote = createElement "blockquote" +blockquote = createElement (unsafeCoerce "blockquote") -type Props_body = () +type Props_body = + ( children :: Array JSX + ) body :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_body) => Record attrs - -> Array JSX -> JSX -body = createElement "body" +body = createElement (unsafeCoerce "body") type Props_br = () @@ -275,10 +281,11 @@ br . Union attrs attrs_ (SharedProps Props_br) => Record attrs -> JSX -br = createElementNoChildren "br" +br = createElement (unsafeCoerce "br") -type Props_button = - ( disabled :: Boolean +type Props_button = + ( children :: Array JSX + , disabled :: Boolean , form :: String , name :: String , type :: String @@ -289,12 +296,12 @@ button :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_button) => Record attrs - -> Array JSX -> JSX -button = createElement "button" +button = createElement (unsafeCoerce "button") -type Props_canvas = - ( height :: String +type Props_canvas = + ( children :: Array JSX + , height :: String , width :: String ) @@ -302,41 +309,43 @@ canvas :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_canvas) => Record attrs - -> Array JSX -> JSX -canvas = createElement "canvas" +canvas = createElement (unsafeCoerce "canvas") -type Props_caption = () +type Props_caption = + ( children :: Array JSX + ) caption :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_caption) => Record attrs - -> Array JSX -> JSX -caption = createElement "caption" +caption = createElement (unsafeCoerce "caption") -type Props_cite = () +type Props_cite = + ( children :: Array JSX + ) cite :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_cite) => Record attrs - -> Array JSX -> JSX -cite = createElement "cite" +cite = createElement (unsafeCoerce "cite") -type Props_code = () +type Props_code = + ( children :: Array JSX + ) code :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_code) => Record attrs - -> Array JSX -> JSX -code = createElement "code" +code = createElement (unsafeCoerce "code") -type Props_col = +type Props_col = ( span :: Number , width :: String ) @@ -346,10 +355,11 @@ col . Union attrs attrs_ (SharedProps Props_col) => Record attrs -> JSX -col = createElementNoChildren "col" +col = createElement (unsafeCoerce "col") -type Props_colgroup = - ( span :: Number +type Props_colgroup = + ( children :: Array JSX + , span :: Number , width :: String ) @@ -357,131 +367,136 @@ colgroup :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_colgroup) => Record attrs - -> Array JSX -> JSX -colgroup = createElement "colgroup" +colgroup = createElement (unsafeCoerce "colgroup") -type Props_data = - ( value :: String +type Props_data = + ( children :: Array JSX + , value :: String ) data_ :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_data) => Record attrs - -> Array JSX -> JSX -data_ = createElement "data" +data_ = createElement (unsafeCoerce "data") -type Props_datalist = () +type Props_datalist = + ( children :: Array JSX + ) datalist :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_datalist) => Record attrs - -> Array JSX -> JSX -datalist = createElement "datalist" +datalist = createElement (unsafeCoerce "datalist") -type Props_dd = () +type Props_dd = + ( children :: Array JSX + ) dd :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_dd) => Record attrs - -> Array JSX -> JSX -dd = createElement "dd" +dd = createElement (unsafeCoerce "dd") -type Props_del = - ( cite :: String +type Props_del = + ( children :: Array JSX + , cite :: String ) del :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_del) => Record attrs - -> Array JSX -> JSX -del = createElement "del" +del = createElement (unsafeCoerce "del") -type Props_details = - ( open :: Boolean +type Props_details = + ( children :: Array JSX + , open :: Boolean ) details :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_details) => Record attrs - -> Array JSX -> JSX -details = createElement "details" +details = createElement (unsafeCoerce "details") -type Props_dfn = - ( title :: String +type Props_dfn = + ( children :: Array JSX + , title :: String ) dfn :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_dfn) => Record attrs - -> Array JSX -> JSX -dfn = createElement "dfn" +dfn = createElement (unsafeCoerce "dfn") -type Props_dialog = - ( open :: Boolean +type Props_dialog = + ( children :: Array JSX + , open :: Boolean ) dialog :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_dialog) => Record attrs - -> Array JSX -> JSX -dialog = createElement "dialog" +dialog = createElement (unsafeCoerce "dialog") -type Props_div = () +type Props_div = + ( children :: Array JSX + ) div :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_div) => Record attrs - -> Array JSX -> JSX -div = createElement "div" +div = createElement (unsafeCoerce "div") -type Props_dl = () +type Props_dl = + ( children :: Array JSX + ) dl :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_dl) => Record attrs - -> Array JSX -> JSX -dl = createElement "dl" +dl = createElement (unsafeCoerce "dl") -type Props_dt = () +type Props_dt = + ( children :: Array JSX + ) dt :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_dt) => Record attrs - -> Array JSX -> JSX -dt = createElement "dt" +dt = createElement (unsafeCoerce "dt") -type Props_em = () +type Props_em = + ( children :: Array JSX + ) em :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_em) => Record attrs - -> Array JSX -> JSX -em = createElement "em" +em = createElement (unsafeCoerce "em") -type Props_embed = +type Props_embed = ( height :: String , src :: String , type :: String @@ -493,10 +508,11 @@ embed . Union attrs attrs_ (SharedProps Props_embed) => Record attrs -> JSX -embed = createElementNoChildren "embed" +embed = createElement (unsafeCoerce "embed") -type Props_fieldset = - ( disabled :: Boolean +type Props_fieldset = + ( children :: Array JSX + , disabled :: Boolean , form :: String , name :: String ) @@ -505,43 +521,46 @@ fieldset :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_fieldset) => Record attrs - -> Array JSX -> JSX -fieldset = createElement "fieldset" +fieldset = createElement (unsafeCoerce "fieldset") -type Props_figcaption = () +type Props_figcaption = + ( children :: Array JSX + ) figcaption :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_figcaption) => Record attrs - -> Array JSX -> JSX -figcaption = createElement "figcaption" +figcaption = createElement (unsafeCoerce "figcaption") -type Props_figure = () +type Props_figure = + ( children :: Array JSX + ) figure :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_figure) => Record attrs - -> Array JSX -> JSX -figure = createElement "figure" +figure = createElement (unsafeCoerce "figure") -type Props_footer = () +type Props_footer = + ( children :: Array JSX + ) footer :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_footer) => Record attrs - -> Array JSX -> JSX -footer = createElement "footer" +footer = createElement (unsafeCoerce "footer") -type Props_form = +type Props_form = ( accept :: String , action :: String + , children :: Array JSX , method :: String , name :: String , target :: String @@ -551,103 +570,110 @@ form :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_form) => Record attrs - -> Array JSX -> JSX -form = createElement "form" +form = createElement (unsafeCoerce "form") -type Props_h1 = () +type Props_h1 = + ( children :: Array JSX + ) h1 :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_h1) => Record attrs - -> Array JSX -> JSX -h1 = createElement "h1" +h1 = createElement (unsafeCoerce "h1") -type Props_h2 = () +type Props_h2 = + ( children :: Array JSX + ) h2 :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_h2) => Record attrs - -> Array JSX -> JSX -h2 = createElement "h2" +h2 = createElement (unsafeCoerce "h2") -type Props_h3 = () +type Props_h3 = + ( children :: Array JSX + ) h3 :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_h3) => Record attrs - -> Array JSX -> JSX -h3 = createElement "h3" +h3 = createElement (unsafeCoerce "h3") -type Props_h4 = () +type Props_h4 = + ( children :: Array JSX + ) h4 :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_h4) => Record attrs - -> Array JSX -> JSX -h4 = createElement "h4" +h4 = createElement (unsafeCoerce "h4") -type Props_h5 = () +type Props_h5 = + ( children :: Array JSX + ) h5 :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_h5) => Record attrs - -> Array JSX -> JSX -h5 = createElement "h5" +h5 = createElement (unsafeCoerce "h5") -type Props_h6 = () +type Props_h6 = + ( children :: Array JSX + ) h6 :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_h6) => Record attrs - -> Array JSX -> JSX -h6 = createElement "h6" +h6 = createElement (unsafeCoerce "h6") -type Props_head = - ( profile :: String +type Props_head = + ( children :: Array JSX + , profile :: String ) head :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_head) => Record attrs - -> Array JSX -> JSX -head = createElement "head" +head = createElement (unsafeCoerce "head") -type Props_header = () +type Props_header = + ( children :: Array JSX + ) header :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_header) => Record attrs - -> Array JSX -> JSX -header = createElement "header" +header = createElement (unsafeCoerce "header") -type Props_hgroup = () +type Props_hgroup = + ( children :: Array JSX + ) hgroup :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_hgroup) => Record attrs - -> Array JSX -> JSX -hgroup = createElement "hgroup" +hgroup = createElement (unsafeCoerce "hgroup") -type Props_hr = +type Props_hr = ( size :: Number , width :: String ) @@ -657,32 +683,34 @@ hr . Union attrs attrs_ (SharedProps Props_hr) => Record attrs -> JSX -hr = createElementNoChildren "hr" +hr = createElement (unsafeCoerce "hr") -type Props_html = - ( manifest :: String +type Props_html = + ( children :: Array JSX + , manifest :: String ) html :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_html) => Record attrs - -> Array JSX -> JSX -html = createElement "html" +html = createElement (unsafeCoerce "html") -type Props_i = () +type Props_i = + ( children :: Array JSX + ) i :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_i) => Record attrs - -> Array JSX -> JSX -i = createElement "i" +i = createElement (unsafeCoerce "i") -type Props_iframe = - ( height :: String +type Props_iframe = + ( children :: Array JSX + , height :: String , name :: String , sandbox :: String , scrolling :: String @@ -694,11 +722,10 @@ iframe :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_iframe) => Record attrs - -> Array JSX -> JSX -iframe = createElement "iframe" +iframe = createElement (unsafeCoerce "iframe") -type Props_img = +type Props_img = ( alt :: String , height :: String , name :: String @@ -712,15 +739,17 @@ img . Union attrs attrs_ (SharedProps Props_img) => Record attrs -> JSX -img = createElementNoChildren "img" +img = createElement (unsafeCoerce "img") -type Props_input = +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 @@ -729,7 +758,7 @@ type Props_input = , min :: String , multiple :: Boolean , name :: String - , onChange :: EventHandler + , onChange :: String , pattern :: String , placeholder :: String , required :: Boolean @@ -748,32 +777,34 @@ input . Union attrs attrs_ (SharedProps Props_input) => Record attrs -> JSX -input = createElementNoChildren "input" +input = createElement (unsafeCoerce "input") -type Props_ins = - ( cite :: String +type Props_ins = + ( children :: Array JSX + , cite :: String ) ins :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_ins) => Record attrs - -> Array JSX -> JSX -ins = createElement "ins" +ins = createElement (unsafeCoerce "ins") -type Props_kbd = () +type Props_kbd = + ( children :: Array JSX + ) kbd :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_kbd) => Record attrs - -> Array JSX -> JSX -kbd = createElement "kbd" +kbd = createElement (unsafeCoerce "kbd") -type Props_keygen = +type Props_keygen = ( challenge :: String + , children :: Array JSX , disabled :: Boolean , form :: String , name :: String @@ -783,34 +814,35 @@ keygen :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_keygen) => Record attrs - -> Array JSX -> JSX -keygen = createElement "keygen" +keygen = createElement (unsafeCoerce "keygen") -type Props_label = - ( form :: String +type Props_label = + ( children :: Array JSX + , form :: String ) label :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_label) => Record attrs - -> Array JSX -> JSX -label = createElement "label" +label = createElement (unsafeCoerce "label") -type Props_legend = () +type Props_legend = + ( children :: Array JSX + ) legend :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_legend) => Record attrs - -> Array JSX -> JSX -legend = createElement "legend" +legend = createElement (unsafeCoerce "legend") -type Props_li = - ( type :: String +type Props_li = + ( children :: Array JSX + , type :: String , value :: String ) @@ -818,11 +850,10 @@ li :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_li) => Record attrs - -> Array JSX -> JSX -li = createElement "li" +li = createElement (unsafeCoerce "li") -type Props_link = +type Props_link = ( color :: String , href :: String , integrity :: String @@ -841,71 +872,76 @@ link . Union attrs attrs_ (SharedProps Props_link) => Record attrs -> JSX -link = createElementNoChildren "link" +link = createElement (unsafeCoerce "link") -type Props_main = () +type Props_main = + ( children :: Array JSX + ) main :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_main) => Record attrs - -> Array JSX -> JSX -main = createElement "main" +main = createElement (unsafeCoerce "main") -type Props_map = - ( name :: String +type Props_map = + ( children :: Array JSX + , name :: String ) map :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_map) => Record attrs - -> Array JSX -> JSX -map = createElement "map" +map = createElement (unsafeCoerce "map") -type Props_mark = () +type Props_mark = + ( children :: Array JSX + ) mark :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_mark) => Record attrs - -> Array JSX -> JSX -mark = createElement "mark" +mark = createElement (unsafeCoerce "mark") -type Props_math = () +type Props_math = + ( children :: Array JSX + ) math :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_math) => Record attrs - -> Array JSX -> JSX -math = createElement "math" +math = createElement (unsafeCoerce "math") -type Props_menu = () +type Props_menu = + ( children :: Array JSX + ) menu :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_menu) => Record attrs - -> Array JSX -> JSX -menu = createElement "menu" +menu = createElement (unsafeCoerce "menu") -type Props_menuitem = () +type Props_menuitem = + ( children :: Array JSX + ) menuitem :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_menuitem) => Record attrs - -> Array JSX -> JSX -menuitem = createElement "menuitem" +menuitem = createElement (unsafeCoerce "menuitem") -type Props_meta = +type Props_meta = ( content :: String , name :: String ) @@ -915,10 +951,11 @@ meta . Union attrs attrs_ (SharedProps Props_meta) => Record attrs -> JSX -meta = createElementNoChildren "meta" +meta = createElement (unsafeCoerce "meta") -type Props_meter = - ( high :: String +type Props_meter = + ( children :: Array JSX + , high :: String , low :: String , max :: String , min :: String @@ -930,32 +967,34 @@ meter :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_meter) => Record attrs - -> Array JSX -> JSX -meter = createElement "meter" +meter = createElement (unsafeCoerce "meter") -type Props_nav = () +type Props_nav = + ( children :: Array JSX + ) nav :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_nav) => Record attrs - -> Array JSX -> JSX -nav = createElement "nav" +nav = createElement (unsafeCoerce "nav") -type Props_noscript = () +type Props_noscript = + ( children :: Array JSX + ) noscript :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_noscript) => Record attrs - -> Array JSX -> JSX -noscript = createElement "noscript" +noscript = createElement (unsafeCoerce "noscript") -type Props_object = - ( data :: String +type Props_object = + ( children :: Array JSX + , data :: String , form :: String , height :: String , name :: String @@ -967,12 +1006,12 @@ object :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_object) => Record attrs - -> Array JSX -> JSX -object = createElement "object" +object = createElement (unsafeCoerce "object") -type Props_ol = - ( reversed :: Boolean +type Props_ol = + ( children :: Array JSX + , reversed :: Boolean , start :: Number , type :: String ) @@ -981,12 +1020,12 @@ ol :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_ol) => Record attrs - -> Array JSX -> JSX -ol = createElement "ol" +ol = createElement (unsafeCoerce "ol") -type Props_optgroup = - ( disabled :: Boolean +type Props_optgroup = + ( children :: Array JSX + , disabled :: Boolean , label :: String ) @@ -994,12 +1033,12 @@ optgroup :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_optgroup) => Record attrs - -> Array JSX -> JSX -optgroup = createElement "optgroup" +optgroup = createElement (unsafeCoerce "optgroup") -type Props_option = - ( disabled :: Boolean +type Props_option = + ( children :: Array JSX + , disabled :: Boolean , label :: String , selected :: Boolean , value :: String @@ -1009,12 +1048,12 @@ option :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_option) => Record attrs - -> Array JSX -> JSX -option = createElement "option" +option = createElement (unsafeCoerce "option") -type Props_output = - ( form :: String +type Props_output = + ( children :: Array JSX + , form :: String , name :: String ) @@ -1022,21 +1061,21 @@ output :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_output) => Record attrs - -> Array JSX -> JSX -output = createElement "output" +output = createElement (unsafeCoerce "output") -type Props_p = () +type Props_p = + ( children :: Array JSX + ) p :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_p) => Record attrs - -> Array JSX -> JSX -p = createElement "p" +p = createElement (unsafeCoerce "p") -type Props_param = +type Props_param = ( name :: String , type :: String , value :: String @@ -1047,32 +1086,34 @@ param . Union attrs attrs_ (SharedProps Props_param) => Record attrs -> JSX -param = createElementNoChildren "param" +param = createElement (unsafeCoerce "param") -type Props_picture = () +type Props_picture = + ( children :: Array JSX + ) picture :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_picture) => Record attrs - -> Array JSX -> JSX -picture = createElement "picture" +picture = createElement (unsafeCoerce "picture") -type Props_pre = - ( width :: String +type Props_pre = + ( children :: Array JSX + , width :: String ) pre :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_pre) => Record attrs - -> Array JSX -> JSX -pre = createElement "pre" +pre = createElement (unsafeCoerce "pre") -type Props_progress = - ( max :: String +type Props_progress = + ( children :: Array JSX + , max :: String , value :: String ) @@ -1080,94 +1121,101 @@ progress :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_progress) => Record attrs - -> Array JSX -> JSX -progress = createElement "progress" +progress = createElement (unsafeCoerce "progress") -type Props_q = - ( cite :: String +type Props_q = + ( children :: Array JSX + , cite :: String ) q :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_q) => Record attrs - -> Array JSX -> JSX -q = createElement "q" +q = createElement (unsafeCoerce "q") -type Props_rb = () +type Props_rb = + ( children :: Array JSX + ) rb :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_rb) => Record attrs - -> Array JSX -> JSX -rb = createElement "rb" +rb = createElement (unsafeCoerce "rb") -type Props_rp = () +type Props_rp = + ( children :: Array JSX + ) rp :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_rp) => Record attrs - -> Array JSX -> JSX -rp = createElement "rp" +rp = createElement (unsafeCoerce "rp") -type Props_rt = () +type Props_rt = + ( children :: Array JSX + ) rt :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_rt) => Record attrs - -> Array JSX -> JSX -rt = createElement "rt" +rt = createElement (unsafeCoerce "rt") -type Props_rtc = () +type Props_rtc = + ( children :: Array JSX + ) rtc :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_rtc) => Record attrs - -> Array JSX -> JSX -rtc = createElement "rtc" +rtc = createElement (unsafeCoerce "rtc") -type Props_ruby = () +type Props_ruby = + ( children :: Array JSX + ) ruby :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_ruby) => Record attrs - -> Array JSX -> JSX -ruby = createElement "ruby" +ruby = createElement (unsafeCoerce "ruby") -type Props_s = () +type Props_s = + ( children :: Array JSX + ) s :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_s) => Record attrs - -> Array JSX -> JSX -s = createElement "s" +s = createElement (unsafeCoerce "s") -type Props_samp = () +type Props_samp = + ( children :: Array JSX + ) samp :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_samp) => Record attrs - -> Array JSX -> JSX -samp = createElement "samp" +samp = createElement (unsafeCoerce "samp") -type Props_script = +type Props_script = ( async :: Boolean + , children :: Array JSX , defer :: Boolean , integrity :: String , nonce :: String @@ -1179,26 +1227,28 @@ script :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_script) => Record attrs - -> Array JSX -> JSX -script = createElement "script" +script = createElement (unsafeCoerce "script") -type Props_section = () +type Props_section = + ( children :: Array JSX + ) section :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_section) => Record attrs - -> Array JSX -> JSX -section = createElement "section" +section = createElement (unsafeCoerce "section") -type Props_select = - ( disabled :: Boolean +type Props_select = + ( children :: Array JSX + , defaultValue :: String + , disabled :: Boolean , form :: String , multiple :: Boolean , name :: String - , onChange :: EventHandler + , onChange :: String , required :: Boolean , size :: Number , value :: String @@ -1208,33 +1258,33 @@ select :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_select) => Record attrs - -> Array JSX -> JSX -select = createElement "select" +select = createElement (unsafeCoerce "select") -type Props_slot = - ( name :: String +type Props_slot = + ( children :: Array JSX + , name :: String ) slot :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_slot) => Record attrs - -> Array JSX -> JSX -slot = createElement "slot" +slot = createElement (unsafeCoerce "slot") -type Props_small = () +type Props_small = + ( children :: Array JSX + ) small :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_small) => Record attrs - -> Array JSX -> JSX -small = createElement "small" +small = createElement (unsafeCoerce "small") -type Props_source = +type Props_source = ( media :: String , sizes :: String , src :: String @@ -1246,30 +1296,33 @@ source . Union attrs attrs_ (SharedProps Props_source) => Record attrs -> JSX -source = createElementNoChildren "source" +source = createElement (unsafeCoerce "source") -type Props_span = () +type Props_span = + ( children :: Array JSX + ) span :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_span) => Record attrs - -> Array JSX -> JSX -span = createElement "span" +span = createElement (unsafeCoerce "span") -type Props_strong = () +type Props_strong = + ( children :: Array JSX + ) strong :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_strong) => Record attrs - -> Array JSX -> JSX -strong = createElement "strong" +strong = createElement (unsafeCoerce "strong") -type Props_style = - ( media :: String +type Props_style = + ( children :: Array JSX + , media :: String , nonce :: String , title :: String , type :: String @@ -1279,41 +1332,43 @@ style :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_style) => Record attrs - -> Array JSX -> JSX -style = createElement "style" +style = createElement (unsafeCoerce "style") -type Props_sub = () +type Props_sub = + ( children :: Array JSX + ) sub :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_sub) => Record attrs - -> Array JSX -> JSX -sub = createElement "sub" +sub = createElement (unsafeCoerce "sub") -type Props_summary = () +type Props_summary = + ( children :: Array JSX + ) summary :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_summary) => Record attrs - -> Array JSX -> JSX -summary = createElement "summary" +summary = createElement (unsafeCoerce "summary") -type Props_sup = () +type Props_sup = + ( children :: Array JSX + ) sup :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_sup) => Record attrs - -> Array JSX -> JSX -sup = createElement "sup" +sup = createElement (unsafeCoerce "sup") -type Props_svg = +type Props_svg = ( accentHeight :: String , accumulate :: String , additive :: String @@ -1336,6 +1391,7 @@ type Props_svg = , by :: String , calcMode :: String , capHeight :: String + , children :: Array JSX , clip :: String , clipPath :: String , clipPathUnits :: String @@ -1562,12 +1618,12 @@ svg :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_svg) => Record attrs - -> Array JSX -> JSX -svg = createElement "svg" +svg = createElement (unsafeCoerce "svg") -type Props_table = - ( summary :: String +type Props_table = + ( children :: Array JSX + , summary :: String , width :: String ) @@ -1575,22 +1631,23 @@ table :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_table) => Record attrs - -> Array JSX -> JSX -table = createElement "table" +table = createElement (unsafeCoerce "table") -type Props_tbody = () +type Props_tbody = + ( children :: Array JSX + ) tbody :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_tbody) => Record attrs - -> Array JSX -> JSX -tbody = createElement "tbody" +tbody = createElement (unsafeCoerce "tbody") -type Props_td = - ( headers :: String +type Props_td = + ( children :: Array JSX + , headers :: String , height :: String , scope :: String , width :: String @@ -1600,28 +1657,30 @@ td :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_td) => Record attrs - -> Array JSX -> JSX -td = createElement "td" +td = createElement (unsafeCoerce "td") -type Props_template = () +type Props_template = + ( children :: Array JSX + ) template :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_template) => Record attrs - -> Array JSX -> JSX -template = createElement "template" +template = createElement (unsafeCoerce "template") -type Props_textarea = +type Props_textarea = ( autoCapitalize :: String , autoCorrect :: String + , children :: Array JSX , cols :: Number + , defaultValue :: String , disabled :: Boolean , form :: String , name :: String - , onChange :: EventHandler + , onChange :: String , placeholder :: String , required :: Boolean , rows :: Number @@ -1633,22 +1692,23 @@ textarea :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_textarea) => Record attrs - -> Array JSX -> JSX -textarea = createElement "textarea" +textarea = createElement (unsafeCoerce "textarea") -type Props_tfoot = () +type Props_tfoot = + ( children :: Array JSX + ) tfoot :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_tfoot) => Record attrs - -> Array JSX -> JSX -tfoot = createElement "tfoot" +tfoot = createElement (unsafeCoerce "tfoot") -type Props_th = - ( headers :: String +type Props_th = + ( children :: Array JSX + , headers :: String , height :: String , scope :: String , width :: String @@ -1658,51 +1718,54 @@ th :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_th) => Record attrs - -> Array JSX -> JSX -th = createElement "th" +th = createElement (unsafeCoerce "th") -type Props_thead = () +type Props_thead = + ( children :: Array JSX + ) thead :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_thead) => Record attrs - -> Array JSX -> JSX -thead = createElement "thead" +thead = createElement (unsafeCoerce "thead") -type Props_time = () +type Props_time = + ( children :: Array JSX + ) time :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_time) => Record attrs - -> Array JSX -> JSX -time = createElement "time" +time = createElement (unsafeCoerce "time") -type Props_title = () +type Props_title = + ( children :: Array JSX + ) title :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_title) => Record attrs - -> Array JSX -> JSX -title = createElement "title" +title = createElement (unsafeCoerce "title") -type Props_tr = () +type Props_tr = + ( children :: Array JSX + ) tr :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_tr) => Record attrs - -> Array JSX -> JSX -tr = createElement "tr" +tr = createElement (unsafeCoerce "tr") -type Props_track = +type Props_track = ( default :: Boolean , kind :: String , label :: String @@ -1714,42 +1777,45 @@ track . Union attrs attrs_ (SharedProps Props_track) => Record attrs -> JSX -track = createElementNoChildren "track" +track = createElement (unsafeCoerce "track") -type Props_u = () +type Props_u = + ( children :: Array JSX + ) u :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_u) => Record attrs - -> Array JSX -> JSX -u = createElement "u" +u = createElement (unsafeCoerce "u") -type Props_ul = - ( type :: String +type Props_ul = + ( children :: Array JSX + , type :: String ) ul :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_ul) => Record attrs - -> Array JSX -> JSX -ul = createElement "ul" +ul = createElement (unsafeCoerce "ul") -type Props_var = () +type Props_var = + ( children :: Array JSX + ) var :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_var) => Record attrs - -> Array JSX -> JSX -var = createElement "var" +var = createElement (unsafeCoerce "var") -type Props_video = - ( controls :: Boolean +type Props_video = + ( children :: Array JSX + , controls :: Boolean , height :: String , loop :: Boolean , muted :: Boolean @@ -1763,9 +1829,8 @@ video :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_video) => Record attrs - -> Array JSX -> JSX -video = createElement "video" +video = createElement (unsafeCoerce "video") type Props_wbr = () @@ -1774,4 +1839,4 @@ wbr . Union attrs attrs_ (SharedProps Props_wbr) => Record attrs -> JSX -wbr = createElementNoChildren "wbr" +wbr = createElement (unsafeCoerce "wbr") diff --git a/src/React/Basic/DOM/Internal.js b/src/React/Basic/DOM/Internal.js deleted file mode 100644 index cb372de..0000000 --- a/src/React/Basic/DOM/Internal.js +++ /dev/null @@ -1,11 +0,0 @@ -"use strict"; - -var React = require('react'); - -exports.createElement_ = function(el, attrs, kids) { - return React.createElement(el, attrs, kids); -} - -exports.createElementNoChildren_ = function(el, attrs) { - return React.createElement(el, attrs); -} diff --git a/src/React/Basic/DOM/Internal.purs b/src/React/Basic/DOM/Internal.purs deleted file mode 100644 index 0ce2465..0000000 --- a/src/React/Basic/DOM/Internal.purs +++ /dev/null @@ -1,28 +0,0 @@ -module React.Basic.DOM.Internal - ( createElement - , createElementNoChildren - ) where - -import Data.Function.Uncurried (Fn2, Fn3, runFn2, runFn3) -import React.Basic.Types (JSX) - -foreign import createElement_ - :: forall attrs. Fn3 String { | attrs } (Array JSX) JSX - -foreign import createElementNoChildren_ - :: forall attrs. Fn2 String { | attrs } JSX - -createElement - :: forall attrs - . String - -> { | attrs } - -> Array JSX - -> JSX -createElement = runFn3 createElement_ - -createElementNoChildren - :: forall attrs - . String - -> { | attrs } - -> JSX -createElementNoChildren = runFn2 createElementNoChildren_ From 47f086e6d701fa6017740260b93ca845713aa57c Mon Sep 17 00:00:00 2001 From: Michael Trotter Date: Fri, 23 Feb 2018 11:16:03 -0700 Subject: [PATCH 2/6] Cleanup based on PR feedback - Attach TypeScript license for use of polyfill - Remove `react` and rename `reactComponent` back to `react` - More general `key` implementations --- .gitattributes | 1 + DEPENDENCIES | 33 + codegen/index.js | 19 +- examples/component/src/Container.purs | 8 +- examples/component/src/ToggleButton.purs | 4 +- examples/counter/src/Counter.purs | 4 +- package-lock.json | 3761 ++++++++++++++++++++++ package.json | 27 + src/React/Basic.js | 37 +- src/React/Basic.purs | 50 +- src/React/Basic/DOM.purs | 564 +++- 11 files changed, 4342 insertions(+), 166 deletions(-) create mode 100644 .gitattributes create mode 100644 package-lock.json create mode 100644 package.json diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..1a6bd45 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +package-lock.json binary diff --git a/DEPENDENCIES b/DEPENDENCIES index 3635f89..b721765 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -20,3 +20,36 @@ react-html-attributes is used here during code generation, under the terms of th LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +TypeScript's class polyfill is used for React compatibility in ES5, under the terms of the Apache-2.0 license: + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + 1. Definitions. + "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. + "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." + "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + You must give any other recipients of the Work or Derivative Works a copy of this License; and + You must cause any modified files to carry prominent notices stating that You changed the files; and + You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS diff --git a/codegen/index.js b/codegen/index.js index 6ca316f..c56b26e 100644 --- a/codegen/index.js +++ b/codegen/index.js @@ -42,15 +42,24 @@ printRecord = (elProps) => elProps.length ? ` )` : "()" props.elements.html - .map((e) => ` + .map((e) => { + const noChildren = voids.includes(e); + const symbol = reserved.includes(e) ? `${e}'` : e; + return ` type Props_${e} = ${printRecord( - (voids.includes(e) ? [] : ["children"]).concat(props[e] || []).sort() + (noChildren ? [] : ["children"]).concat(props[e] || []).sort() )} - ${reserved.includes(e) ? `${e}_` : e} + ${symbol} :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_${e}) => Record attrs -> JSX - ${reserved.includes(e) ? `${e}_` : e} = createElement (unsafeCoerce "${e}") -`).forEach((x) => console.log(x.replace(/^\n\ {4}/, "").replace(/\n\ {4}/g, "\n"))) + ${symbol} = createElement (stringComponent "${e}")${ + noChildren ? "" : ` + + ${e}_ :: Array JSX -> JSX + ${e}_ children = ${symbol} { children }` + } +`; +}).forEach((x) => console.log(x.replace(/^\n\ {4}/, "").replace(/\n\ {4}/g, "\n"))) diff --git a/examples/component/src/Container.purs b/examples/component/src/Container.purs index 302c7b7..05f3d92 100644 --- a/examples/component/src/Container.purs +++ b/examples/component/src/Container.purs @@ -2,18 +2,18 @@ module Container where import Prelude -import React.Basic (ReactComponent, reactComponent) +import React.Basic (ReactComponent, createElement, react) import React.Basic.DOM as R import ToggleButton as ToggleButton component :: ReactComponent Unit -component = reactComponent +component = react { displayName: "Container" , initialState: unit , receiveProps: \_ _ _ -> pure unit , render: \_ _ setState -> - R.div { children: [ ToggleButton.component { on: true } - , ToggleButton.component { on: false } + R.div { children: [ createElement ToggleButton.component { on: true } + , createElement ToggleButton.component { on: false } ] } } diff --git a/examples/component/src/ToggleButton.purs b/examples/component/src/ToggleButton.purs index 88ab170..8a5e4ec 100644 --- a/examples/component/src/ToggleButton.purs +++ b/examples/component/src/ToggleButton.purs @@ -3,14 +3,14 @@ module ToggleButton where import Prelude import Control.Monad.Eff.Uncurried (mkEffFn1) -import React.Basic (JSX, react) +import React.Basic (ReactComponent, react) import React.Basic.DOM as R type ExampleProps = { on :: Boolean } -component :: ExampleProps -> JSX +component :: ReactComponent ExampleProps component = react { displayName: "ToggleButton" , initialState: { on: false } diff --git a/examples/counter/src/Counter.purs b/examples/counter/src/Counter.purs index a0cf4dc..cdf10ad 100644 --- a/examples/counter/src/Counter.purs +++ b/examples/counter/src/Counter.purs @@ -3,7 +3,7 @@ module Counter where import Prelude import Control.Monad.Eff.Uncurried (mkEffFn1) -import React.Basic (ReactComponent, reactComponent) +import React.Basic (ReactComponent, react) import React.Basic.DOM as R -- The props for the component @@ -15,7 +15,7 @@ type ExampleProps = -- The `render` function takes the props and current state, as well as a -- state update callback, and produces a document. component :: ReactComponent ExampleProps -component = reactComponent +component = react { displayName: "Counter" , initialState: { counter: 0 } , receiveProps: \_ _ _ -> pure unit diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..0ab6fbf --- /dev/null +++ b/package-lock.json @@ -0,0 +1,3761 @@ +{ + "name": "purescript-react-basic", + "version": "0.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "JSONStream": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz", + "integrity": "sha1-wQI3G27Dp887hHygDCC7D85Mbeo=", + "dev": true, + "requires": { + "jsonparse": "1.3.1", + "through": "2.3.8" + } + }, + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + }, + "acorn-node": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.3.0.tgz", + "integrity": "sha512-efP54n3d1aLfjL2UMdaXa6DsswwzJeI5rqhbFvXMrKiJ6eJFpf+7R0zN7t8IC+XKn2YOAFAv6xbBNgHUkoHWLw==", + "dev": true, + "requires": { + "acorn": "5.4.1", + "xtend": "4.0.1" + }, + "dependencies": { + "acorn": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.4.1.tgz", + "integrity": "sha512-XLmq3H/BVvW6/GbxKryGxWORz1ebilSsUDlyC27bXhWGWAZWkGwS6FLHjOlwFXNFoWFQEO/Df4u0YYd0K3BQgQ==", + "dev": true + } + } + }, + "ansi-escapes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz", + "integrity": "sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==", + "dev": true + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "anymatch": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "dev": true, + "requires": { + "micromatch": "2.3.11", + "normalize-path": "2.1.1" + } + }, + "app-cache-dir": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/app-cache-dir/-/app-cache-dir-0.2.1.tgz", + "integrity": "sha512-UdSjcARK1TxWteoGRl66MO5VRwc3uOe+rt3HmH95c+PUasN82PuDLBtmpNQ8+uoqFoUs8KJOtNv5PXgkIqEdCw==", + "dev": true, + "requires": { + "inspect-with-kind": "1.0.4" + } + }, + "append-type": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/append-type/-/append-type-1.0.1.tgz", + "integrity": "sha512-ro+W6UHJuoA2NXqKHug9bmXDbPB3eCALjcJOsYjgI9cz9cjLFthvincBCWjk25VFzJmIUHd8saOWZZBuMycXrg==", + "dev": true + }, + "arch": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.0.tgz", + "integrity": "sha1-NhOqRhSQZLPB8GB5Gb8dR4boKIk=", + "dev": true + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "array-filter": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", + "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=", + "dev": true + }, + "array-map": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", + "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=", + "dev": true + }, + "array-reduce": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", + "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=", + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0" + } + }, + "assert": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "dev": true, + "requires": { + "util": "0.10.3" + } + }, + "astw": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/astw/-/astw-2.2.0.tgz", + "integrity": "sha1-e9QXhNMkk5h66yOba04cV6hzuRc=", + "dev": true, + "requires": { + "acorn": "4.0.13" + } + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base64-js": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.3.tgz", + "integrity": "sha512-MsAhsUW1GxCdgYSO6tAfZrNapmUKk7mWx/k5mFY/A1gBtkaCaNapTg+FExCw1r9yeaZhqx/xPg43xgTFH6KL5w==", + "dev": true + }, + "binary-extensions": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", + "dev": true + }, + "bl": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz", + "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=", + "dev": true, + "requires": { + "readable-stream": "2.3.4" + } + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "bower": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/bower/-/bower-1.8.2.tgz", + "integrity": "sha1-rfU1KcjUrwLvJPuNU0HBQZ0z4vc=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browser-pack": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.0.4.tgz", + "integrity": "sha512-Q4Rvn7P6ObyWfc4stqLWHtG1MJ8vVtjgT24Zbu+8UTzxYuZouqZsmNRRTFVMY/Ux0eIKv1d+JWzsInTX+fdHPQ==", + "dev": true, + "requires": { + "JSONStream": "1.3.2", + "combine-source-map": "0.8.0", + "defined": "1.0.0", + "safe-buffer": "5.1.1", + "through2": "2.0.3", + "umd": "3.0.1" + } + }, + "browser-resolve": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz", + "integrity": "sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=", + "dev": true, + "requires": { + "resolve": "1.1.7" + }, + "dependencies": { + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + } + } + }, + "browserify": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-13.3.0.tgz", + "integrity": "sha1-tanJAgJD8McORnW+yCI7xifkFc4=", + "dev": true, + "requires": { + "JSONStream": "1.3.2", + "assert": "1.4.1", + "browser-pack": "6.0.4", + "browser-resolve": "1.11.2", + "browserify-zlib": "0.1.4", + "buffer": "4.9.1", + "cached-path-relative": "1.0.1", + "concat-stream": "1.5.2", + "console-browserify": "1.1.0", + "constants-browserify": "1.0.0", + "crypto-browserify": "3.12.0", + "defined": "1.0.0", + "deps-sort": "2.0.0", + "domain-browser": "1.1.7", + "duplexer2": "0.1.4", + "events": "1.1.1", + "glob": "7.1.2", + "has": "1.0.1", + "htmlescape": "1.1.1", + "https-browserify": "0.0.1", + "inherits": "2.0.3", + "insert-module-globals": "7.0.1", + "labeled-stream-splicer": "2.0.0", + "module-deps": "4.1.1", + "os-browserify": "0.1.2", + "parents": "1.0.1", + "path-browserify": "0.0.0", + "process": "0.11.10", + "punycode": "1.4.1", + "querystring-es3": "0.2.1", + "read-only-stream": "2.0.0", + "readable-stream": "2.3.4", + "resolve": "1.5.0", + "shasum": "1.0.2", + "shell-quote": "1.6.1", + "stream-browserify": "2.0.1", + "stream-http": "2.8.0", + "string_decoder": "0.10.31", + "subarg": "1.0.0", + "syntax-error": "1.4.0", + "through2": "2.0.3", + "timers-browserify": "1.4.2", + "tty-browserify": "0.0.1", + "url": "0.11.0", + "util": "0.10.3", + "vm-browserify": "0.0.4", + "xtend": "4.0.1" + }, + "dependencies": { + "concat-stream": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", + "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.0.6", + "typedarray": "0.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "0.10.31", + "util-deprecate": "1.0.2" + } + } + } + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + } + } + }, + "browserify-aes": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", + "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", + "dev": true, + "requires": { + "buffer-xor": "1.0.3", + "cipher-base": "1.0.4", + "create-hash": "1.1.3", + "evp_bytestokey": "1.0.3", + "inherits": "2.0.3", + "safe-buffer": "5.1.1" + } + }, + "browserify-cache-api": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/browserify-cache-api/-/browserify-cache-api-3.0.1.tgz", + "integrity": "sha1-liR+hT8Gj9bg1FzHPwuyzZd47wI=", + "dev": true, + "requires": { + "async": "1.5.2", + "through2": "2.0.3", + "xtend": "4.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", + "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", + "dev": true, + "requires": { + "browserify-aes": "1.1.1", + "browserify-des": "1.0.0", + "evp_bytestokey": "1.0.3" + } + }, + "browserify-des": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", + "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "des.js": "1.0.0", + "inherits": "2.0.3" + } + }, + "browserify-incremental": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/browserify-incremental/-/browserify-incremental-3.1.1.tgz", + "integrity": "sha1-BxPLdYckemMqnwjPG9FpuHi2Koo=", + "dev": true, + "requires": { + "JSONStream": "0.10.0", + "browserify-cache-api": "3.0.1", + "through2": "2.0.3", + "xtend": "4.0.1" + }, + "dependencies": { + "JSONStream": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-0.10.0.tgz", + "integrity": "sha1-dDSdDYlSK3HzDwoD/5vSDKbxKsA=", + "dev": true, + "requires": { + "jsonparse": "0.0.5", + "through": "2.3.8" + } + }, + "jsonparse": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz", + "integrity": "sha1-MwVCrT8KZUZlt3jz6y2an6UHrGQ=", + "dev": true + } + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "randombytes": "2.0.6" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "elliptic": "6.4.0", + "inherits": "2.0.3", + "parse-asn1": "5.1.0" + } + }, + "browserify-zlib": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", + "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", + "dev": true, + "requires": { + "pako": "0.2.9" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, + "requires": { + "base64-js": "1.2.3", + "ieee754": "1.1.8", + "isarray": "1.0.0" + } + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "build-purescript": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/build-purescript/-/build-purescript-0.1.1.tgz", + "integrity": "sha512-f6zuH9SV9m105gFWL0OHslwPuX7OdfEpFE6sSfq7Ai7bZbe35O+sN7hovBwO3uCvU2FMMrKoHUtO8ukEfgUq9Q==", + "dev": true, + "requires": { + "download-purescript-source": "0.3.2", + "feint": "1.0.1", + "graceful-fs": "4.1.11", + "inspect-with-kind": "1.0.4", + "is-plain-obj": "1.1.0", + "minimist": "1.2.0", + "mkdirp": "0.5.1", + "once": "1.4.0", + "rimraf": "2.6.2", + "spawn-stack": "0.3.1-0", + "uid2": "0.0.3", + "zen-observable": "0.6.1" + }, + "dependencies": { + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "spawn-stack": { + "version": "0.3.1-0", + "resolved": "https://registry.npmjs.org/spawn-stack/-/spawn-stack-0.3.1-0.tgz", + "integrity": "sha512-z+vQvfaYODaQqJ9SBkYs+JW6DCYX4+2moyzjqW7+Hw9OoAqjjYiEFbOfFET153Xo365d23F3anjVkF7y1miWdQ==", + "dev": true, + "requires": { + "byline": "5.0.0", + "execa": "0.7.0", + "zen-observable": "0.6.1" + } + } + } + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "byline": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", + "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=", + "dev": true + }, + "cached-path-relative": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.1.tgz", + "integrity": "sha1-0JxLUoAKpMB44t2BqGmqyQ0uVOc=", + "dev": true + }, + "cancelable-pump": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/cancelable-pump/-/cancelable-pump-0.2.0.tgz", + "integrity": "sha1-hlZl1MI6aXiNS830mNt0DxsjDVc=", + "dev": true, + "requires": { + "pump": "1.0.3" + } + }, + "chalk": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", + "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "5.2.0" + } + }, + "chokidar": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "dev": true, + "requires": { + "anymatch": "1.3.2", + "async-each": "1.0.1", + "fsevents": "1.1.3", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0" + } + }, + "chownr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.1" + } + }, + "clean-stack": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-1.3.0.tgz", + "integrity": "sha1-noIVAa6XmYbEax1m0tQy2y/UrjE=", + "dev": true + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "2.0.0" + } + }, + "color-convert": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", + "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true + }, + "combine-source-map": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", + "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=", + "dev": true, + "requires": { + "convert-source-map": "1.1.3", + "inline-source-map": "0.6.2", + "lodash.memoize": "3.0.4", + "source-map": "0.5.7" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", + "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.4", + "typedarray": "0.0.6" + } + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "0.1.4" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "convert-source-map": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", + "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "create-ecdh": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", + "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "elliptic": "6.4.0" + } + }, + "create-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", + "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "inherits": "2.0.3", + "ripemd160": "2.0.1", + "sha.js": "2.4.10" + } + }, + "create-hmac": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", + "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "create-hash": "1.1.3", + "inherits": "2.0.3", + "ripemd160": "2.0.1", + "safe-buffer": "5.1.1", + "sha.js": "2.4.10" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "4.1.1", + "shebang-command": "1.2.0", + "which": "1.3.0" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "1.0.0", + "browserify-sign": "4.0.4", + "create-ecdh": "4.0.0", + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "diffie-hellman": "5.0.2", + "inherits": "2.0.3", + "pbkdf2": "3.0.14", + "public-encrypt": "4.0.0", + "randombytes": "2.0.6", + "randomfill": "1.0.4" + } + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "deps-sort": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.0.tgz", + "integrity": "sha1-CRckkC6EZYJg65EHSMzNGvbiH7U=", + "dev": true, + "requires": { + "JSONStream": "1.3.2", + "shasum": "1.0.2", + "subarg": "1.0.0", + "through2": "2.0.3" + } + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0" + } + }, + "detective": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", + "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", + "dev": true, + "requires": { + "acorn": "5.4.1", + "defined": "1.0.0" + }, + "dependencies": { + "acorn": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.4.1.tgz", + "integrity": "sha512-XLmq3H/BVvW6/GbxKryGxWORz1ebilSsUDlyC27bXhWGWAZWkGwS6FLHjOlwFXNFoWFQEO/Df4u0YYd0K3BQgQ==", + "dev": true + } + } + }, + "diffie-hellman": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", + "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "miller-rabin": "4.0.1", + "randombytes": "2.0.6" + } + }, + "dl-tar": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/dl-tar/-/dl-tar-0.5.3.tgz", + "integrity": "sha512-4e0DMD0uVz8z1nC44MvJRDyAI9FS6Q1ROzECdvB+nB3SrSOjbPJ2IPLSNhyqlz9QoQg9fqAitsFbwBLyNXCrCw==", + "dev": true, + "requires": { + "cancelable-pump": "0.2.0", + "graceful-fs": "4.1.11", + "inspect-with-kind": "1.0.4", + "is-plain-obj": "1.1.0", + "is-stream": "1.1.0", + "load-request-from-cwd-or-npm": "2.0.1", + "tar-fs": "1.16.0", + "tar-stream": "1.5.5", + "zen-observable": "0.6.1" + } + }, + "dl-tgz": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/dl-tgz/-/dl-tgz-0.5.1.tgz", + "integrity": "sha512-EHTJROgl6wtka3fNkKJwuz2Q+id0sCIJ3ZXF7GXRbNJAcgyrkEg9dNzmvte7TnScvzDDOPD80q8n+GyjWrHd+A==", + "dev": true, + "requires": { + "dl-tar": "0.5.3", + "is-plain-obj": "1.1.0", + "zen-observable": "0.6.1" + } + }, + "domain-browser": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", + "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=", + "dev": true + }, + "download-or-build-purescript": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/download-or-build-purescript/-/download-or-build-purescript-0.0.6.tgz", + "integrity": "sha512-YzTfSu1amdz3qmIczYawUppKC1f69hdBfknltRM34uUyWpNS6rqayJpGgcp3zsX73kDroVGoN6Zorv1z2eWK8w==", + "dev": true, + "requires": { + "build-purescript": "0.1.1", + "download-purescript": "0.3.0", + "execa": "0.7.0", + "feint": "1.0.1", + "graceful-fs": "4.1.11", + "inspect-with-kind": "1.0.4", + "is-plain-obj": "1.1.0", + "once": "1.4.0", + "prepare-write": "0.3.1", + "spawn-stack": "0.2.0", + "which": "1.3.0", + "zen-observable": "0.6.1" + } + }, + "download-purescript": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/download-purescript/-/download-purescript-0.3.0.tgz", + "integrity": "sha512-XEEHSP05fHCBs0RbaxrMB4QwrIOr8VE0wNVzhC9d0zzRVqddr/F59OTchFUd8/TXkAE3Mm1FW7Pjauv1y/cmaA==", + "dev": true, + "requires": { + "dl-tgz": "0.5.1", + "inspect-with-kind": "1.0.4", + "is-plain-obj": "1.1.0", + "zen-observable": "0.6.1" + } + }, + "download-purescript-source": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/download-purescript-source/-/download-purescript-source-0.3.2.tgz", + "integrity": "sha512-Vt9gH6IOrrRnsSbjIrMWtKt86VYoYYyQQMF7mvweLDop99QJPolYcpsURyFxbT2GoLjwqI4L6l47dn5hzu/t4A==", + "dev": true, + "requires": { + "dl-tgz": "0.5.1", + "inspect-with-kind": "1.0.4", + "is-plain-obj": "1.1.0", + "zen-observable": "0.6.1" + } + }, + "duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "dev": true, + "requires": { + "readable-stream": "2.3.4" + } + }, + "elliptic": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", + "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0", + "hash.js": "1.1.3", + "hmac-drbg": "1.0.1", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "dev": true, + "requires": { + "once": "1.4.0" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "1.3.4", + "safe-buffer": "5.1.1" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "2.2.3" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "feint": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/feint/-/feint-1.0.1.tgz", + "integrity": "sha1-FsZCrfN+vzSHjy64MY96X71si5w=", + "dev": true, + "requires": { + "append-type": "1.0.1" + } + }, + "file-to-tar": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/file-to-tar/-/file-to-tar-0.2.2.tgz", + "integrity": "sha512-gLppYt86m1Cf6wavdwC5ZIZDSCFvmQC8pLR0oDQwy2GQ54TrG1fHXUT8IRuGBhAXKxOLtkktMr53VsvUF13fjQ==", + "dev": true, + "requires": { + "cancelable-pump": "0.2.0", + "graceful-fs": "4.1.11", + "inspect-with-kind": "1.0.4", + "is-plain-obj": "1.1.0", + "is-stream": "1.1.0", + "mkdirp": "0.5.1", + "tar-fs": "1.16.0", + "zen-observable": "0.6.1" + } + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "filesize": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.0.tgz", + "integrity": "sha512-g5OWtoZWcPI56js1DFhIEqyG9tnu/7sG3foHwgS9KGYFMfsYguI3E+PRVCmtmE96VajQIEMRU2OhN+ME589Gdw==", + "dev": true + }, + "fill-range": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "dev": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "1.0.2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", + "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", + "dev": true, + "optional": true, + "requires": { + "nan": "2.9.2", + "node-pre-gyp": "0.6.39" + }, + "dependencies": { + "abbrev": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "ajv": { + "version": "4.11.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.2.9" + } + }, + "asn1": { + "version": "0.2.3", + "bundled": true, + "dev": true, + "optional": true + }, + "assert-plus": { + "version": "0.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "asynckit": { + "version": "0.4.0", + "bundled": true, + "dev": true, + "optional": true + }, + "aws-sign2": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "aws4": { + "version": "1.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "balanced-match": { + "version": "0.4.2", + "bundled": true, + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "block-stream": { + "version": "0.0.9", + "bundled": true, + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "boom": { + "version": "2.10.1", + "bundled": true, + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "brace-expansion": { + "version": "1.1.7", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "0.4.2", + "concat-map": "0.0.1" + } + }, + "buffer-shims": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "caseless": { + "version": "0.12.0", + "bundled": true, + "dev": true, + "optional": true + }, + "co": { + "version": "4.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "combined-stream": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "cryptiles": { + "version": "2.0.5", + "bundled": true, + "dev": true, + "requires": { + "boom": "2.10.1" + } + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "debug": { + "version": "2.6.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.4.2", + "bundled": true, + "dev": true, + "optional": true + }, + "delayed-stream": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "extend": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "extsprintf": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true, + "dev": true, + "optional": true + }, + "form-data": { + "version": "2.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.15" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "fstream": { + "version": "1.0.11", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.1" + } + }, + "fstream-ignore": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fstream": "1.0.11", + "inherits": "2.0.3", + "minimatch": "3.0.4" + } + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "1.1.1", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true, + "dev": true + }, + "har-schema": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "optional": true + }, + "har-validator": { + "version": "4.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ajv": "4.11.8", + "har-schema": "1.0.5" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "hawk": { + "version": "3.1.3", + "bundled": true, + "dev": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "hoek": { + "version": "2.16.3", + "bundled": true, + "dev": true + }, + "http-signature": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.0", + "sshpk": "1.13.0" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.4", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "jodid25519": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "bundled": true, + "dev": true, + "optional": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "jsonify": { + "version": "0.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "jsprim": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.0.2", + "json-schema": "0.2.3", + "verror": "1.3.6" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "mime-db": { + "version": "1.27.0", + "bundled": true, + "dev": true + }, + "mime-types": { + "version": "2.1.15", + "bundled": true, + "dev": true, + "requires": { + "mime-db": "1.27.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "node-pre-gyp": { + "version": "0.6.39", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "1.0.2", + "hawk": "3.1.3", + "mkdirp": "0.5.1", + "nopt": "4.0.1", + "npmlog": "4.1.0", + "rc": "1.2.1", + "request": "2.81.0", + "rimraf": "2.6.1", + "semver": "5.3.0", + "tar": "2.2.1", + "tar-pack": "3.4.0" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1.1.0", + "osenv": "0.1.4" + } + }, + "npmlog": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "bundled": true, + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "performance-now": { + "version": "0.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "1.0.7", + "bundled": true, + "dev": true + }, + "punycode": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "optional": true + }, + "qs": { + "version": "6.4.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "0.4.2", + "ini": "1.3.4", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.2.9", + "bundled": true, + "dev": true, + "requires": { + "buffer-shims": "1.0.0", + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "1.0.1", + "util-deprecate": "1.0.2" + } + }, + "request": { + "version": "2.81.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.15", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.0.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.2", + "tunnel-agent": "0.6.0", + "uuid": "3.0.1" + } + }, + "rimraf": { + "version": "2.6.1", + "bundled": true, + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.0.1", + "bundled": true, + "dev": true + }, + "semver": { + "version": "5.3.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sntp": { + "version": "1.0.9", + "bundled": true, + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "sshpk": { + "version": "1.13.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jodid25519": "1.0.2", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "stringstream": { + "version": "0.0.5", + "bundled": true, + "dev": true, + "optional": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "2.2.1", + "bundled": true, + "dev": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "tar-pack": { + "version": "3.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "2.6.8", + "fstream": "1.0.11", + "fstream-ignore": "1.0.5", + "once": "1.4.0", + "readable-stream": "2.2.9", + "rimraf": "2.6.1", + "tar": "2.2.1", + "uid-number": "0.0.6" + } + }, + "tough-cookie": { + "version": "2.3.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "punycode": "1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "dev": true, + "optional": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true, + "dev": true, + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "uuid": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "verror": { + "version": "1.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "extsprintf": "1.0.2" + } + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + } + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + } + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "has": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", + "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", + "dev": true, + "requires": { + "function-bind": "1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "hash-base": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", + "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "1.1.3", + "minimalistic-assert": "1.0.0", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "htmlescape": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", + "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=", + "dev": true + }, + "https-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", + "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=", + "dev": true + }, + "ieee754": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", + "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", + "dev": true + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "inline-source-map": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", + "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=", + "dev": true, + "requires": { + "source-map": "0.5.7" + } + }, + "insert-module-globals": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.0.1.tgz", + "integrity": "sha1-wDv04BywhtW15azorQr+eInWOMM=", + "dev": true, + "requires": { + "JSONStream": "1.3.2", + "combine-source-map": "0.7.2", + "concat-stream": "1.5.2", + "is-buffer": "1.1.6", + "lexical-scope": "1.2.0", + "process": "0.11.10", + "through2": "2.0.3", + "xtend": "4.0.1" + }, + "dependencies": { + "combine-source-map": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.7.2.tgz", + "integrity": "sha1-CHAxKFazB6h8xKxIbzqaYq7MwJ4=", + "dev": true, + "requires": { + "convert-source-map": "1.1.3", + "inline-source-map": "0.6.2", + "lodash.memoize": "3.0.4", + "source-map": "0.5.7" + } + }, + "concat-stream": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", + "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.0.6", + "typedarray": "0.0.6" + } + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "0.10.31", + "util-deprecate": "1.0.2" + } + } + } + }, + "inspect-with-kind": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/inspect-with-kind/-/inspect-with-kind-1.0.4.tgz", + "integrity": "sha512-KN8VFSf62Ig4hyXtXODkWF6PIatrCIJF32KY8tQUwwLtgfNsr+3ZIpd+epM+pRbC86nJZycBPjWwziDvn/+6YQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "install-purescript": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/install-purescript/-/install-purescript-0.2.0.tgz", + "integrity": "sha512-f7/330TaPz3z8TzLNwHhDyP7UWKlbjvKL4wNG18IC019cmzlQTvmGy/raGmQS4/YxnDECXtA0lheBJ9ELVEwSA==", + "dev": true, + "requires": { + "app-cache-dir": "0.2.1", + "arch": "2.1.0", + "download-or-build-purescript": "0.0.6", + "execa": "0.7.0", + "feint": "1.0.1", + "file-to-tar": "0.2.2", + "graceful-fs": "4.1.11", + "inspect-with-kind": "1.0.4", + "is-plain-obj": "1.1.0", + "once": "1.4.0", + "prepare-write": "0.3.1", + "readdir-clean": "0.4.0", + "rimraf": "2.6.2", + "tar-to-file": "0.2.0", + "tilde-path": "2.0.0", + "truncated-list": "0.1.0", + "zen-observable": "0.6.1" + }, + "dependencies": { + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "7.1.2" + } + } + } + }, + "install-purescript-cli": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/install-purescript-cli/-/install-purescript-cli-0.2.0.tgz", + "integrity": "sha512-F3t7uJEbWdbFlAJY+4n55li6D2Vod2CmhBSDesAtIZpgYSG/u706pNZmst/EwZV7bZwhR4sR/YUgGPx+UpDy2g==", + "dev": true, + "requires": { + "chalk": "2.3.1", + "install-purescript": "0.2.0", + "log-symbols": "2.2.0", + "log-update": "2.3.0", + "minimist": "1.2.0", + "ms": "2.1.1", + "neat-frame": "0.2.0", + "neat-stack": "0.1.1", + "once": "1.4.0", + "platform-name": "0.5.0", + "size-rate": "0.1.0", + "tilde-path": "2.0.0", + "tty-truncate": "0.3.1", + "vertical-meter": "0.1.0" + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "1.11.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-dir/-/is-dir-1.0.0.tgz", + "integrity": "sha1-QdN/SV/MrMBaR3jWboMCTCkro/8=", + "dev": true + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "json-stable-stringify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", + "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=", + "dev": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "dev": true + }, + "junk": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/junk/-/junk-2.1.0.tgz", + "integrity": "sha1-9DG0t/By3FAKXxDOf07HGTDnATQ=", + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "labeled-stream-splicer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.0.tgz", + "integrity": "sha1-pS4dE4AkwAuGscDJH2d5GLiuClk=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "isarray": "0.0.1", + "stream-splicer": "2.0.0" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + } + } + }, + "lexical-scope": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/lexical-scope/-/lexical-scope-1.2.0.tgz", + "integrity": "sha1-/Ope3HBKSzqHls3KQZw6CvryLfQ=", + "dev": true, + "requires": { + "astw": "2.2.0" + } + }, + "load-from-cwd-or-npm": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/load-from-cwd-or-npm/-/load-from-cwd-or-npm-2.2.1.tgz", + "integrity": "sha512-As52HhIYBVHztXppzMuUtdgpwTjrdgpoLoGZuNL/cYoaZHOn2OSgmuyyRCfukOxupckm/QDPla9JTNpfe7yNdA==", + "dev": true, + "requires": { + "inspect-with-kind": "1.0.4", + "npm-cli-dir": "2.0.2", + "optional": "0.1.4", + "resolve-from-npm": "2.0.4" + } + }, + "load-request-from-cwd-or-npm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/load-request-from-cwd-or-npm/-/load-request-from-cwd-or-npm-2.0.1.tgz", + "integrity": "sha512-RMDblVBrhyatt2KBScYzbPZrg2KGOryEdcAXIF3Jh3nqcE1awqUtJABwkPv1UrC802QFFxn/mn10m9dHN+fXrQ==", + "dev": true, + "requires": { + "load-from-cwd-or-npm": "2.2.1" + } + }, + "lodash": { + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", + "dev": true + }, + "lodash.memoize": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", + "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=", + "dev": true + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "2.3.1" + } + }, + "log-update": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", + "integrity": "sha1-iDKP19HOeTiykoN0bwsbwSayRwg=", + "dev": true, + "requires": { + "ansi-escapes": "3.0.0", + "cli-cursor": "2.1.0", + "wrap-ansi": "3.0.1" + } + }, + "lru-cache": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", + "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", + "dev": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, + "md5.js": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", + "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "dev": true, + "requires": { + "hash-base": "3.0.4", + "inherits": "2.0.3" + }, + "dependencies": { + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.1" + } + } + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "minimalistic-assert": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", + "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "module-deps": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-4.1.1.tgz", + "integrity": "sha1-IyFYM/HaE/1gbMuAh7RIUty4If0=", + "dev": true, + "requires": { + "JSONStream": "1.3.2", + "browser-resolve": "1.11.2", + "cached-path-relative": "1.0.1", + "concat-stream": "1.5.2", + "defined": "1.0.0", + "detective": "4.7.1", + "duplexer2": "0.1.4", + "inherits": "2.0.3", + "parents": "1.0.1", + "readable-stream": "2.3.4", + "resolve": "1.5.0", + "stream-combiner2": "1.1.1", + "subarg": "1.0.0", + "through2": "2.0.3", + "xtend": "4.0.1" + }, + "dependencies": { + "concat-stream": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", + "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.0.6", + "typedarray": "0.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "0.10.31", + "util-deprecate": "1.0.2" + } + } + } + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + } + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "nan": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.9.2.tgz", + "integrity": "sha512-ltW65co7f3PQWBDbqVvaU1WtFJUsNW7sWWm4HINhbMQIyVyzIeyZ8toX5TC5eeooE6piZoaEh4cZkueSKG3KYw==", + "dev": true, + "optional": true + }, + "neat-frame": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/neat-frame/-/neat-frame-0.2.0.tgz", + "integrity": "sha512-7GOJQFq7MUJNMsYFfJ4Uk7Mi0MtIpX8xxtoP+zRuOoazTmHckvDCcGa6oRR6YwvmG+TIQSrkmIgolxAXM+2k8Q==", + "dev": true, + "requires": { + "inspect-with-kind": "1.0.4", + "string-width": "2.1.1", + "term-size": "1.2.0", + "wrap-ansi": "3.0.1" + } + }, + "neat-stack": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/neat-stack/-/neat-stack-0.1.1.tgz", + "integrity": "sha512-qAK+blBE87ik5hvHtJkTo59S35QuDrzuD3Km7Ee62E8Dk6p68rKISSR6GDt2GsLznP76WkX+s+7frmOrFUUbpQ==", + "dev": true, + "requires": { + "chalk": "2.3.1", + "clean-stack": "1.3.0" + } + }, + "node-static": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/node-static/-/node-static-0.7.10.tgz", + "integrity": "sha512-bd7zO5hvCWzdglgwz9t82T4mYTEUzEG5pXnSqEzitvmEacusbhl8/VwuCbMaYR9g2PNK5191yBtAEQLJEmQh1A==", + "dev": true, + "requires": { + "colors": "1.1.2", + "mime": "1.6.0", + "optimist": "0.6.1" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "1.1.0" + } + }, + "npm-cli-dir": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-cli-dir/-/npm-cli-dir-2.0.2.tgz", + "integrity": "sha512-ibO7mB5Na7yv4fFTi39y3dKeK0D51ttyldqqOZKR9GU0Qwr0FFycQhXIliwqzNCVRkNi/iTG0D9WIVt7pP+vGQ==", + "dev": true, + "requires": { + "npm-cli-path": "2.0.1" + } + }, + "npm-cli-path": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/npm-cli-path/-/npm-cli-path-2.0.1.tgz", + "integrity": "sha512-7wkczdiJjLnQbdgtt6ov/WrK8OCcjJHh+o1tIkQ7GzwLgStBc5XTpJrvGhkhrDOK+OxFXBn9zk7TMD9iZHOJLA==", + "dev": true, + "requires": { + "real-executable-path": "2.0.2", + "win-user-installed-npm-cli-path": "2.0.2" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "2.0.1" + } + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "1.2.0" + } + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "0.0.10", + "wordwrap": "0.0.3" + }, + "dependencies": { + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + } + } + }, + "optional": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/optional/-/optional-0.1.4.tgz", + "integrity": "sha512-gtvrrCfkE08wKcgXaVwQVgwEQ8vel2dc5DDBn9RLQZ3YtmtkBss6A2HY6BnJH4N/4Ku97Ri/SF8sNWE2225WJw==", + "dev": true + }, + "os-browserify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.1.2.tgz", + "integrity": "sha1-ScoCk+CxlZCl9d4Qx/JlphfY/lQ=", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", + "dev": true + }, + "parents": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", + "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=", + "dev": true, + "requires": { + "path-platform": "0.11.15" + } + }, + "parse-asn1": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", + "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", + "dev": true, + "requires": { + "asn1.js": "4.10.1", + "browserify-aes": "1.1.1", + "create-hash": "1.1.3", + "evp_bytestokey": "1.0.3", + "pbkdf2": "3.0.14" + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "requires": { + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" + } + }, + "path-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "dev": true + }, + "path-platform": { + "version": "0.11.15", + "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", + "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=", + "dev": true + }, + "pbkdf2": { + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", + "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", + "dev": true, + "requires": { + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "ripemd160": "2.0.1", + "safe-buffer": "5.1.1", + "sha.js": "2.4.10" + } + }, + "platform-name": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/platform-name/-/platform-name-0.5.0.tgz", + "integrity": "sha1-l4PmlggWCb5zCEC5aYYNAlAropc=", + "dev": true, + "requires": { + "append-type": "1.0.1" + } + }, + "prepare-write": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/prepare-write/-/prepare-write-0.3.1.tgz", + "integrity": "sha512-p4NqFH9qi2Qjkh8OxdUSbF32+OVp6j/Vu/RQC/v0Yar5nWdmLQvDm+uEjy9Z8c+HgqC0tS0eZRLHnn+AWAk3Hg==", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "inspect-with-kind": "1.0.4", + "is-dir": "1.0.0", + "mkdirp": "0.5.1" + } + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "public-encrypt": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", + "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.1.3", + "parse-asn1": "5.1.0", + "randombytes": "2.0.6" + } + }, + "pulp": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/pulp/-/pulp-12.0.1.tgz", + "integrity": "sha512-nm+/cLqMhm5nkyX4SDA00tCENPZfuDi7TIcMRPgONZjozyO+0OnEYLFECtfmMCGYqrEGrs0epHLAcUnz9tEE7A==", + "dev": true, + "requires": { + "browserify": "13.3.0", + "browserify-incremental": "3.1.1", + "concat-stream": "1.6.0", + "glob": "7.1.2", + "minimatch": "3.0.4", + "node-static": "0.7.10", + "read": "1.0.7", + "string-stream": "0.0.7", + "temp": "0.8.3", + "through": "2.3.8", + "tree-kill": "1.2.0", + "watchpack": "1.4.0", + "which": "1.3.0", + "wordwrap": "1.0.0" + } + }, + "pump": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "once": "1.4.0" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "purescript": { + "version": "0.11.7", + "resolved": "https://registry.npmjs.org/purescript/-/purescript-0.11.7.tgz", + "integrity": "sha512-Wvw/K7W2e2+dF6Jc926InVUtilF2eNuuOLTW6ij7ciTcTc1ynr20tHiopM1PuV/KzjZ5VwoOTVlh2IHiVikhJA==", + "dev": true, + "requires": { + "install-purescript-cli": "0.2.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "randomatic": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", + "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "dev": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "randombytes": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", + "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "2.0.6", + "safe-buffer": "5.1.1" + } + }, + "rate-map": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rate-map/-/rate-map-1.0.0.tgz", + "integrity": "sha1-62KBO9KNbLN4xZOIpJBkaoQ0YlY=", + "dev": true, + "requires": { + "append-type": "1.0.1" + } + }, + "read": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", + "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", + "dev": true, + "requires": { + "mute-stream": "0.0.7" + } + }, + "read-only-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", + "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=", + "dev": true, + "requires": { + "readable-stream": "2.3.4" + } + }, + "readable-stream": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz", + "integrity": "sha512-vuYxeWYM+fde14+rajzqgeohAI7YoJcHE7kXDAc4Nk0EbuKnJfqtY9YtRkLo/tqkuF7MsBQRhPnPeyjYITp3ZQ==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + }, + "dependencies": { + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + } + } + }, + "readdir-clean": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/readdir-clean/-/readdir-clean-0.4.0.tgz", + "integrity": "sha512-1HjVAFHcj/HQQNMNm0pIs2dTey0a4GO1cq1l6lIwYoSbnyC4IViVLyHF1M1n8dFYJOTCyrHgip42mTK+tk4/3Q==", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "inspect-with-kind": "1.0.4", + "junk": "2.1.0" + } + }, + "readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.4", + "set-immediate-shim": "1.0.1" + } + }, + "real-executable-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/real-executable-path/-/real-executable-path-2.0.2.tgz", + "integrity": "sha512-fRv44zvrzFeItoj/f/SNBqO/VWUHSZeqQ28oPOzd6weXaiRG6OVGu7UrHe6pY8JlXeoe/7gWYv6kOFHmHk4EFw==", + "dev": true, + "requires": { + "real-executable-path-callback": "2.1.2" + } + }, + "real-executable-path-callback": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/real-executable-path-callback/-/real-executable-path-callback-2.1.2.tgz", + "integrity": "sha512-dyOgKEhLKNg9tgFPs354X5fQpaAsUT+3dTO3JYoNLdPhMmRDjwwre6zHw58biFMVeFx9yxwI6MC7iMDfxSuMJA==", + "dev": true, + "requires": { + "inspect-with-kind": "1.0.4", + "is-plain-obj": "1.1.0", + "which": "1.3.0" + } + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true, + "requires": { + "is-equal-shallow": "0.1.3" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "resolve": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", + "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", + "dev": true, + "requires": { + "path-parse": "1.0.5" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "resolve-from-npm": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/resolve-from-npm/-/resolve-from-npm-2.0.4.tgz", + "integrity": "sha512-JrwN+SRILVjq/mdPNd6bhoOvYMBFf0CYqvfAgaDGB9dWjyr3XDAe40O2WcxToYWMmbQabM4FM6hHVLcSxBPKOQ==", + "dev": true, + "requires": { + "inspect-with-kind": "1.0.4", + "npm-cli-dir": "2.0.2", + "resolve-from": "4.0.0" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "2.0.1", + "signal-exit": "3.0.2" + } + }, + "rimraf": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", + "dev": true + }, + "ripemd160": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", + "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", + "dev": true, + "requires": { + "hash-base": "2.0.2", + "inherits": "2.0.3" + } + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true + }, + "sha.js": { + "version": "2.4.10", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz", + "integrity": "sha512-vnwmrFDlOExK4Nm16J2KMWHLrp14lBrjxMxBJpu++EnsuBmpiYaM/MEs46Vxxm/4FvdP5yTwuCTO9it5FSjrqA==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.1" + } + }, + "shasum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", + "integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=", + "dev": true, + "requires": { + "json-stable-stringify": "0.0.1", + "sha.js": "2.4.10" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shell-quote": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", + "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", + "dev": true, + "requires": { + "array-filter": "0.0.1", + "array-map": "0.0.0", + "array-reduce": "0.0.0", + "jsonify": "0.0.0" + } + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "size-rate": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/size-rate/-/size-rate-0.1.0.tgz", + "integrity": "sha512-Yinx2XAfbhJu+Pxz1TD3xFT6nPB54+wyRd4u82Kq+ZqzOtaODYS5/7QJtlOcRxJLUvNXMzJKGvJ/O1KyN/9+hQ==", + "dev": true, + "requires": { + "filesize": "3.6.0", + "inspect-with-kind": "1.0.4" + } + }, + "slice-ansi": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.1.0.tgz", + "integrity": "sha1-qITs8XjpjDauT2KSU3eKJNEu0Xs=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "spawn-stack": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/spawn-stack/-/spawn-stack-0.2.0.tgz", + "integrity": "sha512-4EiDExNA1iER5qWN/A6Ntz/G06wUm4v3bXjApVc1aUI1DOkmsj9tYBi6Xw+ErHOGv5wPO5Ti6gsBgsIYNKfOsA==", + "dev": true, + "requires": { + "byline": "5.0.0", + "execa": "0.7.0", + "zen-observable": "0.5.2" + }, + "dependencies": { + "zen-observable": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.5.2.tgz", + "integrity": "sha512-Dhp/R0pqSHj3vPs5O1gVd9kZx5Iew2lqVcfJQOBHx3llM/dLea8vl9wSa9FK8wLdSBQJ6mmgKi9+Rk2DRH3i9Q==", + "dev": true + } + } + }, + "stream-browserify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.4" + } + }, + "stream-combiner2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", + "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", + "dev": true, + "requires": { + "duplexer2": "0.1.4", + "readable-stream": "2.3.4" + } + }, + "stream-http": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz", + "integrity": "sha512-sZOFxI/5xw058XIRHl4dU3dZ+TTOIGJR78Dvo0oEAejIt4ou27k+3ne1zYmCV+v7UucbxIFQuOgnkTVHh8YPnw==", + "dev": true, + "requires": { + "builtin-status-codes": "3.0.0", + "inherits": "2.0.3", + "readable-stream": "2.3.4", + "to-arraybuffer": "1.0.1", + "xtend": "4.0.1" + } + }, + "stream-splicer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.0.tgz", + "integrity": "sha1-G2O+Q4oTPktnHMGTUZdgAXWRDYM=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.4" + } + }, + "string-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/string-stream/-/string-stream-0.0.7.tgz", + "integrity": "sha1-z83oJ5n6YvMDQpqqeTNu6INDMv4=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "subarg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", + "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", + "dev": true, + "requires": { + "minimist": "1.2.0" + } + }, + "supports-color": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", + "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + }, + "syntax-error": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", + "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", + "dev": true, + "requires": { + "acorn-node": "1.3.0" + } + }, + "tar-fs": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.0.tgz", + "integrity": "sha512-I9rb6v7mjWLtOfCau9eH5L7sLJyU2BnxtEZRQ5Mt+eRKmf1F0ohXmT/Jc3fr52kDvjJ/HV5MH3soQfPL5bQ0Yg==", + "dev": true, + "requires": { + "chownr": "1.0.1", + "mkdirp": "0.5.1", + "pump": "1.0.3", + "tar-stream": "1.5.5" + } + }, + "tar-stream": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.5.tgz", + "integrity": "sha512-mQdgLPc/Vjfr3VWqWbfxW8yQNiJCbAZ+Gf6GDu1Cy0bdb33ofyiNGBtAY96jHFhDuivCwgW1H9DgTON+INiXgg==", + "dev": true, + "requires": { + "bl": "1.2.1", + "end-of-stream": "1.4.1", + "readable-stream": "2.3.4", + "xtend": "4.0.1" + } + }, + "tar-to-file": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/tar-to-file/-/tar-to-file-0.2.0.tgz", + "integrity": "sha512-M9TGXB6PcCLisV/V8GhXWEE7nmVTRDxeAoj4IFmCR7RQBTzvf0bSHRvBad4BUo4sDVWr+OAKBa+uZ59mv5rIrg==", + "dev": true, + "requires": { + "cancelable-pump": "0.2.0", + "graceful-fs": "4.1.11", + "inspect-with-kind": "1.0.4", + "is-plain-obj": "1.1.0", + "is-stream": "1.1.0", + "tar-fs": "1.16.0", + "tar-stream": "1.5.5", + "zen-observable": "0.6.1" + } + }, + "temp": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", + "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", + "dev": true, + "requires": { + "os-tmpdir": "1.0.2", + "rimraf": "2.2.8" + } + }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "dev": true, + "requires": { + "execa": "0.7.0" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, + "requires": { + "readable-stream": "2.3.4", + "xtend": "4.0.1" + } + }, + "tilde-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tilde-path/-/tilde-path-2.0.0.tgz", + "integrity": "sha512-3aDt7b/wBbxJjUTMiCW+uu7iqrB6F1DfxSL0qB4biSrP1+knIPveccs7thL34AkzPZ/0T7+oYXZDKiokMc1d6g==", + "dev": true + }, + "timers-browserify": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", + "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", + "dev": true, + "requires": { + "process": "0.11.10" + } + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "tree-kill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.0.tgz", + "integrity": "sha512-DlX6dR0lOIRDFxI0mjL9IYg6OTncLm/Zt+JiBhE5OlFcAR8yc9S7FFXU9so0oda47frdM/JFsk7UjNt9vscKcg==", + "dev": true + }, + "truncated-list": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/truncated-list/-/truncated-list-0.1.0.tgz", + "integrity": "sha512-8ZkhXPh8EGrD9tLqnVwjB2BRMSLQCRR8YyXzQgKzWi7t3Z3f2UerOA3SHCFOoVjck6JhMwtVJXZKtEb2lJODWg==", + "dev": true, + "requires": { + "inspect-with-kind": "1.0.4" + } + }, + "tty-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", + "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", + "dev": true + }, + "tty-truncate": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/tty-truncate/-/tty-truncate-0.3.1.tgz", + "integrity": "sha512-4ehw5Wudz1oi7YFP7jhDOggwE6TLzz6qvwEczMxZho7iePs1MEcl+LfXn+pauu7b9F87DK0RlABxPzXGbqeyFw==", + "dev": true, + "requires": { + "ansi-regex": "3.0.0", + "inspect-with-kind": "1.0.4", + "slice-ansi": "0.1.0", + "string-width": "2.1.1" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "uid2": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz", + "integrity": "sha1-SDEm4Rd03y9xuLY53NeZw3YWK4I=", + "dev": true + }, + "umd": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.1.tgz", + "integrity": "sha1-iuVW4RAR9jwllnCKiDclnwGz1g4=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "vertical-meter": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/vertical-meter/-/vertical-meter-0.1.0.tgz", + "integrity": "sha1-WhTPzwYfkoSb/QymA4dvImNIjmA=", + "dev": true, + "requires": { + "rate-map": "1.0.0" + } + }, + "vm-browserify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "dev": true, + "requires": { + "indexof": "0.0.1" + } + }, + "watchpack": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.4.0.tgz", + "integrity": "sha1-ShRyvLuVK9Cpu0A2gB+VTfs5+qw=", + "dev": true, + "requires": { + "async": "2.6.0", + "chokidar": "1.7.0", + "graceful-fs": "4.1.11" + }, + "dependencies": { + "async": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", + "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", + "dev": true, + "requires": { + "lodash": "4.17.5" + } + } + } + }, + "which": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", + "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "dev": true, + "requires": { + "isexe": "2.0.0" + } + }, + "win-user-installed-npm-cli-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/win-user-installed-npm-cli-path/-/win-user-installed-npm-cli-path-2.0.2.tgz", + "integrity": "sha512-ESBoQcSYd/4H1dEaaFLRV8oaZFaWs1MAjI0Pbho9c0Qkto/q4iPjsRxPAp2cQXqXeSUZQxWa44pPuC0DOP8hRg==", + "dev": true + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "wrap-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", + "integrity": "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=", + "dev": true, + "requires": { + "string-width": "2.1.1", + "strip-ansi": "4.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "zen-observable": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.6.1.tgz", + "integrity": "sha512-DKjFTL7siVLIUMZOFZ0alqMEdTsXPUxoCZzrvB2tdWEVN/6606Qh1nCfSTCAOZMrtcPzzFI3BXmwBKLAew52NA==", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..034d368 --- /dev/null +++ b/package.json @@ -0,0 +1,27 @@ +{ + "name": "purescript-react-basic", + "version": "0.0.0", + "description": "Dev deps for purescript-react-basic", + "main": "index.js", + "directories": { + "example": "examples" + }, + "scripts": { + "test": "pulp test" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/lumihq/purescript-react-basic.git" + }, + "author": "", + "license": "Apache-2.0", + "bugs": { + "url": "https://github.com/lumihq/purescript-react-basic/issues" + }, + "homepage": "https://github.com/lumihq/purescript-react-basic#readme", + "devDependencies": { + "bower": "^1.8.2", + "pulp": "^12.0.1", + "purescript": "^0.11.7" + } +} diff --git a/src/React/Basic.js b/src/React/Basic.js index ed3ae1c..ff50e69 100644 --- a/src/React/Basic.js +++ b/src/React/Basic.js @@ -1,7 +1,7 @@ "use strict"; var React = require("react"); -var KeyedContainer = React.Fragment || "div"; +var Fragment = React.Fragment || "div"; // Class polyfill var __extends = @@ -28,6 +28,15 @@ var __extends = }; })(); +var __shallowCopy = function(obj) { + if (obj == null) return; + var result = {}; + Object.keys(obj).forEach(function(key) { + result[key] = obj[key]; + }); + return result; +}; + exports.component_ = function(spec) { function Component(props) { this.state = spec.initialState; @@ -68,13 +77,25 @@ exports.component_ = function(spec) { }; exports.createElement_ = function(el, attrs) { - return React.createElement.apply(null, [el, attrs].concat(attrs.children)); + return React.createElement.apply( + null, + [el, attrs].concat((attrs && attrs.children) || []) + ); }; -exports.keyed = function(keyChildPairs) { - return React.createElement(KeyedContainer, { - children: keyChildPairs.map(function(keyChildPair) { - return React.cloneElement(keyChildPair.child, { key: keyChildPair.key }); - }) - }); +exports.createElementKeyed_ = function(el, key, attrs) { + var attrsClone = __shallowCopy(attrs) || {}; + attrsClone.key = key; + return React.createElement(el, attrsClone); +}; + +exports.fragment = function(children) { + return React.createElement.apply(null, [Fragment, {}].concat(children)); +}; + +exports.fragmentKeyed_ = function(key, children) { + return React.createElement.apply( + null, + [Fragment, { key: key }].concat(children) + ); }; diff --git a/src/React/Basic.purs b/src/React/Basic.purs index ea8150b..ba2fde5 100644 --- a/src/React/Basic.purs +++ b/src/React/Basic.purs @@ -1,8 +1,7 @@ module React.Basic ( react - , reactComponent , createElement - , keyed + , createElementKeyed , module React.Basic.Types ) where @@ -10,17 +9,12 @@ import Prelude import Control.Monad.Eff (Eff, kind Effect) import Control.Monad.Eff.Uncurried (EffFn3, mkEffFn3) -import Data.Function.Uncurried (Fn2, runFn2, Fn3, mkFn3) +import Data.Function.Uncurried (Fn2, Fn3, mkFn3, runFn2, runFn3) import React.Basic.Types (CSS, EventHandler, JSX, ReactComponent, ReactFX) import React.Basic.Types as React.Basic.Types -- | Create a React component from a _specification_ of that component. -- | --- | `react` pre-applies `createElement` and returns `props -> JSX`, making it --- | convenient for consumption within another `purescript-react-basic` --- | component. Use `reactComponent` for better interop with JavaScript, as it --- | returns a `ReactComponent`. --- | -- | A _specification_ consists of a state type, an initial value for that state, -- | a function to apply incoming props to the internal state, and a rendering -- | function which takes props, state and a state update function. @@ -29,20 +23,6 @@ import React.Basic.Types as React.Basic.Types -- | constructed using the helper functions provided by the `React.Basic.DOM` -- | module (and re-exported here). react - :: forall props state fx - . { displayName :: String - , initialState :: state - , receiveProps :: props -> state -> (SetState state fx) -> Eff (react :: ReactFX | fx) Unit - , render :: props -> state -> (SetState state fx) -> JSX - } - -> props - -> JSX -react = createElement <<< reactComponent - --- | Create a React component from a _specification_ of that component, without --- | pre-applying it to `createElement`. Use this function for more standard --- | JavaScript React interop. -reactComponent :: forall props state fx . { displayName :: String , initialState :: state @@ -50,7 +30,7 @@ reactComponent , render :: props -> state -> (SetState state fx) -> JSX } -> ReactComponent props -reactComponent { displayName, initialState, receiveProps, render } = +react { displayName, initialState, receiveProps, render } = component_ { displayName , initialState @@ -69,7 +49,25 @@ createElement -> JSX createElement = runFn2 createElement_ -foreign import keyed :: Array { key :: String, child :: JSX } -> JSX +-- | Like `createElement`, plus a `key` for rendering components in a dynamic list. +-- | For more information see: https://reactjs.org/docs/reconciliation.html#keys +createElementKeyed + :: forall props + . ReactComponent props + -> String + -> props + -> JSX +createElementKeyed = runFn3 createElementKeyed_ + +-- | Render an Array of children without a wrapping component. +foreign import fragment :: Array JSX -> JSX + +-- | Render an Array of children without a wrapping component. +-- | +-- | Provide a key when dynamically rendering multiple fragments along side +-- | each other. +fragmentKeyed :: String -> Array JSX -> JSX +fragmentKeyed = runFn2 fragmentKeyed_ -- | Private FFI @@ -83,3 +81,7 @@ foreign import component_ -> ReactComponent props foreign import createElement_ :: forall props. Fn2 (ReactComponent props) props JSX + +foreign import createElementKeyed_ :: forall props. Fn3 (ReactComponent props) String props JSX + +foreign import fragmentKeyed_ :: Fn2 String (Array JSX) JSX diff --git a/src/React/Basic/DOM.purs b/src/React/Basic/DOM.purs index 1e3c95d..d774cb1 100644 --- a/src/React/Basic/DOM.purs +++ b/src/React/Basic/DOM.purs @@ -7,7 +7,7 @@ module React.Basic.DOM where -import React.Basic (createElement) +import React.Basic (ReactComponent, createElement) import React.Basic.Types (CSS, JSX, EventHandler) import Unsafe.Coerce (unsafeCoerce) @@ -28,7 +28,10 @@ css = unsafeCoerce -- | Standard props which are shared by all DOM elements. type SharedProps specific = - ( about :: String + -- | `key` is not really a DOM attribute - React intercepts it + ( key :: String + + , about :: String , acceptCharset :: String , accessKey :: String , allowFullScreen :: Boolean @@ -107,6 +110,13 @@ type SharedProps specific = | specific ) +stringComponent :: forall props. String -> ReactComponent props +stringComponent = unsafeCoerce + +-- | ------------------------------- +-- | GENERATED CODE BELOW THIS LINE! +-- | ------------------------------- + type Props_a = ( children :: Array JSX , coords :: String @@ -124,7 +134,10 @@ a . Union attrs attrs_ (SharedProps Props_a) => Record attrs -> JSX -a = createElement (unsafeCoerce "a") +a = createElement (stringComponent "a") + +a_ :: Array JSX -> JSX +a_ children = a { children } type Props_abbr = ( children :: Array JSX @@ -136,7 +149,10 @@ abbr . Union attrs attrs_ (SharedProps Props_abbr) => Record attrs -> JSX -abbr = createElement (unsafeCoerce "abbr") +abbr = createElement (stringComponent "abbr") + +abbr_ :: Array JSX -> JSX +abbr_ children = abbr { children } type Props_address = ( children :: Array JSX @@ -147,7 +163,10 @@ address . Union attrs attrs_ (SharedProps Props_address) => Record attrs -> JSX -address = createElement (unsafeCoerce "address") +address = createElement (stringComponent "address") + +address_ :: Array JSX -> JSX +address_ children = address { children } type Props_area = ( alt :: String @@ -165,7 +184,7 @@ area . Union attrs attrs_ (SharedProps Props_area) => Record attrs -> JSX -area = createElement (unsafeCoerce "area") +area = createElement (stringComponent "area") type Props_article = ( children :: Array JSX @@ -176,7 +195,10 @@ article . Union attrs attrs_ (SharedProps Props_article) => Record attrs -> JSX -article = createElement (unsafeCoerce "article") +article = createElement (stringComponent "article") + +article_ :: Array JSX -> JSX +article_ children = article { children } type Props_aside = ( children :: Array JSX @@ -187,7 +209,10 @@ aside . Union attrs attrs_ (SharedProps Props_aside) => Record attrs -> JSX -aside = createElement (unsafeCoerce "aside") +aside = createElement (stringComponent "aside") + +aside_ :: Array JSX -> JSX +aside_ children = aside { children } type Props_audio = ( children :: Array JSX @@ -203,7 +228,10 @@ audio . Union attrs attrs_ (SharedProps Props_audio) => Record attrs -> JSX -audio = createElement (unsafeCoerce "audio") +audio = createElement (stringComponent "audio") + +audio_ :: Array JSX -> JSX +audio_ children = audio { children } type Props_b = ( children :: Array JSX @@ -214,7 +242,10 @@ b . Union attrs attrs_ (SharedProps Props_b) => Record attrs -> JSX -b = createElement (unsafeCoerce "b") +b = createElement (stringComponent "b") + +b_ :: Array JSX -> JSX +b_ children = b { children } type Props_base = ( href :: String @@ -226,7 +257,7 @@ base . Union attrs attrs_ (SharedProps Props_base) => Record attrs -> JSX -base = createElement (unsafeCoerce "base") +base = createElement (stringComponent "base") type Props_bdi = ( children :: Array JSX @@ -237,7 +268,10 @@ bdi . Union attrs attrs_ (SharedProps Props_bdi) => Record attrs -> JSX -bdi = createElement (unsafeCoerce "bdi") +bdi = createElement (stringComponent "bdi") + +bdi_ :: Array JSX -> JSX +bdi_ children = bdi { children } type Props_bdo = ( children :: Array JSX @@ -249,7 +283,10 @@ bdo . Union attrs attrs_ (SharedProps Props_bdo) => Record attrs -> JSX -bdo = createElement (unsafeCoerce "bdo") +bdo = createElement (stringComponent "bdo") + +bdo_ :: Array JSX -> JSX +bdo_ children = bdo { children } type Props_blockquote = ( children :: Array JSX @@ -261,7 +298,10 @@ blockquote . Union attrs attrs_ (SharedProps Props_blockquote) => Record attrs -> JSX -blockquote = createElement (unsafeCoerce "blockquote") +blockquote = createElement (stringComponent "blockquote") + +blockquote_ :: Array JSX -> JSX +blockquote_ children = blockquote { children } type Props_body = ( children :: Array JSX @@ -272,7 +312,10 @@ body . Union attrs attrs_ (SharedProps Props_body) => Record attrs -> JSX -body = createElement (unsafeCoerce "body") +body = createElement (stringComponent "body") + +body_ :: Array JSX -> JSX +body_ children = body { children } type Props_br = () @@ -281,7 +324,7 @@ br . Union attrs attrs_ (SharedProps Props_br) => Record attrs -> JSX -br = createElement (unsafeCoerce "br") +br = createElement (stringComponent "br") type Props_button = ( children :: Array JSX @@ -297,7 +340,10 @@ button . Union attrs attrs_ (SharedProps Props_button) => Record attrs -> JSX -button = createElement (unsafeCoerce "button") +button = createElement (stringComponent "button") + +button_ :: Array JSX -> JSX +button_ children = button { children } type Props_canvas = ( children :: Array JSX @@ -310,7 +356,10 @@ canvas . Union attrs attrs_ (SharedProps Props_canvas) => Record attrs -> JSX -canvas = createElement (unsafeCoerce "canvas") +canvas = createElement (stringComponent "canvas") + +canvas_ :: Array JSX -> JSX +canvas_ children = canvas { children } type Props_caption = ( children :: Array JSX @@ -321,7 +370,10 @@ caption . Union attrs attrs_ (SharedProps Props_caption) => Record attrs -> JSX -caption = createElement (unsafeCoerce "caption") +caption = createElement (stringComponent "caption") + +caption_ :: Array JSX -> JSX +caption_ children = caption { children } type Props_cite = ( children :: Array JSX @@ -332,7 +384,10 @@ cite . Union attrs attrs_ (SharedProps Props_cite) => Record attrs -> JSX -cite = createElement (unsafeCoerce "cite") +cite = createElement (stringComponent "cite") + +cite_ :: Array JSX -> JSX +cite_ children = cite { children } type Props_code = ( children :: Array JSX @@ -343,7 +398,10 @@ code . Union attrs attrs_ (SharedProps Props_code) => Record attrs -> JSX -code = createElement (unsafeCoerce "code") +code = createElement (stringComponent "code") + +code_ :: Array JSX -> JSX +code_ children = code { children } type Props_col = ( span :: Number @@ -355,7 +413,7 @@ col . Union attrs attrs_ (SharedProps Props_col) => Record attrs -> JSX -col = createElement (unsafeCoerce "col") +col = createElement (stringComponent "col") type Props_colgroup = ( children :: Array JSX @@ -368,19 +426,25 @@ colgroup . Union attrs attrs_ (SharedProps Props_colgroup) => Record attrs -> JSX -colgroup = createElement (unsafeCoerce "colgroup") +colgroup = createElement (stringComponent "colgroup") + +colgroup_ :: Array JSX -> JSX +colgroup_ children = colgroup { children } type Props_data = ( children :: Array JSX , value :: String ) -data_ +data' :: forall attrs attrs_ . Union attrs attrs_ (SharedProps Props_data) => Record attrs -> JSX -data_ = createElement (unsafeCoerce "data") +data' = createElement (stringComponent "data") + +data_ :: Array JSX -> JSX +data_ children = data' { children } type Props_datalist = ( children :: Array JSX @@ -391,7 +455,10 @@ datalist . Union attrs attrs_ (SharedProps Props_datalist) => Record attrs -> JSX -datalist = createElement (unsafeCoerce "datalist") +datalist = createElement (stringComponent "datalist") + +datalist_ :: Array JSX -> JSX +datalist_ children = datalist { children } type Props_dd = ( children :: Array JSX @@ -402,7 +469,10 @@ dd . Union attrs attrs_ (SharedProps Props_dd) => Record attrs -> JSX -dd = createElement (unsafeCoerce "dd") +dd = createElement (stringComponent "dd") + +dd_ :: Array JSX -> JSX +dd_ children = dd { children } type Props_del = ( children :: Array JSX @@ -414,7 +484,10 @@ del . Union attrs attrs_ (SharedProps Props_del) => Record attrs -> JSX -del = createElement (unsafeCoerce "del") +del = createElement (stringComponent "del") + +del_ :: Array JSX -> JSX +del_ children = del { children } type Props_details = ( children :: Array JSX @@ -426,7 +499,10 @@ details . Union attrs attrs_ (SharedProps Props_details) => Record attrs -> JSX -details = createElement (unsafeCoerce "details") +details = createElement (stringComponent "details") + +details_ :: Array JSX -> JSX +details_ children = details { children } type Props_dfn = ( children :: Array JSX @@ -438,7 +514,10 @@ dfn . Union attrs attrs_ (SharedProps Props_dfn) => Record attrs -> JSX -dfn = createElement (unsafeCoerce "dfn") +dfn = createElement (stringComponent "dfn") + +dfn_ :: Array JSX -> JSX +dfn_ children = dfn { children } type Props_dialog = ( children :: Array JSX @@ -450,7 +529,10 @@ dialog . Union attrs attrs_ (SharedProps Props_dialog) => Record attrs -> JSX -dialog = createElement (unsafeCoerce "dialog") +dialog = createElement (stringComponent "dialog") + +dialog_ :: Array JSX -> JSX +dialog_ children = dialog { children } type Props_div = ( children :: Array JSX @@ -461,7 +543,10 @@ div . Union attrs attrs_ (SharedProps Props_div) => Record attrs -> JSX -div = createElement (unsafeCoerce "div") +div = createElement (stringComponent "div") + +div_ :: Array JSX -> JSX +div_ children = div { children } type Props_dl = ( children :: Array JSX @@ -472,7 +557,10 @@ dl . Union attrs attrs_ (SharedProps Props_dl) => Record attrs -> JSX -dl = createElement (unsafeCoerce "dl") +dl = createElement (stringComponent "dl") + +dl_ :: Array JSX -> JSX +dl_ children = dl { children } type Props_dt = ( children :: Array JSX @@ -483,7 +571,10 @@ dt . Union attrs attrs_ (SharedProps Props_dt) => Record attrs -> JSX -dt = createElement (unsafeCoerce "dt") +dt = createElement (stringComponent "dt") + +dt_ :: Array JSX -> JSX +dt_ children = dt { children } type Props_em = ( children :: Array JSX @@ -494,7 +585,10 @@ em . Union attrs attrs_ (SharedProps Props_em) => Record attrs -> JSX -em = createElement (unsafeCoerce "em") +em = createElement (stringComponent "em") + +em_ :: Array JSX -> JSX +em_ children = em { children } type Props_embed = ( height :: String @@ -508,7 +602,7 @@ embed . Union attrs attrs_ (SharedProps Props_embed) => Record attrs -> JSX -embed = createElement (unsafeCoerce "embed") +embed = createElement (stringComponent "embed") type Props_fieldset = ( children :: Array JSX @@ -522,7 +616,10 @@ fieldset . Union attrs attrs_ (SharedProps Props_fieldset) => Record attrs -> JSX -fieldset = createElement (unsafeCoerce "fieldset") +fieldset = createElement (stringComponent "fieldset") + +fieldset_ :: Array JSX -> JSX +fieldset_ children = fieldset { children } type Props_figcaption = ( children :: Array JSX @@ -533,7 +630,10 @@ figcaption . Union attrs attrs_ (SharedProps Props_figcaption) => Record attrs -> JSX -figcaption = createElement (unsafeCoerce "figcaption") +figcaption = createElement (stringComponent "figcaption") + +figcaption_ :: Array JSX -> JSX +figcaption_ children = figcaption { children } type Props_figure = ( children :: Array JSX @@ -544,7 +644,10 @@ figure . Union attrs attrs_ (SharedProps Props_figure) => Record attrs -> JSX -figure = createElement (unsafeCoerce "figure") +figure = createElement (stringComponent "figure") + +figure_ :: Array JSX -> JSX +figure_ children = figure { children } type Props_footer = ( children :: Array JSX @@ -555,7 +658,10 @@ footer . Union attrs attrs_ (SharedProps Props_footer) => Record attrs -> JSX -footer = createElement (unsafeCoerce "footer") +footer = createElement (stringComponent "footer") + +footer_ :: Array JSX -> JSX +footer_ children = footer { children } type Props_form = ( accept :: String @@ -571,7 +677,10 @@ form . Union attrs attrs_ (SharedProps Props_form) => Record attrs -> JSX -form = createElement (unsafeCoerce "form") +form = createElement (stringComponent "form") + +form_ :: Array JSX -> JSX +form_ children = form { children } type Props_h1 = ( children :: Array JSX @@ -582,7 +691,10 @@ h1 . Union attrs attrs_ (SharedProps Props_h1) => Record attrs -> JSX -h1 = createElement (unsafeCoerce "h1") +h1 = createElement (stringComponent "h1") + +h1_ :: Array JSX -> JSX +h1_ children = h1 { children } type Props_h2 = ( children :: Array JSX @@ -593,7 +705,10 @@ h2 . Union attrs attrs_ (SharedProps Props_h2) => Record attrs -> JSX -h2 = createElement (unsafeCoerce "h2") +h2 = createElement (stringComponent "h2") + +h2_ :: Array JSX -> JSX +h2_ children = h2 { children } type Props_h3 = ( children :: Array JSX @@ -604,7 +719,10 @@ h3 . Union attrs attrs_ (SharedProps Props_h3) => Record attrs -> JSX -h3 = createElement (unsafeCoerce "h3") +h3 = createElement (stringComponent "h3") + +h3_ :: Array JSX -> JSX +h3_ children = h3 { children } type Props_h4 = ( children :: Array JSX @@ -615,7 +733,10 @@ h4 . Union attrs attrs_ (SharedProps Props_h4) => Record attrs -> JSX -h4 = createElement (unsafeCoerce "h4") +h4 = createElement (stringComponent "h4") + +h4_ :: Array JSX -> JSX +h4_ children = h4 { children } type Props_h5 = ( children :: Array JSX @@ -626,7 +747,10 @@ h5 . Union attrs attrs_ (SharedProps Props_h5) => Record attrs -> JSX -h5 = createElement (unsafeCoerce "h5") +h5 = createElement (stringComponent "h5") + +h5_ :: Array JSX -> JSX +h5_ children = h5 { children } type Props_h6 = ( children :: Array JSX @@ -637,7 +761,10 @@ h6 . Union attrs attrs_ (SharedProps Props_h6) => Record attrs -> JSX -h6 = createElement (unsafeCoerce "h6") +h6 = createElement (stringComponent "h6") + +h6_ :: Array JSX -> JSX +h6_ children = h6 { children } type Props_head = ( children :: Array JSX @@ -649,7 +776,10 @@ head . Union attrs attrs_ (SharedProps Props_head) => Record attrs -> JSX -head = createElement (unsafeCoerce "head") +head = createElement (stringComponent "head") + +head_ :: Array JSX -> JSX +head_ children = head { children } type Props_header = ( children :: Array JSX @@ -660,7 +790,10 @@ header . Union attrs attrs_ (SharedProps Props_header) => Record attrs -> JSX -header = createElement (unsafeCoerce "header") +header = createElement (stringComponent "header") + +header_ :: Array JSX -> JSX +header_ children = header { children } type Props_hgroup = ( children :: Array JSX @@ -671,7 +804,10 @@ hgroup . Union attrs attrs_ (SharedProps Props_hgroup) => Record attrs -> JSX -hgroup = createElement (unsafeCoerce "hgroup") +hgroup = createElement (stringComponent "hgroup") + +hgroup_ :: Array JSX -> JSX +hgroup_ children = hgroup { children } type Props_hr = ( size :: Number @@ -683,7 +819,7 @@ hr . Union attrs attrs_ (SharedProps Props_hr) => Record attrs -> JSX -hr = createElement (unsafeCoerce "hr") +hr = createElement (stringComponent "hr") type Props_html = ( children :: Array JSX @@ -695,7 +831,10 @@ html . Union attrs attrs_ (SharedProps Props_html) => Record attrs -> JSX -html = createElement (unsafeCoerce "html") +html = createElement (stringComponent "html") + +html_ :: Array JSX -> JSX +html_ children = html { children } type Props_i = ( children :: Array JSX @@ -706,7 +845,10 @@ i . Union attrs attrs_ (SharedProps Props_i) => Record attrs -> JSX -i = createElement (unsafeCoerce "i") +i = createElement (stringComponent "i") + +i_ :: Array JSX -> JSX +i_ children = i { children } type Props_iframe = ( children :: Array JSX @@ -723,7 +865,10 @@ iframe . Union attrs attrs_ (SharedProps Props_iframe) => Record attrs -> JSX -iframe = createElement (unsafeCoerce "iframe") +iframe = createElement (stringComponent "iframe") + +iframe_ :: Array JSX -> JSX +iframe_ children = iframe { children } type Props_img = ( alt :: String @@ -739,7 +884,7 @@ img . Union attrs attrs_ (SharedProps Props_img) => Record attrs -> JSX -img = createElement (unsafeCoerce "img") +img = createElement (stringComponent "img") type Props_input = ( accept :: String @@ -777,7 +922,7 @@ input . Union attrs attrs_ (SharedProps Props_input) => Record attrs -> JSX -input = createElement (unsafeCoerce "input") +input = createElement (stringComponent "input") type Props_ins = ( children :: Array JSX @@ -789,7 +934,10 @@ ins . Union attrs attrs_ (SharedProps Props_ins) => Record attrs -> JSX -ins = createElement (unsafeCoerce "ins") +ins = createElement (stringComponent "ins") + +ins_ :: Array JSX -> JSX +ins_ children = ins { children } type Props_kbd = ( children :: Array JSX @@ -800,7 +948,10 @@ kbd . Union attrs attrs_ (SharedProps Props_kbd) => Record attrs -> JSX -kbd = createElement (unsafeCoerce "kbd") +kbd = createElement (stringComponent "kbd") + +kbd_ :: Array JSX -> JSX +kbd_ children = kbd { children } type Props_keygen = ( challenge :: String @@ -815,7 +966,10 @@ keygen . Union attrs attrs_ (SharedProps Props_keygen) => Record attrs -> JSX -keygen = createElement (unsafeCoerce "keygen") +keygen = createElement (stringComponent "keygen") + +keygen_ :: Array JSX -> JSX +keygen_ children = keygen { children } type Props_label = ( children :: Array JSX @@ -827,7 +981,10 @@ label . Union attrs attrs_ (SharedProps Props_label) => Record attrs -> JSX -label = createElement (unsafeCoerce "label") +label = createElement (stringComponent "label") + +label_ :: Array JSX -> JSX +label_ children = label { children } type Props_legend = ( children :: Array JSX @@ -838,7 +995,10 @@ legend . Union attrs attrs_ (SharedProps Props_legend) => Record attrs -> JSX -legend = createElement (unsafeCoerce "legend") +legend = createElement (stringComponent "legend") + +legend_ :: Array JSX -> JSX +legend_ children = legend { children } type Props_li = ( children :: Array JSX @@ -851,7 +1011,10 @@ li . Union attrs attrs_ (SharedProps Props_li) => Record attrs -> JSX -li = createElement (unsafeCoerce "li") +li = createElement (stringComponent "li") + +li_ :: Array JSX -> JSX +li_ children = li { children } type Props_link = ( color :: String @@ -872,7 +1035,7 @@ link . Union attrs attrs_ (SharedProps Props_link) => Record attrs -> JSX -link = createElement (unsafeCoerce "link") +link = createElement (stringComponent "link") type Props_main = ( children :: Array JSX @@ -883,7 +1046,10 @@ main . Union attrs attrs_ (SharedProps Props_main) => Record attrs -> JSX -main = createElement (unsafeCoerce "main") +main = createElement (stringComponent "main") + +main_ :: Array JSX -> JSX +main_ children = main { children } type Props_map = ( children :: Array JSX @@ -895,7 +1061,10 @@ map . Union attrs attrs_ (SharedProps Props_map) => Record attrs -> JSX -map = createElement (unsafeCoerce "map") +map = createElement (stringComponent "map") + +map_ :: Array JSX -> JSX +map_ children = map { children } type Props_mark = ( children :: Array JSX @@ -906,7 +1075,10 @@ mark . Union attrs attrs_ (SharedProps Props_mark) => Record attrs -> JSX -mark = createElement (unsafeCoerce "mark") +mark = createElement (stringComponent "mark") + +mark_ :: Array JSX -> JSX +mark_ children = mark { children } type Props_math = ( children :: Array JSX @@ -917,7 +1089,10 @@ math . Union attrs attrs_ (SharedProps Props_math) => Record attrs -> JSX -math = createElement (unsafeCoerce "math") +math = createElement (stringComponent "math") + +math_ :: Array JSX -> JSX +math_ children = math { children } type Props_menu = ( children :: Array JSX @@ -928,7 +1103,10 @@ menu . Union attrs attrs_ (SharedProps Props_menu) => Record attrs -> JSX -menu = createElement (unsafeCoerce "menu") +menu = createElement (stringComponent "menu") + +menu_ :: Array JSX -> JSX +menu_ children = menu { children } type Props_menuitem = ( children :: Array JSX @@ -939,7 +1117,10 @@ menuitem . Union attrs attrs_ (SharedProps Props_menuitem) => Record attrs -> JSX -menuitem = createElement (unsafeCoerce "menuitem") +menuitem = createElement (stringComponent "menuitem") + +menuitem_ :: Array JSX -> JSX +menuitem_ children = menuitem { children } type Props_meta = ( content :: String @@ -951,7 +1132,7 @@ meta . Union attrs attrs_ (SharedProps Props_meta) => Record attrs -> JSX -meta = createElement (unsafeCoerce "meta") +meta = createElement (stringComponent "meta") type Props_meter = ( children :: Array JSX @@ -968,7 +1149,10 @@ meter . Union attrs attrs_ (SharedProps Props_meter) => Record attrs -> JSX -meter = createElement (unsafeCoerce "meter") +meter = createElement (stringComponent "meter") + +meter_ :: Array JSX -> JSX +meter_ children = meter { children } type Props_nav = ( children :: Array JSX @@ -979,7 +1163,10 @@ nav . Union attrs attrs_ (SharedProps Props_nav) => Record attrs -> JSX -nav = createElement (unsafeCoerce "nav") +nav = createElement (stringComponent "nav") + +nav_ :: Array JSX -> JSX +nav_ children = nav { children } type Props_noscript = ( children :: Array JSX @@ -990,7 +1177,10 @@ noscript . Union attrs attrs_ (SharedProps Props_noscript) => Record attrs -> JSX -noscript = createElement (unsafeCoerce "noscript") +noscript = createElement (stringComponent "noscript") + +noscript_ :: Array JSX -> JSX +noscript_ children = noscript { children } type Props_object = ( children :: Array JSX @@ -1007,7 +1197,10 @@ object . Union attrs attrs_ (SharedProps Props_object) => Record attrs -> JSX -object = createElement (unsafeCoerce "object") +object = createElement (stringComponent "object") + +object_ :: Array JSX -> JSX +object_ children = object { children } type Props_ol = ( children :: Array JSX @@ -1021,7 +1214,10 @@ ol . Union attrs attrs_ (SharedProps Props_ol) => Record attrs -> JSX -ol = createElement (unsafeCoerce "ol") +ol = createElement (stringComponent "ol") + +ol_ :: Array JSX -> JSX +ol_ children = ol { children } type Props_optgroup = ( children :: Array JSX @@ -1034,7 +1230,10 @@ optgroup . Union attrs attrs_ (SharedProps Props_optgroup) => Record attrs -> JSX -optgroup = createElement (unsafeCoerce "optgroup") +optgroup = createElement (stringComponent "optgroup") + +optgroup_ :: Array JSX -> JSX +optgroup_ children = optgroup { children } type Props_option = ( children :: Array JSX @@ -1049,7 +1248,10 @@ option . Union attrs attrs_ (SharedProps Props_option) => Record attrs -> JSX -option = createElement (unsafeCoerce "option") +option = createElement (stringComponent "option") + +option_ :: Array JSX -> JSX +option_ children = option { children } type Props_output = ( children :: Array JSX @@ -1062,7 +1264,10 @@ output . Union attrs attrs_ (SharedProps Props_output) => Record attrs -> JSX -output = createElement (unsafeCoerce "output") +output = createElement (stringComponent "output") + +output_ :: Array JSX -> JSX +output_ children = output { children } type Props_p = ( children :: Array JSX @@ -1073,7 +1278,10 @@ p . Union attrs attrs_ (SharedProps Props_p) => Record attrs -> JSX -p = createElement (unsafeCoerce "p") +p = createElement (stringComponent "p") + +p_ :: Array JSX -> JSX +p_ children = p { children } type Props_param = ( name :: String @@ -1086,7 +1294,7 @@ param . Union attrs attrs_ (SharedProps Props_param) => Record attrs -> JSX -param = createElement (unsafeCoerce "param") +param = createElement (stringComponent "param") type Props_picture = ( children :: Array JSX @@ -1097,7 +1305,10 @@ picture . Union attrs attrs_ (SharedProps Props_picture) => Record attrs -> JSX -picture = createElement (unsafeCoerce "picture") +picture = createElement (stringComponent "picture") + +picture_ :: Array JSX -> JSX +picture_ children = picture { children } type Props_pre = ( children :: Array JSX @@ -1109,7 +1320,10 @@ pre . Union attrs attrs_ (SharedProps Props_pre) => Record attrs -> JSX -pre = createElement (unsafeCoerce "pre") +pre = createElement (stringComponent "pre") + +pre_ :: Array JSX -> JSX +pre_ children = pre { children } type Props_progress = ( children :: Array JSX @@ -1122,7 +1336,10 @@ progress . Union attrs attrs_ (SharedProps Props_progress) => Record attrs -> JSX -progress = createElement (unsafeCoerce "progress") +progress = createElement (stringComponent "progress") + +progress_ :: Array JSX -> JSX +progress_ children = progress { children } type Props_q = ( children :: Array JSX @@ -1134,7 +1351,10 @@ q . Union attrs attrs_ (SharedProps Props_q) => Record attrs -> JSX -q = createElement (unsafeCoerce "q") +q = createElement (stringComponent "q") + +q_ :: Array JSX -> JSX +q_ children = q { children } type Props_rb = ( children :: Array JSX @@ -1145,7 +1365,10 @@ rb . Union attrs attrs_ (SharedProps Props_rb) => Record attrs -> JSX -rb = createElement (unsafeCoerce "rb") +rb = createElement (stringComponent "rb") + +rb_ :: Array JSX -> JSX +rb_ children = rb { children } type Props_rp = ( children :: Array JSX @@ -1156,7 +1379,10 @@ rp . Union attrs attrs_ (SharedProps Props_rp) => Record attrs -> JSX -rp = createElement (unsafeCoerce "rp") +rp = createElement (stringComponent "rp") + +rp_ :: Array JSX -> JSX +rp_ children = rp { children } type Props_rt = ( children :: Array JSX @@ -1167,7 +1393,10 @@ rt . Union attrs attrs_ (SharedProps Props_rt) => Record attrs -> JSX -rt = createElement (unsafeCoerce "rt") +rt = createElement (stringComponent "rt") + +rt_ :: Array JSX -> JSX +rt_ children = rt { children } type Props_rtc = ( children :: Array JSX @@ -1178,7 +1407,10 @@ rtc . Union attrs attrs_ (SharedProps Props_rtc) => Record attrs -> JSX -rtc = createElement (unsafeCoerce "rtc") +rtc = createElement (stringComponent "rtc") + +rtc_ :: Array JSX -> JSX +rtc_ children = rtc { children } type Props_ruby = ( children :: Array JSX @@ -1189,7 +1421,10 @@ ruby . Union attrs attrs_ (SharedProps Props_ruby) => Record attrs -> JSX -ruby = createElement (unsafeCoerce "ruby") +ruby = createElement (stringComponent "ruby") + +ruby_ :: Array JSX -> JSX +ruby_ children = ruby { children } type Props_s = ( children :: Array JSX @@ -1200,7 +1435,10 @@ s . Union attrs attrs_ (SharedProps Props_s) => Record attrs -> JSX -s = createElement (unsafeCoerce "s") +s = createElement (stringComponent "s") + +s_ :: Array JSX -> JSX +s_ children = s { children } type Props_samp = ( children :: Array JSX @@ -1211,7 +1449,10 @@ samp . Union attrs attrs_ (SharedProps Props_samp) => Record attrs -> JSX -samp = createElement (unsafeCoerce "samp") +samp = createElement (stringComponent "samp") + +samp_ :: Array JSX -> JSX +samp_ children = samp { children } type Props_script = ( async :: Boolean @@ -1228,7 +1469,10 @@ script . Union attrs attrs_ (SharedProps Props_script) => Record attrs -> JSX -script = createElement (unsafeCoerce "script") +script = createElement (stringComponent "script") + +script_ :: Array JSX -> JSX +script_ children = script { children } type Props_section = ( children :: Array JSX @@ -1239,7 +1483,10 @@ section . Union attrs attrs_ (SharedProps Props_section) => Record attrs -> JSX -section = createElement (unsafeCoerce "section") +section = createElement (stringComponent "section") + +section_ :: Array JSX -> JSX +section_ children = section { children } type Props_select = ( children :: Array JSX @@ -1259,7 +1506,10 @@ select . Union attrs attrs_ (SharedProps Props_select) => Record attrs -> JSX -select = createElement (unsafeCoerce "select") +select = createElement (stringComponent "select") + +select_ :: Array JSX -> JSX +select_ children = select { children } type Props_slot = ( children :: Array JSX @@ -1271,7 +1521,10 @@ slot . Union attrs attrs_ (SharedProps Props_slot) => Record attrs -> JSX -slot = createElement (unsafeCoerce "slot") +slot = createElement (stringComponent "slot") + +slot_ :: Array JSX -> JSX +slot_ children = slot { children } type Props_small = ( children :: Array JSX @@ -1282,7 +1535,10 @@ small . Union attrs attrs_ (SharedProps Props_small) => Record attrs -> JSX -small = createElement (unsafeCoerce "small") +small = createElement (stringComponent "small") + +small_ :: Array JSX -> JSX +small_ children = small { children } type Props_source = ( media :: String @@ -1296,7 +1552,7 @@ source . Union attrs attrs_ (SharedProps Props_source) => Record attrs -> JSX -source = createElement (unsafeCoerce "source") +source = createElement (stringComponent "source") type Props_span = ( children :: Array JSX @@ -1307,7 +1563,10 @@ span . Union attrs attrs_ (SharedProps Props_span) => Record attrs -> JSX -span = createElement (unsafeCoerce "span") +span = createElement (stringComponent "span") + +span_ :: Array JSX -> JSX +span_ children = span { children } type Props_strong = ( children :: Array JSX @@ -1318,7 +1577,10 @@ strong . Union attrs attrs_ (SharedProps Props_strong) => Record attrs -> JSX -strong = createElement (unsafeCoerce "strong") +strong = createElement (stringComponent "strong") + +strong_ :: Array JSX -> JSX +strong_ children = strong { children } type Props_style = ( children :: Array JSX @@ -1333,7 +1595,10 @@ style . Union attrs attrs_ (SharedProps Props_style) => Record attrs -> JSX -style = createElement (unsafeCoerce "style") +style = createElement (stringComponent "style") + +style_ :: Array JSX -> JSX +style_ children = style { children } type Props_sub = ( children :: Array JSX @@ -1344,7 +1609,10 @@ sub . Union attrs attrs_ (SharedProps Props_sub) => Record attrs -> JSX -sub = createElement (unsafeCoerce "sub") +sub = createElement (stringComponent "sub") + +sub_ :: Array JSX -> JSX +sub_ children = sub { children } type Props_summary = ( children :: Array JSX @@ -1355,7 +1623,10 @@ summary . Union attrs attrs_ (SharedProps Props_summary) => Record attrs -> JSX -summary = createElement (unsafeCoerce "summary") +summary = createElement (stringComponent "summary") + +summary_ :: Array JSX -> JSX +summary_ children = summary { children } type Props_sup = ( children :: Array JSX @@ -1366,7 +1637,10 @@ sup . Union attrs attrs_ (SharedProps Props_sup) => Record attrs -> JSX -sup = createElement (unsafeCoerce "sup") +sup = createElement (stringComponent "sup") + +sup_ :: Array JSX -> JSX +sup_ children = sup { children } type Props_svg = ( accentHeight :: String @@ -1619,7 +1893,10 @@ svg . Union attrs attrs_ (SharedProps Props_svg) => Record attrs -> JSX -svg = createElement (unsafeCoerce "svg") +svg = createElement (stringComponent "svg") + +svg_ :: Array JSX -> JSX +svg_ children = svg { children } type Props_table = ( children :: Array JSX @@ -1632,7 +1909,10 @@ table . Union attrs attrs_ (SharedProps Props_table) => Record attrs -> JSX -table = createElement (unsafeCoerce "table") +table = createElement (stringComponent "table") + +table_ :: Array JSX -> JSX +table_ children = table { children } type Props_tbody = ( children :: Array JSX @@ -1643,7 +1923,10 @@ tbody . Union attrs attrs_ (SharedProps Props_tbody) => Record attrs -> JSX -tbody = createElement (unsafeCoerce "tbody") +tbody = createElement (stringComponent "tbody") + +tbody_ :: Array JSX -> JSX +tbody_ children = tbody { children } type Props_td = ( children :: Array JSX @@ -1658,7 +1941,10 @@ td . Union attrs attrs_ (SharedProps Props_td) => Record attrs -> JSX -td = createElement (unsafeCoerce "td") +td = createElement (stringComponent "td") + +td_ :: Array JSX -> JSX +td_ children = td { children } type Props_template = ( children :: Array JSX @@ -1669,7 +1955,10 @@ template . Union attrs attrs_ (SharedProps Props_template) => Record attrs -> JSX -template = createElement (unsafeCoerce "template") +template = createElement (stringComponent "template") + +template_ :: Array JSX -> JSX +template_ children = template { children } type Props_textarea = ( autoCapitalize :: String @@ -1693,7 +1982,10 @@ textarea . Union attrs attrs_ (SharedProps Props_textarea) => Record attrs -> JSX -textarea = createElement (unsafeCoerce "textarea") +textarea = createElement (stringComponent "textarea") + +textarea_ :: Array JSX -> JSX +textarea_ children = textarea { children } type Props_tfoot = ( children :: Array JSX @@ -1704,7 +1996,10 @@ tfoot . Union attrs attrs_ (SharedProps Props_tfoot) => Record attrs -> JSX -tfoot = createElement (unsafeCoerce "tfoot") +tfoot = createElement (stringComponent "tfoot") + +tfoot_ :: Array JSX -> JSX +tfoot_ children = tfoot { children } type Props_th = ( children :: Array JSX @@ -1719,7 +2014,10 @@ th . Union attrs attrs_ (SharedProps Props_th) => Record attrs -> JSX -th = createElement (unsafeCoerce "th") +th = createElement (stringComponent "th") + +th_ :: Array JSX -> JSX +th_ children = th { children } type Props_thead = ( children :: Array JSX @@ -1730,7 +2028,10 @@ thead . Union attrs attrs_ (SharedProps Props_thead) => Record attrs -> JSX -thead = createElement (unsafeCoerce "thead") +thead = createElement (stringComponent "thead") + +thead_ :: Array JSX -> JSX +thead_ children = thead { children } type Props_time = ( children :: Array JSX @@ -1741,7 +2042,10 @@ time . Union attrs attrs_ (SharedProps Props_time) => Record attrs -> JSX -time = createElement (unsafeCoerce "time") +time = createElement (stringComponent "time") + +time_ :: Array JSX -> JSX +time_ children = time { children } type Props_title = ( children :: Array JSX @@ -1752,7 +2056,10 @@ title . Union attrs attrs_ (SharedProps Props_title) => Record attrs -> JSX -title = createElement (unsafeCoerce "title") +title = createElement (stringComponent "title") + +title_ :: Array JSX -> JSX +title_ children = title { children } type Props_tr = ( children :: Array JSX @@ -1763,7 +2070,10 @@ tr . Union attrs attrs_ (SharedProps Props_tr) => Record attrs -> JSX -tr = createElement (unsafeCoerce "tr") +tr = createElement (stringComponent "tr") + +tr_ :: Array JSX -> JSX +tr_ children = tr { children } type Props_track = ( default :: Boolean @@ -1777,7 +2087,7 @@ track . Union attrs attrs_ (SharedProps Props_track) => Record attrs -> JSX -track = createElement (unsafeCoerce "track") +track = createElement (stringComponent "track") type Props_u = ( children :: Array JSX @@ -1788,7 +2098,10 @@ u . Union attrs attrs_ (SharedProps Props_u) => Record attrs -> JSX -u = createElement (unsafeCoerce "u") +u = createElement (stringComponent "u") + +u_ :: Array JSX -> JSX +u_ children = u { children } type Props_ul = ( children :: Array JSX @@ -1800,7 +2113,10 @@ ul . Union attrs attrs_ (SharedProps Props_ul) => Record attrs -> JSX -ul = createElement (unsafeCoerce "ul") +ul = createElement (stringComponent "ul") + +ul_ :: Array JSX -> JSX +ul_ children = ul { children } type Props_var = ( children :: Array JSX @@ -1811,7 +2127,10 @@ var . Union attrs attrs_ (SharedProps Props_var) => Record attrs -> JSX -var = createElement (unsafeCoerce "var") +var = createElement (stringComponent "var") + +var_ :: Array JSX -> JSX +var_ children = var { children } type Props_video = ( children :: Array JSX @@ -1830,7 +2149,10 @@ video . Union attrs attrs_ (SharedProps Props_video) => Record attrs -> JSX -video = createElement (unsafeCoerce "video") +video = createElement (stringComponent "video") + +video_ :: Array JSX -> JSX +video_ children = video { children } type Props_wbr = () @@ -1839,4 +2161,4 @@ wbr . Union attrs attrs_ (SharedProps Props_wbr) => Record attrs -> JSX -wbr = createElement (unsafeCoerce "wbr") +wbr = createElement (stringComponent "wbr") From a0742c7b858bbc928df65f92d22385070ce87ba2 Mon Sep 17 00:00:00 2001 From: Michael Trotter Date: Mon, 26 Feb 2018 10:46:24 -0700 Subject: [PATCH 3/6] Rebuild docs --- generated-docs/React/Basic.md | 1453 +------------------- generated-docs/React/Basic/DOM.md | 1054 +++++++++++--- generated-docs/React/Basic/DOM/Internal.md | 15 - src/React/Basic.purs | 2 + 4 files changed, 862 insertions(+), 1662 deletions(-) delete mode 100644 generated-docs/React/Basic/DOM/Internal.md diff --git a/generated-docs/React/Basic.md b/generated-docs/React/Basic.md index bebdf3e..6d1cd02 100644 --- a/generated-docs/React/Basic.md +++ b/generated-docs/React/Basic.md @@ -3,7 +3,7 @@ #### `react` ``` purescript -react :: forall props state. { initialState :: state, receiveProps :: props -> state -> (state -> Eff (react :: ReactFX) Unit) -> Eff (react :: ReactFX) Unit, render :: props -> state -> (state -> Eff (react :: ReactFX) Unit) -> JSX } -> ReactComponent props +react :: forall props state fx. { displayName :: String, initialState :: state, receiveProps :: props -> state -> (SetState state fx) -> Eff (react :: ReactFX | fx) Unit, render :: props -> state -> (SetState state fx) -> JSX } -> ReactComponent props ``` Create a React component from a _specification_ of that component. @@ -16,1463 +16,42 @@ 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). -#### `component` +#### `createElement` ``` purescript -component :: forall props. ReactComponent props -> props -> JSX +createElement :: forall props. ReactComponent props -> props -> JSX ``` -Create a `JSX` node from another React component, by providing the props. +Create a `JSX` node from a React component, by providing the props. - -### Re-exported from React.Basic.DOM: - -#### `SharedProps` - -``` purescript -type SharedProps specific = (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. - -#### `Props_wbr` - -``` purescript -type Props_wbr = () -``` - -#### `Props_video` - -``` purescript -type Props_video = (controls :: Boolean, height :: String, loop :: Boolean, muted :: Boolean, poster :: String, preload :: String, src :: String, width :: String) -``` - -#### `Props_var` - -``` purescript -type Props_var = () -``` - -#### `Props_ul` - -``` purescript -type Props_ul = ("type" :: String) -``` - -#### `Props_u` - -``` purescript -type Props_u = () -``` - -#### `Props_track` - -``` purescript -type Props_track = (default :: Boolean, kind :: String, label :: String, src :: String) -``` - -#### `Props_tr` - -``` purescript -type Props_tr = () -``` - -#### `Props_title` - -``` purescript -type Props_title = () -``` - -#### `Props_time` - -``` purescript -type Props_time = () -``` - -#### `Props_thead` - -``` purescript -type Props_thead = () -``` - -#### `Props_th` - -``` purescript -type Props_th = (headers :: String, height :: String, scope :: String, width :: String) -``` - -#### `Props_tfoot` - -``` purescript -type Props_tfoot = () -``` - -#### `Props_textarea` - -``` purescript -type Props_textarea = (autoCapitalize :: String, autoCorrect :: String, cols :: Number, disabled :: Boolean, form :: String, name :: String, onChange :: EventHandler, placeholder :: String, required :: Boolean, rows :: Number, value :: String, wrap :: String) -``` - -#### `Props_template` - -``` purescript -type Props_template = () -``` - -#### `Props_td` - -``` purescript -type Props_td = (headers :: String, height :: String, scope :: String, width :: String) -``` - -#### `Props_tbody` - -``` purescript -type Props_tbody = () -``` - -#### `Props_table` - -``` purescript -type Props_table = (summary :: String, width :: String) -``` - -#### `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, 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) -``` - -#### `Props_sup` - -``` purescript -type Props_sup = () -``` - -#### `Props_summary` - -``` purescript -type Props_summary = () -``` - -#### `Props_sub` - -``` purescript -type Props_sub = () -``` - -#### `Props_style` - -``` purescript -type Props_style = (media :: String, nonce :: String, title :: String, "type" :: String) -``` - -#### `Props_strong` - -``` purescript -type Props_strong = () -``` - -#### `Props_span` - -``` purescript -type Props_span = () -``` - -#### `Props_source` - -``` purescript -type Props_source = (media :: String, sizes :: String, src :: String, "type" :: String) -``` - -#### `Props_small` - -``` purescript -type Props_small = () -``` - -#### `Props_slot` - -``` purescript -type Props_slot = (name :: String) -``` - -#### `Props_select` - -``` purescript -type Props_select = (disabled :: Boolean, form :: String, multiple :: Boolean, name :: String, onChange :: EventHandler, required :: Boolean, size :: Number, value :: String) -``` - -#### `Props_section` - -``` purescript -type Props_section = () -``` - -#### `Props_script` - -``` purescript -type Props_script = (async :: Boolean, defer :: Boolean, integrity :: String, nonce :: String, src :: String, "type" :: String) -``` - -#### `Props_samp` - -``` purescript -type Props_samp = () -``` - -#### `Props_s` - -``` purescript -type Props_s = () -``` - -#### `Props_ruby` - -``` purescript -type Props_ruby = () -``` - -#### `Props_rtc` - -``` purescript -type Props_rtc = () -``` - -#### `Props_rt` - -``` purescript -type Props_rt = () -``` - -#### `Props_rp` - -``` purescript -type Props_rp = () -``` - -#### `Props_rb` - -``` purescript -type Props_rb = () -``` - -#### `Props_q` - -``` purescript -type Props_q = (cite :: String) -``` - -#### `Props_progress` - -``` purescript -type Props_progress = (max :: String, value :: String) -``` - -#### `Props_pre` - -``` purescript -type Props_pre = (width :: String) -``` - -#### `Props_picture` - -``` purescript -type Props_picture = () -``` - -#### `Props_param` - -``` purescript -type Props_param = (name :: String, "type" :: String, value :: String) -``` - -#### `Props_p` - -``` purescript -type Props_p = () -``` - -#### `Props_output` - -``` purescript -type Props_output = (form :: String, name :: String) -``` - -#### `Props_option` - -``` purescript -type Props_option = (disabled :: Boolean, label :: String, selected :: Boolean, value :: String) -``` - -#### `Props_optgroup` - -``` purescript -type Props_optgroup = (disabled :: Boolean, label :: String) -``` - -#### `Props_ol` - -``` purescript -type Props_ol = (reversed :: Boolean, start :: Number, "type" :: String) -``` - -#### `Props_object` - -``` purescript -type Props_object = ("data" :: String, form :: String, height :: String, name :: String, "type" :: String, width :: String) -``` - -#### `Props_noscript` - -``` purescript -type Props_noscript = () -``` - -#### `Props_nav` - -``` purescript -type Props_nav = () -``` - -#### `Props_meter` - -``` purescript -type Props_meter = (high :: String, low :: String, max :: String, min :: String, optimum :: String, value :: String) -``` - -#### `Props_meta` - -``` purescript -type Props_meta = (content :: String, name :: String) -``` - -#### `Props_menuitem` - -``` purescript -type Props_menuitem = () -``` - -#### `Props_menu` - -``` purescript -type Props_menu = () -``` - -#### `Props_math` - -``` purescript -type Props_math = () -``` - -#### `Props_mark` - -``` purescript -type Props_mark = () -``` - -#### `Props_map` - -``` purescript -type Props_map = (name :: String) -``` - -#### `Props_main` - -``` purescript -type Props_main = () -``` - -#### `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) -``` - -#### `Props_li` - -``` purescript -type Props_li = ("type" :: String, value :: String) -``` - -#### `Props_legend` - -``` purescript -type Props_legend = () -``` - -#### `Props_label` - -``` purescript -type Props_label = (form :: String) -``` - -#### `Props_keygen` - -``` purescript -type Props_keygen = (challenge :: String, disabled :: Boolean, form :: String, name :: String) -``` - -#### `Props_kbd` - -``` purescript -type Props_kbd = () -``` - -#### `Props_ins` - -``` purescript -type Props_ins = (cite :: String) -``` - -#### `Props_input` - -``` purescript -type Props_input = (accept :: String, alt :: String, autoCapitalize :: String, autoCorrect :: String, autoSave :: String, checked :: Boolean, disabled :: Boolean, form :: String, height :: String, list :: String, max :: String, min :: String, 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) -``` - -#### `Props_img` - -``` purescript -type Props_img = (alt :: String, height :: String, name :: String, sizes :: String, src :: String, width :: String) -``` - -#### `Props_iframe` - -``` purescript -type Props_iframe = (height :: String, name :: String, sandbox :: String, scrolling :: String, src :: String, width :: String) -``` - -#### `Props_i` - -``` purescript -type Props_i = () -``` - -#### `Props_html` - -``` purescript -type Props_html = (manifest :: String) -``` - -#### `Props_hr` - -``` purescript -type Props_hr = (size :: Number, width :: String) -``` - -#### `Props_hgroup` - -``` purescript -type Props_hgroup = () -``` - -#### `Props_header` - -``` purescript -type Props_header = () -``` - -#### `Props_head` - -``` purescript -type Props_head = (profile :: String) -``` - -#### `Props_h6` - -``` purescript -type Props_h6 = () -``` - -#### `Props_h5` - -``` purescript -type Props_h5 = () -``` - -#### `Props_h4` - -``` purescript -type Props_h4 = () -``` - -#### `Props_h3` - -``` purescript -type Props_h3 = () -``` - -#### `Props_h2` - -``` purescript -type Props_h2 = () -``` - -#### `Props_h1` - -``` purescript -type Props_h1 = () -``` - -#### `Props_form` - -``` purescript -type Props_form = (accept :: String, action :: String, method :: String, name :: String, target :: String) -``` - -#### `Props_footer` - -``` purescript -type Props_footer = () -``` - -#### `Props_figure` - -``` purescript -type Props_figure = () -``` - -#### `Props_figcaption` - -``` purescript -type Props_figcaption = () -``` - -#### `Props_fieldset` - -``` purescript -type Props_fieldset = (disabled :: Boolean, form :: String, name :: String) -``` - -#### `Props_embed` - -``` purescript -type Props_embed = (height :: String, src :: String, "type" :: String, width :: String) -``` - -#### `Props_em` - -``` purescript -type Props_em = () -``` - -#### `Props_dt` - -``` purescript -type Props_dt = () -``` - -#### `Props_dl` - -``` purescript -type Props_dl = () -``` - -#### `Props_div` - -``` purescript -type Props_div = () -``` - -#### `Props_dialog` - -``` purescript -type Props_dialog = (open :: Boolean) -``` - -#### `Props_dfn` - -``` purescript -type Props_dfn = (title :: String) -``` - -#### `Props_details` - -``` purescript -type Props_details = (open :: Boolean) -``` - -#### `Props_del` - -``` purescript -type Props_del = (cite :: String) -``` - -#### `Props_dd` - -``` purescript -type Props_dd = () -``` - -#### `Props_datalist` - -``` purescript -type Props_datalist = () -``` - -#### `Props_data` - -``` purescript -type Props_data = (value :: String) -``` - -#### `Props_colgroup` - -``` purescript -type Props_colgroup = (span :: Number, width :: String) -``` - -#### `Props_col` - -``` purescript -type Props_col = (span :: Number, width :: String) -``` - -#### `Props_code` - -``` purescript -type Props_code = () -``` - -#### `Props_cite` - -``` purescript -type Props_cite = () -``` - -#### `Props_caption` - -``` purescript -type Props_caption = () -``` - -#### `Props_canvas` - -``` purescript -type Props_canvas = (height :: String, width :: String) -``` - -#### `Props_button` - -``` purescript -type Props_button = (disabled :: Boolean, form :: String, name :: String, "type" :: String, value :: String) -``` - -#### `Props_br` - -``` purescript -type Props_br = () -``` - -#### `Props_body` - -``` purescript -type Props_body = () -``` - -#### `Props_blockquote` - -``` purescript -type Props_blockquote = (cite :: String) -``` - -#### `Props_bdo` - -``` purescript -type Props_bdo = (dir :: String) -``` - -#### `Props_bdi` - -``` purescript -type Props_bdi = () -``` - -#### `Props_base` - -``` purescript -type Props_base = (href :: String, target :: String) -``` - -#### `Props_b` - -``` purescript -type Props_b = () -``` - -#### `Props_audio` - -``` purescript -type Props_audio = (controls :: Boolean, loop :: Boolean, muted :: Boolean, preload :: String, src :: String) -``` - -#### `Props_aside` - -``` purescript -type Props_aside = () -``` - -#### `Props_article` - -``` purescript -type Props_article = () -``` - -#### `Props_area` - -``` purescript -type Props_area = (alt :: String, coords :: String, download :: String, href :: String, rel :: String, shape :: String, target :: String, "type" :: String) -``` - -#### `Props_address` - -``` purescript -type Props_address = () -``` - -#### `Props_abbr` - -``` purescript -type Props_abbr = (title :: String) -``` - -#### `Props_a` - -``` purescript -type Props_a = (coords :: String, download :: String, href :: String, name :: String, rel :: String, shape :: String, target :: String, "type" :: String) -``` - -#### `wbr` - -``` purescript -wbr :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_wbr) => { | attrs } -> JSX -``` - -#### `video` - -``` purescript -video :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_video) => { | attrs } -> Array JSX -> JSX -``` - -#### `var` - -``` purescript -var :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_var) => { | attrs } -> Array JSX -> JSX -``` - -#### `ul` - -``` purescript -ul :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_ul) => { | attrs } -> Array JSX -> JSX -``` - -#### `u` - -``` purescript -u :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_u) => { | attrs } -> Array JSX -> JSX -``` - -#### `track` - -``` purescript -track :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_track) => { | attrs } -> JSX -``` - -#### `tr` - -``` purescript -tr :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_tr) => { | attrs } -> Array JSX -> JSX -``` - -#### `title` - -``` purescript -title :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_title) => { | attrs } -> Array JSX -> JSX -``` - -#### `time` - -``` purescript -time :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_time) => { | attrs } -> Array JSX -> JSX -``` - -#### `thead` - -``` purescript -thead :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_thead) => { | attrs } -> Array JSX -> JSX -``` - -#### `th` - -``` purescript -th :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_th) => { | attrs } -> Array JSX -> JSX -``` - -#### `tfoot` - -``` purescript -tfoot :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_tfoot) => { | attrs } -> Array JSX -> JSX -``` - -#### `textarea` - -``` purescript -textarea :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_textarea) => { | attrs } -> Array JSX -> JSX -``` - -#### `text` - -``` purescript -text :: String -> JSX -``` - -Create a text node. - -#### `template` - -``` purescript -template :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_template) => { | attrs } -> Array JSX -> JSX -``` - -#### `td` - -``` purescript -td :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_td) => { | attrs } -> Array JSX -> JSX -``` - -#### `tbody` - -``` purescript -tbody :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_tbody) => { | attrs } -> Array JSX -> JSX -``` - -#### `table` - -``` purescript -table :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_table) => { | attrs } -> Array JSX -> JSX -``` - -#### `svg` - -``` purescript -svg :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_svg) => { | attrs } -> Array JSX -> JSX -``` - -#### `sup` - -``` purescript -sup :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_sup) => { | attrs } -> Array JSX -> JSX -``` - -#### `summary` - -``` purescript -summary :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_summary) => { | attrs } -> Array JSX -> JSX -``` - -#### `sub` - -``` purescript -sub :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_sub) => { | attrs } -> Array JSX -> JSX -``` - -#### `style` - -``` purescript -style :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_style) => { | attrs } -> Array JSX -> JSX -``` - -#### `strong` - -``` purescript -strong :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_strong) => { | attrs } -> Array JSX -> JSX -``` - -#### `span` - -``` purescript -span :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_span) => { | attrs } -> Array JSX -> JSX -``` - -#### `source` - -``` purescript -source :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_source) => { | attrs } -> JSX -``` - -#### `small` - -``` purescript -small :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_small) => { | attrs } -> Array JSX -> JSX -``` - -#### `slot` - -``` purescript -slot :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_slot) => { | attrs } -> Array JSX -> JSX -``` - -#### `select` - -``` purescript -select :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_select) => { | attrs } -> Array JSX -> JSX -``` - -#### `section` - -``` purescript -section :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_section) => { | attrs } -> Array JSX -> JSX -``` - -#### `script` - -``` purescript -script :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_script) => { | attrs } -> Array JSX -> JSX -``` - -#### `samp` - -``` purescript -samp :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_samp) => { | attrs } -> Array JSX -> JSX -``` - -#### `s` - -``` purescript -s :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_s) => { | attrs } -> Array JSX -> JSX -``` - -#### `ruby` - -``` purescript -ruby :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_ruby) => { | attrs } -> Array JSX -> JSX -``` - -#### `rtc` - -``` purescript -rtc :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_rtc) => { | attrs } -> Array JSX -> JSX -``` - -#### `rt` - -``` purescript -rt :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_rt) => { | attrs } -> Array JSX -> JSX -``` - -#### `rp` - -``` purescript -rp :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_rp) => { | attrs } -> Array JSX -> JSX -``` - -#### `rb` - -``` purescript -rb :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_rb) => { | attrs } -> Array JSX -> JSX -``` - -#### `q` - -``` purescript -q :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_q) => { | attrs } -> Array JSX -> JSX -``` - -#### `progress` - -``` purescript -progress :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_progress) => { | attrs } -> Array JSX -> JSX -``` - -#### `pre` - -``` purescript -pre :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_pre) => { | attrs } -> Array JSX -> JSX -``` - -#### `picture` - -``` purescript -picture :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_picture) => { | attrs } -> Array JSX -> JSX -``` - -#### `param` - -``` purescript -param :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_param) => { | attrs } -> JSX -``` - -#### `p` - -``` purescript -p :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_p) => { | attrs } -> Array JSX -> JSX -``` - -#### `output` - -``` purescript -output :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_output) => { | attrs } -> Array JSX -> JSX -``` - -#### `option` - -``` purescript -option :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_option) => { | attrs } -> Array JSX -> JSX -``` - -#### `optgroup` - -``` purescript -optgroup :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_optgroup) => { | attrs } -> Array JSX -> JSX -``` - -#### `ol` - -``` purescript -ol :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_ol) => { | attrs } -> Array JSX -> JSX -``` - -#### `object` - -``` purescript -object :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_object) => { | attrs } -> Array JSX -> JSX -``` - -#### `noscript` - -``` purescript -noscript :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_noscript) => { | attrs } -> Array JSX -> JSX -``` - -#### `nav` - -``` purescript -nav :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_nav) => { | attrs } -> Array JSX -> JSX -``` - -#### `meter` - -``` purescript -meter :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_meter) => { | attrs } -> Array JSX -> JSX -``` - -#### `meta` - -``` purescript -meta :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_meta) => { | attrs } -> JSX -``` - -#### `menuitem` +#### `createElementKeyed` ``` purescript -menuitem :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_menuitem) => { | attrs } -> Array JSX -> JSX +createElementKeyed :: forall props. ReactComponent props -> String -> props -> JSX ``` -#### `menu` +Like `createElement`, plus a `key` for rendering components in a dynamic list. +For more information see: https://reactjs.org/docs/reconciliation.html#keys -``` purescript -menu :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_menu) => { | attrs } -> Array JSX -> JSX -``` - -#### `math` - -``` purescript -math :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_math) => { | attrs } -> Array JSX -> JSX -``` - -#### `mark` - -``` purescript -mark :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_mark) => { | attrs } -> Array JSX -> JSX -``` - -#### `map` - -``` purescript -map :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_map) => { | attrs } -> Array JSX -> JSX -``` - -#### `main` - -``` purescript -main :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_main) => { | attrs } -> Array JSX -> JSX -``` - -#### `link` - -``` purescript -link :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_link) => { | attrs } -> JSX -``` - -#### `li` - -``` purescript -li :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_li) => { | attrs } -> Array JSX -> JSX -``` - -#### `legend` - -``` purescript -legend :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_legend) => { | attrs } -> Array JSX -> JSX -``` - -#### `label` - -``` purescript -label :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_label) => { | attrs } -> Array JSX -> JSX -``` - -#### `keygen` - -``` purescript -keygen :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_keygen) => { | attrs } -> Array JSX -> JSX -``` - -#### `kbd` - -``` purescript -kbd :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_kbd) => { | attrs } -> Array JSX -> JSX -``` - -#### `ins` - -``` purescript -ins :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_ins) => { | attrs } -> Array JSX -> JSX -``` - -#### `input` - -``` purescript -input :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_input) => { | attrs } -> JSX -``` - -#### `img` - -``` purescript -img :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_img) => { | attrs } -> JSX -``` - -#### `iframe` - -``` purescript -iframe :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_iframe) => { | attrs } -> Array JSX -> JSX -``` - -#### `i` - -``` purescript -i :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_i) => { | attrs } -> Array JSX -> JSX -``` - -#### `html` - -``` purescript -html :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_html) => { | attrs } -> Array JSX -> JSX -``` - -#### `hr` - -``` purescript -hr :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_hr) => { | attrs } -> JSX -``` - -#### `hgroup` - -``` purescript -hgroup :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_hgroup) => { | attrs } -> Array JSX -> JSX -``` - -#### `header` - -``` purescript -header :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_header) => { | attrs } -> Array JSX -> JSX -``` - -#### `head` - -``` purescript -head :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_head) => { | attrs } -> Array JSX -> JSX -``` - -#### `h6` - -``` purescript -h6 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h6) => { | attrs } -> Array JSX -> JSX -``` - -#### `h5` - -``` purescript -h5 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h5) => { | attrs } -> Array JSX -> JSX -``` - -#### `h4` - -``` purescript -h4 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h4) => { | attrs } -> Array JSX -> JSX -``` - -#### `h3` - -``` purescript -h3 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h3) => { | attrs } -> Array JSX -> JSX -``` - -#### `h2` - -``` purescript -h2 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h2) => { | attrs } -> Array JSX -> JSX -``` - -#### `h1` - -``` purescript -h1 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h1) => { | attrs } -> Array JSX -> JSX -``` - -#### `form` - -``` purescript -form :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_form) => { | attrs } -> Array JSX -> JSX -``` - -#### `footer` - -``` purescript -footer :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_footer) => { | attrs } -> Array JSX -> JSX -``` - -#### `figure` - -``` purescript -figure :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_figure) => { | attrs } -> Array JSX -> JSX -``` - -#### `figcaption` - -``` purescript -figcaption :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_figcaption) => { | attrs } -> Array JSX -> JSX -``` - -#### `fieldset` - -``` purescript -fieldset :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_fieldset) => { | attrs } -> Array JSX -> JSX -``` - -#### `embed` - -``` purescript -embed :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_embed) => { | attrs } -> JSX -``` - -#### `em` - -``` purescript -em :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_em) => { | attrs } -> Array JSX -> JSX -``` - -#### `dt` - -``` purescript -dt :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dt) => { | attrs } -> Array JSX -> JSX -``` - -#### `dl` - -``` purescript -dl :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dl) => { | attrs } -> Array JSX -> JSX -``` - -#### `div` - -``` purescript -div :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_div) => { | attrs } -> Array JSX -> JSX -``` - -#### `dialog` - -``` purescript -dialog :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dialog) => { | attrs } -> Array JSX -> JSX -``` - -#### `dfn` - -``` purescript -dfn :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dfn) => { | attrs } -> Array JSX -> JSX -``` - -#### `details` - -``` purescript -details :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_details) => { | attrs } -> Array JSX -> JSX -``` - -#### `del` - -``` purescript -del :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_del) => { | attrs } -> Array JSX -> JSX -``` - -#### `dd` - -``` purescript -dd :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dd) => { | attrs } -> Array JSX -> JSX -``` - -#### `datalist` - -``` purescript -datalist :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_datalist) => { | attrs } -> Array JSX -> JSX -``` - -#### `data_` - -``` purescript -data_ :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_data) => { | attrs } -> Array JSX -> JSX -``` - -#### `css` - -``` purescript -css :: forall css. { | css } -> CSS -``` - -Create a value of type `CSS` (which can be provided to the `style` property) -from a plain record of CSS attributes. - -E.g. - -``` -div { style: css { padding: "5px" } } [ text "This text is padded." ] -``` - -#### `colgroup` - -``` purescript -colgroup :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_colgroup) => { | attrs } -> Array JSX -> JSX -``` - -#### `col` - -``` purescript -col :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_col) => { | attrs } -> JSX -``` - -#### `code` +#### `fragment` ``` purescript -code :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_code) => { | attrs } -> Array JSX -> JSX +fragment :: Array JSX -> JSX ``` -#### `cite` +Render an Array of children without a wrapping component. -``` purescript -cite :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_cite) => { | attrs } -> Array JSX -> JSX -``` - -#### `caption` - -``` purescript -caption :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_caption) => { | attrs } -> Array JSX -> JSX -``` - -#### `canvas` - -``` purescript -canvas :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_canvas) => { | attrs } -> Array JSX -> JSX -``` - -#### `button` - -``` purescript -button :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_button) => { | attrs } -> Array JSX -> JSX -``` - -#### `br` - -``` purescript -br :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_br) => { | attrs } -> JSX -``` - -#### `body` - -``` purescript -body :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_body) => { | attrs } -> Array JSX -> JSX -``` - -#### `blockquote` - -``` purescript -blockquote :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_blockquote) => { | attrs } -> Array JSX -> JSX -``` - -#### `bdo` - -``` purescript -bdo :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_bdo) => { | attrs } -> Array JSX -> JSX -``` - -#### `bdi` - -``` purescript -bdi :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_bdi) => { | attrs } -> Array JSX -> JSX -``` - -#### `base` - -``` purescript -base :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_base) => { | attrs } -> JSX -``` - -#### `b` - -``` purescript -b :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_b) => { | attrs } -> Array JSX -> JSX -``` - -#### `audio` - -``` purescript -audio :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_audio) => { | attrs } -> Array JSX -> JSX -``` - -#### `aside` - -``` purescript -aside :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_aside) => { | attrs } -> Array JSX -> JSX -``` - -#### `article` - -``` purescript -article :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_article) => { | attrs } -> Array JSX -> JSX -``` - -#### `area` - -``` purescript -area :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_area) => { | attrs } -> JSX -``` - -#### `address` +#### `fragmentKeyed` ``` purescript -address :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_address) => { | attrs } -> Array JSX -> JSX +fragmentKeyed :: String -> Array JSX -> JSX ``` -#### `abbr` - -``` purescript -abbr :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_abbr) => { | attrs } -> Array JSX -> JSX -``` +Render an Array of children without a wrapping component. -#### `a` +Provide a key when dynamically rendering multiple fragments along side +each other. -``` purescript -a :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_a) => { | attrs } -> Array JSX -> JSX -``` ### Re-exported from React.Basic.Types: diff --git a/generated-docs/React/Basic/DOM.md b/generated-docs/React/Basic/DOM.md index df9c74e..584dad2 100644 --- a/generated-docs/React/Basic/DOM.md +++ b/generated-docs/React/Basic/DOM.md @@ -33,45 +33,73 @@ div { style: css { padding: "5px" } } [ text "This text is padded." ] #### `SharedProps` ``` purescript -type SharedProps specific = (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 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. +#### `stringComponent` + +``` purescript +stringComponent :: forall props. String -> ReactComponent props +``` + #### `Props_a` ``` purescript -type Props_a = (coords :: String, download :: String, href :: String, name :: String, rel :: String, shape :: String, target :: String, "type" :: String) +type Props_a = (children :: Array JSX, coords :: String, download :: String, href :: String, name :: String, rel :: String, shape :: String, target :: String, "type" :: String) ``` +------------------------------- +GENERATED CODE BELOW THIS LINE! +------------------------------- + #### `a` ``` purescript -a :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_a) => { | attrs } -> Array JSX -> JSX +a :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_a) => { | attrs } -> JSX +``` + +#### `a_` + +``` purescript +a_ :: Array JSX -> JSX ``` #### `Props_abbr` ``` purescript -type Props_abbr = (title :: String) +type Props_abbr = (children :: Array JSX, title :: String) ``` #### `abbr` ``` purescript -abbr :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_abbr) => { | attrs } -> Array JSX -> JSX +abbr :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_abbr) => { | attrs } -> JSX +``` + +#### `abbr_` + +``` purescript +abbr_ :: Array JSX -> JSX ``` #### `Props_address` ``` purescript -type Props_address = () +type Props_address = (children :: Array JSX) ``` #### `address` ``` purescript -address :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_address) => { | attrs } -> Array JSX -> JSX +address :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_address) => { | attrs } -> JSX +``` + +#### `address_` + +``` purescript +address_ :: Array JSX -> JSX ``` #### `Props_area` @@ -89,49 +117,73 @@ area :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_area) => { | #### `Props_article` ``` purescript -type Props_article = () +type Props_article = (children :: Array JSX) ``` #### `article` ``` purescript -article :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_article) => { | attrs } -> Array JSX -> JSX +article :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_article) => { | attrs } -> JSX +``` + +#### `article_` + +``` purescript +article_ :: Array JSX -> JSX ``` #### `Props_aside` ``` purescript -type Props_aside = () +type Props_aside = (children :: Array JSX) ``` #### `aside` ``` purescript -aside :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_aside) => { | attrs } -> Array JSX -> JSX +aside :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_aside) => { | attrs } -> JSX +``` + +#### `aside_` + +``` purescript +aside_ :: Array JSX -> JSX ``` #### `Props_audio` ``` purescript -type Props_audio = (controls :: Boolean, loop :: Boolean, muted :: Boolean, preload :: String, src :: String) +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 } -> Array JSX -> JSX +audio :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_audio) => { | attrs } -> JSX +``` + +#### `audio_` + +``` purescript +audio_ :: Array JSX -> JSX ``` #### `Props_b` ``` purescript -type Props_b = () +type Props_b = (children :: Array JSX) ``` #### `b` ``` purescript -b :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_b) => { | attrs } -> Array JSX -> JSX +b :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_b) => { | attrs } -> JSX +``` + +#### `b_` + +``` purescript +b_ :: Array JSX -> JSX ``` #### `Props_base` @@ -149,49 +201,73 @@ base :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_base) => { | #### `Props_bdi` ``` purescript -type Props_bdi = () +type Props_bdi = (children :: Array JSX) ``` #### `bdi` ``` purescript -bdi :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_bdi) => { | attrs } -> Array JSX -> JSX +bdi :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_bdi) => { | attrs } -> JSX +``` + +#### `bdi_` + +``` purescript +bdi_ :: Array JSX -> JSX ``` #### `Props_bdo` ``` purescript -type Props_bdo = (dir :: String) +type Props_bdo = (children :: Array JSX, dir :: String) ``` #### `bdo` ``` purescript -bdo :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_bdo) => { | attrs } -> Array JSX -> JSX +bdo :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_bdo) => { | attrs } -> JSX +``` + +#### `bdo_` + +``` purescript +bdo_ :: Array JSX -> JSX ``` #### `Props_blockquote` ``` purescript -type Props_blockquote = (cite :: String) +type Props_blockquote = (children :: Array JSX, cite :: String) ``` #### `blockquote` ``` purescript -blockquote :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_blockquote) => { | attrs } -> Array JSX -> JSX +blockquote :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_blockquote) => { | attrs } -> JSX +``` + +#### `blockquote_` + +``` purescript +blockquote_ :: Array JSX -> JSX ``` #### `Props_body` ``` purescript -type Props_body = () +type Props_body = (children :: Array JSX) ``` #### `body` ``` purescript -body :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_body) => { | attrs } -> Array JSX -> JSX +body :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_body) => { | attrs } -> JSX +``` + +#### `body_` + +``` purescript +body_ :: Array JSX -> JSX ``` #### `Props_br` @@ -209,61 +285,91 @@ br :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_br) => { | att #### `Props_button` ``` purescript -type Props_button = (disabled :: Boolean, form :: String, name :: String, "type" :: String, value :: String) +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 } -> Array JSX -> JSX +button :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_button) => { | attrs } -> JSX +``` + +#### `button_` + +``` purescript +button_ :: Array JSX -> JSX ``` #### `Props_canvas` ``` purescript -type Props_canvas = (height :: String, width :: String) +type Props_canvas = (children :: Array JSX, height :: String, width :: String) ``` #### `canvas` ``` purescript -canvas :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_canvas) => { | attrs } -> Array JSX -> JSX +canvas :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_canvas) => { | attrs } -> JSX +``` + +#### `canvas_` + +``` purescript +canvas_ :: Array JSX -> JSX ``` #### `Props_caption` ``` purescript -type Props_caption = () +type Props_caption = (children :: Array JSX) ``` #### `caption` ``` purescript -caption :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_caption) => { | attrs } -> Array JSX -> JSX +caption :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_caption) => { | attrs } -> JSX +``` + +#### `caption_` + +``` purescript +caption_ :: Array JSX -> JSX ``` #### `Props_cite` ``` purescript -type Props_cite = () +type Props_cite = (children :: Array JSX) ``` #### `cite` ``` purescript -cite :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_cite) => { | attrs } -> Array JSX -> JSX +cite :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_cite) => { | attrs } -> JSX +``` + +#### `cite_` + +``` purescript +cite_ :: Array JSX -> JSX ``` #### `Props_code` ``` purescript -type Props_code = () +type Props_code = (children :: Array JSX) ``` #### `code` ``` purescript -code :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_code) => { | attrs } -> Array JSX -> JSX +code :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_code) => { | attrs } -> JSX +``` + +#### `code_` + +``` purescript +code_ :: Array JSX -> JSX ``` #### `Props_col` @@ -281,145 +387,217 @@ col :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_col) => { | a #### `Props_colgroup` ``` purescript -type Props_colgroup = (span :: Number, width :: String) +type Props_colgroup = (children :: Array JSX, span :: Number, width :: String) ``` #### `colgroup` ``` purescript -colgroup :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_colgroup) => { | attrs } -> Array JSX -> JSX +colgroup :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_colgroup) => { | attrs } -> JSX +``` + +#### `colgroup_` + +``` purescript +colgroup_ :: Array JSX -> JSX ``` #### `Props_data` ``` purescript -type Props_data = (value :: String) +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_ :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_data) => { | attrs } -> Array JSX -> JSX +data_ :: Array JSX -> JSX ``` #### `Props_datalist` ``` purescript -type Props_datalist = () +type Props_datalist = (children :: Array JSX) ``` #### `datalist` ``` purescript -datalist :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_datalist) => { | attrs } -> Array JSX -> JSX +datalist :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_datalist) => { | attrs } -> JSX +``` + +#### `datalist_` + +``` purescript +datalist_ :: Array JSX -> JSX ``` #### `Props_dd` ``` purescript -type Props_dd = () +type Props_dd = (children :: Array JSX) ``` #### `dd` ``` purescript -dd :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dd) => { | attrs } -> Array JSX -> JSX +dd :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dd) => { | attrs } -> JSX +``` + +#### `dd_` + +``` purescript +dd_ :: Array JSX -> JSX ``` #### `Props_del` ``` purescript -type Props_del = (cite :: String) +type Props_del = (children :: Array JSX, cite :: String) ``` #### `del` ``` purescript -del :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_del) => { | attrs } -> Array JSX -> JSX +del :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_del) => { | attrs } -> JSX +``` + +#### `del_` + +``` purescript +del_ :: Array JSX -> JSX ``` #### `Props_details` ``` purescript -type Props_details = (open :: Boolean) +type Props_details = (children :: Array JSX, open :: Boolean) ``` #### `details` ``` purescript -details :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_details) => { | attrs } -> Array JSX -> JSX +details :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_details) => { | attrs } -> JSX +``` + +#### `details_` + +``` purescript +details_ :: Array JSX -> JSX ``` #### `Props_dfn` ``` purescript -type Props_dfn = (title :: String) +type Props_dfn = (children :: Array JSX, title :: String) ``` #### `dfn` ``` purescript -dfn :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dfn) => { | attrs } -> Array JSX -> JSX +dfn :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dfn) => { | attrs } -> JSX +``` + +#### `dfn_` + +``` purescript +dfn_ :: Array JSX -> JSX ``` #### `Props_dialog` ``` purescript -type Props_dialog = (open :: Boolean) +type Props_dialog = (children :: Array JSX, open :: Boolean) ``` #### `dialog` ``` purescript -dialog :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dialog) => { | attrs } -> Array JSX -> JSX +dialog :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dialog) => { | attrs } -> JSX +``` + +#### `dialog_` + +``` purescript +dialog_ :: Array JSX -> JSX ``` #### `Props_div` ``` purescript -type Props_div = () +type Props_div = (children :: Array JSX) ``` #### `div` ``` purescript -div :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_div) => { | attrs } -> Array JSX -> JSX +div :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_div) => { | attrs } -> JSX +``` + +#### `div_` + +``` purescript +div_ :: Array JSX -> JSX ``` #### `Props_dl` ``` purescript -type Props_dl = () +type Props_dl = (children :: Array JSX) ``` #### `dl` ``` purescript -dl :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dl) => { | attrs } -> Array JSX -> JSX +dl :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dl) => { | attrs } -> JSX +``` + +#### `dl_` + +``` purescript +dl_ :: Array JSX -> JSX ``` #### `Props_dt` ``` purescript -type Props_dt = () +type Props_dt = (children :: Array JSX) ``` #### `dt` ``` purescript -dt :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dt) => { | attrs } -> Array JSX -> JSX +dt :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_dt) => { | attrs } -> JSX +``` + +#### `dt_` + +``` purescript +dt_ :: Array JSX -> JSX ``` #### `Props_em` ``` purescript -type Props_em = () +type Props_em = (children :: Array JSX) ``` #### `em` ``` purescript -em :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_em) => { | attrs } -> Array JSX -> JSX +em :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_em) => { | attrs } -> JSX +``` + +#### `em_` + +``` purescript +em_ :: Array JSX -> JSX ``` #### `Props_embed` @@ -437,169 +615,253 @@ embed :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_embed) => { #### `Props_fieldset` ``` purescript -type Props_fieldset = (disabled :: Boolean, form :: String, name :: String) +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 } -> Array JSX -> JSX +fieldset :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_fieldset) => { | attrs } -> JSX +``` + +#### `fieldset_` + +``` purescript +fieldset_ :: Array JSX -> JSX ``` #### `Props_figcaption` ``` purescript -type Props_figcaption = () +type Props_figcaption = (children :: Array JSX) ``` #### `figcaption` ``` purescript -figcaption :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_figcaption) => { | attrs } -> Array JSX -> JSX +figcaption :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_figcaption) => { | attrs } -> JSX +``` + +#### `figcaption_` + +``` purescript +figcaption_ :: Array JSX -> JSX ``` #### `Props_figure` ``` purescript -type Props_figure = () +type Props_figure = (children :: Array JSX) ``` #### `figure` ``` purescript -figure :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_figure) => { | attrs } -> Array JSX -> JSX +figure :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_figure) => { | attrs } -> JSX +``` + +#### `figure_` + +``` purescript +figure_ :: Array JSX -> JSX ``` #### `Props_footer` ``` purescript -type Props_footer = () +type Props_footer = (children :: Array JSX) ``` #### `footer` ``` purescript -footer :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_footer) => { | attrs } -> Array JSX -> JSX +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, method :: String, name :: String, target :: String) +type Props_form = (accept :: String, action :: String, children :: Array JSX, method :: String, name :: String, target :: String) ``` #### `form` ``` purescript -form :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_form) => { | attrs } -> Array JSX -> JSX +form :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_form) => { | attrs } -> JSX +``` + +#### `form_` + +``` purescript +form_ :: Array JSX -> JSX ``` #### `Props_h1` ``` purescript -type Props_h1 = () +type Props_h1 = (children :: Array JSX) ``` #### `h1` ``` purescript -h1 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h1) => { | attrs } -> Array JSX -> JSX +h1 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h1) => { | attrs } -> JSX +``` + +#### `h1_` + +``` purescript +h1_ :: Array JSX -> JSX ``` #### `Props_h2` ``` purescript -type Props_h2 = () +type Props_h2 = (children :: Array JSX) ``` #### `h2` ``` purescript -h2 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h2) => { | attrs } -> Array JSX -> JSX +h2 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h2) => { | attrs } -> JSX +``` + +#### `h2_` + +``` purescript +h2_ :: Array JSX -> JSX ``` #### `Props_h3` ``` purescript -type Props_h3 = () +type Props_h3 = (children :: Array JSX) ``` #### `h3` ``` purescript -h3 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h3) => { | attrs } -> Array JSX -> JSX +h3 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h3) => { | attrs } -> JSX +``` + +#### `h3_` + +``` purescript +h3_ :: Array JSX -> JSX ``` #### `Props_h4` ``` purescript -type Props_h4 = () +type Props_h4 = (children :: Array JSX) ``` #### `h4` ``` purescript -h4 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h4) => { | attrs } -> Array JSX -> JSX +h4 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h4) => { | attrs } -> JSX +``` + +#### `h4_` + +``` purescript +h4_ :: Array JSX -> JSX ``` #### `Props_h5` ``` purescript -type Props_h5 = () +type Props_h5 = (children :: Array JSX) ``` #### `h5` ``` purescript -h5 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h5) => { | attrs } -> Array JSX -> JSX +h5 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h5) => { | attrs } -> JSX +``` + +#### `h5_` + +``` purescript +h5_ :: Array JSX -> JSX ``` #### `Props_h6` ``` purescript -type Props_h6 = () +type Props_h6 = (children :: Array JSX) ``` #### `h6` ``` purescript -h6 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h6) => { | attrs } -> Array JSX -> JSX +h6 :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_h6) => { | attrs } -> JSX +``` + +#### `h6_` + +``` purescript +h6_ :: Array JSX -> JSX ``` #### `Props_head` ``` purescript -type Props_head = (profile :: String) +type Props_head = (children :: Array JSX, profile :: String) ``` #### `head` ``` purescript -head :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_head) => { | attrs } -> Array JSX -> JSX +head :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_head) => { | attrs } -> JSX +``` + +#### `head_` + +``` purescript +head_ :: Array JSX -> JSX ``` #### `Props_header` ``` purescript -type Props_header = () +type Props_header = (children :: Array JSX) ``` #### `header` ``` purescript -header :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_header) => { | attrs } -> Array JSX -> JSX +header :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_header) => { | attrs } -> JSX +``` + +#### `header_` + +``` purescript +header_ :: Array JSX -> JSX ``` #### `Props_hgroup` ``` purescript -type Props_hgroup = () +type Props_hgroup = (children :: Array JSX) ``` #### `hgroup` ``` purescript -hgroup :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_hgroup) => { | attrs } -> Array JSX -> JSX +hgroup :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_hgroup) => { | attrs } -> JSX +``` + +#### `hgroup_` + +``` purescript +hgroup_ :: Array JSX -> JSX ``` #### `Props_hr` @@ -617,37 +879,55 @@ hr :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_hr) => { | att #### `Props_html` ``` purescript -type Props_html = (manifest :: String) +type Props_html = (children :: Array JSX, manifest :: String) ``` #### `html` ``` purescript -html :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_html) => { | attrs } -> Array JSX -> JSX +html :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_html) => { | attrs } -> JSX +``` + +#### `html_` + +``` purescript +html_ :: Array JSX -> JSX ``` #### `Props_i` ``` purescript -type Props_i = () +type Props_i = (children :: Array JSX) ``` #### `i` ``` purescript -i :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_i) => { | attrs } -> Array JSX -> JSX +i :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_i) => { | attrs } -> JSX +``` + +#### `i_` + +``` purescript +i_ :: Array JSX -> JSX ``` #### `Props_iframe` ``` purescript -type Props_iframe = (height :: String, name :: String, sandbox :: String, scrolling :: String, src :: String, width :: String) +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 } -> Array JSX -> JSX +iframe :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_iframe) => { | attrs } -> JSX +``` + +#### `iframe_` + +``` purescript +iframe_ :: Array JSX -> JSX ``` #### `Props_img` @@ -665,7 +945,7 @@ img :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_img) => { | a #### `Props_input` ``` purescript -type Props_input = (accept :: String, alt :: String, autoCapitalize :: String, autoCorrect :: String, autoSave :: String, checked :: Boolean, disabled :: Boolean, form :: String, height :: String, list :: String, max :: String, min :: String, 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) +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 :: String, min :: String, multiple :: Boolean, name :: String, onChange :: String, pattern :: String, placeholder :: String, required :: Boolean, results :: String, size :: Number, src :: String, step :: String, title :: String, "type" :: String, value :: String, width :: String) ``` #### `input` @@ -677,73 +957,109 @@ input :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_input) => { #### `Props_ins` ``` purescript -type Props_ins = (cite :: String) +type Props_ins = (children :: Array JSX, cite :: String) ``` #### `ins` ``` purescript -ins :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_ins) => { | attrs } -> Array JSX -> JSX +ins :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_ins) => { | attrs } -> JSX +``` + +#### `ins_` + +``` purescript +ins_ :: Array JSX -> JSX ``` #### `Props_kbd` ``` purescript -type Props_kbd = () +type Props_kbd = (children :: Array JSX) ``` #### `kbd` ``` purescript -kbd :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_kbd) => { | attrs } -> Array JSX -> JSX +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, disabled :: Boolean, form :: String, name :: String) +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 } -> Array JSX -> JSX +keygen :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_keygen) => { | attrs } -> JSX +``` + +#### `keygen_` + +``` purescript +keygen_ :: Array JSX -> JSX ``` #### `Props_label` ``` purescript -type Props_label = (form :: String) +type Props_label = (children :: Array JSX, form :: String) ``` #### `label` ``` purescript -label :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_label) => { | attrs } -> Array JSX -> JSX +label :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_label) => { | attrs } -> JSX +``` + +#### `label_` + +``` purescript +label_ :: Array JSX -> JSX ``` #### `Props_legend` ``` purescript -type Props_legend = () +type Props_legend = (children :: Array JSX) ``` #### `legend` ``` purescript -legend :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_legend) => { | attrs } -> Array JSX -> JSX +legend :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_legend) => { | attrs } -> JSX +``` + +#### `legend_` + +``` purescript +legend_ :: Array JSX -> JSX ``` #### `Props_li` ``` purescript -type Props_li = ("type" :: String, value :: String) +type Props_li = (children :: Array JSX, "type" :: String, value :: String) ``` #### `li` ``` purescript -li :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_li) => { | attrs } -> Array JSX -> JSX +li :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_li) => { | attrs } -> JSX +``` + +#### `li_` + +``` purescript +li_ :: Array JSX -> JSX ``` #### `Props_link` @@ -761,73 +1077,109 @@ link :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_link) => { | #### `Props_main` ``` purescript -type Props_main = () +type Props_main = (children :: Array JSX) ``` #### `main` ``` purescript -main :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_main) => { | attrs } -> Array JSX -> JSX +main :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_main) => { | attrs } -> JSX +``` + +#### `main_` + +``` purescript +main_ :: Array JSX -> JSX ``` #### `Props_map` ``` purescript -type Props_map = (name :: String) +type Props_map = (children :: Array JSX, name :: String) ``` #### `map` ``` purescript -map :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_map) => { | attrs } -> Array JSX -> JSX +map :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_map) => { | attrs } -> JSX +``` + +#### `map_` + +``` purescript +map_ :: Array JSX -> JSX ``` #### `Props_mark` ``` purescript -type Props_mark = () +type Props_mark = (children :: Array JSX) ``` #### `mark` ``` purescript -mark :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_mark) => { | attrs } -> Array JSX -> JSX +mark :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_mark) => { | attrs } -> JSX +``` + +#### `mark_` + +``` purescript +mark_ :: Array JSX -> JSX ``` #### `Props_math` ``` purescript -type Props_math = () +type Props_math = (children :: Array JSX) ``` #### `math` ``` purescript -math :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_math) => { | attrs } -> Array JSX -> JSX +math :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_math) => { | attrs } -> JSX +``` + +#### `math_` + +``` purescript +math_ :: Array JSX -> JSX ``` #### `Props_menu` ``` purescript -type Props_menu = () +type Props_menu = (children :: Array JSX) ``` #### `menu` ``` purescript -menu :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_menu) => { | attrs } -> Array JSX -> JSX +menu :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_menu) => { | attrs } -> JSX +``` + +#### `menu_` + +``` purescript +menu_ :: Array JSX -> JSX ``` #### `Props_menuitem` ``` purescript -type Props_menuitem = () +type Props_menuitem = (children :: Array JSX) ``` #### `menuitem` ``` purescript -menuitem :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_menuitem) => { | attrs } -> Array JSX -> JSX +menuitem :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_menuitem) => { | attrs } -> JSX +``` + +#### `menuitem_` + +``` purescript +menuitem_ :: Array JSX -> JSX ``` #### `Props_meta` @@ -845,109 +1197,163 @@ meta :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_meta) => { | #### `Props_meter` ``` purescript -type Props_meter = (high :: String, low :: String, max :: String, min :: String, optimum :: String, value :: String) +type Props_meter = (children :: Array JSX, high :: String, low :: String, max :: String, min :: String, optimum :: String, value :: String) ``` #### `meter` ``` purescript -meter :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_meter) => { | attrs } -> Array JSX -> JSX +meter :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_meter) => { | attrs } -> JSX +``` + +#### `meter_` + +``` purescript +meter_ :: Array JSX -> JSX ``` #### `Props_nav` ``` purescript -type Props_nav = () +type Props_nav = (children :: Array JSX) ``` #### `nav` ``` purescript -nav :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_nav) => { | attrs } -> Array JSX -> JSX +nav :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_nav) => { | attrs } -> JSX +``` + +#### `nav_` + +``` purescript +nav_ :: Array JSX -> JSX ``` #### `Props_noscript` ``` purescript -type Props_noscript = () +type Props_noscript = (children :: Array JSX) ``` #### `noscript` ``` purescript -noscript :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_noscript) => { | attrs } -> Array JSX -> JSX +noscript :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_noscript) => { | attrs } -> JSX +``` + +#### `noscript_` + +``` purescript +noscript_ :: Array JSX -> JSX ``` #### `Props_object` ``` purescript -type Props_object = ("data" :: String, form :: String, height :: String, name :: String, "type" :: String, width :: String) +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 } -> Array JSX -> JSX +object :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_object) => { | attrs } -> JSX +``` + +#### `object_` + +``` purescript +object_ :: Array JSX -> JSX ``` #### `Props_ol` ``` purescript -type Props_ol = (reversed :: Boolean, start :: Number, "type" :: String) +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 } -> Array JSX -> JSX +ol :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_ol) => { | attrs } -> JSX +``` + +#### `ol_` + +``` purescript +ol_ :: Array JSX -> JSX ``` #### `Props_optgroup` ``` purescript -type Props_optgroup = (disabled :: Boolean, label :: String) +type Props_optgroup = (children :: Array JSX, disabled :: Boolean, label :: String) ``` #### `optgroup` ``` purescript -optgroup :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_optgroup) => { | attrs } -> Array JSX -> JSX +optgroup :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_optgroup) => { | attrs } -> JSX +``` + +#### `optgroup_` + +``` purescript +optgroup_ :: Array JSX -> JSX ``` #### `Props_option` ``` purescript -type Props_option = (disabled :: Boolean, label :: String, selected :: Boolean, value :: String) +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 } -> Array JSX -> JSX +option :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_option) => { | attrs } -> JSX +``` + +#### `option_` + +``` purescript +option_ :: Array JSX -> JSX ``` #### `Props_output` ``` purescript -type Props_output = (form :: String, name :: String) +type Props_output = (children :: Array JSX, form :: String, name :: String) ``` #### `output` ``` purescript -output :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_output) => { | attrs } -> Array JSX -> JSX +output :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_output) => { | attrs } -> JSX +``` + +#### `output_` + +``` purescript +output_ :: Array JSX -> JSX ``` #### `Props_p` ``` purescript -type Props_p = () +type Props_p = (children :: Array JSX) ``` #### `p` ``` purescript -p :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_p) => { | attrs } -> Array JSX -> JSX +p :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_p) => { | attrs } -> JSX +``` + +#### `p_` + +``` purescript +p_ :: Array JSX -> JSX ``` #### `Props_param` @@ -965,193 +1371,289 @@ param :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_param) => { #### `Props_picture` ``` purescript -type Props_picture = () +type Props_picture = (children :: Array JSX) ``` #### `picture` ``` purescript -picture :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_picture) => { | attrs } -> Array JSX -> JSX +picture :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_picture) => { | attrs } -> JSX +``` + +#### `picture_` + +``` purescript +picture_ :: Array JSX -> JSX ``` #### `Props_pre` ``` purescript -type Props_pre = (width :: String) +type Props_pre = (children :: Array JSX, width :: String) ``` #### `pre` ``` purescript -pre :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_pre) => { | attrs } -> Array JSX -> JSX +pre :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_pre) => { | attrs } -> JSX +``` + +#### `pre_` + +``` purescript +pre_ :: Array JSX -> JSX ``` #### `Props_progress` ``` purescript -type Props_progress = (max :: String, value :: String) +type Props_progress = (children :: Array JSX, max :: String, value :: String) ``` #### `progress` ``` purescript -progress :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_progress) => { | attrs } -> Array JSX -> JSX +progress :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_progress) => { | attrs } -> JSX +``` + +#### `progress_` + +``` purescript +progress_ :: Array JSX -> JSX ``` #### `Props_q` ``` purescript -type Props_q = (cite :: String) +type Props_q = (children :: Array JSX, cite :: String) ``` #### `q` ``` purescript -q :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_q) => { | attrs } -> Array JSX -> JSX +q :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_q) => { | attrs } -> JSX +``` + +#### `q_` + +``` purescript +q_ :: Array JSX -> JSX ``` #### `Props_rb` ``` purescript -type Props_rb = () +type Props_rb = (children :: Array JSX) ``` #### `rb` ``` purescript -rb :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_rb) => { | attrs } -> Array JSX -> JSX +rb :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_rb) => { | attrs } -> JSX +``` + +#### `rb_` + +``` purescript +rb_ :: Array JSX -> JSX ``` #### `Props_rp` ``` purescript -type Props_rp = () +type Props_rp = (children :: Array JSX) ``` #### `rp` ``` purescript -rp :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_rp) => { | attrs } -> Array JSX -> JSX +rp :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_rp) => { | attrs } -> JSX +``` + +#### `rp_` + +``` purescript +rp_ :: Array JSX -> JSX ``` #### `Props_rt` ``` purescript -type Props_rt = () +type Props_rt = (children :: Array JSX) ``` #### `rt` ``` purescript -rt :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_rt) => { | attrs } -> Array JSX -> JSX +rt :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_rt) => { | attrs } -> JSX +``` + +#### `rt_` + +``` purescript +rt_ :: Array JSX -> JSX ``` #### `Props_rtc` ``` purescript -type Props_rtc = () +type Props_rtc = (children :: Array JSX) ``` #### `rtc` ``` purescript -rtc :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_rtc) => { | attrs } -> Array JSX -> JSX +rtc :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_rtc) => { | attrs } -> JSX +``` + +#### `rtc_` + +``` purescript +rtc_ :: Array JSX -> JSX ``` #### `Props_ruby` ``` purescript -type Props_ruby = () +type Props_ruby = (children :: Array JSX) ``` #### `ruby` ``` purescript -ruby :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_ruby) => { | attrs } -> Array JSX -> JSX +ruby :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_ruby) => { | attrs } -> JSX +``` + +#### `ruby_` + +``` purescript +ruby_ :: Array JSX -> JSX ``` #### `Props_s` ``` purescript -type Props_s = () +type Props_s = (children :: Array JSX) ``` #### `s` ``` purescript -s :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_s) => { | attrs } -> Array JSX -> JSX +s :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_s) => { | attrs } -> JSX +``` + +#### `s_` + +``` purescript +s_ :: Array JSX -> JSX ``` #### `Props_samp` ``` purescript -type Props_samp = () +type Props_samp = (children :: Array JSX) ``` #### `samp` ``` purescript -samp :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_samp) => { | attrs } -> Array JSX -> JSX +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, defer :: Boolean, integrity :: String, nonce :: String, src :: String, "type" :: String) +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 } -> Array JSX -> JSX +script :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_script) => { | attrs } -> JSX +``` + +#### `script_` + +``` purescript +script_ :: Array JSX -> JSX ``` #### `Props_section` ``` purescript -type Props_section = () +type Props_section = (children :: Array JSX) ``` #### `section` ``` purescript -section :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_section) => { | attrs } -> Array JSX -> JSX +section :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_section) => { | attrs } -> JSX +``` + +#### `section_` + +``` purescript +section_ :: Array JSX -> JSX ``` #### `Props_select` ``` purescript -type Props_select = (disabled :: Boolean, form :: String, multiple :: Boolean, name :: String, onChange :: EventHandler, required :: Boolean, size :: Number, value :: String) +type Props_select = (children :: Array JSX, defaultValue :: String, disabled :: Boolean, form :: String, multiple :: Boolean, name :: String, onChange :: String, required :: Boolean, size :: Number, value :: String) ``` #### `select` ``` purescript -select :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_select) => { | attrs } -> Array JSX -> JSX +select :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_select) => { | attrs } -> JSX +``` + +#### `select_` + +``` purescript +select_ :: Array JSX -> JSX ``` #### `Props_slot` ``` purescript -type Props_slot = (name :: String) +type Props_slot = (children :: Array JSX, name :: String) ``` #### `slot` ``` purescript -slot :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_slot) => { | attrs } -> Array JSX -> JSX +slot :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_slot) => { | attrs } -> JSX +``` + +#### `slot_` + +``` purescript +slot_ :: Array JSX -> JSX ``` #### `Props_small` ``` purescript -type Props_small = () +type Props_small = (children :: Array JSX) ``` #### `small` ``` purescript -small :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_small) => { | attrs } -> Array JSX -> JSX +small :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_small) => { | attrs } -> JSX +``` + +#### `small_` + +``` purescript +small_ :: Array JSX -> JSX ``` #### `Props_source` @@ -1169,217 +1671,325 @@ source :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_source) => #### `Props_span` ``` purescript -type Props_span = () +type Props_span = (children :: Array JSX) ``` #### `span` ``` purescript -span :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_span) => { | attrs } -> Array JSX -> JSX +span :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_span) => { | attrs } -> JSX +``` + +#### `span_` + +``` purescript +span_ :: Array JSX -> JSX ``` #### `Props_strong` ``` purescript -type Props_strong = () +type Props_strong = (children :: Array JSX) ``` #### `strong` ``` purescript -strong :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_strong) => { | attrs } -> Array JSX -> JSX +strong :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_strong) => { | attrs } -> JSX +``` + +#### `strong_` + +``` purescript +strong_ :: Array JSX -> JSX ``` #### `Props_style` ``` purescript -type Props_style = (media :: String, nonce :: String, title :: String, "type" :: String) +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 } -> Array JSX -> JSX +style :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_style) => { | attrs } -> JSX +``` + +#### `style_` + +``` purescript +style_ :: Array JSX -> JSX ``` #### `Props_sub` ``` purescript -type Props_sub = () +type Props_sub = (children :: Array JSX) ``` #### `sub` ``` purescript -sub :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_sub) => { | attrs } -> Array JSX -> JSX +sub :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_sub) => { | attrs } -> JSX +``` + +#### `sub_` + +``` purescript +sub_ :: Array JSX -> JSX ``` #### `Props_summary` ``` purescript -type Props_summary = () +type Props_summary = (children :: Array JSX) ``` #### `summary` ``` purescript -summary :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_summary) => { | attrs } -> Array JSX -> JSX +summary :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_summary) => { | attrs } -> JSX +``` + +#### `summary_` + +``` purescript +summary_ :: Array JSX -> JSX ``` #### `Props_sup` ``` purescript -type Props_sup = () +type Props_sup = (children :: Array JSX) ``` #### `sup` ``` purescript -sup :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_sup) => { | attrs } -> Array JSX -> JSX +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, 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) +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 } -> Array JSX -> JSX +svg :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_svg) => { | attrs } -> JSX +``` + +#### `svg_` + +``` purescript +svg_ :: Array JSX -> JSX ``` #### `Props_table` ``` purescript -type Props_table = (summary :: String, width :: String) +type Props_table = (children :: Array JSX, summary :: String, width :: String) ``` #### `table` ``` purescript -table :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_table) => { | attrs } -> Array JSX -> JSX +table :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_table) => { | attrs } -> JSX +``` + +#### `table_` + +``` purescript +table_ :: Array JSX -> JSX ``` #### `Props_tbody` ``` purescript -type Props_tbody = () +type Props_tbody = (children :: Array JSX) ``` #### `tbody` ``` purescript -tbody :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_tbody) => { | attrs } -> Array JSX -> JSX +tbody :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_tbody) => { | attrs } -> JSX +``` + +#### `tbody_` + +``` purescript +tbody_ :: Array JSX -> JSX ``` #### `Props_td` ``` purescript -type Props_td = (headers :: String, height :: String, scope :: String, width :: String) +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 } -> Array JSX -> JSX +td :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_td) => { | attrs } -> JSX +``` + +#### `td_` + +``` purescript +td_ :: Array JSX -> JSX ``` #### `Props_template` ``` purescript -type Props_template = () +type Props_template = (children :: Array JSX) ``` #### `template` ``` purescript -template :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_template) => { | attrs } -> Array JSX -> JSX +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, cols :: Number, disabled :: Boolean, form :: String, name :: String, onChange :: EventHandler, placeholder :: String, required :: Boolean, rows :: Number, value :: String, wrap :: String) +type Props_textarea = (autoCapitalize :: String, autoCorrect :: String, children :: Array JSX, cols :: Number, defaultValue :: String, disabled :: Boolean, form :: String, name :: String, onChange :: String, placeholder :: String, required :: Boolean, rows :: Number, value :: String, wrap :: String) ``` #### `textarea` ``` purescript -textarea :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_textarea) => { | attrs } -> Array JSX -> JSX +textarea :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_textarea) => { | attrs } -> JSX +``` + +#### `textarea_` + +``` purescript +textarea_ :: Array JSX -> JSX ``` #### `Props_tfoot` ``` purescript -type Props_tfoot = () +type Props_tfoot = (children :: Array JSX) ``` #### `tfoot` ``` purescript -tfoot :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_tfoot) => { | attrs } -> Array JSX -> JSX +tfoot :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_tfoot) => { | attrs } -> JSX +``` + +#### `tfoot_` + +``` purescript +tfoot_ :: Array JSX -> JSX ``` #### `Props_th` ``` purescript -type Props_th = (headers :: String, height :: String, scope :: String, width :: String) +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 } -> Array JSX -> JSX +th :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_th) => { | attrs } -> JSX +``` + +#### `th_` + +``` purescript +th_ :: Array JSX -> JSX ``` #### `Props_thead` ``` purescript -type Props_thead = () +type Props_thead = (children :: Array JSX) ``` #### `thead` ``` purescript -thead :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_thead) => { | attrs } -> Array JSX -> JSX +thead :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_thead) => { | attrs } -> JSX +``` + +#### `thead_` + +``` purescript +thead_ :: Array JSX -> JSX ``` #### `Props_time` ``` purescript -type Props_time = () +type Props_time = (children :: Array JSX) ``` #### `time` ``` purescript -time :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_time) => { | attrs } -> Array JSX -> JSX +time :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_time) => { | attrs } -> JSX +``` + +#### `time_` + +``` purescript +time_ :: Array JSX -> JSX ``` #### `Props_title` ``` purescript -type Props_title = () +type Props_title = (children :: Array JSX) ``` #### `title` ``` purescript -title :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_title) => { | attrs } -> Array JSX -> JSX +title :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_title) => { | attrs } -> JSX +``` + +#### `title_` + +``` purescript +title_ :: Array JSX -> JSX ``` #### `Props_tr` ``` purescript -type Props_tr = () +type Props_tr = (children :: Array JSX) ``` #### `tr` ``` purescript -tr :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_tr) => { | attrs } -> Array JSX -> JSX +tr :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_tr) => { | attrs } -> JSX +``` + +#### `tr_` + +``` purescript +tr_ :: Array JSX -> JSX ``` #### `Props_track` @@ -1397,49 +2007,73 @@ track :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_track) => { #### `Props_u` ``` purescript -type Props_u = () +type Props_u = (children :: Array JSX) ``` #### `u` ``` purescript -u :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_u) => { | attrs } -> Array JSX -> JSX +u :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_u) => { | attrs } -> JSX +``` + +#### `u_` + +``` purescript +u_ :: Array JSX -> JSX ``` #### `Props_ul` ``` purescript -type Props_ul = ("type" :: String) +type Props_ul = (children :: Array JSX, "type" :: String) ``` #### `ul` ``` purescript -ul :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_ul) => { | attrs } -> Array JSX -> JSX +ul :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_ul) => { | attrs } -> JSX +``` + +#### `ul_` + +``` purescript +ul_ :: Array JSX -> JSX ``` #### `Props_var` ``` purescript -type Props_var = () +type Props_var = (children :: Array JSX) ``` #### `var` ``` purescript -var :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_var) => { | attrs } -> Array JSX -> JSX +var :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_var) => { | attrs } -> JSX +``` + +#### `var_` + +``` purescript +var_ :: Array JSX -> JSX ``` #### `Props_video` ``` purescript -type Props_video = (controls :: Boolean, height :: String, loop :: Boolean, muted :: Boolean, poster :: String, preload :: String, src :: String, width :: String) +type Props_video = (children :: Array JSX, controls :: Boolean, height :: String, loop :: Boolean, muted :: Boolean, poster :: String, preload :: String, src :: String, width :: String) ``` #### `video` ``` purescript -video :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_video) => { | attrs } -> Array JSX -> JSX +video :: forall attrs attrs_. Union attrs attrs_ (SharedProps Props_video) => { | attrs } -> JSX +``` + +#### `video_` + +``` purescript +video_ :: Array JSX -> JSX ``` #### `Props_wbr` diff --git a/generated-docs/React/Basic/DOM/Internal.md b/generated-docs/React/Basic/DOM/Internal.md deleted file mode 100644 index f9d1a15..0000000 --- a/generated-docs/React/Basic/DOM/Internal.md +++ /dev/null @@ -1,15 +0,0 @@ -## Module React.Basic.DOM.Internal - -#### `createElement` - -``` purescript -createElement :: forall attrs. String -> { | attrs } -> Array JSX -> JSX -``` - -#### `createElementNoChildren` - -``` purescript -createElementNoChildren :: forall attrs. String -> { | attrs } -> JSX -``` - - diff --git a/src/React/Basic.purs b/src/React/Basic.purs index ba2fde5..43cb467 100644 --- a/src/React/Basic.purs +++ b/src/React/Basic.purs @@ -2,6 +2,8 @@ module React.Basic ( react , createElement , createElementKeyed + , fragment + , fragmentKeyed , module React.Basic.Types ) where From 7a77a307cd4efe6665fa7dc0be9f0f224b5d27e0 Mon Sep 17 00:00:00 2001 From: Michael Trotter Date: Wed, 28 Feb 2018 10:39:43 -0700 Subject: [PATCH 4/6] Alter createElementKeyed API, remove class polyfill --- DEPENDENCIES | 33 --------------------------------- src/React/Basic.js | 42 ++---------------------------------------- src/React/Basic.purs | 11 +++++------ 3 files changed, 7 insertions(+), 79 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index b721765..3635f89 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -20,36 +20,3 @@ react-html-attributes is used here during code generation, under the terms of th LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -TypeScript's class polyfill is used for React compatibility in ES5, under the terms of the Apache-2.0 license: - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - 1. Definitions. - "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. - "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." - "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. - 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: - You must give any other recipients of the Work or Derivative Works a copy of this License; and - You must cause any modified files to carry prominent notices stating that You changed the files; and - You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and - If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS diff --git a/src/React/Basic.js b/src/React/Basic.js index ff50e69..7ba46ee 100644 --- a/src/React/Basic.js +++ b/src/React/Basic.js @@ -3,46 +3,12 @@ var React = require("react"); var Fragment = React.Fragment || "div"; -// Class polyfill -var __extends = - (this && this.__extends) || - (function() { - var extendStatics = - Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && - function(d, b) { - d.__proto__ = b; - }) || - function(d, b) { - for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; - }; - return function(d, b) { - extendStatics(d, b); - function __() { - this.constructor = d; - } - d.prototype = - b === null - ? Object.create(b) - : ((__.prototype = b.prototype), new __()); - }; - })(); - -var __shallowCopy = function(obj) { - if (obj == null) return; - var result = {}; - Object.keys(obj).forEach(function(key) { - result[key] = obj[key]; - }); - return result; -}; - exports.component_ = function(spec) { function Component(props) { this.state = spec.initialState; return this; } - __extends(Component, React.Component); + Component.prototype = Object.create(React.Component.prototype); Component.prototype.displayName = spec.displayName; @@ -83,11 +49,7 @@ exports.createElement_ = function(el, attrs) { ); }; -exports.createElementKeyed_ = function(el, key, attrs) { - var attrsClone = __shallowCopy(attrs) || {}; - attrsClone.key = key; - return React.createElement(el, attrsClone); -}; +exports.createElementKeyed_ = React.createElement(el, attrs); 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 43cb467..16fdb89 100644 --- a/src/React/Basic.purs +++ b/src/React/Basic.purs @@ -11,7 +11,7 @@ import Prelude import Control.Monad.Eff (Eff, kind Effect) import Control.Monad.Eff.Uncurried (EffFn3, mkEffFn3) -import Data.Function.Uncurried (Fn2, Fn3, mkFn3, runFn2, runFn3) +import Data.Function.Uncurried (Fn2, Fn3, mkFn3, runFn2) import React.Basic.Types (CSS, EventHandler, JSX, ReactComponent, ReactFX) import React.Basic.Types as React.Basic.Types @@ -55,11 +55,10 @@ createElement = runFn2 createElement_ -- | For more information see: https://reactjs.org/docs/reconciliation.html#keys createElementKeyed :: forall props - . ReactComponent props - -> String - -> props + . ReactComponent { | props } + -> { key :: String | props } -> JSX -createElementKeyed = runFn3 createElementKeyed_ +createElementKeyed = runFn2 createElementKeyed_ -- | Render an Array of children without a wrapping component. foreign import fragment :: Array JSX -> JSX @@ -84,6 +83,6 @@ foreign import component_ foreign import createElement_ :: forall props. Fn2 (ReactComponent props) props JSX -foreign import createElementKeyed_ :: forall props. Fn3 (ReactComponent props) String props JSX +foreign import createElementKeyed_ :: forall props. Fn2 (ReactComponent { | props }) { key :: String | props } JSX foreign import fragmentKeyed_ :: Fn2 String (Array JSX) JSX From 6662afcf5f396204f437270cfabe79f97e50fbdd Mon Sep 17 00:00:00 2001 From: Michael Trotter Date: Mon, 5 Mar 2018 10:02:06 -0700 Subject: [PATCH 5/6] Rename stringComponent to unsafeCreateDOMComponent --- codegen/index.js | 2 +- generated-docs/React/Basic.md | 2 +- generated-docs/React/Basic/DOM.md | 4 +- src/React/Basic/DOM.purs | 240 +++++++++++++++--------------- 4 files changed, 124 insertions(+), 124 deletions(-) diff --git a/codegen/index.js b/codegen/index.js index c56b26e..5351e11 100644 --- a/codegen/index.js +++ b/codegen/index.js @@ -55,7 +55,7 @@ props.elements.html . Union attrs attrs_ (SharedProps Props_${e}) => Record attrs -> JSX - ${symbol} = createElement (stringComponent "${e}")${ + ${symbol} = createElement (unsafeCreateDOMComponent "${e}")${ noChildren ? "" : ` ${e}_ :: Array JSX -> JSX diff --git a/generated-docs/React/Basic.md b/generated-docs/React/Basic.md index 6d1cd02..34e7e7d 100644 --- a/generated-docs/React/Basic.md +++ b/generated-docs/React/Basic.md @@ -27,7 +27,7 @@ Create a `JSX` node from a React component, by providing the props. #### `createElementKeyed` ``` purescript -createElementKeyed :: forall props. ReactComponent props -> String -> props -> JSX +createElementKeyed :: forall props. ReactComponent { | props } -> { key :: String | props } -> JSX ``` Like `createElement`, plus a `key` for rendering components in a dynamic list. diff --git a/generated-docs/React/Basic/DOM.md b/generated-docs/React/Basic/DOM.md index 584dad2..828c4de 100644 --- a/generated-docs/React/Basic/DOM.md +++ b/generated-docs/React/Basic/DOM.md @@ -38,10 +38,10 @@ type SharedProps specific = (key :: String, about :: String, acceptCharset :: St Standard props which are shared by all DOM elements. -#### `stringComponent` +#### `unsafeCreateDOMComponent` ``` purescript -stringComponent :: forall props. String -> ReactComponent props +unsafeCreateDOMComponent :: forall props. String -> ReactComponent props ``` #### `Props_a` diff --git a/src/React/Basic/DOM.purs b/src/React/Basic/DOM.purs index d774cb1..0ce4904 100644 --- a/src/React/Basic/DOM.purs +++ b/src/React/Basic/DOM.purs @@ -110,8 +110,8 @@ type SharedProps specific = | specific ) -stringComponent :: forall props. String -> ReactComponent props -stringComponent = unsafeCoerce +unsafeCreateDOMComponent :: forall props. String -> ReactComponent props +unsafeCreateDOMComponent = unsafeCoerce -- | ------------------------------- -- | GENERATED CODE BELOW THIS LINE! @@ -134,7 +134,7 @@ a . Union attrs attrs_ (SharedProps Props_a) => Record attrs -> JSX -a = createElement (stringComponent "a") +a = createElement (unsafeCreateDOMComponent "a") a_ :: Array JSX -> JSX a_ children = a { children } @@ -149,7 +149,7 @@ abbr . Union attrs attrs_ (SharedProps Props_abbr) => Record attrs -> JSX -abbr = createElement (stringComponent "abbr") +abbr = createElement (unsafeCreateDOMComponent "abbr") abbr_ :: Array JSX -> JSX abbr_ children = abbr { children } @@ -163,7 +163,7 @@ address . Union attrs attrs_ (SharedProps Props_address) => Record attrs -> JSX -address = createElement (stringComponent "address") +address = createElement (unsafeCreateDOMComponent "address") address_ :: Array JSX -> JSX address_ children = address { children } @@ -184,7 +184,7 @@ area . Union attrs attrs_ (SharedProps Props_area) => Record attrs -> JSX -area = createElement (stringComponent "area") +area = createElement (unsafeCreateDOMComponent "area") type Props_article = ( children :: Array JSX @@ -195,7 +195,7 @@ article . Union attrs attrs_ (SharedProps Props_article) => Record attrs -> JSX -article = createElement (stringComponent "article") +article = createElement (unsafeCreateDOMComponent "article") article_ :: Array JSX -> JSX article_ children = article { children } @@ -209,7 +209,7 @@ aside . Union attrs attrs_ (SharedProps Props_aside) => Record attrs -> JSX -aside = createElement (stringComponent "aside") +aside = createElement (unsafeCreateDOMComponent "aside") aside_ :: Array JSX -> JSX aside_ children = aside { children } @@ -228,7 +228,7 @@ audio . Union attrs attrs_ (SharedProps Props_audio) => Record attrs -> JSX -audio = createElement (stringComponent "audio") +audio = createElement (unsafeCreateDOMComponent "audio") audio_ :: Array JSX -> JSX audio_ children = audio { children } @@ -242,7 +242,7 @@ b . Union attrs attrs_ (SharedProps Props_b) => Record attrs -> JSX -b = createElement (stringComponent "b") +b = createElement (unsafeCreateDOMComponent "b") b_ :: Array JSX -> JSX b_ children = b { children } @@ -257,7 +257,7 @@ base . Union attrs attrs_ (SharedProps Props_base) => Record attrs -> JSX -base = createElement (stringComponent "base") +base = createElement (unsafeCreateDOMComponent "base") type Props_bdi = ( children :: Array JSX @@ -268,7 +268,7 @@ bdi . Union attrs attrs_ (SharedProps Props_bdi) => Record attrs -> JSX -bdi = createElement (stringComponent "bdi") +bdi = createElement (unsafeCreateDOMComponent "bdi") bdi_ :: Array JSX -> JSX bdi_ children = bdi { children } @@ -283,7 +283,7 @@ bdo . Union attrs attrs_ (SharedProps Props_bdo) => Record attrs -> JSX -bdo = createElement (stringComponent "bdo") +bdo = createElement (unsafeCreateDOMComponent "bdo") bdo_ :: Array JSX -> JSX bdo_ children = bdo { children } @@ -298,7 +298,7 @@ blockquote . Union attrs attrs_ (SharedProps Props_blockquote) => Record attrs -> JSX -blockquote = createElement (stringComponent "blockquote") +blockquote = createElement (unsafeCreateDOMComponent "blockquote") blockquote_ :: Array JSX -> JSX blockquote_ children = blockquote { children } @@ -312,7 +312,7 @@ body . Union attrs attrs_ (SharedProps Props_body) => Record attrs -> JSX -body = createElement (stringComponent "body") +body = createElement (unsafeCreateDOMComponent "body") body_ :: Array JSX -> JSX body_ children = body { children } @@ -324,7 +324,7 @@ br . Union attrs attrs_ (SharedProps Props_br) => Record attrs -> JSX -br = createElement (stringComponent "br") +br = createElement (unsafeCreateDOMComponent "br") type Props_button = ( children :: Array JSX @@ -340,7 +340,7 @@ button . Union attrs attrs_ (SharedProps Props_button) => Record attrs -> JSX -button = createElement (stringComponent "button") +button = createElement (unsafeCreateDOMComponent "button") button_ :: Array JSX -> JSX button_ children = button { children } @@ -356,7 +356,7 @@ canvas . Union attrs attrs_ (SharedProps Props_canvas) => Record attrs -> JSX -canvas = createElement (stringComponent "canvas") +canvas = createElement (unsafeCreateDOMComponent "canvas") canvas_ :: Array JSX -> JSX canvas_ children = canvas { children } @@ -370,7 +370,7 @@ caption . Union attrs attrs_ (SharedProps Props_caption) => Record attrs -> JSX -caption = createElement (stringComponent "caption") +caption = createElement (unsafeCreateDOMComponent "caption") caption_ :: Array JSX -> JSX caption_ children = caption { children } @@ -384,7 +384,7 @@ cite . Union attrs attrs_ (SharedProps Props_cite) => Record attrs -> JSX -cite = createElement (stringComponent "cite") +cite = createElement (unsafeCreateDOMComponent "cite") cite_ :: Array JSX -> JSX cite_ children = cite { children } @@ -398,7 +398,7 @@ code . Union attrs attrs_ (SharedProps Props_code) => Record attrs -> JSX -code = createElement (stringComponent "code") +code = createElement (unsafeCreateDOMComponent "code") code_ :: Array JSX -> JSX code_ children = code { children } @@ -413,7 +413,7 @@ col . Union attrs attrs_ (SharedProps Props_col) => Record attrs -> JSX -col = createElement (stringComponent "col") +col = createElement (unsafeCreateDOMComponent "col") type Props_colgroup = ( children :: Array JSX @@ -426,7 +426,7 @@ colgroup . Union attrs attrs_ (SharedProps Props_colgroup) => Record attrs -> JSX -colgroup = createElement (stringComponent "colgroup") +colgroup = createElement (unsafeCreateDOMComponent "colgroup") colgroup_ :: Array JSX -> JSX colgroup_ children = colgroup { children } @@ -441,7 +441,7 @@ data' . Union attrs attrs_ (SharedProps Props_data) => Record attrs -> JSX -data' = createElement (stringComponent "data") +data' = createElement (unsafeCreateDOMComponent "data") data_ :: Array JSX -> JSX data_ children = data' { children } @@ -455,7 +455,7 @@ datalist . Union attrs attrs_ (SharedProps Props_datalist) => Record attrs -> JSX -datalist = createElement (stringComponent "datalist") +datalist = createElement (unsafeCreateDOMComponent "datalist") datalist_ :: Array JSX -> JSX datalist_ children = datalist { children } @@ -469,7 +469,7 @@ dd . Union attrs attrs_ (SharedProps Props_dd) => Record attrs -> JSX -dd = createElement (stringComponent "dd") +dd = createElement (unsafeCreateDOMComponent "dd") dd_ :: Array JSX -> JSX dd_ children = dd { children } @@ -484,7 +484,7 @@ del . Union attrs attrs_ (SharedProps Props_del) => Record attrs -> JSX -del = createElement (stringComponent "del") +del = createElement (unsafeCreateDOMComponent "del") del_ :: Array JSX -> JSX del_ children = del { children } @@ -499,7 +499,7 @@ details . Union attrs attrs_ (SharedProps Props_details) => Record attrs -> JSX -details = createElement (stringComponent "details") +details = createElement (unsafeCreateDOMComponent "details") details_ :: Array JSX -> JSX details_ children = details { children } @@ -514,7 +514,7 @@ dfn . Union attrs attrs_ (SharedProps Props_dfn) => Record attrs -> JSX -dfn = createElement (stringComponent "dfn") +dfn = createElement (unsafeCreateDOMComponent "dfn") dfn_ :: Array JSX -> JSX dfn_ children = dfn { children } @@ -529,7 +529,7 @@ dialog . Union attrs attrs_ (SharedProps Props_dialog) => Record attrs -> JSX -dialog = createElement (stringComponent "dialog") +dialog = createElement (unsafeCreateDOMComponent "dialog") dialog_ :: Array JSX -> JSX dialog_ children = dialog { children } @@ -543,7 +543,7 @@ div . Union attrs attrs_ (SharedProps Props_div) => Record attrs -> JSX -div = createElement (stringComponent "div") +div = createElement (unsafeCreateDOMComponent "div") div_ :: Array JSX -> JSX div_ children = div { children } @@ -557,7 +557,7 @@ dl . Union attrs attrs_ (SharedProps Props_dl) => Record attrs -> JSX -dl = createElement (stringComponent "dl") +dl = createElement (unsafeCreateDOMComponent "dl") dl_ :: Array JSX -> JSX dl_ children = dl { children } @@ -571,7 +571,7 @@ dt . Union attrs attrs_ (SharedProps Props_dt) => Record attrs -> JSX -dt = createElement (stringComponent "dt") +dt = createElement (unsafeCreateDOMComponent "dt") dt_ :: Array JSX -> JSX dt_ children = dt { children } @@ -585,7 +585,7 @@ em . Union attrs attrs_ (SharedProps Props_em) => Record attrs -> JSX -em = createElement (stringComponent "em") +em = createElement (unsafeCreateDOMComponent "em") em_ :: Array JSX -> JSX em_ children = em { children } @@ -602,7 +602,7 @@ embed . Union attrs attrs_ (SharedProps Props_embed) => Record attrs -> JSX -embed = createElement (stringComponent "embed") +embed = createElement (unsafeCreateDOMComponent "embed") type Props_fieldset = ( children :: Array JSX @@ -616,7 +616,7 @@ fieldset . Union attrs attrs_ (SharedProps Props_fieldset) => Record attrs -> JSX -fieldset = createElement (stringComponent "fieldset") +fieldset = createElement (unsafeCreateDOMComponent "fieldset") fieldset_ :: Array JSX -> JSX fieldset_ children = fieldset { children } @@ -630,7 +630,7 @@ figcaption . Union attrs attrs_ (SharedProps Props_figcaption) => Record attrs -> JSX -figcaption = createElement (stringComponent "figcaption") +figcaption = createElement (unsafeCreateDOMComponent "figcaption") figcaption_ :: Array JSX -> JSX figcaption_ children = figcaption { children } @@ -644,7 +644,7 @@ figure . Union attrs attrs_ (SharedProps Props_figure) => Record attrs -> JSX -figure = createElement (stringComponent "figure") +figure = createElement (unsafeCreateDOMComponent "figure") figure_ :: Array JSX -> JSX figure_ children = figure { children } @@ -658,7 +658,7 @@ footer . Union attrs attrs_ (SharedProps Props_footer) => Record attrs -> JSX -footer = createElement (stringComponent "footer") +footer = createElement (unsafeCreateDOMComponent "footer") footer_ :: Array JSX -> JSX footer_ children = footer { children } @@ -677,7 +677,7 @@ form . Union attrs attrs_ (SharedProps Props_form) => Record attrs -> JSX -form = createElement (stringComponent "form") +form = createElement (unsafeCreateDOMComponent "form") form_ :: Array JSX -> JSX form_ children = form { children } @@ -691,7 +691,7 @@ h1 . Union attrs attrs_ (SharedProps Props_h1) => Record attrs -> JSX -h1 = createElement (stringComponent "h1") +h1 = createElement (unsafeCreateDOMComponent "h1") h1_ :: Array JSX -> JSX h1_ children = h1 { children } @@ -705,7 +705,7 @@ h2 . Union attrs attrs_ (SharedProps Props_h2) => Record attrs -> JSX -h2 = createElement (stringComponent "h2") +h2 = createElement (unsafeCreateDOMComponent "h2") h2_ :: Array JSX -> JSX h2_ children = h2 { children } @@ -719,7 +719,7 @@ h3 . Union attrs attrs_ (SharedProps Props_h3) => Record attrs -> JSX -h3 = createElement (stringComponent "h3") +h3 = createElement (unsafeCreateDOMComponent "h3") h3_ :: Array JSX -> JSX h3_ children = h3 { children } @@ -733,7 +733,7 @@ h4 . Union attrs attrs_ (SharedProps Props_h4) => Record attrs -> JSX -h4 = createElement (stringComponent "h4") +h4 = createElement (unsafeCreateDOMComponent "h4") h4_ :: Array JSX -> JSX h4_ children = h4 { children } @@ -747,7 +747,7 @@ h5 . Union attrs attrs_ (SharedProps Props_h5) => Record attrs -> JSX -h5 = createElement (stringComponent "h5") +h5 = createElement (unsafeCreateDOMComponent "h5") h5_ :: Array JSX -> JSX h5_ children = h5 { children } @@ -761,7 +761,7 @@ h6 . Union attrs attrs_ (SharedProps Props_h6) => Record attrs -> JSX -h6 = createElement (stringComponent "h6") +h6 = createElement (unsafeCreateDOMComponent "h6") h6_ :: Array JSX -> JSX h6_ children = h6 { children } @@ -776,7 +776,7 @@ head . Union attrs attrs_ (SharedProps Props_head) => Record attrs -> JSX -head = createElement (stringComponent "head") +head = createElement (unsafeCreateDOMComponent "head") head_ :: Array JSX -> JSX head_ children = head { children } @@ -790,7 +790,7 @@ header . Union attrs attrs_ (SharedProps Props_header) => Record attrs -> JSX -header = createElement (stringComponent "header") +header = createElement (unsafeCreateDOMComponent "header") header_ :: Array JSX -> JSX header_ children = header { children } @@ -804,7 +804,7 @@ hgroup . Union attrs attrs_ (SharedProps Props_hgroup) => Record attrs -> JSX -hgroup = createElement (stringComponent "hgroup") +hgroup = createElement (unsafeCreateDOMComponent "hgroup") hgroup_ :: Array JSX -> JSX hgroup_ children = hgroup { children } @@ -819,7 +819,7 @@ hr . Union attrs attrs_ (SharedProps Props_hr) => Record attrs -> JSX -hr = createElement (stringComponent "hr") +hr = createElement (unsafeCreateDOMComponent "hr") type Props_html = ( children :: Array JSX @@ -831,7 +831,7 @@ html . Union attrs attrs_ (SharedProps Props_html) => Record attrs -> JSX -html = createElement (stringComponent "html") +html = createElement (unsafeCreateDOMComponent "html") html_ :: Array JSX -> JSX html_ children = html { children } @@ -845,7 +845,7 @@ i . Union attrs attrs_ (SharedProps Props_i) => Record attrs -> JSX -i = createElement (stringComponent "i") +i = createElement (unsafeCreateDOMComponent "i") i_ :: Array JSX -> JSX i_ children = i { children } @@ -865,7 +865,7 @@ iframe . Union attrs attrs_ (SharedProps Props_iframe) => Record attrs -> JSX -iframe = createElement (stringComponent "iframe") +iframe = createElement (unsafeCreateDOMComponent "iframe") iframe_ :: Array JSX -> JSX iframe_ children = iframe { children } @@ -884,7 +884,7 @@ img . Union attrs attrs_ (SharedProps Props_img) => Record attrs -> JSX -img = createElement (stringComponent "img") +img = createElement (unsafeCreateDOMComponent "img") type Props_input = ( accept :: String @@ -922,7 +922,7 @@ input . Union attrs attrs_ (SharedProps Props_input) => Record attrs -> JSX -input = createElement (stringComponent "input") +input = createElement (unsafeCreateDOMComponent "input") type Props_ins = ( children :: Array JSX @@ -934,7 +934,7 @@ ins . Union attrs attrs_ (SharedProps Props_ins) => Record attrs -> JSX -ins = createElement (stringComponent "ins") +ins = createElement (unsafeCreateDOMComponent "ins") ins_ :: Array JSX -> JSX ins_ children = ins { children } @@ -948,7 +948,7 @@ kbd . Union attrs attrs_ (SharedProps Props_kbd) => Record attrs -> JSX -kbd = createElement (stringComponent "kbd") +kbd = createElement (unsafeCreateDOMComponent "kbd") kbd_ :: Array JSX -> JSX kbd_ children = kbd { children } @@ -966,7 +966,7 @@ keygen . Union attrs attrs_ (SharedProps Props_keygen) => Record attrs -> JSX -keygen = createElement (stringComponent "keygen") +keygen = createElement (unsafeCreateDOMComponent "keygen") keygen_ :: Array JSX -> JSX keygen_ children = keygen { children } @@ -981,7 +981,7 @@ label . Union attrs attrs_ (SharedProps Props_label) => Record attrs -> JSX -label = createElement (stringComponent "label") +label = createElement (unsafeCreateDOMComponent "label") label_ :: Array JSX -> JSX label_ children = label { children } @@ -995,7 +995,7 @@ legend . Union attrs attrs_ (SharedProps Props_legend) => Record attrs -> JSX -legend = createElement (stringComponent "legend") +legend = createElement (unsafeCreateDOMComponent "legend") legend_ :: Array JSX -> JSX legend_ children = legend { children } @@ -1011,7 +1011,7 @@ li . Union attrs attrs_ (SharedProps Props_li) => Record attrs -> JSX -li = createElement (stringComponent "li") +li = createElement (unsafeCreateDOMComponent "li") li_ :: Array JSX -> JSX li_ children = li { children } @@ -1035,7 +1035,7 @@ link . Union attrs attrs_ (SharedProps Props_link) => Record attrs -> JSX -link = createElement (stringComponent "link") +link = createElement (unsafeCreateDOMComponent "link") type Props_main = ( children :: Array JSX @@ -1046,7 +1046,7 @@ main . Union attrs attrs_ (SharedProps Props_main) => Record attrs -> JSX -main = createElement (stringComponent "main") +main = createElement (unsafeCreateDOMComponent "main") main_ :: Array JSX -> JSX main_ children = main { children } @@ -1061,7 +1061,7 @@ map . Union attrs attrs_ (SharedProps Props_map) => Record attrs -> JSX -map = createElement (stringComponent "map") +map = createElement (unsafeCreateDOMComponent "map") map_ :: Array JSX -> JSX map_ children = map { children } @@ -1075,7 +1075,7 @@ mark . Union attrs attrs_ (SharedProps Props_mark) => Record attrs -> JSX -mark = createElement (stringComponent "mark") +mark = createElement (unsafeCreateDOMComponent "mark") mark_ :: Array JSX -> JSX mark_ children = mark { children } @@ -1089,7 +1089,7 @@ math . Union attrs attrs_ (SharedProps Props_math) => Record attrs -> JSX -math = createElement (stringComponent "math") +math = createElement (unsafeCreateDOMComponent "math") math_ :: Array JSX -> JSX math_ children = math { children } @@ -1103,7 +1103,7 @@ menu . Union attrs attrs_ (SharedProps Props_menu) => Record attrs -> JSX -menu = createElement (stringComponent "menu") +menu = createElement (unsafeCreateDOMComponent "menu") menu_ :: Array JSX -> JSX menu_ children = menu { children } @@ -1117,7 +1117,7 @@ menuitem . Union attrs attrs_ (SharedProps Props_menuitem) => Record attrs -> JSX -menuitem = createElement (stringComponent "menuitem") +menuitem = createElement (unsafeCreateDOMComponent "menuitem") menuitem_ :: Array JSX -> JSX menuitem_ children = menuitem { children } @@ -1132,7 +1132,7 @@ meta . Union attrs attrs_ (SharedProps Props_meta) => Record attrs -> JSX -meta = createElement (stringComponent "meta") +meta = createElement (unsafeCreateDOMComponent "meta") type Props_meter = ( children :: Array JSX @@ -1149,7 +1149,7 @@ meter . Union attrs attrs_ (SharedProps Props_meter) => Record attrs -> JSX -meter = createElement (stringComponent "meter") +meter = createElement (unsafeCreateDOMComponent "meter") meter_ :: Array JSX -> JSX meter_ children = meter { children } @@ -1163,7 +1163,7 @@ nav . Union attrs attrs_ (SharedProps Props_nav) => Record attrs -> JSX -nav = createElement (stringComponent "nav") +nav = createElement (unsafeCreateDOMComponent "nav") nav_ :: Array JSX -> JSX nav_ children = nav { children } @@ -1177,7 +1177,7 @@ noscript . Union attrs attrs_ (SharedProps Props_noscript) => Record attrs -> JSX -noscript = createElement (stringComponent "noscript") +noscript = createElement (unsafeCreateDOMComponent "noscript") noscript_ :: Array JSX -> JSX noscript_ children = noscript { children } @@ -1197,7 +1197,7 @@ object . Union attrs attrs_ (SharedProps Props_object) => Record attrs -> JSX -object = createElement (stringComponent "object") +object = createElement (unsafeCreateDOMComponent "object") object_ :: Array JSX -> JSX object_ children = object { children } @@ -1214,7 +1214,7 @@ ol . Union attrs attrs_ (SharedProps Props_ol) => Record attrs -> JSX -ol = createElement (stringComponent "ol") +ol = createElement (unsafeCreateDOMComponent "ol") ol_ :: Array JSX -> JSX ol_ children = ol { children } @@ -1230,7 +1230,7 @@ optgroup . Union attrs attrs_ (SharedProps Props_optgroup) => Record attrs -> JSX -optgroup = createElement (stringComponent "optgroup") +optgroup = createElement (unsafeCreateDOMComponent "optgroup") optgroup_ :: Array JSX -> JSX optgroup_ children = optgroup { children } @@ -1248,7 +1248,7 @@ option . Union attrs attrs_ (SharedProps Props_option) => Record attrs -> JSX -option = createElement (stringComponent "option") +option = createElement (unsafeCreateDOMComponent "option") option_ :: Array JSX -> JSX option_ children = option { children } @@ -1264,7 +1264,7 @@ output . Union attrs attrs_ (SharedProps Props_output) => Record attrs -> JSX -output = createElement (stringComponent "output") +output = createElement (unsafeCreateDOMComponent "output") output_ :: Array JSX -> JSX output_ children = output { children } @@ -1278,7 +1278,7 @@ p . Union attrs attrs_ (SharedProps Props_p) => Record attrs -> JSX -p = createElement (stringComponent "p") +p = createElement (unsafeCreateDOMComponent "p") p_ :: Array JSX -> JSX p_ children = p { children } @@ -1294,7 +1294,7 @@ param . Union attrs attrs_ (SharedProps Props_param) => Record attrs -> JSX -param = createElement (stringComponent "param") +param = createElement (unsafeCreateDOMComponent "param") type Props_picture = ( children :: Array JSX @@ -1305,7 +1305,7 @@ picture . Union attrs attrs_ (SharedProps Props_picture) => Record attrs -> JSX -picture = createElement (stringComponent "picture") +picture = createElement (unsafeCreateDOMComponent "picture") picture_ :: Array JSX -> JSX picture_ children = picture { children } @@ -1320,7 +1320,7 @@ pre . Union attrs attrs_ (SharedProps Props_pre) => Record attrs -> JSX -pre = createElement (stringComponent "pre") +pre = createElement (unsafeCreateDOMComponent "pre") pre_ :: Array JSX -> JSX pre_ children = pre { children } @@ -1336,7 +1336,7 @@ progress . Union attrs attrs_ (SharedProps Props_progress) => Record attrs -> JSX -progress = createElement (stringComponent "progress") +progress = createElement (unsafeCreateDOMComponent "progress") progress_ :: Array JSX -> JSX progress_ children = progress { children } @@ -1351,7 +1351,7 @@ q . Union attrs attrs_ (SharedProps Props_q) => Record attrs -> JSX -q = createElement (stringComponent "q") +q = createElement (unsafeCreateDOMComponent "q") q_ :: Array JSX -> JSX q_ children = q { children } @@ -1365,7 +1365,7 @@ rb . Union attrs attrs_ (SharedProps Props_rb) => Record attrs -> JSX -rb = createElement (stringComponent "rb") +rb = createElement (unsafeCreateDOMComponent "rb") rb_ :: Array JSX -> JSX rb_ children = rb { children } @@ -1379,7 +1379,7 @@ rp . Union attrs attrs_ (SharedProps Props_rp) => Record attrs -> JSX -rp = createElement (stringComponent "rp") +rp = createElement (unsafeCreateDOMComponent "rp") rp_ :: Array JSX -> JSX rp_ children = rp { children } @@ -1393,7 +1393,7 @@ rt . Union attrs attrs_ (SharedProps Props_rt) => Record attrs -> JSX -rt = createElement (stringComponent "rt") +rt = createElement (unsafeCreateDOMComponent "rt") rt_ :: Array JSX -> JSX rt_ children = rt { children } @@ -1407,7 +1407,7 @@ rtc . Union attrs attrs_ (SharedProps Props_rtc) => Record attrs -> JSX -rtc = createElement (stringComponent "rtc") +rtc = createElement (unsafeCreateDOMComponent "rtc") rtc_ :: Array JSX -> JSX rtc_ children = rtc { children } @@ -1421,7 +1421,7 @@ ruby . Union attrs attrs_ (SharedProps Props_ruby) => Record attrs -> JSX -ruby = createElement (stringComponent "ruby") +ruby = createElement (unsafeCreateDOMComponent "ruby") ruby_ :: Array JSX -> JSX ruby_ children = ruby { children } @@ -1435,7 +1435,7 @@ s . Union attrs attrs_ (SharedProps Props_s) => Record attrs -> JSX -s = createElement (stringComponent "s") +s = createElement (unsafeCreateDOMComponent "s") s_ :: Array JSX -> JSX s_ children = s { children } @@ -1449,7 +1449,7 @@ samp . Union attrs attrs_ (SharedProps Props_samp) => Record attrs -> JSX -samp = createElement (stringComponent "samp") +samp = createElement (unsafeCreateDOMComponent "samp") samp_ :: Array JSX -> JSX samp_ children = samp { children } @@ -1469,7 +1469,7 @@ script . Union attrs attrs_ (SharedProps Props_script) => Record attrs -> JSX -script = createElement (stringComponent "script") +script = createElement (unsafeCreateDOMComponent "script") script_ :: Array JSX -> JSX script_ children = script { children } @@ -1483,7 +1483,7 @@ section . Union attrs attrs_ (SharedProps Props_section) => Record attrs -> JSX -section = createElement (stringComponent "section") +section = createElement (unsafeCreateDOMComponent "section") section_ :: Array JSX -> JSX section_ children = section { children } @@ -1506,7 +1506,7 @@ select . Union attrs attrs_ (SharedProps Props_select) => Record attrs -> JSX -select = createElement (stringComponent "select") +select = createElement (unsafeCreateDOMComponent "select") select_ :: Array JSX -> JSX select_ children = select { children } @@ -1521,7 +1521,7 @@ slot . Union attrs attrs_ (SharedProps Props_slot) => Record attrs -> JSX -slot = createElement (stringComponent "slot") +slot = createElement (unsafeCreateDOMComponent "slot") slot_ :: Array JSX -> JSX slot_ children = slot { children } @@ -1535,7 +1535,7 @@ small . Union attrs attrs_ (SharedProps Props_small) => Record attrs -> JSX -small = createElement (stringComponent "small") +small = createElement (unsafeCreateDOMComponent "small") small_ :: Array JSX -> JSX small_ children = small { children } @@ -1552,7 +1552,7 @@ source . Union attrs attrs_ (SharedProps Props_source) => Record attrs -> JSX -source = createElement (stringComponent "source") +source = createElement (unsafeCreateDOMComponent "source") type Props_span = ( children :: Array JSX @@ -1563,7 +1563,7 @@ span . Union attrs attrs_ (SharedProps Props_span) => Record attrs -> JSX -span = createElement (stringComponent "span") +span = createElement (unsafeCreateDOMComponent "span") span_ :: Array JSX -> JSX span_ children = span { children } @@ -1577,7 +1577,7 @@ strong . Union attrs attrs_ (SharedProps Props_strong) => Record attrs -> JSX -strong = createElement (stringComponent "strong") +strong = createElement (unsafeCreateDOMComponent "strong") strong_ :: Array JSX -> JSX strong_ children = strong { children } @@ -1595,7 +1595,7 @@ style . Union attrs attrs_ (SharedProps Props_style) => Record attrs -> JSX -style = createElement (stringComponent "style") +style = createElement (unsafeCreateDOMComponent "style") style_ :: Array JSX -> JSX style_ children = style { children } @@ -1609,7 +1609,7 @@ sub . Union attrs attrs_ (SharedProps Props_sub) => Record attrs -> JSX -sub = createElement (stringComponent "sub") +sub = createElement (unsafeCreateDOMComponent "sub") sub_ :: Array JSX -> JSX sub_ children = sub { children } @@ -1623,7 +1623,7 @@ summary . Union attrs attrs_ (SharedProps Props_summary) => Record attrs -> JSX -summary = createElement (stringComponent "summary") +summary = createElement (unsafeCreateDOMComponent "summary") summary_ :: Array JSX -> JSX summary_ children = summary { children } @@ -1637,7 +1637,7 @@ sup . Union attrs attrs_ (SharedProps Props_sup) => Record attrs -> JSX -sup = createElement (stringComponent "sup") +sup = createElement (unsafeCreateDOMComponent "sup") sup_ :: Array JSX -> JSX sup_ children = sup { children } @@ -1893,7 +1893,7 @@ svg . Union attrs attrs_ (SharedProps Props_svg) => Record attrs -> JSX -svg = createElement (stringComponent "svg") +svg = createElement (unsafeCreateDOMComponent "svg") svg_ :: Array JSX -> JSX svg_ children = svg { children } @@ -1909,7 +1909,7 @@ table . Union attrs attrs_ (SharedProps Props_table) => Record attrs -> JSX -table = createElement (stringComponent "table") +table = createElement (unsafeCreateDOMComponent "table") table_ :: Array JSX -> JSX table_ children = table { children } @@ -1923,7 +1923,7 @@ tbody . Union attrs attrs_ (SharedProps Props_tbody) => Record attrs -> JSX -tbody = createElement (stringComponent "tbody") +tbody = createElement (unsafeCreateDOMComponent "tbody") tbody_ :: Array JSX -> JSX tbody_ children = tbody { children } @@ -1941,7 +1941,7 @@ td . Union attrs attrs_ (SharedProps Props_td) => Record attrs -> JSX -td = createElement (stringComponent "td") +td = createElement (unsafeCreateDOMComponent "td") td_ :: Array JSX -> JSX td_ children = td { children } @@ -1955,7 +1955,7 @@ template . Union attrs attrs_ (SharedProps Props_template) => Record attrs -> JSX -template = createElement (stringComponent "template") +template = createElement (unsafeCreateDOMComponent "template") template_ :: Array JSX -> JSX template_ children = template { children } @@ -1982,7 +1982,7 @@ textarea . Union attrs attrs_ (SharedProps Props_textarea) => Record attrs -> JSX -textarea = createElement (stringComponent "textarea") +textarea = createElement (unsafeCreateDOMComponent "textarea") textarea_ :: Array JSX -> JSX textarea_ children = textarea { children } @@ -1996,7 +1996,7 @@ tfoot . Union attrs attrs_ (SharedProps Props_tfoot) => Record attrs -> JSX -tfoot = createElement (stringComponent "tfoot") +tfoot = createElement (unsafeCreateDOMComponent "tfoot") tfoot_ :: Array JSX -> JSX tfoot_ children = tfoot { children } @@ -2014,7 +2014,7 @@ th . Union attrs attrs_ (SharedProps Props_th) => Record attrs -> JSX -th = createElement (stringComponent "th") +th = createElement (unsafeCreateDOMComponent "th") th_ :: Array JSX -> JSX th_ children = th { children } @@ -2028,7 +2028,7 @@ thead . Union attrs attrs_ (SharedProps Props_thead) => Record attrs -> JSX -thead = createElement (stringComponent "thead") +thead = createElement (unsafeCreateDOMComponent "thead") thead_ :: Array JSX -> JSX thead_ children = thead { children } @@ -2042,7 +2042,7 @@ time . Union attrs attrs_ (SharedProps Props_time) => Record attrs -> JSX -time = createElement (stringComponent "time") +time = createElement (unsafeCreateDOMComponent "time") time_ :: Array JSX -> JSX time_ children = time { children } @@ -2056,7 +2056,7 @@ title . Union attrs attrs_ (SharedProps Props_title) => Record attrs -> JSX -title = createElement (stringComponent "title") +title = createElement (unsafeCreateDOMComponent "title") title_ :: Array JSX -> JSX title_ children = title { children } @@ -2070,7 +2070,7 @@ tr . Union attrs attrs_ (SharedProps Props_tr) => Record attrs -> JSX -tr = createElement (stringComponent "tr") +tr = createElement (unsafeCreateDOMComponent "tr") tr_ :: Array JSX -> JSX tr_ children = tr { children } @@ -2087,7 +2087,7 @@ track . Union attrs attrs_ (SharedProps Props_track) => Record attrs -> JSX -track = createElement (stringComponent "track") +track = createElement (unsafeCreateDOMComponent "track") type Props_u = ( children :: Array JSX @@ -2098,7 +2098,7 @@ u . Union attrs attrs_ (SharedProps Props_u) => Record attrs -> JSX -u = createElement (stringComponent "u") +u = createElement (unsafeCreateDOMComponent "u") u_ :: Array JSX -> JSX u_ children = u { children } @@ -2113,7 +2113,7 @@ ul . Union attrs attrs_ (SharedProps Props_ul) => Record attrs -> JSX -ul = createElement (stringComponent "ul") +ul = createElement (unsafeCreateDOMComponent "ul") ul_ :: Array JSX -> JSX ul_ children = ul { children } @@ -2127,7 +2127,7 @@ var . Union attrs attrs_ (SharedProps Props_var) => Record attrs -> JSX -var = createElement (stringComponent "var") +var = createElement (unsafeCreateDOMComponent "var") var_ :: Array JSX -> JSX var_ children = var { children } @@ -2149,7 +2149,7 @@ video . Union attrs attrs_ (SharedProps Props_video) => Record attrs -> JSX -video = createElement (stringComponent "video") +video = createElement (unsafeCreateDOMComponent "video") video_ :: Array JSX -> JSX video_ children = video { children } @@ -2161,4 +2161,4 @@ wbr . Union attrs attrs_ (SharedProps Props_wbr) => Record attrs -> JSX -wbr = createElement (stringComponent "wbr") +wbr = createElement (unsafeCreateDOMComponent "wbr") From 8e89c14c2647229d793d196e05a42a7f65f133b5 Mon Sep 17 00:00:00 2001 From: Michael Trotter Date: Tue, 6 Mar 2018 15:10:58 -0700 Subject: [PATCH 6/6] Fix readme --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ac676b2..a7b2229 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ module React.Basic.Example where import Prelude import Control.Monad.Eff.Uncurried (mkEffFn1) -import React.Basic (ReactComponent, reactComponent) +import React.Basic (ReactComponent, react) import React.Basic.DOM as R -- The props for the component @@ -32,11 +32,11 @@ type ExampleProps = { label :: String } --- Create a component by passing a record to the `reactComponent` function. +-- 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. example :: ReactComponent ExampleProps -example = reactComponent +example = react { initialState: { counter: 0 } , receiveProps: \_ _ _ -> pure unit , render: \{ label } { counter } setState ->