/
Applet.purs
38 lines (33 loc) · 912 Bytes
/
Applet.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.Applet 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 Applet_
applet
:: forall lock payload
. Event (Attribute Applet_)
-> Array (Domable lock payload)
-> Domable lock payload
applet attributes kids = Domable
( Element'
( DC.elementify "applet" attributes
( (coerce :: Domable' lock payload -> Domable lock payload)
(fixed (coerce (mapWithIndex unsafeSetPos kids)))
)
)
)
applet_
:: forall lock payload
. Array (Domable lock payload)
-> Domable lock payload
applet_ = applet empty
applet__
:: forall lock payload
. String
-> Domable lock payload
applet__ t = applet_ [ DC.text_ t ]