"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");
let ArticleListItem;
ArticleListItem = function (add_effect, config, { number, name, description, modifier, icon_path, icon_alt, header_mode = "below", }) {
    return __awaiter(this, void 0, void 0, function* () {
        let image;
        if (icon_path) {
            image = yield add_effect(tempseal_1.SideEffects.File.fromPath(icon_path));
        }
        yield Promise.all([
            tempseal_1.SideEffects.Scss.addFromPath(add_effect, config, path_1.resolve(__dirname, "./article-list-item.scss")),
            add_effect(new tempseal_1.SideEffects.HtmlChunk(/* HTML */ `
				<li
					class="article-list-item article-list-item--${modifier} article-list-item--${header_mode}"
				>
					<div class="header">
						${image
                ? `<div class="article-list-item__image"><img src="${yield image.getUrlPlaceholder()}" alt="${icon_alt}"/></div>`
                : `<span class="article-list-item__number">${number}</span>`}
						<h3>${name || ""}</h3>
					</div>
					<p>${description || ""}</p>
				</li>
			`)),
        ]);
    });
};
ArticleListItem.identifier = "article-list-item";
exports.default = ArticleListItem;
//# sourceMappingURL=article-list-item.js.map