This repository has been archived on 2025-12-24. You can view files and clone it, but cannot push or open issues or pull requests.
site-template/packages/imagetoolsNew/api/utils/getContainerElement.js
2025-03-07 14:59:06 +01:00

49 lines
1.1 KiB
JavaScript

// @ts-check
import getAttributesString from "./getAttributesString.js";
export default function getContainerElement({
tag,
content,
className = "",
containerAttributes,
isBackgroundPicture = false,
containerClassName = "",
}) {
const {
class: customClasses = "",
style: customInlineStyles = "",
...restContainerAttributes
} = containerAttributes;
const attributesString = getAttributesString({
attributes: restContainerAttributes,
});
const classAttribute = [
isBackgroundPicture
? "astro-imagetools-background-picture"
: "astro-imagetools-background-image",
isBackgroundPicture ? containerClassName : className,
customClasses,
]
.join(" ")
.trim();
const styleAttribute = [
isBackgroundPicture ? "position: relative;" : "",
customInlineStyles + (customInlineStyles.endsWith(";") ? "" : ";"),
]
.join(" ")
.trim();
const containerElement = `<${tag}
${attributesString}
class="${classAttribute}"
style="${styleAttribute}"
>
${content}
</${tag}>`;
return containerElement;
}