'use strict';

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

function s(c) { return characterTypes.pick(c, 0, "var(--anim-stroke, #111)"); }
const NoseLine = ({ colors, y = 0, scale = 1, transform, strokeWidth = 1.6 }) => (jsxRuntime.jsx("g", { transform: `${transform !== null && transform !== void 0 ? transform : ""} translate(0 ${y}) scale(${scale})`, stroke: s(colors), strokeWidth: strokeWidth, strokeLinecap: "round", children: jsxRuntime.jsx("path", { d: "M0 -4 q-2 4 0 8", fill: "none" }) }));
const NoseTriangle = ({ colors, y = 0, scale = 1, transform, strokeWidth = 1.4 }) => (jsxRuntime.jsx("g", { transform: `${transform !== null && transform !== void 0 ? transform : ""} translate(0 ${y}) scale(${scale})`, stroke: s(colors), strokeWidth: strokeWidth, strokeLinejoin: "round", children: jsxRuntime.jsx("path", { d: "M0 -6 l6 8 h-12 z", fill: "none" }) }));
const NoseRound = ({ colors, y = 0, scale = 1, transform, strokeWidth = 1.4 }) => (jsxRuntime.jsx("g", { transform: `${transform !== null && transform !== void 0 ? transform : ""} translate(0 ${y}) scale(${scale})`, stroke: s(colors), strokeWidth: strokeWidth, children: jsxRuntime.jsx("circle", { cx: 0, cy: 0, r: 4, fill: "none" }) }));
const NoseButton = ({ colors, y = 0, scale = 1, transform, strokeWidth = 1.4 }) => (jsxRuntime.jsx("g", { transform: `${transform !== null && transform !== void 0 ? transform : ""} translate(0 ${y}) scale(${scale})`, stroke: s(colors), strokeWidth: strokeWidth, children: jsxRuntime.jsx("circle", { cx: 0, cy: 0, r: 3, fill: s(colors), opacity: 0.2 }) }));
const NoseNone = () => null;
const NOSE_RENDERERS = {
    line: NoseLine, triangle: NoseTriangle, round: NoseRound,
    button: NoseButton, hook: NoseLine, flat: NoseLine,
    wide: NoseTriangle, tiny: NoseButton, pointy: NoseTriangle,
    roman: NoseLine, none: NoseNone,
};
const Nose = ({ variant, ...rest }) => {
    var _a;
    const Comp = (_a = NOSE_RENDERERS[variant]) !== null && _a !== void 0 ? _a : NoseLine;
    return jsxRuntime.jsx(Comp, { ...rest });
};

exports.NOSE_RENDERERS = NOSE_RENDERERS;
exports.Nose = Nose;
exports.NoseButton = NoseButton;
exports.NoseLine = NoseLine;
exports.NoseNone = NoseNone;
exports.NoseRound = NoseRound;
exports.NoseTriangle = NoseTriangle;
//# sourceMappingURL=noses.js.map
