Skip to content

Commit 7c65e69

Browse files
severn-everette5l
andauthored
Added loading attribute to img tag (#220)
* Added loading attribute to img tag; Added warning suppression for capitalizing enum names --------- Co-authored-by: leonid.stashevsky <leonid.stashevsky@gmail.com>
1 parent c947795 commit 7c65e69

File tree

11 files changed

+70
-13
lines changed

11 files changed

+70
-13
lines changed

api/kotlinx-html.api

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1262,8 +1262,8 @@ public final class kotlinx/html/Gen_consumer_tagsKt {
12621262
public static final fun iframe (Lkotlinx/html/TagConsumer;Lkotlinx/html/IframeSandbox;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
12631263
public static synthetic fun iframe$default (Lkotlinx/html/TagConsumer;Lkotlinx/html/IframeSandbox;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/Object;
12641264
public static synthetic fun iframe$default (Lkotlinx/html/TagConsumer;Lkotlinx/html/IframeSandbox;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Ljava/lang/Object;
1265-
public static final fun img (Lkotlinx/html/TagConsumer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
1266-
public static synthetic fun img$default (Lkotlinx/html/TagConsumer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Ljava/lang/Object;
1265+
public static final fun img (Lkotlinx/html/TagConsumer;Ljava/lang/String;Ljava/lang/String;Lkotlinx/html/ImgLoading;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
1266+
public static synthetic fun img$default (Lkotlinx/html/TagConsumer;Ljava/lang/String;Ljava/lang/String;Lkotlinx/html/ImgLoading;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Ljava/lang/Object;
12671267
public static final fun input (Lkotlinx/html/TagConsumer;Lkotlinx/html/InputType;Lkotlinx/html/InputFormEncType;Lkotlinx/html/InputFormMethod;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
12681268
public static synthetic fun input$default (Lkotlinx/html/TagConsumer;Lkotlinx/html/InputType;Lkotlinx/html/InputFormEncType;Lkotlinx/html/InputFormMethod;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Ljava/lang/Object;
12691269
public static final fun ins (Lkotlinx/html/TagConsumer;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
@@ -1532,6 +1532,8 @@ public final class kotlinx/html/Gen_tag_unionsKt {
15321532
public static synthetic fun details$default (Lkotlinx/html/FlowOrInteractiveContent;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
15331533
public static final fun dfn (Lkotlinx/html/FlowOrPhrasingContent;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
15341534
public static synthetic fun dfn$default (Lkotlinx/html/FlowOrPhrasingContent;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
1535+
public static final fun eagerImg (Lkotlinx/html/FlowOrInteractiveOrPhrasingContent;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
1536+
public static synthetic fun eagerImg$default (Lkotlinx/html/FlowOrInteractiveOrPhrasingContent;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
15351537
public static final fun em (Lkotlinx/html/FlowOrPhrasingContent;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
15361538
public static synthetic fun em$default (Lkotlinx/html/FlowOrPhrasingContent;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
15371539
public static final fun emailInput (Lkotlinx/html/FlowOrInteractiveOrPhrasingContent;Lkotlinx/html/InputFormEncType;Lkotlinx/html/InputFormMethod;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
@@ -1574,8 +1576,8 @@ public final class kotlinx/html/Gen_tag_unionsKt {
15741576
public static synthetic fun iframe$default (Lkotlinx/html/FlowOrInteractiveOrPhrasingContent;Lkotlinx/html/IframeSandbox;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
15751577
public static final fun imageInput (Lkotlinx/html/FlowOrInteractiveOrPhrasingContent;Lkotlinx/html/InputFormEncType;Lkotlinx/html/InputFormMethod;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
15761578
public static synthetic fun imageInput$default (Lkotlinx/html/FlowOrInteractiveOrPhrasingContent;Lkotlinx/html/InputFormEncType;Lkotlinx/html/InputFormMethod;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
1577-
public static final fun img (Lkotlinx/html/FlowOrInteractiveOrPhrasingContent;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
1578-
public static synthetic fun img$default (Lkotlinx/html/FlowOrInteractiveOrPhrasingContent;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
1579+
public static final fun img (Lkotlinx/html/FlowOrInteractiveOrPhrasingContent;Ljava/lang/String;Ljava/lang/String;Lkotlinx/html/ImgLoading;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
1580+
public static synthetic fun img$default (Lkotlinx/html/FlowOrInteractiveOrPhrasingContent;Ljava/lang/String;Ljava/lang/String;Lkotlinx/html/ImgLoading;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
15791581
public static final fun input (Lkotlinx/html/FlowOrInteractiveOrPhrasingContent;Lkotlinx/html/InputType;Lkotlinx/html/InputFormEncType;Lkotlinx/html/InputFormMethod;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
15801582
public static synthetic fun input$default (Lkotlinx/html/FlowOrInteractiveOrPhrasingContent;Lkotlinx/html/InputType;Lkotlinx/html/InputFormEncType;Lkotlinx/html/InputFormMethod;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
15811583
public static final fun ins (Lkotlinx/html/FlowOrPhrasingContent;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
@@ -1586,6 +1588,8 @@ public final class kotlinx/html/Gen_tag_unionsKt {
15861588
public static synthetic fun keyGen$default (Lkotlinx/html/FlowOrInteractiveOrPhrasingContent;Lkotlinx/html/KeyGenKeyType;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
15871589
public static final fun label (Lkotlinx/html/FlowOrInteractiveOrPhrasingContent;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
15881590
public static synthetic fun label$default (Lkotlinx/html/FlowOrInteractiveOrPhrasingContent;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
1591+
public static final fun lazyImg (Lkotlinx/html/FlowOrInteractiveOrPhrasingContent;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
1592+
public static synthetic fun lazyImg$default (Lkotlinx/html/FlowOrInteractiveOrPhrasingContent;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
15891593
public static final fun link (Lkotlinx/html/FlowOrMetaDataOrPhrasingContent;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
15901594
public static synthetic fun link$default (Lkotlinx/html/FlowOrMetaDataOrPhrasingContent;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
15911595
public static final fun main (Lkotlinx/html/SectioningOrFlowContent;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
@@ -1882,6 +1886,8 @@ public final class kotlinx/html/Gen_tags_oKt {
18821886
}
18831887

18841888
public final class kotlinx/html/Gen_tags_pKt {
1889+
public static final fun eagerImg (Lkotlinx/html/PICTURE;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
1890+
public static synthetic fun eagerImg$default (Lkotlinx/html/PICTURE;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
18851891
public static final fun getAsFlowContent (Lkotlinx/html/P;)Lkotlinx/html/FlowContent;
18861892
public static final fun getAsFlowContent (Lkotlinx/html/PICTURE;)Lkotlinx/html/FlowContent;
18871893
public static final fun getAsFlowContent (Lkotlinx/html/PRE;)Lkotlinx/html/FlowContent;
@@ -1891,8 +1897,10 @@ public final class kotlinx/html/Gen_tags_pKt {
18911897
public static final fun getAsPhrasingContent (Lkotlinx/html/PICTURE;)Lkotlinx/html/PhrasingContent;
18921898
public static final fun getAsPhrasingContent (Lkotlinx/html/PRE;)Lkotlinx/html/PhrasingContent;
18931899
public static final fun getAsPhrasingContent (Lkotlinx/html/PROGRESS;)Lkotlinx/html/PhrasingContent;
1894-
public static final fun img (Lkotlinx/html/PICTURE;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
1895-
public static synthetic fun img$default (Lkotlinx/html/PICTURE;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
1900+
public static final fun img (Lkotlinx/html/PICTURE;Ljava/lang/String;Ljava/lang/String;Lkotlinx/html/ImgLoading;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
1901+
public static synthetic fun img$default (Lkotlinx/html/PICTURE;Ljava/lang/String;Ljava/lang/String;Lkotlinx/html/ImgLoading;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
1902+
public static final fun lazyImg (Lkotlinx/html/PICTURE;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
1903+
public static synthetic fun lazyImg$default (Lkotlinx/html/PICTURE;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
18961904
public static final fun source (Lkotlinx/html/PICTURE;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
18971905
public static synthetic fun source$default (Lkotlinx/html/PICTURE;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
18981906
}
@@ -2179,12 +2187,14 @@ public class kotlinx/html/IMG : kotlinx/html/HTMLTag, kotlinx/html/CommonAttribu
21792187
public fun getConsumer ()Lkotlinx/html/TagConsumer;
21802188
public final fun getHeight ()Ljava/lang/String;
21812189
public final fun getIsmap ()Z
2190+
public final fun getLoading ()Lkotlinx/html/ImgLoading;
21822191
public final fun getSrc ()Ljava/lang/String;
21832192
public final fun getUsemap ()Ljava/lang/String;
21842193
public final fun getWidth ()Ljava/lang/String;
21852194
public final fun setAlt (Ljava/lang/String;)V
21862195
public final fun setHeight (Ljava/lang/String;)V
21872196
public final fun setIsmap (Z)V
2197+
public final fun setLoading (Lkotlinx/html/ImgLoading;)V
21882198
public final fun setSrc (Ljava/lang/String;)V
21892199
public final fun setUsemap (Ljava/lang/String;)V
21902200
public final fun setWidth (Ljava/lang/String;)V
@@ -2285,6 +2295,15 @@ public final class kotlinx/html/IframeSandbox : java/lang/Enum, kotlinx/html/Att
22852295
public static fun values ()[Lkotlinx/html/IframeSandbox;
22862296
}
22872297

2298+
public final class kotlinx/html/ImgLoading : java/lang/Enum, kotlinx/html/AttributeEnum {
2299+
public static final field eager Lkotlinx/html/ImgLoading;
2300+
public static final field lazy Lkotlinx/html/ImgLoading;
2301+
public static fun getEntries ()Lkotlin/enums/EnumEntries;
2302+
public fun getRealValue ()Ljava/lang/String;
2303+
public static fun valueOf (Ljava/lang/String;)Lkotlinx/html/ImgLoading;
2304+
public static fun values ()[Lkotlinx/html/ImgLoading;
2305+
}
2306+
22882307
public final class kotlinx/html/InputFormEncType : java/lang/Enum, kotlinx/html/AttributeEnum {
22892308
public static final field applicationXWwwFormUrlEncoded Lkotlinx/html/InputFormEncType;
22902309
public static final field multipartFormData Lkotlinx/html/InputFormEncType;

buildSrc/src/main/kotlin/kotlinx/html/generate/rules.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ val specialTypes = listOf(
5656
).groupBy { it.first }.mapValues { it.value.single().second }
5757

5858
fun specialTypeFor(tagName: String, attributeName: String): AttributeType? =
59-
specialTypes[tagName + "." + attributeName] ?: specialTypes["*." + attributeName]
59+
specialTypes["$tagName.$attributeName"] ?: specialTypes["*.$attributeName"]
6060

6161
val wellKnownWords = listOf("span", "class", "enabled?", "edit(able)?",
6262
"^on", "encoded?", "form", "type",
@@ -67,7 +67,7 @@ val wellKnownWords = listOf("span", "class", "enabled?", "edit(able)?",
6767
"click", "play(ing)?", "context",
6868
"rows?", "cols?", "group(ed)?", "auto",
6969
"list", "field", "data", "block", "scripts?",
70-
"item", "area", "length", "colors?", "suspend", "focus", "touch"
70+
"item", "area", "length", "colors?", "suspend", "focus", "touch", "loading"
7171
).map { it.toRegex(RegexOption.IGNORE_CASE) }
7272

7373
val excludeAttributes = listOf("^item$").map { Pattern.compile(it, Pattern.CASE_INSENSITIVE) }

buildSrc/src/main/resources/html_5.xsd

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -981,6 +981,14 @@
981981
</xsd:restriction>
982982
</xsd:simpleType>
983983
</xsd:attribute>
984+
<xsd:attribute name="loading">
985+
<xsd:simpleType>
986+
<xsd:restriction base="xsd:NMTOKEN">
987+
<xsd:enumeration value="eager"/>
988+
<xsd:enumeration value="lazy"/>
989+
</xsd:restriction>
990+
</xsd:simpleType>
991+
</xsd:attribute>
984992
</xsd:complexType>
985993
</xsd:element>
986994

src/commonMain/kotlin/generated/gen-attributes.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ internal val attributeFormMethodEnumFormMethodValues : Attribute<FormMethod> = E
3636

3737
internal val attributeIframeSandboxEnumIframeSandboxValues : Attribute<IframeSandbox> = EnumAttribute(iframeSandboxValues)
3838

39+
internal val attributeImgLoadingEnumImgLoadingValues : Attribute<ImgLoading> = EnumAttribute(imgLoadingValues)
40+
3941
internal val attributeInputFormEncTypeEnumInputFormEncTypeValues : Attribute<InputFormEncType> = EnumAttribute(inputFormEncTypeValues)
4042

4143
internal val attributeInputFormMethodEnumInputFormMethodValues : Attribute<InputFormMethod> = EnumAttribute(inputFormMethodValues)

src/commonMain/kotlin/generated/gen-consumer-tags.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ import kotlinx.html.IMG
7474
import kotlinx.html.INPUT
7575
import kotlinx.html.INS
7676
import kotlinx.html.IframeSandbox
77+
import kotlinx.html.ImgLoading
7778
import kotlinx.html.InputFormEncType
7879
import kotlinx.html.InputFormMethod
7980
import kotlinx.html.InputType
@@ -614,9 +615,11 @@ public inline fun <T, C : TagConsumer<T>> C.iframe(
614615
public inline fun <T, C : TagConsumer<T>> C.img(
615616
alt: String? = null,
616617
src: String? = null,
618+
loading: ImgLoading? = null,
617619
classes: String? = null,
618620
crossinline block: IMG.() -> Unit = {},
619-
): T = IMG(attributesMapOf("alt", alt,"src", src,"class", classes), this)
621+
): T = IMG(attributesMapOf("alt", alt,"src", src,"loading", loading?.enumEncode(),"class", classes),
622+
this)
620623
.visitAndFinalize(this, block)
621624

622625
/**

src/commonMain/kotlin/generated/gen-enums.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,13 @@ enum class IframeSandbox(override val realValue : String) : AttributeEnum {
216216

217217
internal val iframeSandboxValues : Map<String, IframeSandbox> = IframeSandbox.values().associateBy { it.realValue }
218218
@Suppress("unused")
219+
enum class ImgLoading(override val realValue : String) : AttributeEnum {
220+
eager("eager"),
221+
lazy("lazy")
222+
}
223+
224+
internal val imgLoadingValues : Map<String, ImgLoading> = ImgLoading.values().associateBy { it.realValue }
225+
@Suppress("unused")
219226
enum class InputType(override val realValue : String) : AttributeEnum {
220227
button("button"),
221228
checkBox("checkbox"),

src/commonMain/kotlin/generated/gen-tag-unions.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -447,7 +447,11 @@ fun FlowOrInteractiveOrPhrasingContent.allowScriptsIframe(classes : String? = nu
447447
* Embedded image
448448
*/
449449
@HtmlTagMarker
450-
inline fun FlowOrInteractiveOrPhrasingContent.img(alt : String? = null, src : String? = null, classes : String? = null, crossinline block : IMG.() -> Unit = {}) : Unit = IMG(attributesMapOf("alt", alt,"src", src,"class", classes), consumer).visit(block)
450+
inline fun FlowOrInteractiveOrPhrasingContent.img(alt : String? = null, src : String? = null, loading : ImgLoading? = null, classes : String? = null, crossinline block : IMG.() -> Unit = {}) : Unit = IMG(attributesMapOf("alt", alt,"src", src,"loading", loading?.enumEncode(),"class", classes), consumer).visit(block)
451+
@HtmlTagMarker
452+
inline fun FlowOrInteractiveOrPhrasingContent.eagerImg(alt : String? = null, src : String? = null, classes : String? = null, crossinline block : IMG.() -> Unit = {}) : Unit = IMG(attributesMapOf("alt", alt,"src", src,"loading", ImgLoading.eager.realValue,"class", classes), consumer).visit(block)
453+
@HtmlTagMarker
454+
inline fun FlowOrInteractiveOrPhrasingContent.lazyImg(alt : String? = null, src : String? = null, classes : String? = null, crossinline block : IMG.() -> Unit = {}) : Unit = IMG(attributesMapOf("alt", alt,"src", src,"loading", ImgLoading.lazy.realValue,"class", classes), consumer).visit(block)
451455

452456
/**
453457
* Pictures container

src/commonMain/kotlin/generated/gen-tags-i.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,10 @@ open class IMG(initialAttributes : Map<String, String>, override val consumer :
8484
get() = attributeBooleanTicker.get(this, "ismap")
8585
set(newValue) {attributeBooleanTicker.set(this, "ismap", newValue)}
8686

87+
var loading : ImgLoading
88+
get() = attributeImgLoadingEnumImgLoadingValues.get(this, "loading")
89+
set(newValue) {attributeImgLoadingEnumImgLoadingValues.set(this, "loading", newValue)}
90+
8791

8892
}
8993
val IMG.asFlowContent : FlowContent

src/commonMain/kotlin/generated/gen-tags-p.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,11 @@ inline fun PICTURE.source(classes : String? = null, crossinline block : SOURCE.(
4747
* Embedded image
4848
*/
4949
@HtmlTagMarker
50-
inline fun PICTURE.img(alt : String? = null, src : String? = null, classes : String? = null, crossinline block : IMG.() -> Unit = {}) : Unit = IMG(attributesMapOf("alt", alt,"src", src,"class", classes), consumer).visit(block)
50+
inline fun PICTURE.img(alt : String? = null, src : String? = null, loading : ImgLoading? = null, classes : String? = null, crossinline block : IMG.() -> Unit = {}) : Unit = IMG(attributesMapOf("alt", alt,"src", src,"loading", loading?.enumEncode(),"class", classes), consumer).visit(block)
51+
@HtmlTagMarker
52+
inline fun PICTURE.eagerImg(alt : String? = null, src : String? = null, classes : String? = null, crossinline block : IMG.() -> Unit = {}) : Unit = IMG(attributesMapOf("alt", alt,"src", src,"loading", ImgLoading.eager.realValue,"class", classes), consumer).visit(block)
53+
@HtmlTagMarker
54+
inline fun PICTURE.lazyImg(alt : String? = null, src : String? = null, classes : String? = null, crossinline block : IMG.() -> Unit = {}) : Unit = IMG(attributesMapOf("alt", alt,"src", src,"loading", ImgLoading.lazy.realValue,"class", classes), consumer).visit(block)
5155

5256
val PICTURE.asFlowContent : FlowContent
5357
get() = this

src/jsMain/kotlin/generated/gen-consumer-tags-js.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ import kotlinx.html.IMG
7474
import kotlinx.html.INPUT
7575
import kotlinx.html.INS
7676
import kotlinx.html.IframeSandbox
77+
import kotlinx.html.ImgLoading
7778
import kotlinx.html.InputFormEncType
7879
import kotlinx.html.InputFormMethod
7980
import kotlinx.html.InputType
@@ -675,9 +676,11 @@ public inline fun TagConsumer<HTMLElement>.iframe(
675676
public inline fun TagConsumer<HTMLElement>.img(
676677
alt: String? = null,
677678
src: String? = null,
679+
loading: ImgLoading? = null,
678680
classes: String? = null,
679681
crossinline block: IMG.() -> Unit = {},
680-
): HTMLImageElement = IMG(attributesMapOf("alt", alt,"src", src,"class", classes), this)
682+
): HTMLImageElement = IMG(attributesMapOf("alt", alt,"src", src,"loading",
683+
loading?.enumEncode(),"class", classes), this)
681684
.visitAndFinalize(this, block) as HTMLImageElement
682685

683686
/**

0 commit comments

Comments
 (0)