Drafts
or MousePos, or MouseTrack, idk what is best name yet
Mouse is binded in a element, and your ratio
values are relative to this element.
export const uncurry = (fn) => (...args) => { | |
let result = fn | |
for(i in args){ | |
result = typeof result === 'function' | |
? result(args[i]) | |
: result | |
} | |
return result | |
} |
class ToggleOpened extends Component { | |
state = { opened: false } | |
toggle = () => | |
this.setState(state => ({ opened: !state.opened })) | |
render() { | |
return this.props.render({ | |
opened: this.state.opened, | |
toggle: this.toggle, |
<WhatIsTheMeaningOfLife | |
context={someInput} | |
render={meaningOfLife => ( | |
<MyBeautifulUI> | |
{meaningOfLife} | |
</MyBeautifulUI> | |
)} | |
/> |
const breakpoints = { | |
900: { name: 'Tablet' }, | |
600: { name: 'Mobile' }, | |
} | |
render( | |
<Hello name="Desktop" bps={breakpoints} />, | |
document.getElementById('root') | |
) |
const toPairs = obj => Object.keys(obj).reduce((acc, value) => [ ...acc, [value, obj[value]] ], []); |