UNPKG

@maizzle/framework

Version:

Maizzle is a framework that helps you quickly build HTML emails with Tailwind CSS.

31 lines (30 loc) 888 B
import isUrl from "is-url-superb"; //#region src/utils/url.ts const defaultTags = { a: ["href"], img: ["src", "srcset"], video: ["src", "poster"], source: ["src", "srcset"], link: ["href"], script: ["src"], object: ["data"], embed: ["src"], iframe: ["src"], "v:image": ["src"], "v:fill": ["src"] }; const urlAttributes = [...new Set(Object.values(defaultTags).flat())]; function isAbsoluteUrl(url) { if (!url) return true; return url.startsWith("//") || url.startsWith("#") || url.startsWith("?") || isUrl(url); } function processSrcset(srcset, baseUrl) { return srcset.split(",").map((entry) => { const parts = entry.trim().split(/\s+/); if (parts[0] && !isAbsoluteUrl(parts[0])) parts[0] = baseUrl + parts[0]; return parts.join(" "); }).join(", "); } //#endregion export { defaultTags, isAbsoluteUrl, processSrcset, urlAttributes }; //# sourceMappingURL=url.js.map