toNode method
Compiles this specification into an ElNode descriptor targeting the void <source> element.
If srcset is not supplied but src and widths are present, constructs the srcset
attribute automatically using buildSrcSet.
Implementation
ElNode toNode() {
String? effectiveSrcset = srcset;
if (effectiveSrcset == null && src != null && widths != null && widths!.isNotEmpty) {
effectiveSrcset = buildSrcSet(src!, widths!, urlBuilder: urlBuilder);
} else if (effectiveSrcset == null && src != null) {
effectiveSrcset = src;
}
final attrs = <String, String>{
if (effectiveSrcset != null) 'srcset': effectiveSrcset,
if (sizes != null) 'sizes': sizes!,
if (media != null) 'media': media!,
if (type != null) 'type': type!,
if (width != null) 'width': '$width',
if (height != null) 'height': '$height',
};
return El('source', attrs: attrs);
}