/
Big.purs
38 lines (33 loc) · 876 Bytes
/
Big.purs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
module Deku.DOM.Elt.Big where
import Bolson.Core (Entity(..), fixed)
import Control.Plus (empty)
import Data.Array (mapWithIndex)
import Deku.Attribute (Attribute)
import Deku.Control as DC
import Deku.Core (Domable(..), Domable', unsafeSetPos)
import FRP.Event (Event)
import Safe.Coerce (coerce)
data Big_
big
:: forall lock payload
. Event (Attribute Big_)
-> Array (Domable lock payload)
-> Domable lock payload
big attributes kids = Domable
( Element'
( DC.elementify "big" attributes
( (coerce :: Domable' lock payload -> Domable lock payload)
(fixed (coerce (mapWithIndex unsafeSetPos kids)))
)
)
)
big_
:: forall lock payload
. Array (Domable lock payload)
-> Domable lock payload
big_ = big empty
big__
:: forall lock payload
. String
-> Domable lock payload
big__ t = big_ [ DC.text_ t ]