/
Area.purs
38 lines (33 loc) · 888 Bytes
/
Area.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.Area 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 Area_
area
:: forall lock payload
. Event (Attribute Area_)
-> Array (Domable lock payload)
-> Domable lock payload
area attributes kids = Domable
( Element'
( DC.elementify "area" attributes
( (coerce :: Domable' lock payload -> Domable lock payload)
(fixed (coerce (mapWithIndex unsafeSetPos kids)))
)
)
)
area_
:: forall lock payload
. Array (Domable lock payload)
-> Domable lock payload
area_ = area empty
area__
:: forall lock payload
. String
-> Domable lock payload
area__ t = area_ [ DC.text_ t ]