Open
Description
This is really just the functions needed for following this.
Most of it depends on some other stuff that people might not want to use. However, I guess if they don't want to use it they could just not use it.
const core = require('@emotion/core')
const createEmotionServer = require('create-emotion-server').default
const createCache = require('@emotion/cache').default
exports.cacheProvider = core.CacheProvider
exports.createEmotionServer = (cache) => () => createEmotionServer(cache)
exports.createCache = createCache
exports.getExtractCritical = (server) => server.extractCritical
module Server.Emotion where
import Effect (Effect)
import React.Basic (JSX, ReactComponent)
import React.Basic.Hooks (ReactChildren)
foreign import data Server ∷ Type
foreign import data Cache ∷ Type
foreign import createEmotionServer ∷ Cache -> Effect Server
foreign import createCache ∷ Effect Cache
foreign import getExtractCritical ∷ Server -> ExtractCritical
foreign import cacheProvider ∷ ReactComponent { value ∷ Cache, children ∷ ReactChildren JSX }
type ExtractCritical
= String -> Critical
type Critical
= { html ∷ String, css ∷ String, ids ∷ Array String }
Metadata
Metadata
Assignees
Labels
No labels