UNPKG

@voorhoede/image-vue

Version:

Optimized CDN image component

39 lines (38 loc) 975 B
import { defineComponent, h } from "vue"; import { generateSrcSet } from "../core/generate-src-set.mjs"; export const Image = defineComponent((props) => { const loader = props.loader !== undefined ? props.loader : ({ src }) => src; const quality = props.quality ?? 45; return () => h("img", { src: props.src, alt: props.alt, width: props.width, height: props.height, loading: props.loading, sizes: props.sizes, srcset: props.srcset || generateSrcSet({ loader, src: props.src, width: props.width, quality, sizes: props.sizes, }), decoding: props.decoding ?? "async", }); }, { props: [ "src", "alt", "width", "height", "loading", "sizes", "srcset", "decoding", "loader", "quality", ], });