@ribajs/core
Version:
Core module of Riba.js
23 lines • 2.29 kB
JavaScript
import { Binder } from "../binder.js";
export class SrcsetSizeBinder extends Binder {
static key = "srcset-*";
routine(el, url) {
const size = this.args[0];
let srcset = el.getAttribute("srcset");
if (typeof srcset !== "string") {
srcset = "";
}
if (typeof url === "string" && url.length > 0) {
const seperator = srcset.length > 0 ? ", " : "";
srcset += `${seperator}${url} ${size}`;
}
else {
let sizes = srcset.split(",");
sizes = sizes.map((iterSize) => iterSize.trim());
sizes = sizes.filter((iterSize) => !iterSize.includes(size));
srcset = sizes.join(", ") || "";
}
el.setAttribute("srcset", srcset);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Jjc2V0LXNpemUuYmluZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JpbmRlcnMvc3Jjc2V0LXNpemUuYmluZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFNdEMsTUFBTSxPQUFPLGdCQUFpQixTQUFRLE1BQTJCO0lBQy9ELE1BQU0sQ0FBQyxHQUFHLEdBQUcsVUFBVSxDQUFDO0lBRXhCLE9BQU8sQ0FBQyxFQUFzQixFQUFFLEdBQVc7UUFDekMsTUFBTSxJQUFJLEdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQVcsQ0FBQztRQUM1QyxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDL0IsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFDRCxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzlDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUVoRCxNQUFNLElBQUksR0FBRyxTQUFTLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3pDLENBQUM7YUFBTSxDQUFDO1lBRU4sSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5QixLQUFLLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFDakQsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzdELE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQyJ9