@testpig/avataaars 1.0.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.
Files changed (429) hide show
  1. package/.idea/avataaars.iml +12 -0
  2. package/.idea/codeStyles/Project.xml +67 -0
  3. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  4. package/.idea/git_toolbox_blame.xml +6 -0
  5. package/.idea/inspectionProfiles/Project_Default.xml +6 -0
  6. package/.idea/modules.xml +8 -0
  7. package/.idea/vcs.xml +6 -0
  8. package/.prettierrc +10 -0
  9. package/.vscode/extensions.json +3 -0
  10. package/.vscode/settings.json +14 -0
  11. package/LICENSE +21 -0
  12. package/README.md +80 -0
  13. package/dist/avatar/Avatar.d.ts +5 -0
  14. package/dist/avatar/Avatar.js +60 -0
  15. package/dist/avatar/AvatarContext.d.ts +4 -0
  16. package/dist/avatar/AvatarContext.js +8 -0
  17. package/dist/avatar/AvatarProps.d.ts +25 -0
  18. package/dist/avatar/AvatarProps.js +2 -0
  19. package/dist/avatar/Color.d.ts +7 -0
  20. package/dist/avatar/Color.js +30 -0
  21. package/dist/avatar/Skin.d.ts +5 -0
  22. package/dist/avatar/Skin.js +37 -0
  23. package/dist/avatar/SkinColor.d.ts +10 -0
  24. package/dist/avatar/SkinColor.js +13 -0
  25. package/dist/avatar/clothes/BlazerShirt.d.ts +1 -0
  26. package/dist/avatar/clothes/BlazerShirt.js +21 -0
  27. package/dist/avatar/clothes/BlazerSweater.d.ts +1 -0
  28. package/dist/avatar/clothes/BlazerSweater.js +21 -0
  29. package/dist/avatar/clothes/ClotheColor.d.ts +4 -0
  30. package/dist/avatar/clothes/ClotheColor.js +53 -0
  31. package/dist/avatar/clothes/ClotheColorName.d.ts +18 -0
  32. package/dist/avatar/clothes/ClotheColorName.js +21 -0
  33. package/dist/avatar/clothes/ClotheType.d.ts +12 -0
  34. package/dist/avatar/clothes/ClotheType.js +15 -0
  35. package/dist/avatar/clothes/Clothes.d.ts +1 -0
  36. package/dist/avatar/clothes/Clothes.js +43 -0
  37. package/dist/avatar/clothes/CollarSweater.d.ts +1 -0
  38. package/dist/avatar/clothes/CollarSweater.js +25 -0
  39. package/dist/avatar/clothes/GraphicShirt.d.ts +1 -0
  40. package/dist/avatar/clothes/GraphicShirt.js +28 -0
  41. package/dist/avatar/clothes/GraphicType.d.ts +14 -0
  42. package/dist/avatar/clothes/GraphicType.js +17 -0
  43. package/dist/avatar/clothes/Graphics.d.ts +21 -0
  44. package/dist/avatar/clothes/Graphics.js +105 -0
  45. package/dist/avatar/clothes/Hoodie.d.ts +1 -0
  46. package/dist/avatar/clothes/Hoodie.js +25 -0
  47. package/dist/avatar/clothes/Overall.d.ts +1 -0
  48. package/dist/avatar/clothes/Overall.js +25 -0
  49. package/dist/avatar/clothes/ShirtCrewNeck.d.ts +1 -0
  50. package/dist/avatar/clothes/ShirtCrewNeck.js +25 -0
  51. package/dist/avatar/clothes/ShirtScoopNeck.d.ts +1 -0
  52. package/dist/avatar/clothes/ShirtScoopNeck.js +25 -0
  53. package/dist/avatar/clothes/ShirtVNeck.d.ts +1 -0
  54. package/dist/avatar/clothes/ShirtVNeck.js +25 -0
  55. package/dist/avatar/clothes/index.d.ts +3 -0
  56. package/dist/avatar/clothes/index.js +12 -0
  57. package/dist/avatar/face/Face.d.ts +1 -0
  58. package/dist/avatar/face/Face.js +25 -0
  59. package/dist/avatar/face/eyebrow/Angry.d.ts +1 -0
  60. package/dist/avatar/face/eyebrow/Angry.js +18 -0
  61. package/dist/avatar/face/eyebrow/AngryNatural.d.ts +1 -0
  62. package/dist/avatar/face/eyebrow/AngryNatural.js +18 -0
  63. package/dist/avatar/face/eyebrow/Default.d.ts +1 -0
  64. package/dist/avatar/face/eyebrow/Default.js +18 -0
  65. package/dist/avatar/face/eyebrow/DefaultNatural.d.ts +1 -0
  66. package/dist/avatar/face/eyebrow/DefaultNatural.js +18 -0
  67. package/dist/avatar/face/eyebrow/Eyebrow.d.ts +1 -0
  68. package/dist/avatar/face/eyebrow/Eyebrow.js +51 -0
  69. package/dist/avatar/face/eyebrow/EyebrowType.d.ts +15 -0
  70. package/dist/avatar/face/eyebrow/EyebrowType.js +18 -0
  71. package/dist/avatar/face/eyebrow/FlatNatural.d.ts +1 -0
  72. package/dist/avatar/face/eyebrow/FlatNatural.js +18 -0
  73. package/dist/avatar/face/eyebrow/FrownNatural.d.ts +1 -0
  74. package/dist/avatar/face/eyebrow/FrownNatural.js +18 -0
  75. package/dist/avatar/face/eyebrow/RaisedExcited.d.ts +1 -0
  76. package/dist/avatar/face/eyebrow/RaisedExcited.js +18 -0
  77. package/dist/avatar/face/eyebrow/RaisedExcitedNatural.d.ts +1 -0
  78. package/dist/avatar/face/eyebrow/RaisedExcitedNatural.js +18 -0
  79. package/dist/avatar/face/eyebrow/SadConcerned.d.ts +1 -0
  80. package/dist/avatar/face/eyebrow/SadConcerned.js +18 -0
  81. package/dist/avatar/face/eyebrow/SadConcernedNatural.d.ts +1 -0
  82. package/dist/avatar/face/eyebrow/SadConcernedNatural.js +18 -0
  83. package/dist/avatar/face/eyebrow/UnibrowNatural.d.ts +1 -0
  84. package/dist/avatar/face/eyebrow/UnibrowNatural.js +18 -0
  85. package/dist/avatar/face/eyebrow/UpDown.d.ts +1 -0
  86. package/dist/avatar/face/eyebrow/UpDown.js +18 -0
  87. package/dist/avatar/face/eyebrow/UpDownNatural.d.ts +1 -0
  88. package/dist/avatar/face/eyebrow/UpDownNatural.js +18 -0
  89. package/dist/avatar/face/eyebrow/index.d.ts +2 -0
  90. package/dist/avatar/face/eyebrow/index.js +10 -0
  91. package/dist/avatar/face/eyes/Close.d.ts +1 -0
  92. package/dist/avatar/face/eyes/Close.js +18 -0
  93. package/dist/avatar/face/eyes/Cry.d.ts +1 -0
  94. package/dist/avatar/face/eyes/Cry.js +18 -0
  95. package/dist/avatar/face/eyes/Default.d.ts +1 -0
  96. package/dist/avatar/face/eyes/Default.js +18 -0
  97. package/dist/avatar/face/eyes/Dizzy.d.ts +1 -0
  98. package/dist/avatar/face/eyes/Dizzy.js +18 -0
  99. package/dist/avatar/face/eyes/EyeRoll.d.ts +1 -0
  100. package/dist/avatar/face/eyes/EyeRoll.js +18 -0
  101. package/dist/avatar/face/eyes/EyeType.d.ts +15 -0
  102. package/dist/avatar/face/eyes/EyeType.js +18 -0
  103. package/dist/avatar/face/eyes/Eyes.d.ts +1 -0
  104. package/dist/avatar/face/eyes/Eyes.js +51 -0
  105. package/dist/avatar/face/eyes/Happy.d.ts +1 -0
  106. package/dist/avatar/face/eyes/Happy.js +18 -0
  107. package/dist/avatar/face/eyes/Hearts.d.ts +1 -0
  108. package/dist/avatar/face/eyes/Hearts.js +18 -0
  109. package/dist/avatar/face/eyes/Side.d.ts +1 -0
  110. package/dist/avatar/face/eyes/Side.js +18 -0
  111. package/dist/avatar/face/eyes/Squint.d.ts +1 -0
  112. package/dist/avatar/face/eyes/Squint.js +23 -0
  113. package/dist/avatar/face/eyes/Surprised.d.ts +1 -0
  114. package/dist/avatar/face/eyes/Surprised.js +18 -0
  115. package/dist/avatar/face/eyes/Wink.d.ts +1 -0
  116. package/dist/avatar/face/eyes/Wink.js +18 -0
  117. package/dist/avatar/face/eyes/WinkWacky.d.ts +1 -0
  118. package/dist/avatar/face/eyes/WinkWacky.js +18 -0
  119. package/dist/avatar/face/eyes/index.d.ts +2 -0
  120. package/dist/avatar/face/eyes/index.js +10 -0
  121. package/dist/avatar/face/index.d.ts +5 -0
  122. package/dist/avatar/face/index.js +26 -0
  123. package/dist/avatar/face/mouth/Concerned.d.ts +1 -0
  124. package/dist/avatar/face/mouth/Concerned.js +21 -0
  125. package/dist/avatar/face/mouth/Default.d.ts +1 -0
  126. package/dist/avatar/face/mouth/Default.js +18 -0
  127. package/dist/avatar/face/mouth/Disbelief.d.ts +1 -0
  128. package/dist/avatar/face/mouth/Disbelief.js +18 -0
  129. package/dist/avatar/face/mouth/Eating.d.ts +1 -0
  130. package/dist/avatar/face/mouth/Eating.js +18 -0
  131. package/dist/avatar/face/mouth/Grimace.d.ts +1 -0
  132. package/dist/avatar/face/mouth/Grimace.js +21 -0
  133. package/dist/avatar/face/mouth/Mouth.d.ts +1 -0
  134. package/dist/avatar/face/mouth/Mouth.js +51 -0
  135. package/dist/avatar/face/mouth/MouthType.d.ts +15 -0
  136. package/dist/avatar/face/mouth/MouthType.js +18 -0
  137. package/dist/avatar/face/mouth/Sad.d.ts +1 -0
  138. package/dist/avatar/face/mouth/Sad.js +18 -0
  139. package/dist/avatar/face/mouth/ScreamOpen.d.ts +1 -0
  140. package/dist/avatar/face/mouth/ScreamOpen.js +21 -0
  141. package/dist/avatar/face/mouth/Serious.d.ts +1 -0
  142. package/dist/avatar/face/mouth/Serious.js +18 -0
  143. package/dist/avatar/face/mouth/Smile.d.ts +1 -0
  144. package/dist/avatar/face/mouth/Smile.js +21 -0
  145. package/dist/avatar/face/mouth/Tongue.d.ts +1 -0
  146. package/dist/avatar/face/mouth/Tongue.js +21 -0
  147. package/dist/avatar/face/mouth/Twinkle.d.ts +1 -0
  148. package/dist/avatar/face/mouth/Twinkle.js +18 -0
  149. package/dist/avatar/face/mouth/Vomit.d.ts +1 -0
  150. package/dist/avatar/face/mouth/Vomit.js +23 -0
  151. package/dist/avatar/face/mouth/index.d.ts +2 -0
  152. package/dist/avatar/face/mouth/index.js +10 -0
  153. package/dist/avatar/face/nose/Default.d.ts +1 -0
  154. package/dist/avatar/face/nose/Default.js +18 -0
  155. package/dist/avatar/face/nose/index.d.ts +1 -0
  156. package/dist/avatar/face/nose/index.js +8 -0
  157. package/dist/avatar/index.d.ts +5 -0
  158. package/dist/avatar/index.js +25 -0
  159. package/dist/avatar/top/Eyepatch.d.ts +1 -0
  160. package/dist/avatar/top/Eyepatch.js +25 -0
  161. package/dist/avatar/top/HairColor.d.ts +5 -0
  162. package/dist/avatar/top/HairColor.js +43 -0
  163. package/dist/avatar/top/HairColorName.d.ts +13 -0
  164. package/dist/avatar/top/HairColorName.js +16 -0
  165. package/dist/avatar/top/Hat.d.ts +4 -0
  166. package/dist/avatar/top/Hat.js +29 -0
  167. package/dist/avatar/top/HatColor.d.ts +5 -0
  168. package/dist/avatar/top/HatColor.js +54 -0
  169. package/dist/avatar/top/HatColorName.d.ts +18 -0
  170. package/dist/avatar/top/HatColorName.js +21 -0
  171. package/dist/avatar/top/Hijab.d.ts +4 -0
  172. package/dist/avatar/top/Hijab.js +29 -0
  173. package/dist/avatar/top/LongHairBigHair.d.ts +4 -0
  174. package/dist/avatar/top/LongHairBigHair.js +31 -0
  175. package/dist/avatar/top/LongHairBob.d.ts +4 -0
  176. package/dist/avatar/top/LongHairBob.js +29 -0
  177. package/dist/avatar/top/LongHairBun.d.ts +4 -0
  178. package/dist/avatar/top/LongHairBun.js +29 -0
  179. package/dist/avatar/top/LongHairCurly.d.ts +4 -0
  180. package/dist/avatar/top/LongHairCurly.js +29 -0
  181. package/dist/avatar/top/LongHairCurvy.d.ts +4 -0
  182. package/dist/avatar/top/LongHairCurvy.js +29 -0
  183. package/dist/avatar/top/LongHairDreads.d.ts +4 -0
  184. package/dist/avatar/top/LongHairDreads.js +29 -0
  185. package/dist/avatar/top/LongHairFrida.d.ts +4 -0
  186. package/dist/avatar/top/LongHairFrida.js +34 -0
  187. package/dist/avatar/top/LongHairFro.d.ts +4 -0
  188. package/dist/avatar/top/LongHairFro.js +30 -0
  189. package/dist/avatar/top/LongHairFroBand.d.ts +4 -0
  190. package/dist/avatar/top/LongHairFroBand.js +29 -0
  191. package/dist/avatar/top/LongHairMiaWallace.d.ts +4 -0
  192. package/dist/avatar/top/LongHairMiaWallace.js +29 -0
  193. package/dist/avatar/top/LongHairNotTooLong.d.ts +4 -0
  194. package/dist/avatar/top/LongHairNotTooLong.js +29 -0
  195. package/dist/avatar/top/LongHairShavedSides.d.ts +4 -0
  196. package/dist/avatar/top/LongHairShavedSides.js +32 -0
  197. package/dist/avatar/top/LongHairStraight.d.ts +4 -0
  198. package/dist/avatar/top/LongHairStraight.js +29 -0
  199. package/dist/avatar/top/LongHairStraight2.d.ts +4 -0
  200. package/dist/avatar/top/LongHairStraight2.js +30 -0
  201. package/dist/avatar/top/LongHairStraightStrand.d.ts +4 -0
  202. package/dist/avatar/top/LongHairStraightStrand.js +30 -0
  203. package/dist/avatar/top/NoHair.d.ts +4 -0
  204. package/dist/avatar/top/NoHair.js +27 -0
  205. package/dist/avatar/top/PrinceCut.d.ts +4 -0
  206. package/dist/avatar/top/PrinceCut.js +29 -0
  207. package/dist/avatar/top/ShortHairDreads01.d.ts +4 -0
  208. package/dist/avatar/top/ShortHairDreads01.js +30 -0
  209. package/dist/avatar/top/ShortHairDreads02.d.ts +4 -0
  210. package/dist/avatar/top/ShortHairDreads02.js +30 -0
  211. package/dist/avatar/top/ShortHairFrizzle.d.ts +4 -0
  212. package/dist/avatar/top/ShortHairFrizzle.js +30 -0
  213. package/dist/avatar/top/ShortHairShaggy.d.ts +4 -0
  214. package/dist/avatar/top/ShortHairShaggy.js +30 -0
  215. package/dist/avatar/top/ShortHairShaggyMullet.d.ts +4 -0
  216. package/dist/avatar/top/ShortHairShaggyMullet.js +30 -0
  217. package/dist/avatar/top/ShortHairShortCurly.d.ts +4 -0
  218. package/dist/avatar/top/ShortHairShortCurly.js +30 -0
  219. package/dist/avatar/top/ShortHairShortFlat.d.ts +4 -0
  220. package/dist/avatar/top/ShortHairShortFlat.js +30 -0
  221. package/dist/avatar/top/ShortHairShortRound.d.ts +4 -0
  222. package/dist/avatar/top/ShortHairShortRound.js +30 -0
  223. package/dist/avatar/top/ShortHairShortWaved.d.ts +4 -0
  224. package/dist/avatar/top/ShortHairShortWaved.js +30 -0
  225. package/dist/avatar/top/ShortHairSides.d.ts +4 -0
  226. package/dist/avatar/top/ShortHairSides.js +30 -0
  227. package/dist/avatar/top/ShortHairTheCaesar.d.ts +4 -0
  228. package/dist/avatar/top/ShortHairTheCaesar.js +30 -0
  229. package/dist/avatar/top/ShortHairTheCaesarSidePart.d.ts +4 -0
  230. package/dist/avatar/top/ShortHairTheCaesarSidePart.js +30 -0
  231. package/dist/avatar/top/Top.d.ts +4 -0
  232. package/dist/avatar/top/Top.js +128 -0
  233. package/dist/avatar/top/TopType.d.ts +39 -0
  234. package/dist/avatar/top/TopType.js +42 -0
  235. package/dist/avatar/top/Turban.d.ts +4 -0
  236. package/dist/avatar/top/Turban.js +32 -0
  237. package/dist/avatar/top/WinterHat1.d.ts +4 -0
  238. package/dist/avatar/top/WinterHat1.js +31 -0
  239. package/dist/avatar/top/WinterHat2.d.ts +4 -0
  240. package/dist/avatar/top/WinterHat2.js +30 -0
  241. package/dist/avatar/top/WinterHat3.d.ts +4 -0
  242. package/dist/avatar/top/WinterHat3.js +31 -0
  243. package/dist/avatar/top/WinterHat4.d.ts +4 -0
  244. package/dist/avatar/top/WinterHat4.js +35 -0
  245. package/dist/avatar/top/accessories/AccessoriesType.d.ts +10 -0
  246. package/dist/avatar/top/accessories/AccessoriesType.js +13 -0
  247. package/dist/avatar/top/accessories/Accessory.d.ts +1 -0
  248. package/dist/avatar/top/accessories/Accessory.js +35 -0
  249. package/dist/avatar/top/accessories/Kurt.d.ts +1 -0
  250. package/dist/avatar/top/accessories/Kurt.js +20 -0
  251. package/dist/avatar/top/accessories/Prescription01.d.ts +1 -0
  252. package/dist/avatar/top/accessories/Prescription01.js +20 -0
  253. package/dist/avatar/top/accessories/Prescription02.d.ts +1 -0
  254. package/dist/avatar/top/accessories/Prescription02.js +20 -0
  255. package/dist/avatar/top/accessories/Round.d.ts +1 -0
  256. package/dist/avatar/top/accessories/Round.js +21 -0
  257. package/dist/avatar/top/accessories/Sunglasses.d.ts +1 -0
  258. package/dist/avatar/top/accessories/Sunglasses.js +24 -0
  259. package/dist/avatar/top/accessories/Wayfarers.d.ts +1 -0
  260. package/dist/avatar/top/accessories/Wayfarers.js +23 -0
  261. package/dist/avatar/top/accessories/index.d.ts +2 -0
  262. package/dist/avatar/top/accessories/index.js +10 -0
  263. package/dist/avatar/top/facialHair/BeardLight.d.ts +1 -0
  264. package/dist/avatar/top/facialHair/BeardLight.js +25 -0
  265. package/dist/avatar/top/facialHair/BeardMajestic.d.ts +1 -0
  266. package/dist/avatar/top/facialHair/BeardMajestic.js +25 -0
  267. package/dist/avatar/top/facialHair/BeardMedium.d.ts +1 -0
  268. package/dist/avatar/top/facialHair/BeardMedium.js +25 -0
  269. package/dist/avatar/top/facialHair/FacialHair.d.ts +1 -0
  270. package/dist/avatar/top/facialHair/FacialHair.js +33 -0
  271. package/dist/avatar/top/facialHair/FacialHairColor.d.ts +5 -0
  272. package/dist/avatar/top/facialHair/FacialHairColor.js +51 -0
  273. package/dist/avatar/top/facialHair/FacialHairColorName.d.ts +11 -0
  274. package/dist/avatar/top/facialHair/FacialHairColorName.js +14 -0
  275. package/dist/avatar/top/facialHair/FacialHairType.d.ts +9 -0
  276. package/dist/avatar/top/facialHair/FacialHairType.js +12 -0
  277. package/dist/avatar/top/facialHair/MoustacheFancy.d.ts +1 -0
  278. package/dist/avatar/top/facialHair/MoustacheFancy.js +25 -0
  279. package/dist/avatar/top/facialHair/MoustacheMagnum.d.ts +1 -0
  280. package/dist/avatar/top/facialHair/MoustacheMagnum.js +25 -0
  281. package/dist/avatar/top/facialHair/index.d.ts +2 -0
  282. package/dist/avatar/top/facialHair/index.js +10 -0
  283. package/dist/avatar/top/index.d.ts +4 -0
  284. package/dist/avatar/top/index.js +26 -0
  285. package/dist/index.d.ts +2 -0
  286. package/dist/index.js +23 -0
  287. package/dist/util/uniqueId.d.ts +18 -0
  288. package/dist/util/uniqueId.js +28 -0
  289. package/package.json +47 -0
  290. package/src/avatar/Avatar.tsx +74 -0
  291. package/src/avatar/AvatarContext.ts +6 -0
  292. package/src/avatar/AvatarProps.ts +27 -0
  293. package/src/avatar/Color.tsx +14 -0
  294. package/src/avatar/Skin.tsx +34 -0
  295. package/src/avatar/SkinColor.ts +11 -0
  296. package/src/avatar/clothes/BlazerShirt.tsx +41 -0
  297. package/src/avatar/clothes/BlazerSweater.tsx +34 -0
  298. package/src/avatar/clothes/ClotheColor.tsx +50 -0
  299. package/src/avatar/clothes/ClotheColorName.ts +19 -0
  300. package/src/avatar/clothes/ClotheType.ts +13 -0
  301. package/src/avatar/clothes/Clothes.tsx +36 -0
  302. package/src/avatar/clothes/CollarSweater.tsx +23 -0
  303. package/src/avatar/clothes/GraphicShirt.tsx +25 -0
  304. package/src/avatar/clothes/GraphicType.ts +15 -0
  305. package/src/avatar/clothes/Graphics.tsx +218 -0
  306. package/src/avatar/clothes/Hoodie.tsx +25 -0
  307. package/src/avatar/clothes/Overall.tsx +23 -0
  308. package/src/avatar/clothes/ShirtCrewNeck.tsx +26 -0
  309. package/src/avatar/clothes/ShirtScoopNeck.tsx +21 -0
  310. package/src/avatar/clothes/ShirtVNeck.tsx +21 -0
  311. package/src/avatar/clothes/index.tsx +3 -0
  312. package/src/avatar/face/Face.tsx +15 -0
  313. package/src/avatar/face/eyebrow/Angry.tsx +10 -0
  314. package/src/avatar/face/eyebrow/AngryNatural.tsx +10 -0
  315. package/src/avatar/face/eyebrow/Default.tsx +12 -0
  316. package/src/avatar/face/eyebrow/DefaultNatural.tsx +10 -0
  317. package/src/avatar/face/eyebrow/Eyebrow.tsx +45 -0
  318. package/src/avatar/face/eyebrow/EyebrowType.ts +16 -0
  319. package/src/avatar/face/eyebrow/FlatNatural.tsx +11 -0
  320. package/src/avatar/face/eyebrow/FrownNatural.tsx +10 -0
  321. package/src/avatar/face/eyebrow/RaisedExcited.tsx +12 -0
  322. package/src/avatar/face/eyebrow/RaisedExcitedNatural.tsx +10 -0
  323. package/src/avatar/face/eyebrow/SadConcerned.tsx +10 -0
  324. package/src/avatar/face/eyebrow/SadConcernedNatural.tsx +10 -0
  325. package/src/avatar/face/eyebrow/UnibrowNatural.tsx +10 -0
  326. package/src/avatar/face/eyebrow/UpDown.tsx +10 -0
  327. package/src/avatar/face/eyebrow/UpDownNatural.tsx +10 -0
  328. package/src/avatar/face/eyebrow/index.ts +2 -0
  329. package/src/avatar/face/eyes/Close.tsx +10 -0
  330. package/src/avatar/face/eyes/Cry.tsx +10 -0
  331. package/src/avatar/face/eyes/Default.tsx +8 -0
  332. package/src/avatar/face/eyes/Dizzy.tsx +10 -0
  333. package/src/avatar/face/eyes/EyeRoll.tsx +10 -0
  334. package/src/avatar/face/eyes/EyeType.ts +16 -0
  335. package/src/avatar/face/eyes/Eyes.tsx +45 -0
  336. package/src/avatar/face/eyes/Happy.tsx +10 -0
  337. package/src/avatar/face/eyes/Hearts.tsx +10 -0
  338. package/src/avatar/face/eyes/Side.tsx +10 -0
  339. package/src/avatar/face/eyes/Squint.tsx +32 -0
  340. package/src/avatar/face/eyes/Surprised.tsx +10 -0
  341. package/src/avatar/face/eyes/Wink.tsx +9 -0
  342. package/src/avatar/face/eyes/WinkWacky.tsx +10 -0
  343. package/src/avatar/face/eyes/index.tsx +2 -0
  344. package/src/avatar/face/index.tsx +5 -0
  345. package/src/avatar/face/mouth/Concerned.tsx +27 -0
  346. package/src/avatar/face/mouth/Default.tsx +7 -0
  347. package/src/avatar/face/mouth/Disbelief.tsx +8 -0
  348. package/src/avatar/face/mouth/Eating.tsx +12 -0
  349. package/src/avatar/face/mouth/Grimace.tsx +21 -0
  350. package/src/avatar/face/mouth/Mouth.tsx +45 -0
  351. package/src/avatar/face/mouth/MouthType.ts +16 -0
  352. package/src/avatar/face/mouth/Sad.tsx +8 -0
  353. package/src/avatar/face/mouth/ScreamOpen.tsx +26 -0
  354. package/src/avatar/face/mouth/Serious.tsx +7 -0
  355. package/src/avatar/face/mouth/Smile.tsx +26 -0
  356. package/src/avatar/face/mouth/Tongue.tsx +22 -0
  357. package/src/avatar/face/mouth/Twinkle.tsx +8 -0
  358. package/src/avatar/face/mouth/Vomit.tsx +34 -0
  359. package/src/avatar/face/mouth/index.tsx +2 -0
  360. package/src/avatar/face/nose/Default.tsx +7 -0
  361. package/src/avatar/face/nose/index.tsx +1 -0
  362. package/src/avatar/index.tsx +5 -0
  363. package/src/avatar/top/Eyepatch.tsx +25 -0
  364. package/src/avatar/top/HairColor.tsx +40 -0
  365. package/src/avatar/top/HairColorName.ts +14 -0
  366. package/src/avatar/top/Hat.tsx +48 -0
  367. package/src/avatar/top/HatColor.tsx +51 -0
  368. package/src/avatar/top/HatColorName.ts +20 -0
  369. package/src/avatar/top/Hijab.tsx +47 -0
  370. package/src/avatar/top/LongHairBigHair.tsx +51 -0
  371. package/src/avatar/top/LongHairBob.tsx +38 -0
  372. package/src/avatar/top/LongHairBun.tsx +36 -0
  373. package/src/avatar/top/LongHairCurly.tsx +40 -0
  374. package/src/avatar/top/LongHairCurvy.tsx +44 -0
  375. package/src/avatar/top/LongHairDreads.tsx +44 -0
  376. package/src/avatar/top/LongHairFrida.tsx +147 -0
  377. package/src/avatar/top/LongHairFro.tsx +43 -0
  378. package/src/avatar/top/LongHairFroBand.tsx +38 -0
  379. package/src/avatar/top/LongHairMiaWallace.tsx +40 -0
  380. package/src/avatar/top/LongHairNotTooLong.tsx +42 -0
  381. package/src/avatar/top/LongHairShavedSides.tsx +53 -0
  382. package/src/avatar/top/LongHairStraight.tsx +40 -0
  383. package/src/avatar/top/LongHairStraight2.tsx +43 -0
  384. package/src/avatar/top/LongHairStraightStrand.tsx +43 -0
  385. package/src/avatar/top/NoHair.tsx +35 -0
  386. package/src/avatar/top/PrinceCut.tsx +50 -0
  387. package/src/avatar/top/ShortHairDreads01.tsx +41 -0
  388. package/src/avatar/top/ShortHairDreads02.tsx +41 -0
  389. package/src/avatar/top/ShortHairFrizzle.tsx +45 -0
  390. package/src/avatar/top/ShortHairShaggy.tsx +47 -0
  391. package/src/avatar/top/ShortHairShaggyMullet.tsx +41 -0
  392. package/src/avatar/top/ShortHairShortCurly.tsx +45 -0
  393. package/src/avatar/top/ShortHairShortFlat.tsx +45 -0
  394. package/src/avatar/top/ShortHairShortRound.tsx +45 -0
  395. package/src/avatar/top/ShortHairShortWaved.tsx +45 -0
  396. package/src/avatar/top/ShortHairSides.tsx +41 -0
  397. package/src/avatar/top/ShortHairTheCaesar.tsx +47 -0
  398. package/src/avatar/top/ShortHairTheCaesarSidePart.tsx +47 -0
  399. package/src/avatar/top/Top.tsx +122 -0
  400. package/src/avatar/top/TopType.ts +40 -0
  401. package/src/avatar/top/Turban.tsx +62 -0
  402. package/src/avatar/top/WinterHat1.tsx +49 -0
  403. package/src/avatar/top/WinterHat2.tsx +61 -0
  404. package/src/avatar/top/WinterHat3.tsx +49 -0
  405. package/src/avatar/top/WinterHat4.tsx +64 -0
  406. package/src/avatar/top/accessories/AccessoriesType.ts +11 -0
  407. package/src/avatar/top/accessories/Accessory.tsx +29 -0
  408. package/src/avatar/top/accessories/Kurt.tsx +28 -0
  409. package/src/avatar/top/accessories/Prescription01.tsx +32 -0
  410. package/src/avatar/top/accessories/Prescription02.tsx +28 -0
  411. package/src/avatar/top/accessories/Round.tsx +23 -0
  412. package/src/avatar/top/accessories/Sunglasses.tsx +54 -0
  413. package/src/avatar/top/accessories/Wayfarers.tsx +49 -0
  414. package/src/avatar/top/accessories/index.ts +2 -0
  415. package/src/avatar/top/facialHair/BeardLight.tsx +21 -0
  416. package/src/avatar/top/facialHair/BeardMajestic.tsx +21 -0
  417. package/src/avatar/top/facialHair/BeardMedium.tsx +21 -0
  418. package/src/avatar/top/facialHair/FacialHair.tsx +26 -0
  419. package/src/avatar/top/facialHair/FacialHairColor.tsx +41 -0
  420. package/src/avatar/top/facialHair/FacialHairColorName.ts +12 -0
  421. package/src/avatar/top/facialHair/FacialHairType.ts +10 -0
  422. package/src/avatar/top/facialHair/MoustacheFancy.tsx +21 -0
  423. package/src/avatar/top/facialHair/MoustacheMagnum.tsx +21 -0
  424. package/src/avatar/top/facialHair/index.tsx +2 -0
  425. package/src/avatar/top/index.tsx +4 -0
  426. package/src/index.tsx +2 -0
  427. package/src/util/uniqueId.ts +30 -0
  428. package/tsconfig.json +19 -0
  429. package/tslint.json +13 -0
