Emotion support for react-basic!
import React.Basic.DOM as R import React.Basic.Hooks as React import React.Basic.Emotion as E myUnstyledDiv :: JSX myUnstyledDiv = React.element R.div' { children: [ R.text "I have no style :(" ] } myStyledDiv :: JSX myStyledDiv = E.element R.div' { className: "stylish-div" , css: E.css { color: E.str "rebeccapurple" , padding: E.px 4 } }
Note that you need to use the apostrophised variants of react components from React.Basic.DOM
since these represent the raw ReactComponent
s that Emotion
expects to work with.
Emotion allows you to define real CSS rules rather than only inline styles. Here's an example of something you can't do with inline styles:
myStyle :: Style myStyle = E.css { "&:hover": E.nested (E.css { background: E.str "#fed" }) }