"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
Object.defineProperty(exports, "__esModule", { value: true });
const path_1 = require("path");
const tempseal_1 = require("@sealcode/tempseal");
const button_1 = require("../../elements/button/button");
let ProductShowcase;
ProductShowcase = (add_effect, config, { image_path, image_alt, title, description, more_button_url, visit_button_url, features, extra_header_text, variant = "primary", }) => __awaiter(void 0, void 0, void 0, function* () {
    const image = yield tempseal_1.SideEffects.File.fromPath(image_path);
    const html = /* HTML */ `
		<section class="ps-root">
			<div
				class="product-showcase ${variant
        ? `product-showcase--${variant}`
        : ""} product-showcase__container"
			>
				${extra_header_text ? `<h3>${extra_header_text}</h3>` : ``}
				<figure class="product-showcase__body">
					<img
						src="${yield image.getUrlPlaceholder()}"
						alt="${image_alt}"
					/>
					<h2>${title}</h2>
					<figcaption class="product-showcase__details">
						<p>${description}</p>
						<ul>
							${features
        .map(feature => {
        return ("<li><strong>" +
            feature.header +
            "</strong><p>" +
            feature.content +
            "</p></li>");
    })
        .join(" ")}
						</ul>
						<div class="product-showcase__details-buttons">
							${yield tempseal_1.embedComponent(add_effect, config, {
        text: "Zobacz więcej",
        link: more_button_url,
        color: "black",
    }, button_1.default)}
							${yield tempseal_1.embedComponent(add_effect, config, {
        text: "Odwiedź stronę",
        link: visit_button_url,
        color: "white-on-darker-bg",
    }, button_1.default)}
						</div>
					</figcaption>
				</figure>
			</div>
		</section>
	`;
    yield Promise.all([
        add_effect(image),
        tempseal_1.SideEffects.Scss.addFromPath(add_effect, config, path_1.resolve(__dirname, "product-showcase.scss")),
        add_effect(new tempseal_1.SideEffects.HtmlChunk(html)),
    ]);
});
ProductShowcase.identifier = "product-showcase";
exports.default = ProductShowcase;
//# sourceMappingURL=product-showcase.js.map