@@ -0,0 +1,25 @@
1
+ import FacialHair from './facialHair'
2
+ import { useId } from 'react'
3
+
4
+ export default function Eyepatch () {
5
+ const mask1 = useId()
6
+ const path1 = useId()
7
+
8
+ return (
9
+ <g strokeWidth='1' fillRule='evenodd'>
10
+ <defs>
11
+ <rect id={path1} x='0' y='0' width='264' height='280'/>
12
+ </defs>
13
+ <mask id={mask1} fill='white'>
14
+ <use xlinkHref={'#' + path1}/>
15
+ </mask>
16
+ <g mask={`url(#${mask1})`}>
17
+ <g transform='translate(-1, 0)'>
18
+ <FacialHair/>
19
+ <path fill='#28354B' fillRule='evenodd'
20
+ d='M160.395307,39.7810237 C157.318088,36.6927979 154.11865,43.6386608 152.623361,45.4281124 C149.013122,49.7486528 145.540256,54.182935 141.868413,58.4518947 C134.616309,66.8823544 127.439316,75.3743141 120.233991,83.8401528 C119.140279,85.1257012 119.27271,85.2649028 117.837048,85.3885641 C116.88598,85.4708947 115.563312,84.9802173 114.5737,84.9256608 C111.823607,84.774556 109.112057,85.2348141 106.435756,85.8227012 C101.091389,86.9961608 95.4264863,88.9291124 90.7890799,91.898306 C89.5718308,92.677306 88.7874545,93.5971608 87.4670933,93.841177 C86.3183659,94.0534512 84.794416,93.6295641 83.622299,93.5194592 C81.5412806,93.3237173 78.5378542,92.4726366 76.4953793,92.9137173 C73.9027538,93.4738302 72.9174244,96.6109915 75.5604528,98.0003624 C77.570314,99.0564431 81.5706,98.4761608 83.8235816,98.6447899 C86.3971,98.8372253 85.6120649,98.704306 85.2473843,101.164306 C84.7239177,104.69758 85.5985582,108.646475 87.0885766,111.878201 C90.5482655,119.383185 100.122861,127.335201 108.8551,126.603153 C116.142123,125.992451 122.526834,119.413274 125.519389,113.099935 C127.050916,109.868871 127.954546,106.192096 128.250376,102.628403 C128.438811,100.36183 128.333722,97.9580399 127.684083,95.7632173 C127.362888,94.6783705 126.853916,93.5554995 126.308378,92.5695157 C125.866281,91.7710076 123.908799,89.9203866 123.788886,89.1165882 C123.556307,87.5602415 127.973324,83.3874995 128.816339,82.3443141 C132.788953,77.4276205 136.780344,72.5320882 140.721662,67.5889431 C144.603353,62.7201931 148.506456,57.8640076 152.489612,53.0785802 C154.294237,50.9098786 163.318023,42.7148382 160.395307,39.7810237'/>
21
+ </g>
22
+ </g>
23
+ </g>
24
+ )
25
+ }
@@ -0,0 +1,40 @@
1
+ import Color from '../Color'
2
+ import { useContext } from 'react'
3
+ import AvatarContext from '../AvatarContext'
4
+ import HairColorName from './HairColorName'
5
+
6
+ type Props = {
7
+ maskID: string
8
+ }
9
+
10
+ export default function HairColor ({ maskID }: Props) {
11
+ const hairColor = useContext(AvatarContext).hairColor
12
+ return <Color maskID={maskID} color={getHairColorCode(hairColor)}/>
13
+ }
14
+
15
+ function getHairColorCode (hairColor?: string) {
16
+ if (hairColor && hairColor.startsWith('#')) return hairColor
17
+ switch (hairColor) {
18
+ case HairColorName.Auburn:
19
+ return '#A55728'
20
+ case HairColorName.Black:
21
+ return '#2C1B18'
22
+ case HairColorName.Blonde:
23
+ return '#B58143'
24
+ case HairColorName.BlondeGolden:
25
+ return '#D6B370'
26
+ case HairColorName.Brown:
27
+ return '#724133'
28
+ case HairColorName.PastelPink:
29
+ return '#F59797'
30
+ case HairColorName.Platinum:
31
+ return '#ECDCBF'
32
+ case HairColorName.Red:
33
+ return '#C93305'
34
+ case HairColorName.SilverGray:
35
+ return '#E8E1E1'
36
+ case HairColorName.BrownDark:
37
+ default:
38
+ return '#4A312C'
39
+ }
40
+ }
@@ -0,0 +1,14 @@
1
+ enum HairColorName {
2
+ Black = 'Black',
3
+ Brown = 'Brown',
4
+ Blonde = 'Blonde',
5
+ BrownDark = 'BrownDark',
6
+ BlondeGolden = 'BlondeGolden',
7
+ Auburn = 'Auburn',
8
+ Platinum = 'Platinum',
9
+ Red = 'Red',
10
+ SilverGray = 'SilverGray',
11
+ PastelPink = 'PastelPink'
12
+ }
13
+
14
+ export default HairColorName
@@ -0,0 +1,48 @@
1
+ import { useId } from 'react'
2
+ import FacialHair from './facialHair'
3
+
4
+ const Hat = ({ children }) => {
5
+ const filter1 = useId()
6
+ const mask1 = useId()
7
+ const mask2 = useId()
8
+ const path1 = useId()
9
+ const path2 = useId()
10
+
11
+ return (
12
+ <g strokeWidth='1' fillRule='evenodd'>
13
+ <defs>
14
+ <rect id={path2} x='0' y='0' width='264' height='280'/>
15
+ <path id={path1}
16
+ d='M156,180.610951 C173.530782,172.282984 186.048193,155.114792 187.791419,134.867187 C193.569129,134.002364 198,129.018625 198,123 L198,110 C198,104.054007 193.675427,99.1180731 188,98.1659169 L188,92 C188,84.0546578 186.345324,76.495786 183.361772,69.6491845 C173.434911,53 89.3126235,53.8033992 80.7098777,69.4854816 C77.6811789,76.3752214 76,83.9912805 76,92 L76,98.1659169 C70.3245733,99.1180731 66,104.054007 66,110 L66,123 C66,129.018625 70.4308707,134.002364 76.2085808,134.867187 C77.9518066,155.114792 90.4692178,172.282984 108,180.610951 L108,199 L104,199 L104,199 C64.235498,199 32,231.235498 32,271 L32,280 L232,280 L232,271 C232,231.235498 199.764502,199 160,199 L156,199 L156,180.610951 Z M0,5.68434189e-14 L264,5.68434189e-14 L264,280 L0,280 L0,5.68434189e-14 Z'/>
17
+ <filter x='-0.8%' y='-2.0%' width='101.5%' height='108.0%' filterUnits='objectBoundingBox' id={filter1}>
18
+ <feOffset dx='0' dy='2' in='SourceAlpha' result='shadowOffsetOuter1'/>
19
+ <feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.16 0' type='matrix' in='shadowOffsetOuter1' result='shadowMatrixOuter1'/>
20
+ <feMerge>
21
+ <feMergeNode in='shadowMatrixOuter1'/>
22
+ <feMergeNode in='SourceGraphic'/>
23
+ </feMerge>
24
+ </filter>
25
+ </defs>
26
+ <mask id={mask1} fill='white'>
27
+ <use xlinkHref={'#' + path2}/>
28
+ </mask>
29
+ <g mask={`url(#${mask1})`}>
30
+ <g transform='translate(-1, 0)'>
31
+ <g strokeWidth='1' fillRule='evenodd' transform='translate(1, 0)'>
32
+ <mask id={mask2} fill='white'>
33
+ <use xlinkHref={'#' + path1}/>
34
+ </mask>
35
+ <path fill='#1F333C' mask={`url(#${mask2})`}
36
+ d='M123.182388,2 L141.817612,2 L141.817612,2 C160.609055,2 176.866947,15.0804442 180.890118,33.4361631 L190,75 L75,75 L84.1098821,33.4361631 L84.1098821,33.4361631 C88.1330533,15.0804442 104.390945,2 123.182388,2 Z'/>
37
+ <ellipse fill='#1F333C' mask={`url(#${mask2})`} cx='132' cy='87.5' rx='122' ry='57.5'/>
38
+ <ellipse fill='#15232A' mask={`url(#${mask2})`} cx='132' cy='82' rx='62' ry='25'/>
39
+ </g>
40
+ <FacialHair/>
41
+ {children}
42
+ </g>
43
+ </g>
44
+ </g>
45
+ )
46
+ }
47
+
48
+ export default Hat
@@ -0,0 +1,51 @@
1
+ import HatColorName from './HatColorName'
2
+ import { useContext } from 'react'
3
+ import AvatarContext from '../AvatarContext'
4
+ import Color from '../Color'
5
+
6
+ export interface Props {
7
+ maskID: string
8
+ defaultColor?: string
9
+ }
10
+
11
+ export default function HatColor ({ maskID, defaultColor }: Props) {
12
+ const color = useContext(AvatarContext).hatColor ?? defaultColor
13
+ return <Color maskID={maskID} color={getHatColorCode(color)} fillRule='evenodd'/>
14
+ }
15
+
16
+ function getHatColorCode (color?: string) {
17
+ if (color && color.startsWith('#')) return color
18
+ switch (color) {
19
+ case HatColorName.Black:
20
+ return '#262E33'
21
+ case HatColorName.Blue01:
22
+ return '#65C9FF'
23
+ case HatColorName.Blue02:
24
+ return '#5199E4'
25
+ case HatColorName.Blue03:
26
+ return '#25557C'
27
+ case HatColorName.Gray02:
28
+ return '#929598'
29
+ case HatColorName.Heather:
30
+ return '#3C4F5C'
31
+ case HatColorName.PastelBlue:
32
+ return '#B1E2FF'
33
+ case HatColorName.PastelGreen:
34
+ return '#A7FFC4'
35
+ case HatColorName.PastelOrange:
36
+ return '#FFDEB5'
37
+ case HatColorName.PastelRed:
38
+ return '#FFAFB9'
39
+ case HatColorName.PastelYellow:
40
+ return '#FFFFB1'
41
+ case HatColorName.Pink:
42
+ return '#FF488E'
43
+ case HatColorName.Red:
44
+ return '#FF5C5C'
45
+ case HatColorName.White:
46
+ return '#FFFFFF'
47
+ case HatColorName.Gray01:
48
+ default:
49
+ return '#E6E6E6'
50
+ }
51
+ }
@@ -0,0 +1,20 @@
1
+ enum HatColorName {
2
+ Black = 'Black',
3
+ Blue01 = 'Blue01',
4
+ Blue02 = 'Blue02',
5
+ Blue03 = 'Blue03',
6
+ Gray01 = 'Gray01',
7
+ Gray02 = 'Gray02',
8
+ Heather = 'Heather',
9
+ PastelBlue = 'PastelBlue',
10
+ PastelGreen = 'PastelGreen',
11
+ PastelOrange = 'PastelOrange',
12
+ PastelRed = 'PastelRed',
13
+ PastelYellow = 'PastelYellow',
14
+ Pink = 'Pink',
15
+ Red = 'Red',
16
+ White = 'White'
17
+ }
18
+
19
+ export default HatColorName
20
+
@@ -0,0 +1,47 @@
1
+ import { useId } from 'react'
2
+ import HatColor from './HatColor'
3
+
4
+ const Hijab = ({ children }) => {
5
+ const filter1 = useId()
6
+ const mask1 = useId()
7
+ const mask2 = useId()
8
+ const path1 = useId()
9
+ const path2 = useId()
10
+
11
+ return (
12
+ <g strokeWidth='1' fillRule='evenodd'>
13
+ <defs>
14
+ <rect id={path1} x='0' y='0' width='264' height='280'/>
15
+ <path id={path2}
16
+ d='M66.0421575,77.0749852 C71.6795257,45.2058307 99.5129755,21 133,21 L133,21 L133,21 C170.555363,21 201,51.444637 201,89 L201,119.751022 C201.875211,129.554379 202.693946,136.422143 203.456205,140.354314 C204.833317,147.458254 209.150269,145.115419 209.150269,155.220201 C209.150269,165.324983 204.822005,168.720206 204.803237,177.705482 C204.784469,186.690758 220.200444,193.836185 220.200444,205.242606 C220.200444,216.649027 213.126079,270.475928 142.577598,270.475928 C127.507235,270.475928 114.670509,266.188589 104.06742,257.613911 C104.750275,264.103957 105.394468,271.565987 106,280 L59,280 C59.9324304,256.228591 51.7156549,242.936205 51.7156549,216.44564 C51.7156549,189.955074 65.3525844,151.427541 65,142 C65.019981,141.417741 65.0406721,140.728417 65.0620734,139.932027 C65.0208303,138.959828 65,137.982347 65,137 L65,89 L65,89 C65,85.0240875 65.3412247,81.1278723 65.9959868,77.3390417 C65.9973236,77.2261704 65.9986613,77.1131564 66,77 C66.0140661,77.0249783 66.0281186,77.0499734 66.0421575,77.0749852 Z M132.5,53 L132.5,53 C102.400481,53 78,77.4004811 78,107.5 L78,107.5 L78,130.5 C78,160.599519 102.400481,185 132.5,185 L133.5,185 C163.599519,185 188,160.599519 188,130.5 L188,107.5 C188,77.4004811 163.599519,53 133.5,53 L133.5,53 L132.5,53 Z'/>
17
+ <filter x='-0.8%' y='-2.0%' width='101.5%' height='108.0%' filterUnits='objectBoundingBox' id={filter1}>
18
+ <feOffset dx='0' dy='2' in='SourceAlpha' result='shadowOffsetOuter1'/>
19
+ <feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.16 0' type='matrix' in='shadowOffsetOuter1' result='shadowMatrixOuter1'/>
20
+ <feMerge>
21
+ <feMergeNode in='shadowMatrixOuter1'/>
22
+ <feMergeNode in='SourceGraphic'/>
23
+ </feMerge>
24
+ </filter>
25
+ </defs>
26
+ <mask id={mask1} fill='white'>
27
+ <use xlinkHref={'#' + path1}/>
28
+ </mask>
29
+ <g mask={`url(#${mask1})`}>
30
+ <g transform='translate(-1, 0)'>
31
+ <mask id={mask2} fill='white'>
32
+ <use xlinkHref={'#' + path2}/>
33
+ </mask>
34
+ <use stroke='none' fill='#3B6BAD' fillRule='evenodd' xlinkHref={'#' + path2}/>
35
+ <HatColor maskID={mask2} defaultColor='Blue03'/>
36
+ <path stroke='none' fillOpacity='0.5' fill='#FFFFFF' fillRule='evenodd' mask={`url(#${mask2})`}
37
+ d='M72.0744416,104.959767 C71.3690172,101.246903 71,97.4161983 71,93.5 C71,59.5344879 98.7583455,32 133,32 C167.241654,32 195,59.5344879 195,93.5 C195,97.4161983 194.630983,101.246903 193.925558,104.959767 C192.341315,72.6827942 165.669927,47 133,47 C100.330073,47 73.6586845,72.6827942 72.0744428,104.959774 Z'/>
38
+ <path stroke='none' fillOpacity='0.16' fill='#000000' fillRule='evenodd' opacity='0.899999976' mask={`url(#${mask2})`}
39
+ d='M187.929085,104.69543 C188.631457,108.187732 189,111.800827 189,115.5 L189,138.5 C189,168.599519 164.599519,193 134.5,193 L131.5,193 C101.400481,193 77,168.599519 77,138.5 L77,115.5 L77,115.5 C77,111.800827 77.3685433,108.187732 78.0709154,104.69543 C78.0238287,105.624341 78,106.559388 78,107.5 L78,107.5 L78,130.5 C78,160.599519 102.400481,185 132.5,185 L133.5,185 C163.599519,185 188,160.599519 188,130.5 L188,130.5 L188,107.5 C188,106.559388 187.976171,105.624341 187.929085,104.69543 Z M114.16682,206.995462 C120.651206,211.981028 135.663493,213.708321 152.404574,210.756416 C169.145655,207.804512 182.661822,201.046883 187.049987,194.144193 C187.118291,194.396526 187.175421,194.652296 187.221114,194.911435 C188.930607,204.606451 173.985409,215.345413 153.84008,218.897578 C133.694752,222.449742 115.977919,217.469978 114.268426,207.774963 C114.222732,207.515823 114.188938,207.255938 114.166824,206.995464 Z M126.034638,235.921439 C134.227056,241.574977 150.421729,241.843835 167.103682,235.772101 C183.785635,229.700366 196.018656,219.084674 198.660388,209.487828 C198.803116,209.80837 198.935124,210.134883 199.056117,210.46731 C203.582768,222.904181 190.979008,238.909268 170.904831,246.215671 C150.830654,253.522074 130.887742,249.363007 126.361091,236.926135 C126.240098,236.593709 126.131343,236.258733 126.034643,235.921442 Z'/>
40
+ {children}
41
+ </g>
42
+ </g>
43
+ </g>
44
+ )
45
+ }
46
+
47
+ export default Hijab
@@ -0,0 +1,51 @@
1
+ import { useId } from 'react'
2
+ import FacialHair from './facialHair'
3
+ import HairColor from './HairColor'
4
+
5
+ const LongHairBigHair = ({ children }) => {
6
+ const mask1 = useId()
7
+ const mask2 = useId()
8
+ const mask3 = useId()
9
+ const path1 = useId()
10
+ const path2 = useId()
11
+ const path3 = useId()
12
+
13
+ return (
14
+ <g strokeWidth='1' fillRule='evenodd'>
15
+ <defs>
16
+ <rect id={path1} x='0' y='0' width='264' height='280'/>
17
+ <path id={path2}
18
+ d='M222.384814,182.806274 C217.011239,188.518122 211.648364,192.127879 211.831204,198 C212.148076,209.888877 255.439069,245.051165 216.999964,267.00001 L16.0053198,267 C-22.4337677,245.051165 20.8572256,209.888877 21.1740982,198 C21.3569373,192.127879 15.9940628,188.518122 10.6204878,182.806274 C5.24691269,177.094426 -0.137362978,169.280486 0.00267373922,155 C0.944497502,125.971596 31.3716806,128.588232 31.2026676,109 C31.3716806,89.9992744 19.8139454,82.1607482 31.2026676,46 C42.8395963,9.53932757 72.9165934,0.768171773 116.002651,0.0159928999 L116.002651,0 C116.16951,0.002426813 116.336177,0.0049705256 116.502651,0.0076322645 C116.669125,0.0049705256 116.835791,0.002426813 117.002651,0 L117.002651,0.0159928999 C160.088708,0.768171773 190.165705,9.53932757 201.802634,46 C213.191356,82.1607482 201.633621,89.9992744 201.802634,109 C201.633621,128.588232 232.060804,125.971596 233.002628,155 C233.142665,169.280486 227.758389,177.094426 222.384814,182.806274 Z M182.884023,95.3249541 C161.364085,83.7373848 142.890027,67.1442914 130.845581,48.302359 C112.763849,73.9237118 76.5299076,78.5347548 51.2240944,94.679971 C51.0770557,95.4306015 51,96.2063021 51,97 L51,110 C51,116.018625 55.4308707,121.002364 61.2085808,121.867187 C62.9518066,142.114792 75.4692178,159.282984 93,167.610951 L93,186 L89,186 L89,186 C49.235498,186 17,218.235498 17,258 L17,267 L217,267 L217,258 C217,218.235498 184.764502,186 145,186 L141,186 L141,167.610951 C158.530782,159.282984 171.048193,142.114792 172.791419,121.867187 C178.569129,121.002364 183,116.018625 183,110 L183,97 C183,96.4315537 182.960475,95.8723389 182.884023,95.3249541 Z'/>
19
+ <path id={path3}
20
+ d='M222.384814,182.806274 C217.011239,188.518122 211.648364,192.127879 211.831204,198 C212.148076,209.888877 255.439069,245.051165 216.999964,267.00001 L16.0053198,267 C-22.4337677,245.051165 20.8572256,209.888877 21.1740982,198 C21.3569373,192.127879 15.9940628,188.518122 10.6204878,182.806274 C5.24691269,177.094426 -0.137362978,169.280486 0.00267373922,155 C0.944497502,125.971596 31.3716806,128.588232 31.2026676,109 C31.3716806,89.9992744 19.8139454,82.1607482 31.2026676,46 C42.8395963,9.53932757 72.9165934,0.768171773 116.002651,0.0159928999 L116.002651,0 C116.16951,0.002426813 116.336177,0.0049705256 116.502651,0.0076322645 C116.669125,0.0049705256 116.835791,0.002426813 117.002651,0 L117.002651,0.0159928999 C160.088708,0.768171773 190.165705,9.53932757 201.802634,46 C213.191356,82.1607482 201.633621,89.9992744 201.802634,109 C201.633621,128.588232 232.060804,125.971596 233.002628,155 C233.142665,169.280486 227.758389,177.094426 222.384814,182.806274 Z M93,186 L89,186 L89,186 C49.235498,186 17,218.235498 17,258 L17,267 L217,267 L217,258 C217,218.235498 184.764502,186 145,186 L141,186 L141,140 L93,140 L93,186 Z'/>
21
+ </defs>
22
+ <mask id={mask2} fill='white'>
23
+ <use xlinkHref={'#' + path1}/>
24
+ </mask>
25
+ <g mask={`url(#${mask2})`}>
26
+ <g transform='translate(-1, 0)'>
27
+ <g strokeWidth='1' fill='none' fillRule='evenodd' transform='translate(16, 13)'>
28
+ <mask id={mask3} fill='white'>
29
+ <use xlinkHref={'#' + path2}/>
30
+ </mask>
31
+ <use fill='#314756' xlinkHref={'#' + path2}/>
32
+ <HairColor maskID={mask3}/>
33
+ </g>
34
+ <g strokeWidth='1' fill='none' fillRule='evenodd' transform='translate(16, 13)'>
35
+ <mask id={mask1} fill='white'>
36
+ <use xlinkHref={'#' + path3}/>
37
+ </mask>
38
+ <path fillOpacity='0.16' fill='#000000' mask={`url(#${mask1})`}
39
+ d='M30.0988695,115.056827 C27.7250732,118.08281 24.5296181,122.528485 24.3618393,122.19381 C26.2345006,119.810609 27.3747977,117.011661 27.3409475,113.436088 C27.517612,95.334874 15.4366324,87.8674306 27.3409475,53.4185647 C28.0096512,51.5090274 29.1070085,49.7044671 30.585889,48.0048838 C20.2433352,82.4586863 31.3685109,90.3556196 31.2026676,109 C31.2224682,111.294844 30.8223327,113.284923 30.0988695,115.056827 Z M202.419413,48.0048838 C203.898293,49.7044671 204.995651,51.5090274 205.664354,53.4185647 C215.822041,82.8130155 208.516445,92.5627534 206.263744,106.036479 C205.964379,106.841192 206.195125,107.789747 205.880216,108.603009 C175.207016,98.1454461 147.589972,78.5596292 131.494917,55.6119279 C108.710969,85.0357527 58.3544031,85.3732378 33.6737341,110.936101 C34.0607045,110.391798 34.4280855,109.884956 34.7584999,109.446288 C57.2940449,79.527377 108.24688,80.3241416 130.845581,48.302359 C146.243536,72.3904102 172.664446,92.9495135 202.009146,103.926748 C202.310417,103.073073 202.089664,102.077381 202.376063,101.232679 C204.483829,87.4002546 211.215481,77.3069293 202.419413,48.0048838 Z'/>
40
+ </g>
41
+ <path fillOpacity='0.1' fill='#FFFFFF' fillRule='evenodd'
42
+ d='M50.7584999,122.446288 C73.2940449,92.527377 124.24688,93.3241416 146.845581,61.302359 C162.243536,85.3904102 188.664446,105.949514 218.009146,116.926748 C218.310417,116.073073 218.089664,115.077381 218.376063,114.232679 C220.531197,100.089398 227.520377,89.8551619 217.802634,59 C206.165705,22.5393276 176.088708,13.7681718 133.002651,13.0159929 C132.336177,13.0049705 132.16951,13.0024268 132.002651,13 C88.9165934,13.7681718 58.8395963,22.5393276 47.2026676,59 C35.8139454,95.1607482 47.3716806,102.999274 47.2026676,122 C47.2350518,125.753256 46.1441426,128.691293 44.3525888,131.192923 C44.5361111,131.59459 48.5061717,125.436551 50.7584999,122.446288 Z'/>
43
+ <FacialHair/>
44
+ {children}
45
+ </g>
46
+ </g>
47
+ </g>
48
+ )
49
+ }
50
+
51
+ export default LongHairBigHair
@@ -0,0 +1,38 @@
1
+ import { useId } from 'react'
2
+ import FacialHair from './facialHair'
3
+ import HairColor from './HairColor'
4
+
5
+ const LongHairBob = ({ children }) => {
6
+ const mask1 = useId()
7
+ const mask2 = useId()
8
+ const path1 = useId()
9
+ const path2 = useId()
10
+
11
+ return (
12
+ <g strokeWidth='1' fillRule='evenodd'>
13
+ <defs>
14
+ <rect id={path1} x='0' y='0' width='264' height='280'/>
15
+ <path id={path2}
16
+ d='M38,79.3595521 L38,111 C38,133.339168 51.0804213,152.623239 70,161.610951 L70,174.74565 C50.3625813,177.434228 34.6409914,182.163507 23.3845374,181.000327 C9.16164761,179.530612 1.49623627,150.795665 1,126 C0.382878875,95.1640258 29.3189583,30.7950013 40,18 C47.9231015,8.50878211 69.6952966,0.550643437 94.0001685,1 C118.30504,1.44935656 140.861928,6.81215989 149.000169,17 C161.324059,32.4276364 186.868727,91.0786423 187.000169,126 C187.093514,150.800049 177.46255,175.65995 164.000169,177 C152.920532,178.102871 137.475571,175.511343 118,173.997342 L118,161.610951 C136.919579,152.623239 150,133.339168 150,111 L150,82.9882378 C140.478735,78.1305678 131.863294,72.248172 124.153679,65.3410505 C127.362309,70.6368571 130.848786,75.1475352 134.61311,78.8730846 C107.596314,71.2928169 86.1055278,58.4501118 70.1407506,40.3449693 C62.1597317,56.8095313 51.4461487,69.8143919 38.0000014,79.3595511 Z'/>
17
+ </defs>
18
+ <mask id={mask1} fill='white'>
19
+ <use xlinkHref={'#' + path1}/>
20
+ </mask>
21
+ <g mask={`url(#${mask1})`}>
22
+ <g transform='translate(-1, 0)'>
23
+ <g strokeWidth='1' fillRule='evenodd' transform='translate(39, 19)'>
24
+ <mask id={mask2} fill='white'>
25
+ <use xlinkHref={'#' + path2}/>
26
+ </mask>
27
+ <use fill='#E6E6E6' xlinkHref={'#' + path2}/>
28
+ <HairColor maskID={mask2}/>
29
+ </g>
30
+ <FacialHair/>
31
+ {children}
32
+ </g>
33
+ </g>
34
+ </g>
35
+ )
36
+ }
37
+
38
+ export default LongHairBob
@@ -0,0 +1,36 @@
1
+ import { useId } from 'react'
2
+ import FacialHair from './facialHair'
3
+ import HairColor from './HairColor'
4
+
5
+ const LongHairBun = ({ children }) => {
6
+ const mask1 = useId()
7
+ const mask2 = useId()
8
+ const path1 = useId()
9
+ const path2 = useId()
10
+
11
+ return (
12
+ <g strokeWidth='1' fillRule='evenodd'>
13
+ <defs>
14
+ <rect id={path2} x='0' y='0' width='264' height='280'/>
15
+ <path id={path1}
16
+ d='M114.939716,28.3372418 C113.953527,28.5587334 112.985531,28.7906134 112.036894,29.0299707 C96.9448338,32.8379559 88.0168242,43.6513048 80.3566792,59.6480618 C76.5956048,67.5028569 74.3660182,76.7914798 74.0230569,85.4813651 C73.8884429,88.8932666 74.3484305,92.415154 75.267729,95.7003546 C75.6049405,96.9061873 77.4232441,101.086987 77.9224658,97.70885 C78.0885348,96.584253 77.4804043,95.0327505 77.4215529,93.8376154 C77.3444374,92.2693977 77.4273028,90.6807875 77.5341822,89.1149098 C77.7340739,86.1874141 78.2559568,83.3154127 79.1847257,80.524647 C80.5119249,76.5367405 82.2013644,72.212859 84.7874413,68.8480942 C91.1883705,60.5205939 95.7648164,43.2055199 133,41.6707324 C170.235184,40.1359449 181.748751,67.461069 185.182761,73.3006826 C189.2479,80.2147477 187.37751,88.7073939 188.619138,96.2008069 C189.091302,99.05041 190.164155,98.986558 190.751315,96.4378281 C191.748406,92.1082634 192.219217,87.6102098 191.901961,83.1592929 C191.183568,73.1114668 187.496636,46.7057251 167.308863,35.006118 C161.866498,31.8520537 156.438352,29.6874962 151.116597,28.2827668 C154.176091,25.3110645 156,21.5675963 156,17.5 C156,7.83501688 145.702549,0 133,0 C120.297451,0 110,7.83501688 110,17.5 C110,21.5924906 111.846303,25.3568736 114.939716,28.3372418 Z'/>
17
+ </defs>
18
+ <mask id={mask2} fill='white'>
19
+ <use xlinkHref={'#' + path2}/>
20
+ </mask>
21
+ <g mask={`url(#${mask2})`}>
22
+ <g transform='translate(-1, 0)'>
23
+ <FacialHair/>
24
+ <mask id={mask1} fill='white'>
25
+ <use xlinkHref={'#' + path1}/>
26
+ </mask>
27
+ <use stroke='none' fill='#28354B' fillRule='evenodd' xlinkHref={'#' + path1}/>
28
+ <HairColor maskID={mask1}/>
29
+ {children}
30
+ </g>
31
+ </g>
32
+ </g>
33
+ )
34
+ }
35
+
36
+ export default LongHairBun
@@ -0,0 +1,40 @@
1
+ import { useId } from 'react'
2
+ import FacialHair from './facialHair'
3
+ import HairColor from './HairColor'
4
+
5
+ const LongHairCurly = ({ children }) => {
6
+ const mask1 = useId()
7
+ const mask2 = useId()
8
+ const path1 = useId()
9
+ const path2 = useId()
10
+
11
+ return (
12
+ <g strokeWidth='1' fillRule='evenodd'>
13
+ <defs>
14
+ <rect id={path1} x='0' y='0' width='264' height='280'/>
15
+ <path id={path2}
16
+ d='M48.7246602,89.2187346 C44.7420117,91.1711421 42,95.2653555 42,100 L42,113 C42,119.018625 46.4308707,124.002364 52.2085808,124.867187 C53.9518066,145.114792 66.4692178,162.282984 84,170.610951 L84,189 L80,189 L80,189 C78.4137385,189 76.8394581,189.051297 75.2787271,189.152323 C70.3620966,186.639548 65.7724391,183.578174 61.590479,180.048925 C57.2814481,181.318646 52.7202934,182 48,182 C21.490332,182 0,160.509668 0,134 C0,119.590902 6.34904132,106.664702 16.4021743,97.866349 C11.1175746,90.6060809 8,81.6671147 8,72 C8,50.160623 23.9112243,32.0375116 44.7738169,28.5905219 C51.0188047,11.8901624 67.1208542,0 86,0 C94.0143172,0 101.528186,2.14267429 108,5.88641659 C114.471814,2.14267429 121.985683,0 130,0 C148.879146,0 164.981195,11.8901624 171.226183,28.5905219 C192.088776,32.0375116 208,50.160623 208,72 C208,81.6671147 204.882425,90.6060809 199.597826,97.866349 C209.650959,106.664702 216,119.590902 216,134 C216,160.509668 194.509668,182 168,182 C163.279707,182 158.718552,181.318646 154.409521,180.048925 C150.227561,183.578174 145.637903,186.639548 140.721273,189.152323 C139.160542,189.051297 137.586262,189 136,189 L136,189 L132,189 L132,170.610951 C149.530782,162.282984 162.048193,145.114792 163.791419,124.867187 C169.569129,124.002364 174,119.018625 174,113 L174,100 C174,95.778427 171.820067,92.0660046 168.524466,89.9269981 C167.450514,89.5343912 166.370126,89.0424011 165.289302,88.4564081 C164.868503,88.3367332 164.43828,88.2394463 164,88.1659169 L164,87.7130302 C155.319369,82.4100235 146.764694,71.1747746 141.449951,56.7992877 C131.312295,58.8351061 119.547256,60 107,60 C95.038684,60 83.7882341,58.9413637 73.9808476,57.0787685 C68.7546917,71.0641476 60.4637821,82.0431875 52,87.4230168 L52,88.1659169 C50.9777341,88.3374206 49.9992949,88.6381729 49.0820602,89.050796 C48.9628927,89.1079465 48.8437566,89.1639284 48.7246602,89.2187346 Z'/>
17
+ </defs>
18
+ <mask id={mask1} fill='white'>
19
+ <use xlinkHref={'#' + path1}/>
20
+ </mask>
21
+ <g mask={`url(#${mask1})`}>
22
+ <g transform='translate(-1, 0)'>
23
+ <path fillOpacity='0.16' fill='#000000' fillRule='evenodd'
24
+ d='M105.984735,27.7643628 C114.013215,26.6267967 122.796163,26 132,26 C142.358003,26 152.182939,26.7938545 160.999342,28.2161842 C183.451688,38.7497687 199,61.559133 199,88 L199,105.044138 C187.461887,104.672508 173.831239,90.7644306 166.449951,70.7992877 C156.312295,72.8351061 144.547256,74 132,74 C120.038684,74 108.788234,72.9413637 98.9808476,71.0787685 C91.6758772,90.6271291 78.3831001,104.301811 67,105.021902 L67,88 L67,88 C67,61.1745453 83.0039076,38.0870034 105.984735,27.7643628 Z'/>
25
+ <g strokeWidth='1' fill='none' fillRule='evenodd' transform='translate(25, 10)'>
26
+ <mask id={mask2} fill='white'>
27
+ <use xlinkHref={'#' + path2}/>
28
+ </mask>
29
+ <use fill='#314756' xlinkHref={'#' + path2}/>
30
+ <HairColor maskID={mask2}/>
31
+ </g>
32
+ <FacialHair/>
33
+ {children}
34
+ </g>
35
+ </g>
36
+ </g>
37
+ )
38
+ }
39
+
40
+ export default LongHairCurly
@@ -0,0 +1,44 @@
1
+ import { useId } from 'react'
2
+ import FacialHair from './facialHair'
3
+ import HairColor from './HairColor'
4
+
5
+ const LongHairCurvy = ({ children }) => {
6
+ const mask1 = useId()
7
+ const mask2 = useId()
8
+ const path1 = useId()
9
+ const path2 = useId()
10
+
11
+ return (
12
+ <g strokeWidth='1' fillRule='evenodd'>
13
+ <defs>
14
+ <rect id={path1} x='0' y='0' width='264' height='280'/>
15
+ <path id={path2}
16
+ d='M162.831093,71.6181521 C162.943003,73.0640672 163,74.5253775 163,76 L163,114 C163,136.339168 149.919579,155.623239 131,164.610951 L131,183 L135,183 C136.524404,183 137.037743,183.047374 138.538625,183.140731 C123.625568,210.496321 119.823733,233.574048 137.47212,247.543277 C139.169858,248.745686 140.396085,249.328761 140.607243,249.428275 C142.980035,250.546232 145.444343,251.76781 148.074296,252.382591 C152.696796,253.463231 158.007057,252.010459 162.630756,251.429524 C164.742591,251.164137 166.847633,251.000636 168.977452,250.993519 C171.542066,250.985014 174.188404,251.078221 176.119408,252.691023 C178.003455,254.264772 177.763079,259.889444 172.244213,262.523872 C176.3432,264.37915 181.25603,260.071171 182.931671,257.34666 C184.398107,254.962171 185.526058,252.378599 186.146081,249.741914 C186.917963,246.458686 186.967717,243.016815 186.363678,239.728032 C185.106048,232.88022 182.187563,226.295538 180.201011,219.605673 C179.468692,217.139607 178.51478,214.440611 178.099366,211.916746 C177.986471,211.23167 177.851996,208.701383 177.957698,208.171998 C178.036425,207.778517 178.016643,207.37549 179.372782,206.996069 C183.288539,205.899634 187.379733,204.063449 190.225486,201.476579 C193.590156,198.418295 195.343925,194.445304 196.758409,190.497133 C198.998525,184.244662 200.281132,177.550111 200.870584,171.057073 C200.99307,169.708269 201.062205,168.361722 201.086383,167.009968 C201.10077,166.193153 201.000862,165.263344 201.094375,164.445141 C201.247433,163.105189 201.039826,163.457881 202.341615,162.571291 C206.599454,159.671476 209.921164,155.448546 212.051783,151.200622 C215.39827,144.528634 215.834064,137.49302 213.117591,130.733555 C210.864687,125.12728 207.291411,119.498616 201.725588,115.887863 C199.588776,114.501568 197.334273,113.244582 195.115337,111.95809 C193.906862,111.257566 191.067703,110.342511 190.209501,109.441341 C189.609259,108.810939 190.56477,105.649382 190.685858,104.583322 C191.213967,99.9353218 190.606132,95.4261763 189.520542,90.8868298 C187.127368,80.8793698 177.487944,64.7382958 173.617944,55.2249863 C170.293437,47.0528435 165.481911,-0.0750473139 108.58669,0.198941193 C51.691468,0.4729297 41.4185991,50.4377258 33.7159879,59.7736698 C25.3512665,69.9121239 16.9074766,89.1763214 22.602684,107.035643 C17.099033,113.95809 4.54481227,124.04369 1.3853513,134.125611 C-0.596804833,140.450807 -0.511883829,147.495621 2.0289526,153.633016 C3.46621561,157.104393 5.52490056,160.250502 7.94045353,163.272162 C10.0566849,165.919435 12.4084972,168.423513 14.4577909,171.110359 C15.6946403,172.732013 16.0263318,173.129312 15.5599656,175.128304 C14.6406208,179.068318 12.7411877,182.853334 11.0939201,186.603116 C8.54189405,192.412639 6.39748885,197.82226 6.0799842,204.016065 C5.77766543,209.912373 7.40435223,226.688671 24.3409972,236.576369 C26.3249517,237.73442 28.2831301,238.743202 30.3833764,239.685161 C29.2931905,236.290327 30.5294405,224.161856 32.7263968,219.653578 C33.2860762,221.204589 34.2369916,222.697108 35.2618383,224.05216 C36.8611506,226.167444 40.636039,231.460774 45.4085994,231.706547 C43.4722007,228.722725 41.3891385,226.708805 40.7853002,223.10864 C44.7616013,225.068753 50.4191385,226.855644 55.0466338,226.691448 C58.4512667,226.570818 63.4709972,224.871405 66.0000446,222.74779 C57.6284322,224.074724 49.679027,221.3155 46.4820009,215.419366 C45.8146217,214.188415 45.3084926,212.898625 45.0141664,211.558847 C44.5967546,209.659309 43.9381673,206.615432 44.8227444,204.862039 C45.0375932,204.436124 45.3893685,204.001198 45.806628,203.572743 C45.7407358,203.49425 45.6753213,203.415537 45.6103845,203.336606 C51.303506,198.550494 58.4494475,190.932516 62.2752482,185.367908 C62.3459243,185.245492 62.416066,185.122857 62.4856702,185 L62.5253504,185 C62.5536953,184.957813 62.5818364,184.915755 62.6097716,184.873828 C67.874859,183.648086 73.3617452,183 79,183 L83,183 L83,164.610951 C64.0804213,155.623239 51,136.339168 51,114 L51,76 L51,76 C51,73.537425 51.1589523,71.1119753 51.4671565,68.733351 C55.4088487,67.4702772 59.365485,66.2776957 63.3986046,65.2045441 C67.8552588,64.0189378 77.7980098,62.0907786 81.6887904,61.1941723 L84.4252449,58.215348 L85.4876566,60.1702128 C87.6456492,60.0042337 99.5663601,58.212708 99.5663601,58.212708 L100.896323,54.9898699 C102.612526,56.7530625 103.834989,57.668872 103.834989,57.668872 C106.391211,57.460454 117.488488,57.2113208 120.119841,57.2427023 C120.119841,57.2427023 127.460212,57.5012269 129.240756,57.5714137 L130.907605,56.9328981 L131.456495,58.0098503 C132.910143,58.601117 141.699367,61.6008734 143.434153,62.138079 L145.980784,61.2323702 C147.100342,63.9256202 149.920119,63.586016 152.257345,65.7132858 C154.760315,67.9915694 159.482831,69.7372554 162.831093,71.6181521 Z'/>
17
+ </defs>
18
+ <mask id={mask1} fill='white'>
19
+ <use xlinkHref={'#' + path1}/>
20
+ </mask>
21
+ <g mask={`url(#${mask1})`}>
22
+ <g transform='translate(-1, 0)'>
23
+ <path fillOpacity='0.16' fill='#000000' fillRule='evenodd'
24
+ d='M100.899906,42.4648024 C91.1016204,48.4721303 82.3855283,56.3273858 76.5871222,65.36024 C73.8252914,69.662826 71.5532049,74.1995784 69.4361743,78.7575668 C68.3739624,81.0447336 67.4048638,83.3600237 66.475928,85.6893613 C65.8894735,87.1594817 64.9889112,88.7449062 65.8359233,90.2878445 C66.3526427,89.9857996 66.5492598,90.0943892 66.224362,90.6353417 C68.9162579,91.3693254 72.6583769,89.3003017 74.9906073,88.5362205 C79.7539763,86.9753339 84.5203425,85.5025753 89.3986046,84.2045441 C93.8552588,83.0189378 103.79801,81.0907786 107.68879,80.1941723 L110.425245,77.215348 L111.487657,79.1702128 C113.645649,79.0042337 125.56636,77.212708 125.56636,77.212708 L126.896323,73.9898699 C128.612526,75.7530625 129.834989,76.668872 129.834989,76.668872 C132.391211,76.460454 143.488488,76.2113208 146.119841,76.2427023 C146.119841,76.2427023 153.460212,76.5012269 155.240756,76.5714137 L156.907605,75.9328981 L157.456495,77.0098503 C158.910143,77.601117 167.699367,80.6008734 169.434153,81.138079 L171.980784,80.2323702 C173.100342,82.9256202 175.920119,82.586016 178.257345,84.7132858 C181.34867,87.5271086 187.825645,89.5285179 190.917768,91.9756241 C192.024938,92.8519441 193.059576,93.7675012 194.100208,94.7015404 C195.255933,95.7385867 195.085291,95.890424 195.460742,97.0802141 C195.573237,97.4361731 196.715775,99.2788807 197.202722,99.4296139 C198.935909,99.9660566 187.048767,68.9435732 183.785603,64.9771662 C180.417736,60.8830307 158.574915,33.3231248 129.612057,34.2254634'/>
25
+ <g strokeWidth='1' fill='none' fillRule='evenodd' transform='translate(26, 16)'>
26
+ <mask id={mask2} fill='white'>
27
+ <use xlinkHref={'#' + path2}/>
28
+ </mask>
29
+ <use fill='#361A0A' xlinkHref={'#' + path2}/>
30
+ <HairColor maskID={mask2}/>
31
+ <path fillOpacity='0.24' fill='#000000' mask={`url(#${mask2})`}
32
+ d='M62.6794556,184.462132 C69.755442,174.755405 62.148959,147.786913 56.1278159,137.800593 C72.9649824,130.137708 106.213574,131.553467 155.87359,142.047871 C151.079203,150.900348 149.123448,158.803527 150.006324,165.757409 C145.469118,171.332534 141.720304,177.127222 138.759883,183.141474 L103.888915,191.746789 C81.8528509,194.400378 68.1163643,191.97216 62.6794556,184.462132 Z'/>
33
+ </g>
34
+ <path fillOpacity='0.6' fill='#FFFFFF' fillRule='evenodd'
35
+ d='M79.0404573,170.094305 C78.9812573,169.892618 78.8354573,169.667152 78.6348573,169.428842 C78.7708573,169.650142 78.9074573,169.871269 79.0404573,170.094305 Z M56.409572,120.375261 C57.2661752,126.5406 58.7356083,132.465374 60.8662263,138.377476 C62.9277086,144.09848 65.285915,149.836145 68.678559,155.067858 C71.8402179,159.943234 75.6031176,164.4923 78.6348973,169.428772 C77.8378388,168.48126 76.1633964,167.329804 75.5207941,166.65115 C74.4643769,165.535276 73.4750971,164.385382 72.5369698,163.193485 C70.6143583,160.749982 68.9003527,158.193833 67.243494,155.609567 C63.9913192,150.536843 61.5529875,145.034363 59.4397533,139.530668 C55.2902133,128.722708 51.1268862,115.61687 54.7738936,104.200899 C54.4921557,104.935095 55.2326668,106.688314 55.3491585,107.497319 C55.5525692,108.91069 55.7349995,110.333608 55.8267142,111.757219 C56.0123415,114.639678 56.0109428,117.505994 56.409572,120.375261 Z M68.8553146,165.041212 C67.4967783,163.309515 64.9739252,161.944396 63.4129772,160.279177 C61.9976938,158.769648 60.9019131,157.07822 59.9070386,155.339754 C57.6517365,151.39922 56.1697151,147.374505 55.6897616,142.969154 C55.7992598,143.49177 56.6083072,144.395543 56.8630702,144.824778 C57.4766993,145.858902 58.0839345,146.89424 58.6508072,147.948671 C59.7481863,149.989667 60.6639345,152.099744 61.7731027,154.135533 C63.8106073,157.875421 66.402796,161.495374 68.8553146,165.041212 Z M73.5320242,183.498629 C74.6465874,185.460651 75.5723262,187.464851 76.1569823,189.60079 C76.4654954,190.727599 76.7138643,191.869508 76.9272658,193.013501 C76.9962017,193.382508 77.0093894,194.709963 77.1846264,195.283955 C74.9700864,190.992812 73.2798587,186.448779 70.6421125,182.34214 C68.0381348,178.288092 64.6948448,174.560527 61.1958996,171.061031 C57.5013364,167.36575 53.7855929,163.879099 51.8038364,159.214262 C50.0788411,155.153619 49.4126608,150.996124 49.8138875,146.658464 C49.8160855,148.56911 51.5706533,151.280256 52.1766896,153.126681 C53.0063178,155.654018 53.6655046,158.231689 54.9143429,160.634229 C57.039566,164.722991 60.873,167.876911 64.0792175,171.321558 C67.631513,175.137643 71.0245567,179.084252 73.5320242,183.498629 Z M59.2286696,174.179456 C60.2874847,175.196917 61.2164205,176.28259 62.0352588,177.454354 C62.9328239,178.738937 63.5914112,180.09017 64.1800637,181.504062 C64.6869921,182.721301 64.9105841,184.986375 65.7074428,186.0021 C63.1288415,182.856337 60.4739112,179.884838 58.6955655,176.312444 C58.0893295,175.089825 57.1480051,173.289222 56.4530516,171.817184 C56.6844363,172.409922 58.7059559,173.677148 59.2286696,174.179456 Z M48.9033745,180.528033 C51.7405353,184.777866 55.450684,188.609052 57.877027,193.056233 C60.7067946,198.242644 61.9518364,203.862978 62.202803,209.595957 C62.3216924,212.307277 62.3152983,215.0606 61.9498383,217.764455 C61.7540204,219.211673 61.4399126,220.650211 61.0810465,222.075732 C60.944973,222.616747 60.2406283,224.002173 60.1037556,224.846586 C59.8140251,214.305575 61.5584024,203.763696 56.0767017,193.942823 C53.4811162,189.292219 49.4912277,185.327212 46.398105,180.924811 C43.6164926,176.966226 40.8998197,173.083838 38.6846803,168.851361 C40.0408188,170.567263 42.485145,171.915893 44.0009349,173.619818 C45.8995688,175.753674 47.3488206,178.199606 48.9033745,180.528033 Z M60.1036574,224.846603 C60.0710574,225.050581 60.0700574,225.224111 60.1172574,225.346603 C60.1116574,225.180112 60.1082574,225.01327 60.1036574,224.846603 Z M50.5604331,202.493815 C50.5610325,202.989874 51.376474,204.011501 51.5992667,204.528562 C52.1207816,205.73799 52.5455864,207.007473 52.7573894,208.289626 C53.1752007,210.818004 52.6269108,213.429521 51.6899823,215.850286 C49.7909489,220.757251 46.8161162,225.102895 43.0767946,229.15 C44.4121524,227.402335 44.9438578,224.56136 45.8833838,222.612182 C46.8478866,220.611106 47.8829238,218.6411 48.7335325,216.600624 C50.652947,211.995842 50.4835046,207.289696 50.5604331,202.493815 Z M41.9174331,221.200893 C42.3180604,220.652936 42.1102537,218.018161 42.3222565,217.328919 C42.714092,216.055618 43.3920613,214.827097 44.170737,213.693866 C43.7551236,214.392828 44.3691524,216.160106 44.1663411,217.067177 C43.8338504,218.55553 42.9962296,219.998582 41.9174331,221.200893 Z M99.6077106,42.748374 C99.5269106,42.804974 99.4471106,42.908174 99.3681106,43.044574 C99.4481106,42.945974 99.5267106,42.846574 99.6077106,42.748374 Z M84.8469387,64.3317143 C86.2672175,63.085837 87.0237138,60.1410677 88.0032026,58.5522183 C89.1283559,56.7269681 90.4213532,54.9730547 91.6476125,53.1960567 C94.0795502,49.6719145 96.3744154,46.2123399 99.3680307,43.0054816 C98.7464089,43.9398028 98.1949219,46.7736616 97.8536394,47.5189663 C96.9620688,49.4667561 95.8988578,51.3334892 94.6328355,53.1235049 C91.7722965,57.1680066 88.7029517,60.9266404 84.8469387,64.3317143 Z M84.3117165,54.1218036 C85.0620186,52.7952168 86.2055548,51.6739619 87.4917584,50.7082248 C86.9188913,51.2107066 86.6607314,53.2831189 86.2670976,53.9831221 C85.472237,55.3952784 84.3143141,56.6130375 83.0714703,57.7545999 C83.7352528,57.1726235 83.842553,54.9516363 84.3117165,54.1218036 Z M203.505599,152.127968 C203.498805,152.179518 203.485417,152.282271 203.464637,152.438483 C203.462638,150.913159 202.784469,149.237352 202.704144,147.668984 C202.592048,145.478545 202.906556,143.353715 203.787137,141.277137 C205.526519,137.175704 208.790083,134.069516 212.950612,131.638511 C211.805877,132.313173 210.683921,134.851617 209.949604,135.906916 C208.84663,137.493162 207.668126,139.094161 206.735993,140.757819 C204.793001,144.225725 204.229725,148.375062 203.505599,152.127968 Z M201.998401,130.481881 C201.761221,131.706583 201.448912,132.921738 201.009121,134.107908 C200.534762,135.386937 199.915938,136.630558 199.22578,137.835993 C198.79578,138.586852 197.246621,140.162684 197.24762,140.993211 C197.165296,136.095098 198.975812,131.657983 202.419809,127.7355 C202.04236,128.392806 202.137271,129.766083 201.998401,130.481881 Z M201.196906,165.719988 C204.852905,165.202752 208.302496,166.981313 210.618342,169.271033 C211.855791,170.494694 212.955568,171.900428 213.683091,173.404055 C214.229783,174.534509 214.228783,176.387356 214.9631,177.323587 C213.165772,174.905078 210.886892,172.951214 208.638584,170.859535 C207.075238,169.404855 203.950944,165.678852 201.196906,165.719988 Z M200.41897,176.096698 C200.227148,176.031957 198.485169,175.539368 198.081944,175.776984 C198.679388,175.510035 199.412106,175.184941 200.068895,175.097983 C204.35311,174.529024 209.561066,178.239232 210.13633,181.81909 C209.657576,180.592826 207.111145,179.578489 205.959616,178.968568 C204.136711,178.002484 202.395531,176.832456 200.41897,176.096698 Z M202.227687,183.908269 C202.969797,184.089822 204.54713,185.083504 205.275252,185.072742 C202.345977,185.143906 199.703236,184.81829 196.883858,184.158729 C197.036117,184.200212 198.643022,183.702937 198.694974,183.695647 C199.910043,183.523987 201.052381,183.620492 202.227687,183.908269 Z M190.882541,197.765243 C195.171151,197.522941 200.218656,198.149351 204.314046,199.181739 C206.346955,199.694288 208.253382,200.468058 210.006351,201.476666 C211.420436,202.290531 213.935896,203.408661 214.881616,204.614097 C211.142494,198.162369 203.032039,194.811448 194.722769,196.473197 C193.615199,196.695886 191.914181,197.749796 190.882541,197.765243 Z M189.923153,210.197773 C192.611453,209.233424 195.584487,208.30431 198.505969,208.169273 C201.277391,208.042395 204.351332,208.458613 206.915546,209.342078 C206.033367,209.102206 203.92333,209.674289 202.995793,209.779298 C201.699199,209.926138 200.399608,210.077837 199.099817,210.196558 C197.506299,210.342009 195.898395,210.422718 194.298883,210.41942 C193.159543,210.41699 190.979371,209.87858 189.923153,210.197773 Z M179.458947,227.410508 C179.711912,231.383499 182.010574,234.84533 185.39043,237.491388 C188.973097,240.296087 193.769036,241.572686 196.369816,245.319691 C197.637437,247.145462 198.312809,249.270812 198.20431,251.417686 C198.148362,252.524014 197.870221,253.636069 197.5695,254.712196 C197.371684,255.420184 196.66734,256.580144 196.667939,257.270775 C196.69911,253.384221 196.751661,248.859281 194.031592,245.598095 C191.300932,242.324066 186.539161,241.170701 183.203065,238.482813 C179.924714,235.841442 177.437828,232.389157 176.877749,228.498264 C176.425569,225.354411 176.648562,219.871892 179.90773,217.738557 C179.246345,218.128392 179.377224,220.111764 179.361438,220.669267 C179.298097,222.900321 179.317079,225.185182 179.458947,227.410508 Z M177.005789,242.672904 C177.402221,243.19257 179.575399,243.82436 180.213805,244.182606 C181.67045,245.000116 183.07914,245.92923 184.234665,247.059684 C186.55111,249.326146 188.044121,252.504886 188.151821,255.553623 C188.151821,254.833139 186.505553,253.096583 186.043183,252.481107 C185.275297,251.458613 184.407904,250.511969 183.524526,249.564283 C181.371329,247.253734 179.135209,244.999942 177.005789,242.672904 Z M229.167807,153.791051 C230.371887,154.841663 231.178936,156.147595 231.842519,157.49987 C233.373295,160.619424 233.65823,164.217333 232.431571,167.500388 C232.634582,166.795698 232.030544,165.31585 231.860502,164.601614 C231.488248,163.038626 230.906389,161.56225 230.298355,160.059664 C229.118053,157.144401 228.163741,154.41208 226.113648,151.858014 C226.644354,152.52556 228.442481,153.157872 229.167807,153.791051 Z M171.509602,41.9832998 C171.510002,42.3148163 172.426549,43.2758671 172.633357,43.6374111 C173.149677,44.5392749 173.557297,45.4857459 173.696967,46.4924453 C173.85542,47.6336606 173.6616,48.7505762 173.315522,49.8605491 C173.109914,50.5202844 172.131624,51.7949741 172.132423,52.3894475 C171.972572,48.891167 171.198691,45.5298324 171.509602,41.9832998 Z M179.146978,48.8048339 C179.312224,50.0477605 178.906202,51.4491555 178.183074,52.546805 C178.314952,52.2364639 177.729296,50.1642252 177.710314,49.7849773 C177.650969,48.6118253 177.77925,47.4056953 177.856378,46.2332376 C177.857178,46.8738803 179.039478,47.9958294 179.146978,48.8048339 Z M118.377388,50.3732542 C117.142336,51.8857333 115.738043,53.3032702 114.227248,54.6164922 C113.2036,55.5060327 111.243024,56.5057893 110.46315,57.5267214 C113.964293,51.8147436 118.00913,46.8878178 122.764906,41.8951095 C122.049172,42.8155452 121.862346,44.8121078 121.337434,45.8885819 C120.563354,47.4758692 119.527518,48.9645693 118.377388,50.3732542 Z M124.275361,52.8515919 C124.845431,52.5155626 125.378934,50.859195 125.81333,50.3013446 C126.54465,49.3623371 127.437619,48.4554398 128.390733,47.6728177 C128.186123,47.8927295 127.788693,49.7158968 127.5657,50.0739694 C126.843372,51.2344508 125.56616,52.1809219 124.275361,52.8515919 Z'/>
36
+ <FacialHair/>
37
+ {children}
38
+ </g>
39
+ </g>
40
+ </g>
41
+ )
42
+ }
43
+
44
+ export default LongHairCurvy
@@ -0,0 +1,44 @@
1
+ import { useId } from 'react'
2
+ import FacialHair from './facialHair'
3
+ import HairColor from './HairColor'
4
+
5
+ const LongHairDreads = ({ children }) => {
6
+ const mask1 = useId()
7
+ const mask2 = useId()
8
+ const path1 = useId()
9
+ const path2 = useId()
10
+
11
+ return (
12
+ <g strokeWidth='1' fillRule='evenodd'>
13
+ <defs>
14
+ <rect id={path1} x='0' y='0' width='264' height='280'/>
15
+ <path id={path2}
16
+ d='M85.718098,185.073467 C86.8059563,185.024663 87.900098,185 89,185 L89,185 L93,185 L93,166.610951 C81.2286384,161.018987 71.7176526,151.441235 66.2110974,139.621749 C63.4467803,131.013632 63.6113966,121.686985 63.000708,112.826222 C62.1957105,101.145772 62.8887367,89.7481762 65.5369124,78.2476834 C67.9263583,67.8722634 71.3610508,62.3068417 79.1631677,53.9925443 C83.5224388,49.3467459 90.0678681,49.0779432 96.5828586,47.4293172 C103.17612,45.7598396 109.194306,43.2191332 113.317676,38.4387068 C122.400941,48.8499369 146.671683,45.1030183 155.554378,56.4493915 C166.355804,70.2471725 166.476604,79.1499376 167.747424,95.0917937 C168.700138,107.043152 167.218859,128.656014 166.803718,141.630125 C161.185514,152.525228 152.097197,161.339247 141,166.610951 L141,185 L145,185 C151.635699,185 158.061736,185.89767 164.1633,187.578199 C162.113115,190.752042 159.66929,193.757151 157.112045,196.551224 C153.280561,200.738743 149.430596,205.07041 145.111547,208.917959 C140.170678,213.319433 135.443967,216.514694 132.444114,221.999991 C131.086326,224.482676 128.707208,227.093643 131.224932,229.817026 C133.524148,232.304244 137.149083,231.79157 139.609734,229.99245 C143.247171,227.332528 145.947527,223.133676 149.2996,220.076669 C146.062216,225.891963 141.557817,234.561189 143.870623,241.081807 C144.65714,243.298862 145.455615,243.254893 146.671536,244.732627 C148.591355,244.77569 149.350151,245.644199 148.948467,247.337701 C149.128382,247.821818 149.308297,248.305028 149.488756,248.789145 C150.944383,251.382887 153.73062,253.199684 157.268587,251.977153 C168.828809,247.982737 155.493353,230.015568 168.22112,224.674872 C170.498594,227.504326 167.135107,235.453723 167.044334,238.930932 C166.932906,243.218176 167.166089,252.943574 173.685972,254.109896 C182.182202,255.630241 178.905139,247.513126 179.240509,244.059941 C179.630235,240.043766 182.101213,234.747946 184.111805,231.19141 C182.888817,234.970512 180.603189,243.344644 186.927937,245.060811 C194.245208,247.046687 193.409228,238.475373 194.5197,234.910224 C194.748535,240.185647 201.565196,252.659813 207.724704,242.806586 C210.898493,237.730613 208.733533,229.366 208.385661,223.95323 C212.799287,228.512903 216.32584,222.602417 216.224196,219.322843 C217.902135,224.075166 224.207315,237.325369 229.795009,226.807615 C233.19274,220.412559 229.568892,211.82266 227.311529,205.648358 C233.255792,206.168285 232.061613,200.411919 231.17617,197.553001 C229.869476,193.331485 230.56685,192.711833 230.835907,188.347077 C239.08591,193.151981 238.833159,180.113465 238.377664,176.915484 C237.232404,168.863643 230.969077,161.653567 226.135287,154.862787 C222.669068,149.991702 216.20028,141.510593 218.096726,135.636824 C220.053506,138.105004 224.604107,138.079166 226.413041,135.494944 C227.944765,133.306899 226.321725,129.699141 225.582497,127.51291 C223.561578,121.532617 219.523001,117.668749 215.871976,112.532035 C208.763972,102.531035 209.78639,89.3991407 209.129238,78.2191259 C208.309564,64.2703984 205.315147,50.5387982 192.648801,40.3918378 C185.862036,34.9554966 177.590835,30.4783232 171.278589,24.7101717 C169.557166,23.1372455 168.829352,21.1885396 167.213378,19.672275 C165.399552,17.9706136 164.553244,18.373591 163.055221,15.951194 C160.386934,11.6367527 157.252824,7.59700681 150.804147,7.39438491 C146.585112,7.26247669 141.249081,10.823092 137.446405,10.3027118 C134.324254,9.87616325 132.352254,5.42437419 129.78996,3.93032097 C125.824219,1.61762086 123.056462,2.51559399 118.817859,3.85507435 C112.508874,5.8486563 108.488235,6.54355423 102.06293,4.16059373 C97.6906135,2.53871192 93.5645254,-0.846479064 88.4018873,0.357013447 C84.3524397,1.30167574 82.5435053,4.56991717 80.1584078,7.07481345 C77.6972133,9.66084915 78.8865008,8.80593884 75.2887432,9.38026087 C71.6083661,9.9681817 68.7020041,10.5017074 65.9103313,12.9118655 C61.397779,16.8074642 64.5237352,22.8666297 60.95696,26.3007763 C59.0317058,28.154744 55.0219374,29.0377585 52.7922952,30.954734 C50.3582782,33.0471337 48.3677981,35.5901066 46.5441878,38.0655389 C42.992632,42.8881215 40.5678554,48.1435988 37.9642508,53.3460408 C33.1206766,63.0274694 28.8027153,73.0171372 26.9622549,83.4183949 C26.0170215,88.7645307 24.4238764,93.9946236 23.4503783,99.3303337 C22.6997357,103.444873 23.0198867,107.95151 21.5539323,111.946834 C19.8145722,116.686464 15.6553275,121.042608 13.4023127,125.704271 C10.4144183,131.887186 8.40763163,137.818976 7.77222166,144.475128 C7.14822625,151.019317 8.88486854,156.786109 9.65073052,163.202016 C10.0942673,166.919017 9.32731826,167.341033 6.77100254,170.849066 C4.80389503,173.548878 2.81124068,176.221946 1.54639979,179.227278 C-0.815325022,184.841763 -0.684329469,190.304395 3.42490864,195.240301 C6.24484612,198.627758 15.7238148,202.173415 14.9476254,194.622463 C14.5872518,191.114429 10.1763434,189.527451 11.0188459,185.502664 C11.6020751,182.715366 14.443211,180.786605 17.8920358,179.924895 C20.328227,179.316576 21.5278419,179.343321 22.6269,182.014575 C23.6232272,184.435613 22.3024007,189.72146 21.996382,192.265793 C21.8735397,193.288422 21.691994,194.184582 21.5686081,195.131511 C20.7005588,201.806248 20.5407551,207.947459 16.8870119,214.076432 C14.6426939,217.842389 10.2513533,223.149088 15.258536,226.778604 C19.2177543,229.649308 26.0490909,227.900051 29.1359115,224.896532 C32.3923196,228.923586 31.668311,233.320073 30.4502154,237.765516 C29.6941373,240.525616 27.6264731,244.567629 30.8812505,246.798736 C35.2888976,249.820386 42.4838692,245.061265 45.7886533,242.659719 C47.6992316,246.926565 49.4918595,262.485842 57.0243756,253.211017 C59.2224919,250.505765 62.8816706,247.867147 63.5785017,244.677325 C64.7346326,239.386945 63.9046317,233.818695 64.3834993,228.474826 C66.7870774,235.472308 68.4211208,238.262053 69.8925107,245.444931 C70.7774101,249.766172 71.124195,264.264472 80.0666799,262.354749 C86.9474795,260.885627 82.5468986,251.830921 81.6679782,248.139757 C79.9846038,241.070655 79.1724081,238.077382 77.5455629,230.999667 C80.078506,235.625521 82.2918416,240.371497 84.725315,245.034067 C87.115848,249.613685 97.8039252,259.060923 100.930715,255.083614 C104.057505,251.106306 96.435013,245.438857 94.7010885,240.623528 C91.0924599,230.599863 86.7201436,220.618354 85.6835937,210.116466 C85.1851583,205.067237 86.1200644,200.404213 86.5299011,195.413459 C86.8096981,192.003861 86.3887166,188.510775 85.718098,185.073467 Z'/>
17
+ </defs>
18
+ <mask id={mask2} fill='white'>
19
+ <use xlinkHref={'#' + path1}/>
20
+ </mask>
21
+ <g mask={`url(#${mask2})`}>
22
+ <g transform='translate(-1, 0)'>
23
+ <g strokeWidth='1' fillRule='evenodd' transform='translate(63, 87)'/>
24
+ <FacialHair/>
25
+ <g strokeWidth='1' fillRule='evenodd' transform='translate(16, 14)'>
26
+ <mask id={mask1} fill='white'>
27
+ <use xlinkHref={'#' + path2}/>
28
+ </mask>
29
+ <use fill='#8D5A5A' xlinkHref={'#' + path2}/>
30
+ <HairColor maskID={mask1}/>
31
+ <path fillOpacity='0.24' fill='#000000' mask={`url(#${mask1})`}
32
+ d='M85.718098,185.073467 C86.8059563,185.024663 87.900098,185 89,185 L89,185 L93,185 L93,166.610951 C81.2286384,161.018987 71.7176526,151.441235 66.2110974,139.621749 C66.7437304,141.280375 67.3851037,142.912325 68.1617154,144.509125 C73.916823,156.341882 81.4183567,166.92083 84.4877837,179.589912 C84.9233139,181.387079 85.3569126,183.222183 85.718098,185.073467 Z M164.1633,187.578199 C158.061736,185.89767 151.635699,185 145,185 L145,185 L141,185 L141,166.610951 C151.900717,161.432585 160.863061,152.836228 166.502046,142.206866 C166.424719,145.200638 166.492065,148.178617 166.874747,151.055581 C167.944997,159.099715 170.876362,166.366 169.515856,174.635875 C168.770949,179.167686 166.790265,183.511457 164.1633,187.578199 Z'/>
33
+ <path fillOpacity='0.300000012' fill='#FFFFFF' mask={`url(#${mask1})`}
34
+ d='M49.3607552,108.248307 C49.2357387,105.826133 47.3806025,97.711311 49.6885159,96.3093564 C52.2181977,94.7715832 51.6909542,104.01582 51.7170446,104.962941 C51.7605286,106.500263 52.928074,118.098087 50.7897482,118.046647 C48.6579451,117.995659 49.4428313,109.828495 49.3607552,108.248307 Z M57.7950752,165.998415 C57.7863784,167.012316 56.722651,166.95095 55.9633116,166.68563 C55.0256879,166.358041 55.5996767,164.201639 55.5502136,163.49457 C55.4197616,161.635525 54.5272525,156.156756 55.8904759,154.62169 C58.6158357,151.553363 57.8059462,164.569838 57.7950752,165.998415 Z M32.1210881,179.161492 C34.0501471,179.106894 32.2645853,141.329473 29.29952,141.371437 C27.2171799,141.400766 30.6611128,179.198041 32.1210881,179.161492 Z M34.3531219,198.516092 C31.9555228,198.516092 32.3963419,206.978357 33.8084848,207.654742 C35.9484412,208.679924 37.0349977,198.516092 34.3531219,198.516092 Z M49.5898072,202.054956 C49.6110057,203.112626 48.4113908,203.129321 47.6107416,202.798574 C46.701926,202.423155 47.082411,199.293461 47.0465367,198.598576 C46.9334783,196.41149 45.0299661,187.926664 46.7611729,186.367683 C48.7353466,184.59031 48.7782871,186.540953 49.3093354,187.8662 C50.8731288,191.768841 49.505557,197.898275 49.5898072,202.054956 Z M190.242397,122.33319 C190.352194,123.795609 191.311016,133.35074 189.717871,134.079016 C186.975661,135.332969 188.156795,129.428696 188.167666,128.666127 C188.274745,121.229044 187.19906,113.85423 186.381017,106.456855 C186.225562,105.052193 183.755671,94.2318284 185.564605,93.3352452 C188.272028,91.9937546 187.86817,95.5809897 188.023082,96.7451491 C189.152035,105.213731 189.651014,113.824449 190.242397,122.33319 Z M187.023004,155.587221 C184.490605,155.085459 183.16543,163.680835 184.321017,164.602687 C186.238118,166.132789 189.670093,156.113348 187.023004,155.587221 Z M186.754925,193.385172 C185.616188,193.158658 177.321615,209.117567 178.004314,210.020016 C179.303942,211.738731 190.833725,194.199633 186.754925,193.385172 Z M166.332555,200.758587 C164.551342,199.95631 156.998715,211.509915 158.926686,212.377619 C160.674743,213.163653 168.488275,201.725562 166.332555,200.758587 Z M208.425286,157.447168 C206.274459,157.447168 206.370123,169.269251 208.025233,170.015125 C209.736329,170.785817 210.967469,157.447168 208.425286,157.447168 Z M178.139603,48.8435128 C177.531371,47.9735519 170.964743,40.2233192 175.668081,41.3306242 C177.959145,41.8698375 181.116083,48.6833281 182.149372,50.7413632 C182.743472,51.9235715 186.133593,57.2006425 182.541271,56.8270286 C181.563968,56.7259543 178.951667,50.0063184 178.139603,48.8435128 Z M155.04775,33.3564939 C154.201443,33.7373274 154.215575,34.0946972 155.090147,34.4281522 C155.936998,34.0473186 155.922322,33.6904 155.04775,33.3564939 Z M70.6188876,41.486432 C68.6137316,43.3296843 61.07578,54.0047545 58.4928303,54.1116947 C53.7862308,54.3066237 62.7711125,45.0867526 63.7902688,43.9135688 C64.2452201,43.387441 66.275923,40.8222295 67.5119557,40.1914176 C68.7729918,39.5475202 72.9556091,39.3322861 70.6188876,41.486432 Z M43.2540252,69.9805849 C41.0711283,69.5519216 37.4190158,80.245492 38.693097,81.5359942 C40.6167205,83.4857354 45.7005438,70.4661025 43.2540252,69.9805849 Z M68.1928608,188.992366 C68.6054153,190.333405 72.8244505,200.071733 71.7639844,201.353211 C70.1425747,203.310623 69.6772959,200.536495 69.1467911,199.385872 C67.9689182,196.830588 64.9087316,190.540066 65.4006444,187.850317 C65.8784249,185.241788 67.775958,187.648619 68.1928608,188.992366 Z M59.986234,211.816206 C57.6913658,211.816206 57.9560747,221.618156 59.3225594,222.200687 C61.4391432,223.102685 62.8012795,211.816206 59.986234,211.816206 Z M221.791072,203.446532 C221.927503,204.049819 223.845148,209.009228 221.128485,208.290879 C219.566322,207.878008 219.325529,203.506094 218.926564,202.180847 C217.697597,198.095009 213.646519,193.018282 213.294842,188.98659 C212.955123,185.090266 215.135302,186.575246 216.80998,189.875503 C219.046145,194.283064 220.722996,198.746577 221.791072,203.446532 Z M202.089015,202.950817 C199.957212,202.941341 199.853937,213.724254 201.187265,214.35281 C203.051098,215.231344 204.808395,202.950817 202.089015,202.950817 Z M208.249611,114.654432 C209.831341,114.242012 204.839921,101.328868 203.071753,101.471004 C200.377376,101.688494 205.847663,115.273512 208.249611,114.654432 Z M181.434114,170.746831 C180.587263,171.127665 180.601939,171.485034 181.476511,171.818489 C182.322818,171.437656 182.308686,171.080286 181.434114,170.746831 Z M157.216135,225.987499 C158.009718,225.987499 158.337478,224.763778 157.165041,224.736253 C156.389939,224.742571 155.980645,225.987499 157.216135,225.987499 Z M58.6844317,170.628746 C58.7137834,168.720066 56.215084,170.119764 56.230847,171.730185 C56.26346,174.943806 58.6317074,173.476424 58.6844317,170.628746 Z M52.5187808,122.883143 C51.7148704,122.883143 51.3854791,124.119498 52.5698745,124.148828 C53.3536737,124.142962 53.7673152,122.883143 52.5187808,122.883143 Z M33.3865269,185.392722 C33.3087993,183.451554 31.6863025,185.43604 31.7770753,185.438747 C32.0651568,185.445967 33.4474045,186.856043 33.3865269,185.392722 Z M37.5995831,84.0632577 C35.2318792,84.0632577 35.5754028,89.8168218 37.0864719,90.1859235 C39.6063697,90.801845 39.9509805,84.0632577 37.5995831,84.0632577 Z M50.212933,208.325849 C47.9273051,208.325849 47.7729369,216.139704 49.3503191,216.625673 C51.8011861,217.379669 52.5931385,208.325849 50.212933,208.325849 Z M31.4567613,213.932223 C30.5849071,214.323435 30.5990394,214.691634 31.4991582,215.035467 C32.371556,214.644256 32.3568801,214.276959 31.4567613,213.932223 Z M201.455507,217.282881 C199.135636,217.282881 199.226409,226.836207 200.65051,227.481458 C202.64099,228.383907 204.139014,217.282881 201.455507,217.282881 Z M177.94561,226.161536 C175.534966,225.679629 174.272299,233.567034 175.395817,234.451885 C177.248236,235.910694 180.42148,226.656078 177.94561,226.161536 Z M157.46508,233.451204 C155.467534,233.451204 155.95836,237.025805 157.110686,237.557799 C159.104971,238.478297 159.694179,233.451204 157.46508,233.451204 Z M86.479514,19.5090896 C84.8080977,19.5090896 74.3192131,24.2532644 78.2392958,25.6588288 C80.6358078,26.5179603 90.7371413,19.5090896 86.479514,19.5090896 Z'/>
35
+ </g>
36
+ {children}
37
+ <g strokeWidth='1' fillRule='evenodd' transform='translate(44, 33)'/>
38
+ </g>
39
+ </g>
40
+ </g>
41
+ )
42
+ }
43
+
44
+ export default LongHairDreads