@@ -20,6 +20,11 @@ module Web.HTML.HTMLImageElement
2020  , setAlt 
2121  , src 
2222  , setSrc 
23+   , srcset 
24+   , setSrcset 
25+   , currentSrc 
26+   , sizes 
27+   , setSizes 
2328  , crossOrigin 
2429  , setCrossOrigin 
2530  , useMap 
@@ -32,16 +37,31 @@ module Web.HTML.HTMLImageElement
3237  , setHeight 
3338  , naturalWidth 
3439  , naturalHeight 
40+   , referrerPolicy 
41+   , setReferrerPolicy 
42+   , decoding 
43+   , setDecoding 
44+   , loading 
45+   , setLoading 
3546  , complete 
3647  ) where 
3748
38- import  Data.Maybe  (Maybe )
49+ import  Data.Nullable  (Nullable )
50+ import  Data.Nullable  as  Nullable 
51+ import  Data.Maybe  (Maybe , fromMaybe )
3952import  Effect  (Effect )
40- import  Prelude  (Unit )
53+ import  Effect.Uncurried  (EffectFn1 , EffectFn2 , runEffectFn1 , runEffectFn2 )
54+ import  Prelude  (Unit , map , (<<<), (<=<))
4155import  Unsafe.Coerce  (unsafeCoerce )
4256import  Web.DOM  (ChildNode , Element , Node , NonDocumentTypeChildNode , ParentNode )
4357import  Web.Event.EventTarget  (EventTarget )
4458import  Web.HTML.HTMLElement  (HTMLElement )
59+ import  Web.HTML.HTMLImageElement.CORSMode  (CORSMode )
60+ import  Web.HTML.HTMLImageElement.CORSMode  as  CORSMode 
61+ import  Web.HTML.HTMLImageElement.DecodingHint  (DecodingHint )
62+ import  Web.HTML.HTMLImageElement.DecodingHint  as  DecodingHint 
63+ import  Web.HTML.HTMLImageElement.Laziness  (Laziness )
64+ import  Web.HTML.HTMLImageElement.Laziness  as  Laziness 
4565import  Web.Internal.FFI  (unsafeReadProtoTagged )
4666
4767foreign  import  data  HTMLImageElement  :: Type 
@@ -101,8 +121,23 @@ foreign import setAlt :: String -> HTMLImageElement -> Effect Unit
101121foreign  import  src  ::  HTMLImageElement  ->  Effect  String 
102122foreign  import  setSrc  ::  String  ->  HTMLImageElement  ->  Effect  Unit 
103123
104- foreign  import  crossOrigin  ::  HTMLImageElement  ->  Effect  String 
105- foreign  import  setCrossOrigin  ::  String  ->  HTMLImageElement  ->  Effect  Unit 
124+ foreign  import  srcset  ::  HTMLImageElement  ->  Effect  String 
125+ foreign  import  setSrcset  ::  String  ->  HTMLImageElement  ->  Effect  Unit 
126+ 
127+ foreign  import  currentSrc  ::  HTMLImageElement  ->  Effect  String 
128+ 
129+ foreign  import  sizes  ::  HTMLImageElement  ->  Effect  String 
130+ foreign  import  setSizes  ::  String  ->  HTMLImageElement  ->  Effect  Unit 
131+ 
132+ foreign  import  _crossOrigin  ::  EffectFn1  HTMLImageElement  (Nullable  String )
133+ 
134+ crossOrigin  ::  HTMLImageElement  ->  Effect  (Maybe  CORSMode )
135+ crossOrigin = map (CORSMode .parse <=< Nullable .toMaybe) <<< runEffectFn1 _crossOrigin
136+ 
137+ foreign  import  _setCrossOrigin  ::  EffectFn2  String  HTMLImageElement  Unit 
138+ 
139+ setCrossOrigin  ::  CORSMode  ->  HTMLImageElement  ->  Effect  Unit 
140+ setCrossOrigin mode = runEffectFn2 _setCrossOrigin (CORSMode .print mode)
106141
107142foreign  import  useMap  ::  HTMLImageElement  ->  Effect  String 
108143foreign  import  setUseMap  ::  String  ->  HTMLImageElement  ->  Effect  Unit 
@@ -118,4 +153,28 @@ foreign import setHeight :: Int -> HTMLImageElement -> Effect Unit
118153
119154foreign  import  naturalWidth  ::  HTMLImageElement  ->  Effect  Int 
120155foreign  import  naturalHeight  ::  HTMLImageElement  ->  Effect  Int 
156+ 
157+ foreign  import  referrerPolicy  ::  HTMLImageElement  ->  Effect  String 
158+ foreign  import  setReferrerPolicy  ::  String  ->  HTMLImageElement  ->  Effect  Unit 
159+ 
160+ foreign  import  _decoding  ::  EffectFn1  HTMLImageElement  String 
161+ 
162+ decoding  ::  HTMLImageElement  ->  Effect  DecodingHint 
163+ decoding = map (fromMaybe DecodingHint.Auto  <<< DecodingHint .parse) <<< runEffectFn1 _decoding
164+ 
165+ foreign  import  _setDecoding  ::  EffectFn2  String  HTMLImageElement  Unit 
166+ 
167+ setDecoding  ::  DecodingHint  ->  HTMLImageElement  ->  Effect  Unit 
168+ setDecoding hint = runEffectFn2 _setDecoding (DecodingHint .print hint)
169+ 
170+ foreign  import  _loading  ::  EffectFn1  HTMLImageElement  String 
171+ 
172+ loading  ::  HTMLImageElement  ->  Effect  Laziness 
173+ loading = map (fromMaybe Laziness.Eager  <<< Laziness .parse) <<< runEffectFn1 _loading
174+ 
175+ foreign  import  _setLoading  ::  EffectFn2  String  HTMLImageElement  Unit 
176+ 
177+ setLoading  ::  Laziness  ->  HTMLImageElement  ->  Effect  Unit 
178+ setLoading laziness = runEffectFn2 _setLoading (Laziness .print laziness)
179+ 
121180foreign  import  complete  ::  HTMLImageElement  ->  Effect  Boolean 
0 commit comments