12import Data.Foldable (intercalate)
14import Effect.Uncurried (EffectFn1, runEffectFn1)
15import Prim.RowList (class RowToList)
16import React.Basic.DOM (CSS)
17import React.Basic.Hooks (Hook)
18import Record.Extra (class MapRecord)
19import Theme.Types (CSSTheme)
20import Type.Row.Homogeneous (class Homogeneous)
22foreign import data UseStyles ∷ Type -> Type -> Type
24foreign import makeStylesImpl ∷
26 EffectFn1 {|css} (Hook (UseStyles { | css }) { | classNames })
28foreign import makeStylesThemedImpl ∷
29 ∀ theme css classNames.
30 EffectFn1 ({|theme} -> {|css}) (Hook (UseStyles { | css }) { | classNames })
33 ∀ theme css cssList classNames.
34 RowToList css cssList =>
35 MapRecord cssList css CSS String () classNames =>
36 ({ | theme } -> { | css }) ->
37 Effect (Hook (UseStyles { | css }) { | classNames })
38makeStyles = runEffectFn1 makeStylesThemedImpl
41 ∀ css cssList classNames.
42 RowToList css cssList =>
43 MapRecord cssList css CSS String () classNames =>
45 Effect (Hook (UseStyles { | css }) { | classNames })
46makeStyles_ = runEffectFn1 makeStylesImpl
48foreign import data UseTheme ∷ Type -> Type
49foreign import useThemeImpl ∷ ∀ classNames.
50 Hook (UseTheme ) { | classNames }
51useTheme ∷ Hook (UseTheme) CSSTheme
52useTheme = useThemeImpl
54classNames ∷ ∀ r. Homogeneous r String => Array (Record r -> String) -> Record r -> String
55classNames cs allClasses = (cs <#> \x -> x allClasses) # intercalate " "
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list