solfaces 1.0.2 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +489 -97
- package/SKILL.md +171 -0
- package/dist/agent/index.cjs +15 -14
- package/dist/agent/index.js +5 -4
- package/dist/agent/mcp-server.cjs +2956 -287
- package/dist/chunk-6QRDULAO.cjs +191 -0
- package/dist/chunk-6QRDULAO.cjs.map +1 -0
- package/dist/{chunk-RX6D5FGH.js → chunk-77SPWQU5.js} +69 -28
- package/dist/chunk-77SPWQU5.js.map +1 -0
- package/dist/chunk-CQWXUU7P.js +239 -0
- package/dist/chunk-CQWXUU7P.js.map +1 -0
- package/dist/chunk-CXRVPOTI.cjs +244 -0
- package/dist/chunk-CXRVPOTI.cjs.map +1 -0
- package/dist/chunk-DRUSCLEF.js +177 -0
- package/dist/chunk-DRUSCLEF.js.map +1 -0
- package/dist/{chunk-VMNATBH3.cjs → chunk-F244Q4KC.cjs} +74 -33
- package/dist/chunk-F244Q4KC.cjs.map +1 -0
- package/dist/chunk-HVPGR6G5.cjs +647 -0
- package/dist/chunk-HVPGR6G5.cjs.map +1 -0
- package/dist/{chunk-SNJABBAT.js → chunk-MGP7F65H.js} +3 -3
- package/dist/{chunk-SNJABBAT.js.map → chunk-MGP7F65H.js.map} +1 -1
- package/dist/chunk-R3MC2AJZ.cjs +2247 -0
- package/dist/chunk-R3MC2AJZ.cjs.map +1 -0
- package/dist/chunk-SWML743U.js +625 -0
- package/dist/chunk-SWML743U.js.map +1 -0
- package/dist/chunk-SX3FQDKM.js +2238 -0
- package/dist/chunk-SX3FQDKM.js.map +1 -0
- package/dist/{chunk-A6N3RPEA.cjs → chunk-WTCXTXTV.cjs} +6 -6
- package/dist/{chunk-A6N3RPEA.cjs.map → chunk-WTCXTXTV.cjs.map} +1 -1
- package/dist/constants-Bi5uTRp5.d.cts +17 -0
- package/dist/constants-Bi5uTRp5.d.ts +17 -0
- package/dist/core/index.cjs +69 -29
- package/dist/core/index.d.cts +29 -47
- package/dist/core/index.d.ts +29 -47
- package/dist/core/index.js +3 -3
- package/dist/index.cjs +104 -35
- package/dist/index.d.cts +4 -2
- package/dist/index.d.ts +4 -2
- package/dist/index.js +6 -5
- package/dist/names/index.cjs +40 -0
- package/dist/names/index.cjs.map +1 -0
- package/dist/names/index.d.cts +36 -0
- package/dist/names/index.d.ts +36 -0
- package/dist/names/index.js +3 -0
- package/dist/names/index.js.map +1 -0
- package/dist/react/index.cjs +454 -397
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.d.cts +17 -3
- package/dist/react/index.d.ts +17 -3
- package/dist/react/index.js +450 -394
- package/dist/react/index.js.map +1 -1
- package/dist/solfaces.cdn.global.js +2 -2
- package/dist/solfaces.cdn.global.js.map +1 -1
- package/dist/themes/index.cjs +29 -17
- package/dist/themes/index.d.cts +10 -7
- package/dist/themes/index.d.ts +10 -7
- package/dist/themes/index.js +1 -1
- package/dist/{traits-DAFZnXeS.d.cts → traits-QlWuxZDD.d.cts} +45 -1
- package/dist/{traits-DAFZnXeS.d.ts → traits-QlWuxZDD.d.ts} +45 -1
- package/dist/vanilla/index.cjs +20 -8
- package/dist/vanilla/index.cjs.map +1 -1
- package/dist/vanilla/index.d.cts +1 -1
- package/dist/vanilla/index.d.ts +1 -1
- package/dist/vanilla/index.js +17 -5
- package/dist/vanilla/index.js.map +1 -1
- package/package.json +22 -5
- package/python/solfaces.py +830 -237
- package/reference/integrations.md +166 -0
- package/reference/react.md +108 -0
- package/reference/themes.md +124 -0
- package/dist/chunk-2DIKGLXZ.cjs +0 -126
- package/dist/chunk-2DIKGLXZ.cjs.map +0 -1
- package/dist/chunk-CVFO7YHY.cjs +0 -97
- package/dist/chunk-CVFO7YHY.cjs.map +0 -1
- package/dist/chunk-H3SK3MNX.cjs +0 -409
- package/dist/chunk-H3SK3MNX.cjs.map +0 -1
- package/dist/chunk-KSGFMW33.js +0 -401
- package/dist/chunk-KSGFMW33.js.map +0 -1
- package/dist/chunk-LQWJRHGC.js +0 -86
- package/dist/chunk-LQWJRHGC.js.map +0 -1
- package/dist/chunk-RX6D5FGH.js.map +0 -1
- package/dist/chunk-VMNATBH3.cjs.map +0 -1
- package/dist/chunk-WURY4QGH.js +0 -117
- package/dist/chunk-WURY4QGH.js.map +0 -1
- package/skill.md +0 -463
package/dist/react/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/react/SolFace.tsx"],"names":["jsx","jsxs","Fragment","useMemo","generateTraits","SKIN_COLORS","EYE_COLORS","HAIR_COLORS","BG_COLORS"],"mappings":"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","file":"index.cjs","sourcesContent":["\"use client\";\n\nimport { useMemo, type SVGAttributes } from \"react\";\nimport {\n generateTraits,\n SKIN_COLORS,\n EYE_COLORS,\n HAIR_COLORS,\n BG_COLORS,\n type SolFaceTraits,\n type SolFaceTheme,\n} from \"../core/traits\";\n\nexport interface SolFaceProps extends Omit<SVGAttributes<SVGSVGElement>, \"viewBox\" | \"xmlns\"> {\n walletAddress: string;\n size?: number;\n enableBlink?: boolean | {\n duration?: number;\n delay?: number;\n };\n theme?: SolFaceTheme;\n traitOverrides?: Partial<SolFaceTraits>;\n colorOverrides?: {\n skin?: string;\n eyes?: string;\n hair?: string;\n bg?: string;\n mouth?: string;\n eyebrow?: string;\n accessory?: string;\n nose?: string;\n eyeWhite?: string;\n };\n}\n\n// ─── Face Shape ─────────────────────────────────\n\nfunction renderFace(traits: SolFaceTraits, skin: string) {\n switch (traits.faceShape) {\n case 0:\n return <circle cx=\"32\" cy=\"34\" r=\"20\" fill={skin} />;\n case 1:\n return <rect x=\"12\" y=\"14\" width=\"40\" height=\"40\" rx=\"8\" ry=\"8\" fill={skin} />;\n case 2:\n return <ellipse cx=\"32\" cy=\"34\" rx=\"18\" ry=\"22\" fill={skin} />;\n case 3:\n return (\n <path\n d=\"M32 12 L50 24 L50 44 L32 56 L14 44 L14 24 Z\"\n fill={skin}\n strokeLinejoin=\"round\"\n />\n );\n default:\n return <circle cx=\"32\" cy=\"34\" r=\"20\" fill={skin} />;\n }\n}\n\n// ─── Eyes ────────────────────────────────────────\n\nfunction renderEyes(traits: SolFaceTraits, eyeCol: string, eyeWhite: string = \"white\") {\n const lx = 24, rx = 40, y = 30;\n\n switch (traits.eyeStyle) {\n case 0: // Round\n return (\n <>\n <circle cx={lx} cy={y} r=\"3.5\" fill={eyeWhite} />\n <circle cx={lx + 1} cy={y} r=\"2\" fill={eyeCol} />\n <circle cx={rx} cy={y} r=\"3.5\" fill={eyeWhite} />\n <circle cx={rx + 1} cy={y} r=\"2\" fill={eyeCol} />\n </>\n );\n case 1: // Dots\n return (\n <>\n <circle cx={lx} cy={y} r=\"2\" fill={eyeCol} />\n <circle cx={rx} cy={y} r=\"2\" fill={eyeCol} />\n </>\n );\n case 2: // Almond\n return (\n <>\n <ellipse cx={lx} cy={y} rx=\"4\" ry=\"2.5\" fill={eyeWhite} />\n <circle cx={lx + 0.5} cy={y} r=\"1.5\" fill={eyeCol} />\n <ellipse cx={rx} cy={y} rx=\"4\" ry=\"2.5\" fill={eyeWhite} />\n <circle cx={rx + 0.5} cy={y} r=\"1.5\" fill={eyeCol} />\n </>\n );\n case 3: // Wide\n return (\n <>\n <circle cx={lx} cy={y} r=\"4.5\" fill={eyeWhite} />\n <circle cx={lx} cy={y + 0.5} r=\"2.5\" fill={eyeCol} />\n <circle cx={rx} cy={y} r=\"4.5\" fill={eyeWhite} />\n <circle cx={rx} cy={y + 0.5} r=\"2.5\" fill={eyeCol} />\n </>\n );\n case 4: // Sleepy\n return (\n <>\n <ellipse cx={lx} cy={y + 1} rx=\"3.5\" ry=\"2\" fill={eyeWhite} />\n <circle cx={lx} cy={y + 1} r=\"1.5\" fill={eyeCol} />\n <line x1={lx - 4} y1={y - 0.5} x2={lx + 4} y2={y - 0.5}\n stroke={eyeCol} strokeWidth=\"1\" strokeLinecap=\"round\" />\n <ellipse cx={rx} cy={y + 1} rx=\"3.5\" ry=\"2\" fill={eyeWhite} />\n <circle cx={rx} cy={y + 1} r=\"1.5\" fill={eyeCol} />\n <line x1={rx - 4} y1={y - 0.5} x2={rx + 4} y2={y - 0.5}\n stroke={eyeCol} strokeWidth=\"1\" strokeLinecap=\"round\" />\n </>\n );\n case 5: // Winking\n return (\n <>\n <path d={`M${lx - 3} ${y} Q${lx} ${y + 3} ${lx + 3} ${y}`}\n fill=\"none\" stroke={eyeCol} strokeWidth=\"1.5\" strokeLinecap=\"round\" />\n <circle cx={rx} cy={y} r=\"3.5\" fill={eyeWhite} />\n <circle cx={rx + 1} cy={y} r=\"2\" fill={eyeCol} />\n </>\n );\n case 6: // Lashes\n return (\n <>\n <circle cx={lx} cy={y} r=\"3\" fill={eyeWhite} />\n <circle cx={lx + 0.5} cy={y} r=\"1.5\" fill={eyeCol} />\n <line x1={lx + 2} y1={y - 3} x2={lx + 3.5} y2={y - 4.5}\n stroke={eyeCol} strokeWidth=\"0.8\" strokeLinecap=\"round\" />\n <line x1={lx + 3} y1={y - 2} x2={lx + 4.5} y2={y - 3}\n stroke={eyeCol} strokeWidth=\"0.8\" strokeLinecap=\"round\" />\n <circle cx={rx} cy={y} r=\"3\" fill={eyeWhite} />\n <circle cx={rx + 0.5} cy={y} r=\"1.5\" fill={eyeCol} />\n <line x1={rx + 2} y1={y - 3} x2={rx + 3.5} y2={y - 4.5}\n stroke={eyeCol} strokeWidth=\"0.8\" strokeLinecap=\"round\" />\n <line x1={rx + 3} y1={y - 2} x2={rx + 4.5} y2={y - 3}\n stroke={eyeCol} strokeWidth=\"0.8\" strokeLinecap=\"round\" />\n </>\n );\n case 7: // Narrow\n return (\n <>\n <ellipse cx={lx} cy={y} rx=\"4\" ry=\"1.2\" fill={eyeWhite} />\n <ellipse cx={lx + 0.5} cy={y} rx=\"2\" ry=\"1\" fill={eyeCol} />\n <ellipse cx={rx} cy={y} rx=\"4\" ry=\"1.2\" fill={eyeWhite} />\n <ellipse cx={rx + 0.5} cy={y} rx=\"2\" ry=\"1\" fill={eyeCol} />\n </>\n );\n default:\n return (\n <>\n <circle cx={lx} cy={y} r=\"3\" fill={eyeWhite} />\n <circle cx={lx + 1} cy={y} r=\"2\" fill={eyeCol} />\n <circle cx={rx} cy={y} r=\"3\" fill={eyeWhite} />\n <circle cx={rx + 1} cy={y} r=\"2\" fill={eyeCol} />\n </>\n );\n }\n}\n\n// ─── Eyebrows ───────────────────────────────────\n\nfunction renderEyebrows(traits: SolFaceTraits, col: string) {\n const lx = 24, rx = 40, y = 25;\n\n switch (traits.eyebrows) {\n case 0:\n return null;\n case 1: // Thin\n return (\n <>\n <line x1={lx - 3} y1={y} x2={lx + 3} y2={y}\n stroke={col} strokeWidth=\"0.8\" strokeLinecap=\"round\" />\n <line x1={rx - 3} y1={y} x2={rx + 3} y2={y}\n stroke={col} strokeWidth=\"0.8\" strokeLinecap=\"round\" />\n </>\n );\n case 2: // Thick\n return (\n <>\n <line x1={lx - 3.5} y1={y} x2={lx + 3.5} y2={y}\n stroke={col} strokeWidth=\"2\" strokeLinecap=\"round\" />\n <line x1={rx - 3.5} y1={y} x2={rx + 3.5} y2={y}\n stroke={col} strokeWidth=\"2\" strokeLinecap=\"round\" />\n </>\n );\n case 3: // Arched\n return (\n <>\n <path d={`M${lx - 3.5} ${y + 1} Q${lx} ${y - 2} ${lx + 3.5} ${y + 1}`}\n fill=\"none\" stroke={col} strokeWidth=\"1\" strokeLinecap=\"round\" />\n <path d={`M${rx - 3.5} ${y + 1} Q${rx} ${y - 2} ${rx + 3.5} ${y + 1}`}\n fill=\"none\" stroke={col} strokeWidth=\"1\" strokeLinecap=\"round\" />\n </>\n );\n case 4: // Angled\n return (\n <>\n <line x1={lx - 3} y1={y - 1} x2={lx + 3} y2={y + 1}\n stroke={col} strokeWidth=\"1.2\" strokeLinecap=\"round\" />\n <line x1={rx - 3} y1={y + 1} x2={rx + 3} y2={y - 1}\n stroke={col} strokeWidth=\"1.2\" strokeLinecap=\"round\" />\n </>\n );\n default:\n return null;\n }\n}\n\n// ─── Nose ───────────────────────────────────────\n\nfunction renderNose(traits: SolFaceTraits, skin: string, noseCol?: string) {\n const cx = 32, y = 36;\n const shadow = noseCol ?? (skin + \"aa\");\n\n switch (traits.nose) {\n case 0:\n return null;\n case 1: // Dot\n return <circle cx={cx} cy={y} r=\"1.5\" fill={shadow} />;\n case 2: // Triangle\n return (\n <path\n d={`M${cx} ${y - 1.5} L${cx + 2.5} ${y + 2} L${cx - 2.5} ${y + 2} Z`}\n fill={shadow}\n />\n );\n case 3: // Button (nostrils)\n return (\n <>\n <circle cx={cx - 1.5} cy={y} r=\"1\" fill={shadow} />\n <circle cx={cx + 1.5} cy={y} r=\"1\" fill={shadow} />\n </>\n );\n default:\n return null;\n }\n}\n\n// ─── Mouth ──────────────────────────────────────\n\nfunction renderMouth(traits: SolFaceTraits, col: string, teethCol: string = \"white\") {\n const cx = 32, y = 42;\n\n switch (traits.mouth) {\n case 0: // Smile\n return (\n <path d={`M${cx - 4} ${y} Q${cx} ${y + 4} ${cx + 4} ${y}`}\n fill=\"none\" stroke={col} strokeWidth=\"1.2\" strokeLinecap=\"round\" />\n );\n case 1: // Neutral\n return (\n <line x1={cx - 3} y1={y + 1} x2={cx + 3} y2={y + 1}\n stroke={col} strokeWidth=\"1.2\" strokeLinecap=\"round\" />\n );\n case 2: // Grin\n return (\n <path d={`M${cx - 6} ${y} Q${cx} ${y + 5} ${cx + 6} ${y}`}\n fill=\"none\" stroke={col} strokeWidth=\"1.5\" strokeLinecap=\"round\" />\n );\n case 3: // Open\n return (\n <ellipse cx={cx} cy={y + 1} rx=\"3\" ry=\"2.5\" fill={col} opacity=\"0.8\" />\n );\n case 4: // Smirk\n return (\n <path d={`M${cx - 4} ${y + 1} Q${cx - 1} ${y + 1} ${cx + 4} ${y - 1}`}\n fill=\"none\" stroke={col} strokeWidth=\"1.2\" strokeLinecap=\"round\" />\n );\n case 5: // Wide smile\n return (\n <path d={`M${cx - 6} ${y} Q${cx} ${y + 6} ${cx + 6} ${y}`}\n fill={teethCol} stroke={col} strokeWidth=\"1\" />\n );\n default:\n return (\n <path d={`M${cx - 4} ${y} Q${cx} ${y + 4} ${cx + 4} ${y}`}\n fill=\"none\" stroke={col} strokeWidth=\"1.2\" strokeLinecap=\"round\" />\n );\n }\n}\n\n// ─── Hair ───────────────────────────────────────\n\nfunction renderHair(traits: SolFaceTraits, hairCol: string) {\n switch (traits.hairStyle) {\n case 0: // Bald\n return null;\n case 1: // Short\n return <rect x=\"14\" y=\"12\" width=\"36\" height=\"12\" rx=\"6\" ry=\"6\" fill={hairCol} />;\n case 2: // Spiky\n return (\n <g fill={hairCol}>\n <rect x=\"14\" y=\"16\" width=\"36\" height=\"8\" rx=\"2\" />\n <polygon points=\"18,16 22,6 26,16\" />\n <polygon points=\"26,16 30,4 34,16\" />\n <polygon points=\"34,16 38,6 42,16\" />\n <polygon points=\"42,16 46,10 48,16\" />\n </g>\n );\n case 3: // Swept\n return (\n <g fill={hairCol}>\n <rect x=\"14\" y=\"14\" width=\"36\" height=\"10\" rx=\"4\" />\n <path d=\"M14 18 Q8 14 10 8 Q14 10 20 14 Z\" />\n </g>\n );\n case 4: // Mohawk\n return <rect x=\"26\" y=\"4\" width=\"12\" height=\"20\" rx=\"4\" ry=\"2\" fill={hairCol} />;\n case 5: // Long\n return (\n <g fill={hairCol}>\n <rect x=\"14\" y=\"12\" width=\"36\" height=\"10\" rx=\"4\" />\n <rect x=\"10\" y=\"18\" width=\"8\" height=\"24\" rx=\"3\" />\n <rect x=\"46\" y=\"18\" width=\"8\" height=\"24\" rx=\"3\" />\n </g>\n );\n case 6: // Bob\n return (\n <path\n d=\"M12 22 Q12 10 32 10 Q52 10 52 22 L52 38 Q52 42 48 42 L48 26 Q48 16 32 16 Q16 16 16 26 L16 42 Q12 42 12 38 Z\"\n fill={hairCol}\n />\n );\n case 7: // Buzz\n return <rect x=\"15\" y=\"13\" width=\"34\" height=\"9\" rx=\"8\" ry=\"4\" fill={hairCol} opacity=\"0.7\" />;\n default:\n return null;\n }\n}\n\n// ─── Accessories ────────────────────────────────\n\nfunction renderAccessory(traits: SolFaceTraits, col: string) {\n switch (traits.accessory) {\n case 0:\n case 1:\n return null;\n case 2: // Round glasses\n return (\n <g fill=\"none\" stroke={col} strokeWidth=\"1\">\n <circle cx=\"24\" cy=\"30\" r=\"5\" />\n <circle cx=\"40\" cy=\"30\" r=\"5\" />\n <line x1=\"29\" y1=\"30\" x2=\"35\" y2=\"30\" />\n <line x1=\"19\" y1=\"30\" x2=\"14\" y2=\"28\" />\n <line x1=\"45\" y1=\"30\" x2=\"50\" y2=\"28\" />\n </g>\n );\n case 3: // Square glasses\n return (\n <g fill=\"none\" stroke={col} strokeWidth=\"1\">\n <rect x=\"19\" y=\"26\" width=\"10\" height=\"8\" rx=\"1\" />\n <rect x=\"35\" y=\"26\" width=\"10\" height=\"8\" rx=\"1\" />\n <line x1=\"29\" y1=\"30\" x2=\"35\" y2=\"30\" />\n <line x1=\"19\" y1=\"30\" x2=\"14\" y2=\"28\" />\n <line x1=\"45\" y1=\"30\" x2=\"50\" y2=\"28\" />\n </g>\n );\n case 4: // Earring\n return (\n <circle cx=\"11\" cy=\"36\" r=\"2\" fill={col} stroke={col} strokeWidth=\"0.5\" />\n );\n case 5: // Bandana\n return (\n <g>\n <rect x=\"12\" y=\"20\" width=\"40\" height=\"4\" rx=\"1\" fill={col} />\n <path d=\"M12 22 L8 26 L12 24 Z\" fill={col} />\n </g>\n );\n default:\n return null;\n }\n}\n\n// ─── Main Component ─────────────────────────────\n\nexport function SolFace({\n walletAddress,\n size = 64,\n enableBlink = false,\n theme,\n traitOverrides,\n colorOverrides,\n className,\n style,\n ...rest\n}: SolFaceProps) {\n const traits = useMemo(\n () => generateTraits(walletAddress, traitOverrides),\n [walletAddress, traitOverrides]\n );\n\n const skinColors = theme?.skinColors ?? SKIN_COLORS;\n const eyeColors = theme?.eyeColors ?? EYE_COLORS;\n const hairColors = theme?.hairColors ?? HAIR_COLORS;\n const bgColors = theme?.bgColors ?? BG_COLORS;\n\n const skin = colorOverrides?.skin ?? skinColors[traits.skinColor % skinColors.length];\n const eyeCol = colorOverrides?.eyes ?? eyeColors[traits.eyeColor % eyeColors.length];\n const hairCol = colorOverrides?.hair ?? hairColors[traits.hairColor % hairColors.length];\n const bgCol = colorOverrides?.bg ?? bgColors[traits.bgColor % bgColors.length];\n\n const bgOpacity = theme?.bgOpacity ?? 0.15;\n const bgRadius = theme?.bgRadius ?? 4;\n const mouthCol = colorOverrides?.mouth ?? theme?.mouthColor ?? \"#c05050\";\n const browCol = colorOverrides?.eyebrow ?? theme?.eyebrowColor ?? \"#2a2020\";\n const accCol = colorOverrides?.accessory ?? theme?.accessoryColor ?? \"#444\";\n const eyeWhite = colorOverrides?.eyeWhite ?? theme?.eyeWhiteColor ?? \"white\";\n const noseCol = colorOverrides?.nose ?? theme?.noseColor;\n\n const uid = useMemo(() => `sf-${walletAddress.slice(0, 8)}`, [walletAddress]);\n\n const blinkEnabled = !!enableBlink;\n const blinkDuration = typeof enableBlink === \"object\" ? (enableBlink.duration ?? 4) : 4;\n const blinkDelay = typeof enableBlink === \"object\" ? (enableBlink.delay ?? 0) : 0;\n const delayStr = blinkDelay ? ` ${blinkDelay}s` : \"\";\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 64 64\"\n width={size}\n height={size}\n className={className}\n style={{ display: \"block\", ...style }}\n {...rest}\n >\n {blinkEnabled && (\n <style>{`\n @keyframes ${uid}-blink {\n 0%, 90%, 100% { transform: scaleY(1); }\n 95% { transform: scaleY(0.1); }\n }\n .${uid}-eyes {\n animation: ${uid}-blink ${blinkDuration}s ease-in-out${delayStr} infinite;\n transform-origin: 32px 30px;\n }\n `}</style>\n )}\n\n <rect x=\"0\" y=\"0\" width=\"64\" height=\"64\" fill={bgCol} opacity={bgOpacity} rx={bgRadius} />\n\n {renderHair(traits, hairCol)}\n {renderFace(traits, skin)}\n <g className={blinkEnabled ? `${uid}-eyes` : undefined}>\n {renderEyes(traits, eyeCol, eyeWhite)}\n </g>\n {renderEyebrows(traits, browCol)}\n {renderNose(traits, skin, noseCol)}\n {renderMouth(traits, mouthCol, eyeWhite)}\n {renderAccessory(traits, accCol)}\n\n {theme?.border && (\n <rect\n x=\"0\" y=\"0\" width=\"64\" height=\"64\"\n fill=\"none\"\n stroke={theme.border.color}\n strokeWidth={theme.border.width}\n rx={bgRadius}\n />\n )}\n </svg>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/react/SolFace.tsx","../../src/react/useSolName.ts"],"names":["jsx","jsxs","Fragment","buzzOpacity","useMemo","generateTraits","SKIN_COLORS","EYE_COLORS","HAIR_COLORS","BG_COLORS","deriveSkinColors","blend","effectiveAccessory","renderSolFaceSVG","lighten","darken","deriveName","deriveIdentity"],"mappings":"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","file":"index.cjs","sourcesContent":["\"use client\";\n\n// ═══════════════════════════════════════════════════════════════\n// SOLFACES v2 — React Component\n// Gradient-rich SVG avatar with pixel art and liquid glass modes.\n// ═══════════════════════════════════════════════════════════════\n\nimport { useMemo, type SVGAttributes, type CSSProperties } from \"react\";\nimport {\n generateTraits,\n effectiveAccessory,\n SKIN_COLORS,\n EYE_COLORS,\n HAIR_COLORS,\n BG_COLORS,\n type SolFaceTraits,\n type SolFaceTheme,\n} from \"../core/traits\";\nimport { deriveSkinColors, darken, lighten, blend, buzzOpacity } from \"../core/colors\";\nimport { renderSolFaceSVG } from \"../core/renderer\";\nimport { deriveName } from \"../names\";\nimport type { NameFormat } from \"../names\";\n\nexport interface SolFaceProps extends Omit<SVGAttributes<SVGSVGElement>, \"viewBox\" | \"xmlns\"> {\n walletAddress: string;\n size?: number;\n enableBlink?: boolean | {\n duration?: number;\n delay?: number;\n };\n theme?: SolFaceTheme;\n traitOverrides?: Partial<SolFaceTraits>;\n detail?: \"full\" | \"simplified\" | \"auto\";\n colorOverrides?: {\n skin?: string;\n eyes?: string;\n hair?: string;\n bg?: string;\n mouth?: string;\n eyebrow?: string;\n accessory?: string;\n nose?: string;\n eyeWhite?: string;\n };\n showName?: boolean;\n namePosition?: \"below\" | \"above\";\n nameFormat?: NameFormat;\n}\n\n// ─── Helpers ────────────────────────────────────\n\nfunction djb2(str: string): number {\n let hash = 5381;\n for (let i = 0; i < str.length; i++) {\n hash = ((hash << 5) + hash + str.charCodeAt(i)) | 0;\n }\n return hash >>> 0;\n}\n\n// ─── Hair Back (behind face) ────────────────────\n\nfunction HairBack({ hi, id, flat }: { hi: number; id: string; flat: boolean }) {\n const fill = flat ? \"currentColor\" : `url(#${id}hg)`;\n switch (hi) {\n case 5: return <rect x=\"10\" y=\"14\" width=\"44\" height=\"42\" rx=\"6\" fill={fill} />;\n case 6: return <rect x=\"12\" y=\"14\" width=\"40\" height=\"32\" rx=\"8\" fill={fill} />;\n case 8: return <rect x=\"11\" y=\"14\" width=\"42\" height=\"38\" rx=\"8\" fill={fill} />;\n default: return null;\n }\n}\n\n// ─── Ears ───────────────────────────────────────\n\nfunction Ears({ earFill, earShadow }: { earFill: string; earShadow: string }) {\n return (\n <>\n <ellipse cx=\"11\" cy=\"34\" rx=\"4\" ry=\"5\" fill={earFill} />\n <ellipse cx=\"11\" cy=\"34\" rx=\"2.5\" ry=\"3.5\" fill={earShadow} opacity=\"0.3\" />\n <ellipse cx=\"53\" cy=\"34\" rx=\"4\" ry=\"5\" fill={earFill} />\n <ellipse cx=\"53\" cy=\"34\" rx=\"2.5\" ry=\"3.5\" fill={earShadow} opacity=\"0.3\" />\n </>\n );\n}\n\n// ─── Face Overlays ──────────────────────────────\n\nfunction FaceOverlays({ id }: { id: string }) {\n return (\n <>\n <rect x=\"14\" y=\"16\" width=\"36\" height=\"38\" rx=\"12\" ry=\"12\" fill={`url(#${id}glow)`} />\n <rect x=\"14\" y=\"16\" width=\"36\" height=\"38\" rx=\"12\" ry=\"12\" fill={`url(#${id}chin)`} />\n <ellipse cx=\"22\" cy=\"42\" rx=\"5\" ry=\"3.5\" fill={`url(#${id}cL)`} />\n <ellipse cx=\"42\" cy=\"42\" rx=\"5\" ry=\"3.5\" fill={`url(#${id}cR)`} />\n <line x1=\"20\" y1=\"50\" x2=\"44\" y2=\"50\" stroke=\"currentColor\" strokeWidth=\"0.3\" opacity=\"0.08\" strokeLinecap=\"round\" />\n </>\n );\n}\n\n// ─── Hair Front ─────────────────────────────────\n\nfunction HairFront({ hi, id, hairCol, skin, flat }: { hi: number; id: string; hairCol: string; skin: string; flat: boolean }) {\n const fill = flat ? hairCol : `url(#${id}hg)`;\n switch (hi) {\n case 0: return null;\n case 1: return <path d=\"M14 28 Q14 14 32 12 Q50 14 50 28 L50 22 Q50 12 32 10 Q14 12 14 22 Z\" fill={fill} />;\n case 2:\n return (\n <g fill={fill}>\n <circle cx=\"20\" cy=\"14\" r=\"5\" />\n <circle cx=\"28\" cy=\"11\" r=\"5.5\" />\n <circle cx=\"36\" cy=\"11\" r=\"5.5\" />\n <circle cx=\"44\" cy=\"14\" r=\"5\" />\n <circle cx=\"16\" cy=\"20\" r=\"4\" />\n <circle cx=\"48\" cy=\"20\" r=\"4\" />\n </g>\n );\n case 3:\n return (\n <g fill={fill}>\n <path d=\"M14 26 Q14 12 32 10 Q50 12 50 26 L50 20 Q50 10 32 8 Q14 10 14 20 Z\" />\n <path d=\"M14 20 Q8 16 10 8 Q14 10 20 16 Z\" />\n </g>\n );\n case 4: return <ellipse cx=\"32\" cy=\"10\" rx=\"14\" ry=\"8\" fill={fill} />;\n case 5: return <path d=\"M14 28 Q14 12 32 10 Q50 12 50 28 L50 20 Q50 10 32 8 Q14 10 14 20 Z\" fill={fill} />;\n case 6:\n return (\n <g fill={fill}>\n <path d=\"M14 28 Q14 12 32 10 Q50 12 50 28 L50 20 Q50 10 32 8 Q14 10 14 20 Z\" />\n <rect x=\"10\" y=\"28\" width=\"8\" height=\"14\" rx=\"4\" />\n <rect x=\"46\" y=\"28\" width=\"8\" height=\"14\" rx=\"4\" />\n </g>\n );\n case 7: {\n const bOp = buzzOpacity(hairCol, skin);\n return <rect x=\"15\" y=\"13\" width=\"34\" height=\"16\" rx=\"10\" ry=\"8\" fill={hairCol} opacity={bOp} />;\n }\n case 8:\n return (\n <g>\n <path d=\"M14 28 Q14 12 32 10 Q50 12 50 28 L50 20 Q50 10 32 8 Q14 10 14 20 Z\" fill={fill} />\n <path d=\"M12 30 Q10 20 14 16\" fill=\"none\" stroke={fill} strokeWidth=\"4\" strokeLinecap=\"round\" />\n <path d=\"M52 30 Q54 20 50 16\" fill=\"none\" stroke={fill} strokeWidth=\"4\" strokeLinecap=\"round\" />\n </g>\n );\n case 9:\n return (\n <g fill={fill}>\n <path d=\"M14 28 Q14 14 32 12 Q50 14 50 28 L50 22 Q50 12 32 10 Q14 12 14 22 Z\" />\n <ellipse cx=\"32\" cy=\"6\" rx=\"6\" ry=\"5\" />\n </g>\n );\n default: return null;\n }\n}\n\n// ─── Eyes ───────────────────────────────────────\n\nfunction Eyes({ ei, eyeCol, eyeWhite, lidColor, full }: { ei: number; eyeCol: string; eyeWhite: string; lidColor: string; full: boolean }) {\n const lx = 25, rx = 39, y = 33;\n\n const lids = full && ei !== 1 && ei !== 5 ? (\n <>\n <path d={`M${lx - 4} ${y - 1.5} Q${lx} ${y - 4} ${lx + 4} ${y - 1.5}`} fill=\"none\" stroke={lidColor} strokeWidth=\"0.5\" opacity=\"0.4\" />\n <path d={`M${rx - 4} ${y - 1.5} Q${rx} ${y - 4} ${rx + 4} ${y - 1.5}`} fill=\"none\" stroke={lidColor} strokeWidth=\"0.5\" opacity=\"0.4\" />\n </>\n ) : null;\n\n switch (ei) {\n case 0:\n return (\n <>\n <circle cx={lx} cy={y} r=\"4\" fill={eyeWhite} />\n <circle cx={lx + 0.8} cy={y} r=\"2.2\" fill={eyeCol} />\n {full && <circle cx={lx + 1.5} cy={y - 1} r=\"0.7\" fill=\"white\" opacity=\"0.8\" />}\n <circle cx={rx} cy={y} r=\"4\" fill={eyeWhite} />\n <circle cx={rx + 0.8} cy={y} r=\"2.2\" fill={eyeCol} />\n {full && <circle cx={rx + 1.5} cy={y - 1} r=\"0.7\" fill=\"white\" opacity=\"0.8\" />}\n {lids}\n </>\n );\n case 1:\n return (\n <>\n <circle cx={lx} cy={y} r=\"2\" fill={eyeCol} />\n <circle cx={rx} cy={y} r=\"2\" fill={eyeCol} />\n </>\n );\n case 2:\n return (\n <>\n <ellipse cx={lx} cy={y} rx=\"4.5\" ry=\"2.8\" fill={eyeWhite} />\n <circle cx={lx + 0.5} cy={y} r=\"1.8\" fill={eyeCol} />\n {full && <circle cx={lx + 1.2} cy={y - 0.8} r=\"0.6\" fill=\"white\" opacity=\"0.7\" />}\n <ellipse cx={rx} cy={y} rx=\"4.5\" ry=\"2.8\" fill={eyeWhite} />\n <circle cx={rx + 0.5} cy={y} r=\"1.8\" fill={eyeCol} />\n {full && <circle cx={rx + 1.2} cy={y - 0.8} r=\"0.6\" fill=\"white\" opacity=\"0.7\" />}\n {lids}\n </>\n );\n case 3:\n return (\n <>\n <circle cx={lx} cy={y} r=\"5\" fill={eyeWhite} />\n <circle cx={lx} cy={y + 0.5} r=\"2.8\" fill={eyeCol} />\n {full && <circle cx={lx + 1.5} cy={y - 1} r=\"0.8\" fill=\"white\" opacity=\"0.8\" />}\n <circle cx={rx} cy={y} r=\"5\" fill={eyeWhite} />\n <circle cx={rx} cy={y + 0.5} r=\"2.8\" fill={eyeCol} />\n {full && <circle cx={rx + 1.5} cy={y - 1} r=\"0.8\" fill=\"white\" opacity=\"0.8\" />}\n {lids}\n </>\n );\n case 4:\n return (\n <>\n <ellipse cx={lx} cy={y + 1} rx=\"4\" ry=\"2.2\" fill={eyeWhite} />\n <circle cx={lx} cy={y + 1} r=\"1.5\" fill={eyeCol} />\n {full && <line x1={lx - 4.5} y1={y - 0.5} x2={lx + 4.5} y2={y - 0.5} stroke={lidColor} strokeWidth=\"0.8\" strokeLinecap=\"round\" />}\n <ellipse cx={rx} cy={y + 1} rx=\"4\" ry=\"2.2\" fill={eyeWhite} />\n <circle cx={rx} cy={y + 1} r=\"1.5\" fill={eyeCol} />\n {full && <line x1={rx - 4.5} y1={y - 0.5} x2={rx + 4.5} y2={y - 0.5} stroke={lidColor} strokeWidth=\"0.8\" strokeLinecap=\"round\" />}\n {lids}\n </>\n );\n case 5:\n return (\n <>\n <path d={`M${lx - 4} ${y} Q${lx} ${y + 4} ${lx + 4} ${y}`} fill=\"none\" stroke={eyeCol} strokeWidth=\"1.8\" strokeLinecap=\"round\" />\n <path d={`M${rx - 4} ${y} Q${rx} ${y + 4} ${rx + 4} ${y}`} fill=\"none\" stroke={eyeCol} strokeWidth=\"1.8\" strokeLinecap=\"round\" />\n </>\n );\n case 6:\n return (\n <>\n <circle cx={lx} cy={y} r=\"3.5\" fill={eyeWhite} />\n <circle cx={lx + 0.5} cy={y} r=\"2\" fill={eyeCol} />\n <circle cx={lx + 1.5} cy={y - 1} r=\"1\" fill=\"white\" opacity=\"0.9\" />\n {full && (\n <>\n <line x1={lx + 2.5} y1={y - 3.5} x2={lx + 4} y2={y - 5} stroke={eyeCol} strokeWidth=\"0.8\" strokeLinecap=\"round\" />\n <line x1={lx + 3.5} y1={y - 2.5} x2={lx + 5} y2={y - 3.5} stroke={eyeCol} strokeWidth=\"0.8\" strokeLinecap=\"round\" />\n </>\n )}\n <circle cx={rx} cy={y} r=\"3.5\" fill={eyeWhite} />\n <circle cx={rx + 0.5} cy={y} r=\"2\" fill={eyeCol} />\n <circle cx={rx + 1.5} cy={y - 1} r=\"1\" fill=\"white\" opacity=\"0.9\" />\n {full && (\n <>\n <line x1={rx + 2.5} y1={y - 3.5} x2={rx + 4} y2={y - 5} stroke={eyeCol} strokeWidth=\"0.8\" strokeLinecap=\"round\" />\n <line x1={rx + 3.5} y1={y - 2.5} x2={rx + 5} y2={y - 3.5} stroke={eyeCol} strokeWidth=\"0.8\" strokeLinecap=\"round\" />\n </>\n )}\n {lids}\n </>\n );\n case 7:\n return (\n <>\n <ellipse cx={lx} cy={y} rx=\"4.5\" ry=\"1.5\" fill={eyeWhite} />\n <ellipse cx={lx + 0.5} cy={y} rx=\"2.2\" ry=\"1.2\" fill={eyeCol} />\n <ellipse cx={rx} cy={y} rx=\"4.5\" ry=\"1.5\" fill={eyeWhite} />\n <ellipse cx={rx + 0.5} cy={y} rx=\"2.2\" ry=\"1.2\" fill={eyeCol} />\n {lids}\n </>\n );\n default:\n return (\n <>\n <circle cx={lx} cy={y} r=\"3.5\" fill={eyeWhite} />\n <circle cx={lx + 0.8} cy={y} r=\"2\" fill={eyeCol} />\n <circle cx={rx} cy={y} r=\"3.5\" fill={eyeWhite} />\n <circle cx={rx + 0.8} cy={y} r=\"2\" fill={eyeCol} />\n {lids}\n </>\n );\n }\n}\n\n// ─── Eyebrows ───────────────────────────────────\n\nfunction Eyebrows({ bi, browColor }: { bi: number; browColor: string }) {\n const lx = 25, rx = 39, y = 27;\n switch (bi) {\n case 0:\n return (\n <>\n <line x1={lx - 3} y1={y} x2={lx + 3} y2={y - 0.5} stroke={browColor} strokeWidth=\"0.7\" strokeLinecap=\"round\" />\n <line x1={rx - 3} y1={y - 0.5} x2={rx + 3} y2={y} stroke={browColor} strokeWidth=\"0.7\" strokeLinecap=\"round\" />\n </>\n );\n case 1:\n return (\n <>\n <line x1={lx - 3.5} y1={y} x2={lx + 3.5} y2={y} stroke={browColor} strokeWidth=\"1.2\" strokeLinecap=\"round\" />\n <line x1={rx - 3.5} y1={y} x2={rx + 3.5} y2={y} stroke={browColor} strokeWidth=\"1.2\" strokeLinecap=\"round\" />\n </>\n );\n case 2:\n return (\n <>\n <path d={`M${lx - 3.5} ${y + 0.5} Q${lx} ${y - 1.5} ${lx + 3.5} ${y + 0.5}`} fill=\"none\" stroke={browColor} strokeWidth=\"1.2\" strokeLinecap=\"round\" />\n <path d={`M${rx - 3.5} ${y + 0.5} Q${rx} ${y - 1.5} ${rx + 3.5} ${y + 0.5}`} fill=\"none\" stroke={browColor} strokeWidth=\"1.2\" strokeLinecap=\"round\" />\n </>\n );\n case 3:\n return (\n <>\n <path d={`M${lx - 4} ${y + 1} Q${lx} ${y - 3} ${lx + 4} ${y + 1}`} fill=\"none\" stroke={browColor} strokeWidth=\"1\" strokeLinecap=\"round\" />\n <path d={`M${rx - 4} ${y + 1} Q${rx} ${y - 3} ${rx + 4} ${y + 1}`} fill=\"none\" stroke={browColor} strokeWidth=\"1\" strokeLinecap=\"round\" />\n </>\n );\n case 4:\n return (\n <>\n <polyline points={`${lx - 3},${y + 1} ${lx},${y - 2} ${lx + 3},${y}`} fill=\"none\" stroke={browColor} strokeWidth=\"1.2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <polyline points={`${rx - 3},${y} ${rx},${y - 2} ${rx + 3},${y + 1}`} fill=\"none\" stroke={browColor} strokeWidth=\"1.2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </>\n );\n default: return null;\n }\n}\n\n// ─── Nose ───────────────────────────────────────\n\nfunction Nose({ ni, noseFill }: { ni: number; noseFill: string }) {\n const cx = 32, y = 39;\n switch (ni) {\n case 0: return <ellipse cx={cx} cy={y} rx=\"2\" ry=\"1.2\" fill={noseFill} opacity=\"0.35\" />;\n case 1: return <circle cx={cx} cy={y} r=\"1.8\" fill={noseFill} opacity=\"0.5\" />;\n case 2: return <path d={`M${cx - 2} ${y + 1} Q${cx} ${y - 2} ${cx + 2} ${y + 1}`} fill=\"none\" stroke={noseFill} strokeWidth=\"1\" strokeLinecap=\"round\" opacity=\"0.5\" />;\n case 3:\n return (\n <>\n <circle cx={cx - 1.8} cy={y} r=\"1.2\" fill={noseFill} opacity=\"0.4\" />\n <circle cx={cx + 1.8} cy={y} r=\"1.2\" fill={noseFill} opacity=\"0.4\" />\n </>\n );\n default: return <ellipse cx={cx} cy={y} rx=\"2\" ry=\"1.2\" fill={noseFill} opacity=\"0.35\" />;\n }\n}\n\n// ─── Mouth ──────────────────────────────────────\n\nfunction Mouth({ mi, lipColor, isDark }: { mi: number; lipColor: string; isDark: boolean }) {\n const cx = 32, y = 45;\n const teethCol = isDark ? \"#e8e0d8\" : \"#ffffff\";\n switch (mi) {\n case 0: return <path d={`M${cx - 4} ${y} Q${cx} ${y + 4} ${cx + 4} ${y}`} fill=\"none\" stroke={lipColor} strokeWidth=\"1.4\" strokeLinecap=\"round\" />;\n case 1: return <line x1={cx - 3} y1={y + 1} x2={cx + 3} y2={y + 1} stroke={lipColor} strokeWidth=\"1.2\" strokeLinecap=\"round\" />;\n case 2: return <path d={`M${cx - 5} ${y} Q${cx} ${y + 5} ${cx + 5} ${y}`} fill=\"none\" stroke={lipColor} strokeWidth=\"1.5\" strokeLinecap=\"round\" />;\n case 3: return <ellipse cx={cx} cy={y + 1} rx=\"2.5\" ry=\"3\" fill={lipColor} opacity=\"0.7\" />;\n case 4: return <path d={`M${cx - 4} ${y + 1} Q${cx + 1} ${y + 1} ${cx + 4} ${y - 1.5}`} fill=\"none\" stroke={lipColor} strokeWidth=\"1.3\" strokeLinecap=\"round\" />;\n case 5:\n return (\n <>\n <path d={`M${cx - 5} ${y} Q${cx} ${y + 6} ${cx + 5} ${y}`} fill={teethCol} stroke={lipColor} strokeWidth=\"1\" />\n <line x1={cx - 4} y1={y + 1.5} x2={cx + 4} y2={y + 1.5} stroke={lipColor} strokeWidth=\"0.3\" opacity=\"0.3\" />\n </>\n );\n case 6: return <line x1={cx - 4} y1={y + 1} x2={cx + 4} y2={y + 1} stroke={lipColor} strokeWidth=\"1.5\" strokeLinecap=\"round\" />;\n case 7:\n return (\n <>\n <ellipse cx={cx} cy={y + 1} rx=\"3.5\" ry=\"2\" fill={lipColor} opacity=\"0.25\" />\n <path d={`M${cx - 3} ${y} Q${cx} ${y + 2.5} ${cx + 3} ${y}`} fill=\"none\" stroke={lipColor} strokeWidth=\"1.2\" strokeLinecap=\"round\" />\n </>\n );\n default: return <path d={`M${cx - 4} ${y} Q${cx} ${y + 4} ${cx + 4} ${y}`} fill=\"none\" stroke={lipColor} strokeWidth=\"1.4\" strokeLinecap=\"round\" />;\n }\n}\n\n// ─── Accessory ──────────────────────────────────\n\nfunction Accessory({ ai, glassesColor, earringColor, headbandColor }: {\n ai: number; glassesColor: string; earringColor: string; headbandColor: string;\n}) {\n switch (ai) {\n case 0: return null;\n case 1: return <circle cx=\"40\" cy=\"44\" r=\"0.8\" fill=\"#3a2a2a\" />;\n case 2:\n return (\n <g fill=\"none\" stroke={glassesColor} strokeWidth=\"1\">\n <circle cx=\"25\" cy=\"33\" r=\"5.5\" />\n <circle cx=\"39\" cy=\"33\" r=\"5.5\" />\n <line x1=\"30.5\" y1=\"33\" x2=\"33.5\" y2=\"33\" />\n <line x1=\"19.5\" y1=\"33\" x2=\"14\" y2=\"31\" />\n <line x1=\"44.5\" y1=\"33\" x2=\"50\" y2=\"31\" />\n </g>\n );\n case 3:\n return (\n <g fill=\"none\" stroke={glassesColor} strokeWidth=\"1\">\n <rect x=\"19\" y=\"29\" width=\"12\" height=\"8\" rx=\"1.5\" />\n <rect x=\"33\" y=\"29\" width=\"12\" height=\"8\" rx=\"1.5\" />\n <line x1=\"31\" y1=\"33\" x2=\"33\" y2=\"33\" />\n <line x1=\"19\" y1=\"33\" x2=\"14\" y2=\"31\" />\n <line x1=\"45\" y1=\"33\" x2=\"50\" y2=\"31\" />\n </g>\n );\n case 4:\n return (\n <>\n <circle cx=\"10\" cy=\"38\" r=\"1.5\" fill={earringColor} />\n <circle cx=\"10\" cy=\"41\" r=\"2\" fill={earringColor} opacity=\"0.8\" />\n </>\n );\n case 5:\n return <rect x=\"13\" y=\"20\" width=\"38\" height=\"3.5\" rx=\"1.5\" fill={headbandColor} opacity=\"0.85\" />;\n case 6:\n return (\n <g fill=\"#a0785a\" opacity=\"0.35\">\n <circle cx=\"21\" cy=\"40\" r=\"0.6\" />\n <circle cx=\"23\" cy=\"42\" r=\"0.5\" />\n <circle cx=\"19\" cy=\"41.5\" r=\"0.5\" />\n <circle cx=\"43\" cy=\"40\" r=\"0.6\" />\n <circle cx=\"41\" cy=\"42\" r=\"0.5\" />\n <circle cx=\"45\" cy=\"41.5\" r=\"0.5\" />\n </g>\n );\n case 7:\n return (\n <>\n <circle cx=\"10\" cy=\"37\" r=\"1.2\" fill={earringColor} />\n <circle cx=\"54\" cy=\"37\" r=\"1.2\" fill={earringColor} />\n </>\n );\n case 8:\n return (\n <g fill=\"none\" stroke={glassesColor} strokeWidth=\"1.2\">\n <path d=\"M19 30 Q19 28 25 28 Q31 28 31 33 Q31 38 25 38 Q19 38 19 33 Z\" fill={glassesColor} fillOpacity=\"0.15\" />\n <path d=\"M33 30 Q33 28 39 28 Q45 28 45 33 Q45 38 39 38 Q33 38 33 33 Z\" fill={glassesColor} fillOpacity=\"0.15\" />\n <line x1=\"31\" y1=\"32\" x2=\"33\" y2=\"32\" />\n <line x1=\"19\" y1=\"31\" x2=\"14\" y2=\"29\" />\n <line x1=\"45\" y1=\"31\" x2=\"50\" y2=\"29\" />\n </g>\n );\n case 9:\n return (\n <g>\n <rect x=\"38\" y=\"38\" width=\"8\" height=\"4\" rx=\"1\" fill=\"#f0d0a0\" transform=\"rotate(-15 42 40)\" />\n <line x1=\"40\" y1=\"39\" x2=\"40\" y2=\"41\" stroke=\"#c0a080\" strokeWidth=\"0.4\" transform=\"rotate(-15 42 40)\" />\n <line x1=\"42\" y1=\"39\" x2=\"42\" y2=\"41\" stroke=\"#c0a080\" strokeWidth=\"0.4\" transform=\"rotate(-15 42 40)\" />\n <line x1=\"44\" y1=\"39\" x2=\"44\" y2=\"41\" stroke=\"#c0a080\" strokeWidth=\"0.4\" transform=\"rotate(-15 42 40)\" />\n </g>\n );\n default: return null;\n }\n}\n\n// ─── Pixel Art Wrapper ──────────────────────────\n\nfunction PixelWrapper({ svgString, size, theme }: { svgString: string; size: number; theme: SolFaceTheme }) {\n const density = theme._pixelDensity ?? 16;\n const rounded = theme._pixelRounded ?? true;\n const outline = theme._pixelOutline ?? false;\n const outlineColor = theme._pixelOutlineColor ?? \"#000\";\n const outlineWidth = theme._pixelOutlineWidth ?? 1;\n const scanlines = theme._pixelScanlines ?? false;\n const scanlineOpacity = theme._pixelScanlineOpacity ?? 0.08;\n const scanlineSpacing = theme._pixelScanlineSpacing ?? 2;\n const grid = theme._pixelGrid ?? false;\n const gridOpacity = theme._pixelGridOpacity ?? 0.06;\n const gridColor = theme._pixelGridColor ?? \"#000\";\n const shadow = theme._pixelShadow ?? false;\n const shadowColor = theme._pixelShadowColor ?? \"rgba(0,0,0,0.3)\";\n const shadowOffset = theme._pixelShadowOffset ?? 2;\n const contrast = theme._pixelContrast;\n const saturation = theme._pixelSaturation;\n const brightness = theme._pixelBrightness;\n\n const dataUri = `data:image/svg+xml;charset=utf-8,${encodeURIComponent(svgString)}`;\n\n // Build CSS filter string\n const filters: string[] = [];\n if (shadow) filters.push(`drop-shadow(${shadowOffset}px ${shadowOffset}px 0px ${shadowColor})`);\n if (contrast !== undefined) filters.push(`contrast(${contrast})`);\n if (saturation !== undefined) filters.push(`saturate(${saturation})`);\n if (brightness !== undefined) filters.push(`brightness(${brightness})`);\n\n const containerStyle: CSSProperties = {\n position: \"relative\",\n width: size,\n height: size,\n display: \"inline-block\",\n ...(filters.length ? { filter: filters.join(\" \") } : {}),\n };\n\n const imgStyle: CSSProperties = {\n width: size,\n height: size,\n imageRendering: \"pixelated\",\n borderRadius: rounded ? \"12%\" : 0,\n display: \"block\",\n border: outline ? `${outlineWidth}px solid ${outlineColor}` : \"none\",\n };\n\n return (\n <div style={containerStyle}>\n <img src={dataUri} width={density} height={density} style={imgStyle} alt=\"\" />\n {scanlines && (\n <div style={{\n position: \"absolute\", inset: 0,\n background: `repeating-linear-gradient(0deg, transparent, transparent ${scanlineSpacing}px, rgba(0,0,0,${scanlineOpacity}) ${scanlineSpacing}px, rgba(0,0,0,${scanlineOpacity}) ${scanlineSpacing + 1}px)`,\n pointerEvents: \"none\",\n borderRadius: rounded ? \"12%\" : 0,\n }} />\n )}\n {grid && (\n <div style={{\n position: \"absolute\", inset: 0,\n backgroundSize: `${size / density}px ${size / density}px`,\n backgroundImage: `linear-gradient(${gridColor} ${gridOpacity}, transparent ${gridOpacity}), linear-gradient(90deg, ${gridColor} ${gridOpacity}, transparent ${gridOpacity})`,\n pointerEvents: \"none\",\n borderRadius: rounded ? \"12%\" : 0,\n }} />\n )}\n </div>\n );\n}\n\n// ─── Liquid Glass Wrapper ───────────────────────\n\nfunction GlassWrapper({ children, size, theme }: { children: React.ReactNode; size: number; theme: SolFaceTheme }) {\n const blurRadius = theme._blurRadius ?? 12;\n const saturate = theme._saturate ?? 1.8;\n const tintOpacity = theme._tintOpacity ?? 0.12;\n const tintColor = theme._tintColor ?? \"rgba(255,255,255,1)\";\n const borderOpacity = theme._borderOpacity ?? 0.25;\n const borderWidth = theme._borderWidth ?? 1;\n const borderColor = theme._borderColor ?? `rgba(255,255,255,${borderOpacity})`;\n const specularOpacity = theme._specularOpacity ?? 0.25;\n const specularColor = theme._specularColor ?? \"rgba(255,255,255,1)\";\n const specularEnd = theme._specularEnd ?? 50;\n const lightAngle = theme._lightAngle ?? 135;\n const rimIntensity = theme._rimIntensity ?? 0.08;\n const shadowStr = theme._shadow ?? \"0 8px 32px rgba(0,0,0,0.12)\";\n\n const bgRadius = theme.bgRadius ?? 16;\n\n const containerStyle: CSSProperties = {\n position: \"relative\",\n width: size,\n height: size,\n display: \"inline-block\",\n borderRadius: bgRadius,\n overflow: \"hidden\",\n backdropFilter: `blur(${blurRadius}px) saturate(${saturate})`,\n WebkitBackdropFilter: `blur(${blurRadius}px) saturate(${saturate})`,\n border: `${borderWidth}px solid ${borderColor}`,\n boxShadow: shadowStr,\n };\n\n return (\n <div style={containerStyle}>\n <div style={{\n position: \"absolute\", inset: 0,\n backgroundColor: tintColor, opacity: tintOpacity,\n borderRadius: bgRadius, pointerEvents: \"none\",\n }} />\n <div style={{ position: \"relative\", zIndex: 1 }}>\n {children}\n </div>\n <div style={{\n position: \"absolute\", inset: 0,\n background: `linear-gradient(${lightAngle}deg, ${specularColor.replace(\"1)\", `${specularOpacity})`)} 0%, transparent ${specularEnd}%)`,\n borderRadius: bgRadius, pointerEvents: \"none\",\n }} />\n <div style={{\n position: \"absolute\", inset: 0,\n borderRadius: bgRadius,\n boxShadow: `inset 0 0 0 1px rgba(255,255,255,${rimIntensity})`,\n pointerEvents: \"none\",\n }} />\n </div>\n );\n}\n\n// ─── Main Component ─────────────────────────────\n\nexport function SolFace({\n walletAddress,\n size = 64,\n enableBlink = false,\n theme,\n traitOverrides,\n colorOverrides,\n detail: detailProp,\n showName = false,\n namePosition = \"below\",\n nameFormat = \"display\",\n className,\n style,\n ...rest\n}: SolFaceProps) {\n const traits = useMemo(\n () => generateTraits(walletAddress, traitOverrides),\n [walletAddress, traitOverrides],\n );\n\n const detailOpt = detailProp ?? \"auto\";\n const full = detailOpt === \"full\" || (detailOpt === \"auto\" && size >= 48);\n const flat = theme?.flat ?? false;\n\n const skinColors = theme?.skinColors ?? SKIN_COLORS;\n const eyeColors = theme?.eyeColors ?? EYE_COLORS;\n const hairColors = theme?.hairColors ?? HAIR_COLORS;\n const bgColors = theme?.bgColors ?? BG_COLORS;\n\n const skin = colorOverrides?.skin ?? skinColors[traits.skinColor % skinColors.length];\n const eyeCol = colorOverrides?.eyes ?? eyeColors[traits.eyeColor % eyeColors.length];\n const hairCol = colorOverrides?.hair ?? hairColors[traits.hairColor % hairColors.length];\n const bgCol = colorOverrides?.bg ?? bgColors[traits.bgColor % bgColors.length];\n\n const derived = useMemo(() => deriveSkinColors(skin), [skin]);\n\n const bgOpacity = theme?.bgOpacity ?? 1;\n const bgRadius = theme?.bgRadius ?? 4;\n const browColor = colorOverrides?.eyebrow ?? theme?.eyebrowColor ?? derived.browColor;\n const noseFill = colorOverrides?.nose ?? theme?.noseColor ?? derived.noseFill;\n const lipColor = colorOverrides?.mouth ?? theme?.mouthColor ?? derived.lipColor;\n const eyeWhite = colorOverrides?.eyeWhite ?? theme?.eyeWhiteColor ?? derived.eyeWhiteAdapted;\n const glassesColor = theme?.glassesColor ?? \"#4a4a5a\";\n const earringColor = theme?.earringColor ?? blend(skin, \"#d4a840\", 0.4);\n const headbandColor = theme?.headbandColor ?? blend(hairCol, \"#c04040\", 0.5);\n\n const id = useMemo(() => \"sf\" + djb2(walletAddress).toString(36), [walletAddress]);\n\n const cheekEnabled = theme?.cheekEnabled ?? true;\n const cheekColor = theme?.cheekColor ?? derived.cheekColor;\n const cheekOpacity = theme?.cheekOpacity ?? derived.cheekOpacity;\n\n const hi = traits.hairStyle % 10;\n const ai = effectiveAccessory(traits);\n\n const blinkEnabled = !!enableBlink;\n const blinkDuration = typeof enableBlink === \"object\" ? (enableBlink.duration ?? 4) : 4;\n const blinkDelay = typeof enableBlink === \"object\" ? (enableBlink.delay ?? 0) : 0;\n const delayStr = blinkDelay ? ` ${blinkDelay}s` : \"\";\n\n const bgFill = flat ? bgCol : `url(#${id}bg)`;\n const skinFill = flat ? skin : `url(#${id}sg)`;\n\n // Pixel art mode — use string renderer and wrap in pixel div\n if (theme?._pixel) {\n const pixelSvg = renderSolFaceSVG(walletAddress, {\n size,\n theme: { ...theme, _pixel: false, _glass: false },\n traitOverrides,\n colorOverrides,\n detail: detailProp,\n });\n return <PixelWrapper svgString={pixelSvg} size={size} theme={theme} />;\n }\n\n const svgElement = (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 64 64\"\n width={size}\n height={size}\n className={className}\n style={{ display: \"block\", ...style }}\n {...rest}\n >\n {!flat && (\n <defs>\n <linearGradient id={`${id}sg`} x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n <stop offset=\"0%\" stopColor={derived.skinHi} />\n <stop offset=\"100%\" stopColor={derived.skinLo} />\n </linearGradient>\n <linearGradient id={`${id}hg`} x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n <stop offset=\"0%\" stopColor={lighten(hairCol, 0.15)} />\n <stop offset=\"100%\" stopColor={darken(hairCol, 0.15)} />\n </linearGradient>\n <linearGradient id={`${id}bg`} x1=\"0\" y1=\"0\" x2=\"1\" y2=\"1\">\n <stop offset=\"0%\" stopColor={lighten(bgCol, 0.12)} />\n <stop offset=\"100%\" stopColor={darken(bgCol, 0.12)} />\n </linearGradient>\n {full && cheekEnabled && (\n <>\n <radialGradient id={`${id}glow`} cx=\"0.5\" cy=\"0.28\" r=\"0.45\">\n <stop offset=\"0%\" stopColor=\"#ffffff\" stopOpacity={0.10} />\n <stop offset=\"100%\" stopColor=\"#ffffff\" stopOpacity={0} />\n </radialGradient>\n <radialGradient id={`${id}chin`} cx=\"0.5\" cy=\"0.85\" r=\"0.35\">\n <stop offset=\"0%\" stopColor={derived.skinLo} stopOpacity={0.30} />\n <stop offset=\"100%\" stopColor={derived.skinLo} stopOpacity={0} />\n </radialGradient>\n <radialGradient id={`${id}cL`} cx=\"0.5\" cy=\"0.5\" r=\"0.5\">\n <stop offset=\"0%\" stopColor={cheekColor} stopOpacity={cheekOpacity} />\n <stop offset=\"100%\" stopColor={cheekColor} stopOpacity={0} />\n </radialGradient>\n <radialGradient id={`${id}cR`} cx=\"0.5\" cy=\"0.5\" r=\"0.5\">\n <stop offset=\"0%\" stopColor={cheekColor} stopOpacity={cheekOpacity} />\n <stop offset=\"100%\" stopColor={cheekColor} stopOpacity={0} />\n </radialGradient>\n </>\n )}\n </defs>\n )}\n\n {blinkEnabled && (\n <style>{`\n @keyframes ${id}-blink {\n 0%, 90%, 100% { transform: scaleY(1); }\n 95% { transform: scaleY(0.1); }\n }\n .${id}-eyes {\n animation: ${id}-blink ${blinkDuration}s ease-in-out${delayStr} infinite;\n transform-origin: 32px 33px;\n }\n `}</style>\n )}\n\n <rect x=\"0\" y=\"0\" width=\"64\" height=\"64\" fill={bgFill} opacity={bgOpacity} rx={bgRadius} />\n\n <HairBack hi={hi} id={id} flat={flat} />\n <Ears earFill={derived.earFill} earShadow={derived.earShadow} />\n <rect x=\"14\" y=\"16\" width=\"36\" height=\"38\" rx=\"12\" ry=\"12\" fill={skinFill} />\n\n {full && cheekEnabled && !flat && <FaceOverlays id={id} />}\n\n {ai === 5 && <Accessory ai={5} glassesColor={glassesColor} earringColor={earringColor} headbandColor={headbandColor} />}\n\n <HairFront hi={hi} id={id} hairCol={hairCol} skin={skin} flat={flat} />\n\n <g className={blinkEnabled ? `${id}-eyes` : undefined}>\n <Eyes ei={traits.eyeStyle % 8} eyeCol={eyeCol} eyeWhite={eyeWhite} lidColor={derived.lidColor} full={full} />\n </g>\n\n <Eyebrows bi={traits.eyebrows % 5} browColor={browColor} />\n <Nose ni={traits.nose % 4} noseFill={noseFill} />\n <Mouth mi={traits.mouth % 8} lipColor={lipColor} isDark={derived.isDark} />\n\n {ai !== 0 && ai !== 5 && (\n <Accessory ai={ai} glassesColor={glassesColor} earringColor={earringColor} headbandColor={headbandColor} />\n )}\n\n {theme?.border && (\n <rect x=\"0\" y=\"0\" width=\"64\" height=\"64\" fill=\"none\" stroke={theme.border.color} strokeWidth={theme.border.width} rx={bgRadius} />\n )}\n </svg>\n );\n\n // Liquid glass mode\n if (theme?._glass) {\n const glassEl = (\n <GlassWrapper size={size} theme={theme}>\n {svgElement}\n </GlassWrapper>\n );\n if (!showName) return glassEl;\n const glassName = deriveName(walletAddress, nameFormat);\n return (\n <div style={{ display: \"inline-flex\", flexDirection: \"column\", alignItems: \"center\", gap: 4 }}>\n {namePosition === \"above\" && <span style={{ fontSize: Math.max(10, size / 5), fontFamily: \"inherit\" }}>{glassName}</span>}\n {glassEl}\n {namePosition === \"below\" && <span style={{ fontSize: Math.max(10, size / 5), fontFamily: \"inherit\" }}>{glassName}</span>}\n </div>\n );\n }\n\n if (!showName) return svgElement;\n const walletName = deriveName(walletAddress, nameFormat);\n return (\n <div style={{ display: \"inline-flex\", flexDirection: \"column\", alignItems: \"center\", gap: 4 }}>\n {namePosition === \"above\" && <span style={{ fontSize: Math.max(10, size / 5), fontFamily: \"inherit\" }}>{walletName}</span>}\n {svgElement}\n {namePosition === \"below\" && <span style={{ fontSize: Math.max(10, size / 5), fontFamily: \"inherit\" }}>{walletName}</span>}\n </div>\n );\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport { deriveName, deriveIdentity } from \"../names\";\nimport type { NameFormat, SolNameIdentity } from \"../names\";\n\n/**\n * React hook for deriving a SolName from a wallet address.\n *\n * @param wallet Base58 wallet address\n * @param format Optional name format. If omitted, returns full SolNameIdentity.\n */\nexport function useSolName(wallet: string): SolNameIdentity;\nexport function useSolName(wallet: string, format: NameFormat): string;\nexport function useSolName(\n wallet: string,\n format?: NameFormat,\n): string | SolNameIdentity {\n return useMemo(() => {\n if (format) return deriveName(wallet, format);\n return deriveIdentity(wallet);\n }, [wallet, format]);\n}\n"]}
|
package/dist/react/index.d.cts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import { SVGAttributes } from 'react';
|
|
3
|
-
import { a as SolFaceTheme, b as SolFaceTraits } from '../traits-
|
|
3
|
+
import { a as SolFaceTheme, b as SolFaceTraits } from '../traits-QlWuxZDD.cjs';
|
|
4
|
+
import { a as NameFormat, b as SolNameIdentity } from '../constants-Bi5uTRp5.cjs';
|
|
4
5
|
|
|
5
6
|
interface SolFaceProps extends Omit<SVGAttributes<SVGSVGElement>, "viewBox" | "xmlns"> {
|
|
6
7
|
walletAddress: string;
|
|
@@ -11,6 +12,7 @@ interface SolFaceProps extends Omit<SVGAttributes<SVGSVGElement>, "viewBox" | "x
|
|
|
11
12
|
};
|
|
12
13
|
theme?: SolFaceTheme;
|
|
13
14
|
traitOverrides?: Partial<SolFaceTraits>;
|
|
15
|
+
detail?: "full" | "simplified" | "auto";
|
|
14
16
|
colorOverrides?: {
|
|
15
17
|
skin?: string;
|
|
16
18
|
eyes?: string;
|
|
@@ -22,7 +24,19 @@ interface SolFaceProps extends Omit<SVGAttributes<SVGSVGElement>, "viewBox" | "x
|
|
|
22
24
|
nose?: string;
|
|
23
25
|
eyeWhite?: string;
|
|
24
26
|
};
|
|
27
|
+
showName?: boolean;
|
|
28
|
+
namePosition?: "below" | "above";
|
|
29
|
+
nameFormat?: NameFormat;
|
|
25
30
|
}
|
|
26
|
-
declare function SolFace({ walletAddress, size, enableBlink, theme, traitOverrides, colorOverrides, className, style, ...rest }: SolFaceProps): react_jsx_runtime.JSX.Element;
|
|
31
|
+
declare function SolFace({ walletAddress, size, enableBlink, theme, traitOverrides, colorOverrides, detail: detailProp, showName, namePosition, nameFormat, className, style, ...rest }: SolFaceProps): react_jsx_runtime.JSX.Element;
|
|
27
32
|
|
|
28
|
-
|
|
33
|
+
/**
|
|
34
|
+
* React hook for deriving a SolName from a wallet address.
|
|
35
|
+
*
|
|
36
|
+
* @param wallet Base58 wallet address
|
|
37
|
+
* @param format Optional name format. If omitted, returns full SolNameIdentity.
|
|
38
|
+
*/
|
|
39
|
+
declare function useSolName(wallet: string): SolNameIdentity;
|
|
40
|
+
declare function useSolName(wallet: string, format: NameFormat): string;
|
|
41
|
+
|
|
42
|
+
export { SolFace, type SolFaceProps, useSolName };
|
package/dist/react/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import { SVGAttributes } from 'react';
|
|
3
|
-
import { a as SolFaceTheme, b as SolFaceTraits } from '../traits-
|
|
3
|
+
import { a as SolFaceTheme, b as SolFaceTraits } from '../traits-QlWuxZDD.js';
|
|
4
|
+
import { a as NameFormat, b as SolNameIdentity } from '../constants-Bi5uTRp5.js';
|
|
4
5
|
|
|
5
6
|
interface SolFaceProps extends Omit<SVGAttributes<SVGSVGElement>, "viewBox" | "xmlns"> {
|
|
6
7
|
walletAddress: string;
|
|
@@ -11,6 +12,7 @@ interface SolFaceProps extends Omit<SVGAttributes<SVGSVGElement>, "viewBox" | "x
|
|
|
11
12
|
};
|
|
12
13
|
theme?: SolFaceTheme;
|
|
13
14
|
traitOverrides?: Partial<SolFaceTraits>;
|
|
15
|
+
detail?: "full" | "simplified" | "auto";
|
|
14
16
|
colorOverrides?: {
|
|
15
17
|
skin?: string;
|
|
16
18
|
eyes?: string;
|
|
@@ -22,7 +24,19 @@ interface SolFaceProps extends Omit<SVGAttributes<SVGSVGElement>, "viewBox" | "x
|
|
|
22
24
|
nose?: string;
|
|
23
25
|
eyeWhite?: string;
|
|
24
26
|
};
|
|
27
|
+
showName?: boolean;
|
|
28
|
+
namePosition?: "below" | "above";
|
|
29
|
+
nameFormat?: NameFormat;
|
|
25
30
|
}
|
|
26
|
-
declare function SolFace({ walletAddress, size, enableBlink, theme, traitOverrides, colorOverrides, className, style, ...rest }: SolFaceProps): react_jsx_runtime.JSX.Element;
|
|
31
|
+
declare function SolFace({ walletAddress, size, enableBlink, theme, traitOverrides, colorOverrides, detail: detailProp, showName, namePosition, nameFormat, className, style, ...rest }: SolFaceProps): react_jsx_runtime.JSX.Element;
|
|
27
32
|
|
|
28
|
-
|
|
33
|
+
/**
|
|
34
|
+
* React hook for deriving a SolName from a wallet address.
|
|
35
|
+
*
|
|
36
|
+
* @param wallet Base58 wallet address
|
|
37
|
+
* @param format Optional name format. If omitted, returns full SolNameIdentity.
|
|
38
|
+
*/
|
|
39
|
+
declare function useSolName(wallet: string): SolNameIdentity;
|
|
40
|
+
declare function useSolName(wallet: string, format: NameFormat): string;
|
|
41
|
+
|
|
42
|
+
export { SolFace, type SolFaceProps, useSolName };
|