UNPKG

staticdelivr

Version:

StaticDelivr simplifies image delivery by optimizing performance through CDN integration, format conversion, and dynamic resizing. Perfect for React applications.

23 lines (22 loc) 1.19 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.StaticDelivrImage = void 0; const jsx_runtime_1 = require("react/jsx-runtime"); const react_1 = __importDefault(require("react")); const config_1 = require("./config"); const buildUrl_1 = require("./utils/buildUrl"); const StaticDelivrImage = ({ src, width, height, quality, format, alt = '', className, }) => { const { baseURL } = config_1.config.get(); // Check if src is an absolute URL const isAbsoluteUrl = /^https?:\/\//i.test(src); // If it's not an absolute URL, we append baseURL const normalizedSrc = isAbsoluteUrl ? src // Don't modify absolute URLs : `${baseURL.replace(/\/+$/, '')}/${src.replace(/^\/+/, '')}`; // Normalize baseURL and src for relative URLs const optimizedUrl = (0, buildUrl_1.buildUrl)({ src: normalizedSrc, width, height, quality, format }); return (0, jsx_runtime_1.jsx)("img", { src: optimizedUrl, alt: alt, className: className }); }; exports.StaticDelivrImage = StaticDelivrImage;