I hereby claim:
- I am apostolos on github.
- I am apostolos (https://keybase.io/apostolos) on keybase.
- I have a public key whose fingerprint is EA74 B7F8 1AA3 464E C3A1 2D95 ED4B 97F6 AC25 8736
To claim this, I am signing this object:
import React from 'react' | |
let firstRoute = true; | |
export default (getComponent) => class AsyncComponent extends React.Component { | |
static Component = null; | |
mounted = false; | |
// Remembers scroll positions based on location->key |
I hereby claim:
To claim this, I am signing this object:
.flip-translate { | |
animation: no-translate-3d 1s cubic-bezier(0.165, 0.84, 0.44, 1) forwards; | |
} | |
@keyframes no-translate-3d { | |
to { | |
transform: translate3d(0, 0, 0); | |
} | |
} |
// Let's say we want to scroll to #my-target | |
flipScroll('my-target'); | |
const flipScroll = (trg) => { | |
const trgEl = document.getElementById(trg); | |
// Store current scroll | |
const prevScroll = getScrollTop(); | |
// Perform the scroll |
import * as React from 'react'; | |
import ReactDOM from 'react-dom'; | |
/** | |
* This component detaches its contents and re-attaches them to document.body (using ReactDOM.createPortal). | |
* Use it when you need to circumvent DOM z-stacking (for dialogs, popovers, etc.). | |
*/ | |
class Portal extends React.Component { | |
targetElement = null; |
function downloadFiles(files /*: Array<string> */) { | |
// Do not fetch more than 8 files at a time | |
const PARALLEL_DOWNLOADS = Math.min(8, files.length); | |
// Create an Iterator from the array, this is our download queue | |
const queue = files[Symbol.iterator](); | |
// Channels are our download workers. As soon as a channel finishes downloading a file, | |
// it begins fetching another file from the queue. Best effort | |
const channels = []; | |
// Create only PARALLEL_DOWNLOADS number of channels |
// @flow | |
import * as React from 'react'; | |
import ReactDOM from 'react-dom'; | |
type Props = { | |
children: React.Node, | |
containerRef?: (el: ?HTMLElement) => void, | |
}; | |
/** |
// Available variables: | |
// - Machine | |
// - interpret | |
// - assign | |
// - send | |
// - sendParent | |
// - spawn | |
// - raise | |
// - actions |