'use strict';

var jsxRuntime = require('react/jsx-runtime');
var characterTypes = require('../characterTypes.js');

function pal(c) {
    return {
        base: characterTypes.pick(c, 0, "var(--anim-shirt, #3B82F6)"),
        accent: characterTypes.pick(c, 1, "var(--anim-outfit-2, #2563EB)"),
        stroke: characterTypes.pick(c, 2, "var(--anim-stroke, #111)"),
    };
}
const OutfitTee = ({ colors, scale = 1, transform, strokeWidth = 1.4 }) => {
    const c = pal(colors);
    return (jsxRuntime.jsxs("g", { transform: `${transform !== null && transform !== void 0 ? transform : ""} scale(${scale})`, stroke: c.stroke, strokeWidth: strokeWidth, strokeLinejoin: "round", children: [jsxRuntime.jsx("path", { d: "M-28 -20 l-12 -10 l10 -10 l10 8 h40 l10 -8 l10 10 l-12 10 v40 h-56 z", fill: c.base }), jsxRuntime.jsx("line", { x1: -10, y1: -20, x2: -10, y2: 20, stroke: c.accent, strokeWidth: 0.8, opacity: 0.3 })] }));
};
const OutfitHoodie = ({ colors, scale = 1, transform, strokeWidth = 1.4 }) => {
    const c = pal(colors);
    return (jsxRuntime.jsxs("g", { transform: `${transform !== null && transform !== void 0 ? transform : ""} scale(${scale})`, stroke: c.stroke, strokeWidth: strokeWidth, strokeLinejoin: "round", children: [jsxRuntime.jsx("path", { d: "M-28 -20 l-12 -10 l10 -10 l10 8 h40 l10 -8 l10 10 l-12 10 v40 h-56 z", fill: c.base }), jsxRuntime.jsx("path", { d: "M-6 -24 q6 12 12 0", fill: c.accent, stroke: c.stroke, strokeWidth: 0.8 }), jsxRuntime.jsx("rect", { x: -10, y: 0, width: 20, height: 18, rx: 4, fill: c.accent, opacity: 0.3 })] }));
};
const OutfitSuit = ({ colors, scale = 1, transform, strokeWidth = 1.4 }) => {
    const c = pal(colors);
    return (jsxRuntime.jsxs("g", { transform: `${transform !== null && transform !== void 0 ? transform : ""} scale(${scale})`, stroke: c.stroke, strokeWidth: strokeWidth, strokeLinejoin: "round", children: [jsxRuntime.jsx("path", { d: "M-30 -20 l-10 -12 l10 -8 l8 6 h44 l8 -6 l10 8 l-10 12 v42 h-60 z", fill: c.base }), jsxRuntime.jsx("path", { d: "M-8 -26 l8 20 l8 -20", fill: "none", stroke: c.accent, strokeWidth: 1.2 }), jsxRuntime.jsx("path", { d: "M0 -26 v66", fill: "none", stroke: c.stroke, strokeWidth: 0.6, opacity: 0.2 })] }));
};
const OUTFIT_RENDERERS = {
    tee: OutfitTee, hoodie: OutfitHoodie, suit: OutfitSuit,
    dress: OutfitTee, tank: OutfitTee, jacket: OutfitSuit,
    blazer: OutfitSuit, vest: OutfitTee, sweatshirt: OutfitHoodie,
    kimono: OutfitSuit, polo: OutfitTee, stripes: OutfitTee,
    checker: OutfitTee, jersey: OutfitTee, tux: OutfitSuit, robe: OutfitSuit,
};
const Outfit = ({ variant, ...rest }) => {
    var _a;
    const Comp = (_a = OUTFIT_RENDERERS[variant]) !== null && _a !== void 0 ? _a : OutfitTee;
    return jsxRuntime.jsx(Comp, { ...rest });
};

exports.OUTFIT_RENDERERS = OUTFIT_RENDERERS;
exports.Outfit = Outfit;
exports.OutfitHoodie = OutfitHoodie;
exports.OutfitSuit = OutfitSuit;
exports.OutfitTee = OutfitTee;
//# sourceMappingURL=outfits.js.map
