"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 Bluebird = require("bluebird");
const path_1 = require("path");
const tempseal_1 = require("@sealcode/tempseal");
let FeatureTiles;
FeatureTiles = (add_effect, config, { tiles }) => __awaiter(void 0, void 0, void 0, function* () {
    const tiles_html = yield Bluebird.map(tiles, (tile) => __awaiter(void 0, void 0, void 0, function* () {
        const image = yield tempseal_1.SideEffects.File.fromPath(tile.imagePath);
        yield add_effect(image);
        return /* HTML */ `
			<dl class="feature-tiles__tile">
				<img
					src="${yield image.getUrlPlaceholder()}"
					alt="${tile.imageAlt}"
				/>
				<dt>${tile.header}</dt>
				<dd>${tile.content}</dd>
			</dl>
		`;
    }));
    const html = `<section class="feature-tiles">
		${tiles_html.join("\n")}
		</section>
	`;
    yield Promise.all([
        tempseal_1.SideEffects.Scss.addFromPath(add_effect, config, path_1.resolve(__dirname, "feature-tiles.scss")),
        add_effect(new tempseal_1.SideEffects.HtmlChunk(html)),
    ]);
});
FeatureTiles.identifier = "feature-tiles";
exports.default = FeatureTiles;
//# sourceMappingURL=feature-tiles.js.map