@dicebear/personas 5.0.0-alpha.8 → 5.0.0-beta.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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2021 Florian Körner
3
+ Copyright (c) 2022 Florian Körner
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,13 +1,13 @@
1
1
  <h1 align="center"><img src="./tests/svg/0.svg" width="124" /> <br />Personas</h1>
2
2
  <p align="center">
3
3
  <strong>Avatar Style for <a href="https://dicebear.com/">DiceBear</a></strong><br />
4
- <a href="https://personas.draftbit.com/">Personas by Draftbit</a>
5
- by Draftbit - draftbit.com
4
+ <a href="https://personas.draftbit.com/">Personas by Draftbit</a>
5
+ by <a href="https://draftbit.com/">Draftbit - draftbit.com</a>
6
6
  </p>
7
7
 
8
8
  <p align="center">
9
9
  While our code is MIT licensed, the design is licensed under
10
- <a href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>.
10
+ <a href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>.
11
11
  See <a href="https://dicebear.com/licenses">license overview</a> for more information.
12
12
  </p>
13
13
 
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Do not change this file manually! This file was generated with the "Dicebear Exporter"-Plugin for Figma.
3
+ *
4
+ * Plugin: https://www.figma.com/community/plugin/1005765655729342787
5
+ * File: https://www.figma.com/file/oa0iScDLrh1tVFzSud2Dwc/%40dicebear%2Fpersonas?node-id=1%3A169
6
+ */
7
+ import type { ComponentGroup } from '../types.js';
8
+ export declare const body: ComponentGroup;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Do not change this file manually! This file was generated with the "Dicebear Exporter"-Plugin for Figma.
3
+ *
4
+ * Plugin: https://www.figma.com/community/plugin/1005765655729342787
5
+ * File: https://www.figma.com/file/oa0iScDLrh1tVFzSud2Dwc/%40dicebear%2Fpersonas?node-id=1%3A169
6
+ */
7
+ import { escape } from '@dicebear/core';
8
+ export const body = {
9
+ 'squared': (components, colors) => `<path d="M16 5v3a5 5 0 0 0 10 0V5l6.65 2.05a9 9 0 0 1 6.35 8.6V20H3v-4.35a9 9 0 0 1 6.35-8.6L16 5Z" fill="${escape.xml(`#${colors.clothing}`)}"/>`,
10
+ 'rounded': (components, colors) => `<path d="M16 7v.47a5 5 0 1 0 10 0V7c7.06 1.52 12.93 6.74 16 13H0C3.07 13.74 8.94 8.52 16 7Z" fill="${escape.xml(`#${colors.clothing}`)}"/>`,
11
+ 'small': (components, colors) => `<path d="M32 20H10v-8a11 11 0 0 1 6-9.8V4a5 5 0 0 0 10 0V2.2a11 11 0 0 1 6 9.8v8Z" fill="${escape.xml(`#${colors.clothing}`)}"/><mask id="bodySmall-a" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="10" y="2" width="22" height="18"><path d="M32 20H10v-8a11 11 0 0 1 6-9.8V4a5 5 0 0 0 10 0V2.2a11 11 0 0 1 6 9.8v8Z" fill="#fff"/></mask><g mask="url(#bodySmall-a)"><path opacity=".14" d="M20.62 8.25 22 8l1.2.5L10 15l10.62-6.75Z" fill="#000"/><path d="M21 1h11v47H10V15l13.34-6.58L21 1Z" fill="#fff" style="mix-blend-mode:overlay" opacity=".26"/></g>`,
12
+ 'checkered': (components, colors) => `<path d="M16 5v3a5 5 0 0 0 10 0V5l6.65 2.05a9 9 0 0 1 6.35 8.6V20H3v-4.35a9 9 0 0 1 6.35-8.6L16 5Z" fill="${escape.xml(`#${colors.clothing}`)}"/><mask id="bodyCheckered-a" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="3" y="5" width="36" height="15"><path d="M16 5v3a5 5 0 0 0 10 0V5l6.65 2.05a9 9 0 0 1 6.35 8.6V20H3v-4.35a9 9 0 0 1 6.35-8.6L16 5Z" fill="#fff"/></mask><g mask="url(#bodyCheckered-a)"><path fill-rule="evenodd" clip-rule="evenodd" d="M7 20h4V6.54l-1.65.5A9 9 0 0 0 7 8.17V20ZM32.65 7.05 31 6.54V20h4V8.16a9 9 0 0 0-2.35-1.11ZM23 20h4v-8.4a7.02 7.02 0 0 1-4 3.11v5.3Zm-4 0h-4v-8.4a7.02 7.02 0 0 0 4 3.11v5.3Z" fill="#000" style="mix-blend-mode:overlay" opacity=".4"/></g><path d="M3.4 13a9.01 9.01 0 0 1 2.53-4h8.14a6.98 6.98 0 0 0 2.03 4H3.4ZM39 17v3H3v-3h36ZM36.07 9a9.01 9.01 0 0 1 2.53 4H25.9a6.98 6.98 0 0 0 2.03-4h8.14Z" style="mix-blend-mode:lighten" opacity=".18" fill="#fff"/><mask id="bodyCheckered-b" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="3" y="9" width="36" height="11"><path d="M3.4 13a9.01 9.01 0 0 1 2.53-4h8.14a6.98 6.98 0 0 0 2.03 4H3.4ZM39 17v3H3v-3h36ZM36.07 9a9.01 9.01 0 0 1 2.53 4H25.9a6.98 6.98 0 0 0 2.03-4h8.14Z" style="mix-blend-mode:lighten" fill="#fff"/></mask>`,
13
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Do not change this file manually! This file was generated with the "Dicebear Exporter"-Plugin for Figma.
3
+ *
4
+ * Plugin: https://www.figma.com/community/plugin/1005765655729342787
5
+ * File: https://www.figma.com/file/oa0iScDLrh1tVFzSud2Dwc/%40dicebear%2Fpersonas?node-id=1%3A169
6
+ */
7
+ import type { ComponentGroup } from '../types.js';
8
+ export declare const eyes: ComponentGroup;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Do not change this file manually! This file was generated with the "Dicebear Exporter"-Plugin for Figma.
3
+ *
4
+ * Plugin: https://www.figma.com/community/plugin/1005765655729342787
5
+ * File: https://www.figma.com/file/oa0iScDLrh1tVFzSud2Dwc/%40dicebear%2Fpersonas?node-id=1%3A169
6
+ */
7
+ export const eyes = {
8
+ 'open': (components, colors) => `<path fill-rule="evenodd" clip-rule="evenodd" d="M4 4.5a1.5 1.5 0 1 0 3 0 1.5 1.5 0 0 0-3 0Zm13 0a1.5 1.5 0 1 0 3 0 1.5 1.5 0 0 0-3 0Z" fill="#1B0640"/>`,
9
+ 'sleep': (components, colors) => `<path d="M3.63 4A1 1 0 0 0 4 5.37 4.5 4.5 0 0 0 6.25 6a4.5 4.5 0 0 0 2.25-.63 1 1 0 0 0-1-1.74c-.43.25-.85.37-1.25.37S5.43 3.88 5 3.63A1 1 0 0 0 3.63 4ZM15.63 4A1 1 0 0 0 16 5.37a4.5 4.5 0 0 0 2.25.63 4.5 4.5 0 0 0 2.25-.63 1 1 0 0 0-1-1.74 2.5 2.5 0 0 1-1.25.37c-.4 0-.82-.12-1.25-.37a1 1 0 0 0-1.37.37Z" fill="#1B0640"/>`,
10
+ 'wink': (components, colors) => `<path d="M4 4.5a1.5 1.5 0 1 0 3 0 1.5 1.5 0 0 0-3 0ZM21.24 3.9a.75.75 0 0 0-.83-.64l-4 .5a.75.75 0 0 0 .18 1.48l4-.5c.41-.05.7-.42.65-.83Z" fill="#1B0640"/>`,
11
+ 'glasses': (components, colors) => `<path d="M6 6a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM18 6a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z" fill="#1B0640"/><path d="M9 2H3v6h6V2ZM21 2h-6v6h6V2Z" opacity=".3" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="M11 1.05h2c.65 0 1.21-.2 1.84-.42C15.66.33 16.6 0 18 0c1.67 0 3.33.35 5 1.05l1 .53v1.58l-1 .52v3.16A3.08 3.08 0 0 1 20 10h-4c-1.66 0-3-1.41-3-3.16V3.16h-2v3.68A3.08 3.08 0 0 1 8 10H4c-1.66 0-3-1.41-3-3.16V3.68l-1-.52V1.58l1-.53A12.8 12.8 0 0 1 6 0c1.4 0 2.34.33 3.16.63.63.22 1.19.42 1.84.42ZM8.24 2.52A6.1 6.1 0 0 0 6 2.11c-1 0-2 .14-3 .44v4.3c0 .57.45 1.04 1 1.04h4c.55 0 1-.47 1-1.05V2.8l-.76-.27ZM15 2.8l.76-.27A6.1 6.1 0 0 1 18 2.11c1 0 2 .14 3 .44v4.3c0 .57-.45 1.04-1 1.04h-4c-.55 0-1-.47-1-1.05V2.8Z" fill="#1B0640"/>`,
12
+ 'happy': (components, colors) => `<path d="M3.76 6.21c.4.13.82-.08.95-.47.23-.7.62-1 1.3-1 .66 0 1.05.3 1.28 1a.75.75 0 1 0 1.42-.48c-.43-1.3-1.38-2.01-2.7-2.01-1.34 0-2.29.71-2.72 2.01-.13.4.08.82.47.95ZM15.76 6.21c.4.13.82-.08.95-.47.23-.7.62-1 1.29-1s1.06.3 1.29 1a.75.75 0 1 0 1.42-.48c-.43-1.3-1.38-2.01-2.71-2.01s-2.28.71-2.71 2.01c-.13.4.08.82.47.95Z" fill="#1B0640"/>`,
13
+ 'sunglasses': (components, colors) => `<g fill="#1B0640"><path d="M6 6a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM18 6a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"/><path d="M9 2H3v6h6V2ZM21 2h-6v6h6V2Z" opacity=".8"/><path fill-rule="evenodd" clip-rule="evenodd" d="M13 1.05c.65 0 1.21-.2 1.84-.42C15.66.33 16.6 0 18 0c1.67 0 3.33.35 5 1.05l1 .53v1.58l-1 .52v3.16A3.08 3.08 0 0 1 20 10h-4c-1.66 0-3-1.41-3-3.16V3.16h-2v3.68A3.08 3.08 0 0 1 8 10H4c-1.66 0-3-1.41-3-3.16V3.68l-1-.52V1.58l1-.53A12.8 12.8 0 0 1 6 0c1.4 0 2.34.33 3.16.63.63.22 1.19.42 1.84.42h2ZM8.24 2.52A6.1 6.1 0 0 0 6 2.11c-1 0-2 .14-3 .44v4.3c0 .57.45 1.04 1 1.04h4c.55 0 1-.47 1-1.05V2.8l-.76-.27ZM15 2.8l.76-.27A6.1 6.1 0 0 1 18 2.11c1 0 2 .14 3 .44v4.3c0 .57-.45 1.04-1 1.04h-4c-.55 0-1-.47-1-1.05V2.8Z"/></g>`,
14
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Do not change this file manually! This file was generated with the "Dicebear Exporter"-Plugin for Figma.
3
+ *
4
+ * Plugin: https://www.figma.com/community/plugin/1005765655729342787
5
+ * File: https://www.figma.com/file/oa0iScDLrh1tVFzSud2Dwc/%40dicebear%2Fpersonas?node-id=1%3A169
6
+ */
7
+ import type { ComponentGroup } from '../types.js';
8
+ export declare const facialHair: ComponentGroup;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Do not change this file manually! This file was generated with the "Dicebear Exporter"-Plugin for Figma.
3
+ *
4
+ * Plugin: https://www.figma.com/community/plugin/1005765655729342787
5
+ * File: https://www.figma.com/file/oa0iScDLrh1tVFzSud2Dwc/%40dicebear%2Fpersonas?node-id=1%3A169
6
+ */
7
+ import { escape } from '@dicebear/core';
8
+ export const facialHair = {
9
+ 'beardMustache': (components, colors) => `<path d="m12.47 9.46 2.43-.83A2.5 2.5 0 0 1 18 10a2.5 2.5 0 0 1 3.1-1.37l2.43.83A18.65 18.65 0 0 0 32 2.7V9A14 14 0 1 1 4 9V2.7c2.05 2.94 5 5.43 8.47 6.76Z" fill="${escape.xml(`#${colors.hair}`)}"/><mask id="facialHairBeardMustache-a" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="4" y="2" width="28" height="21"><path d="m12.47 9.46 2.43-.83A2.5 2.5 0 0 1 18 10a2.5 2.5 0 0 1 3.1-1.37l2.43.83A18.65 18.65 0 0 0 32 2.7V9A14 14 0 1 1 4 9V2.7c2.05 2.94 5 5.43 8.47 6.76Z" fill="#fff"/></mask><g mask="url(#facialHairBeardMustache-a)"><path d="M32 9V2.7c-2.05 2.94-5 5.43-8.47 6.76l2.8.96a1 1 0 0 1-.07 1.91l-5.08 1.3A2.71 2.71 0 0 1 18 12.05a2.72 2.72 0 0 1-3.18 1.58l-5.08-1.3a1 1 0 0 1-.08-1.91l2.81-.96A18.65 18.65 0 0 1 4 2.7V9a14 14 0 1 0 28 0Z" fill="#fff" style="mix-blend-mode:overlay" opacity=".26"/><path d="M22 13.42v.08a3 3 0 0 1-3 3h-2a3 3 0 0 1-3-3.08l.82.21A2.71 2.71 0 0 0 18 12.05a2.72 2.72 0 0 0 3.18 1.58l.82-.2Z" fill="#FFFEFD"/></g>`,
10
+ 'pyramid': (components, colors) => `<path d="M18.02 12.05a2.72 2.72 0 0 1-3.19 1.59l-5.08-1.3a1 1 0 0 1-.07-1.92l5.23-1.79a2.5 2.5 0 0 1 3.1 1.37 2.5 2.5 0 0 1 3.11-1.37l5.24 1.8a1 1 0 0 1-.08 1.9l-5.08 1.3a2.72 2.72 0 0 1-3.18-1.58Z" fill="${escape.xml(`#${colors.hair}`)}"/>`,
11
+ 'walrus': (components, colors) => `<path d="M10 14a5 5 0 0 1 5-5h6a5 5 0 0 1 5 5H10Z" fill="${escape.xml(`#${colors.hair}`)}"/>`,
12
+ 'goatee': (components, colors) => `<path fill-rule="evenodd" clip-rule="evenodd" d="M13.61 10.67a3.61 3.61 0 0 0-2.6 3.57v4.67c0 1 .48 1.93 1.37 2.4 1.39.72 3.63 1.7 5.78 1.7 2.14 0 4.26-.96 5.56-1.7A2.62 2.62 0 0 0 25 18.99v-4.74a3.61 3.61 0 0 0-2.61-3.57 18.05 18.05 0 0 0-4.4-.67c-1.45 0-3.07.33-4.39.67Zm.3 1.41c-.8.22-1.32.97-1.32 1.8v2.67c0 1.07.56 2.06 1.54 2.48 1.08.46 2.59.97 3.97.97 1.39 0 2.85-.5 3.9-.97.96-.42 1.5-1.4 1.5-2.44v-2.7c0-.83-.52-1.58-1.33-1.8a16.72 16.72 0 0 0-4.17-.63c-1.51 0-3.05.33-4.1.62Z" fill="${escape.xml(`#${colors.hair}`)}"/>`,
13
+ 'shadow': (components, colors) => `<path opacity=".2" d="M32 3v4A14 14 0 1 1 4 7V2.7c2.05 2.94 4.53 6.97 8 8.3 2-1 4-1.5 6-1.5s4 .5 6 1.5c3.47-1.33 5.95-5.36 8-8.3V3Z" fill="${escape.xml(`#${colors.hair}`)}"/>`,
14
+ 'soulPatch': (components, colors) => `<path d="M16 17.5h4l-.68 2.05a1.39 1.39 0 0 1-2.63 0l-.7-2.05Z" fill="${escape.xml(`#${colors.hair}`)}"/>`,
15
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Do not change this file manually! This file was generated with the "Dicebear Exporter"-Plugin for Figma.
3
+ *
4
+ * Plugin: https://www.figma.com/community/plugin/1005765655729342787
5
+ * File: https://www.figma.com/file/oa0iScDLrh1tVFzSud2Dwc/%40dicebear%2Fpersonas?node-id=1%3A169
6
+ */
7
+ import type { ComponentGroup } from '../types.js';
8
+ export declare const hair: ComponentGroup;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Do not change this file manually! This file was generated with the "Dicebear Exporter"-Plugin for Figma.
3
+ *
4
+ * Plugin: https://www.figma.com/community/plugin/1005765655729342787
5
+ * File: https://www.figma.com/file/oa0iScDLrh1tVFzSud2Dwc/%40dicebear%2Fpersonas?node-id=1%3A169
6
+ */
7
+ import { escape } from '@dicebear/core';
8
+ export const hair = {
9
+ 'long': (components, colors) => `<path fill-rule="evenodd" clip-rule="evenodd" d="M44 26c-1.8-2-3.13-4.5-3.97-7.47-1.87 2.28-4.55 3.6-8.03 3.97-5.83.61-10.82-.33-14.95-2.82A13.96 13.96 0 0 0 16 25v1.03c-.73.08-1.42.34-2 .73V25.5C14 16.39 21.16 9 30 9s16 7.39 16 16.5v1.26a4.47 4.47 0 0 0-2-.73V26Zm2 8.24v6.6c0 7.32-4.61 13.52-11 15.68V44.08A14.04 14.04 0 0 0 43.42 35h.08c.93 0 1.78-.28 2.5-.76Zm-32 6.6c0 7.37 4.68 13.6 11.13 15.73a1073 1073 0 0 0-.13-7.02v-5.47A14.04 14.04 0 0 1 16.58 35h-.08c-.93 0-1.79-.28-2.5-.76v6.6Z" fill="${escape.xml(`#${colors.hair}`)}"/><mask id="hairLong-a" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="14" y="9" width="32" height="48"><path fill-rule="evenodd" clip-rule="evenodd" d="M44 26c-1.8-2-3.13-4.5-3.97-7.47-1.87 2.28-4.55 3.6-8.03 3.97-5.83.61-10.82-.33-14.95-2.82A13.96 13.96 0 0 0 16 25v1.03c-.73.08-1.42.34-2 .73V25.5C14 16.39 21.16 9 30 9s16 7.39 16 16.5v1.26a4.47 4.47 0 0 0-2-.73V26Zm2 8.24v6.6c0 7.32-4.61 13.52-11 15.68V44.08A14.04 14.04 0 0 0 43.42 35h.08c.93 0 1.78-.28 2.5-.76Zm-32 6.6c0 7.37 4.68 13.6 11.13 15.73a1073 1073 0 0 0-.13-7.02v-5.47A14.04 14.04 0 0 1 16.58 35h-.08c-.93 0-1.79-.28-2.5-.76v6.6Z" fill="#362C47"/></mask><g mask="url(#hairLong-a)"><path fill="#fff" d="M14 9h32v18H14z" style="mix-blend-mode:overlay" opacity=".26"/></g>`,
10
+ 'sideShave': (components, colors) => `<path d="M35 11.92A14 14 0 0 1 44 25v1s-1.33-3.1-3.16-4.93c-1.84-1.82-3.34-.7-4.53-2.52-1.2-1.83-1.31-6.63-1.31-6.63Z" fill="${escape.xml(`#${colors.hair}`)}" opacity=".3"/><path d="M30.65 23.09c-1.6 1.26-4.4 1.88-7.24 2.5-4.62 1.02-9.4 2.07-9.4 5.98V25.5C14 16.39 21.16 9 30 9c4.84 0 5.68 2.65 5.46 6.23-.2 3-.62 4.55-4.8 7.86ZM25 47a9.4 9.4 0 0 1-9.44 9.53L7.5 56.5s4-8.23 5-11.11l.06-.2c-.84.51-1.84.81-2.92.81H8.5s4.1-3.74 5.35-9.69c.1-1.23.15-2.07.15-2.07a4.48 4.48 0 0 0 2.58.76A14.04 14.04 0 0 0 25 44.08V47Z" fill="${escape.xml(`#${colors.hair}`)}"/>`,
11
+ 'shortCombover': (components, colors) => `<path d="M40.26 12.63a7.93 7.93 0 0 1 4.6 8.35L44 27c-2.83-1.7-4.7-5.55-5.6-11.56a9.24 9.24 0 0 1-5.7 2.77c-1.82.2-3.39.29-4.7.29-3 0-5.67-.5-8-1.5 0 3.67-1.33 7.17-4 10.5l-.92-8.53A9 9 0 0 1 24.03 9H41c0 1.28-.26 2.51-.74 3.63Z" fill="${escape.xml(`#${colors.hair}`)}"/><path d="M40.26 12.63c.48-1.12.74-2.35.74-3.63H24.03a9 9 0 0 0-8.95 9.97L16 27.5c2.67-3.33 4-6.83 4-10.5 2.33 1 5 1.5 8 1.5 1.31 0 2.88-.1 4.7-.29a9.24 9.24 0 0 0 7.56-5.58ZM44.88 20.84a7.91 7.91 0 0 0-2.42-6.73 9.29 9.29 0 0 1-3.45 4.5c1.04 4.22 2.7 7.01 5 8.39l.85-6.02.02-.14Z" style="mix-blend-mode:overlay" opacity=".26" fill="#fff"/>`,
12
+ 'curlyHighTop': (components, colors) => `<path d="M31.8 7a2 2 0 0 1 3.8 0h.57a2 2 0 0 1 3.83.67l.22.1a2 2 0 0 1 3.13 2.3l.15.17a2 2 0 0 1 1.77 3.41c.05.16.09.31.12.47a2 2 0 0 1 .02 3.75l-.05.32a2 2 0 0 1-.02 3.63 2 2 0 0 1 .16.85 1.8 1.8 0 0 1-1.22 2.92L44 27.5c-.44-.66-.84-1.48-1.2-2.46a1.8 1.8 0 0 1-.45-.8 2 2 0 0 1-.56-2.68l-.02-.1a2 2 0 0 1-.96-2.94 2 2 0 0 1-2.44-.32 2 2 0 0 1-3.72.06l-.31.03a2 2 0 0 1-3.58.2h-.23a2 2 0 0 1-3.52-.1l-.4-.03a2 2 0 0 1-3.68-.17 2 2 0 0 1-3.04-.22l-.03.16a2 2 0 0 1-.7 3.35 2 2 0 0 1-1.4 3.1c-.5.97-1.09 1.94-1.76 2.9l-.19-1.92a1.8 1.8 0 0 1-.34-3.47V22a2 2 0 0 1-.39-3.9l-.01-.14a2 2 0 0 1 .07-3.92c0-.06.02-.12.04-.17a2 2 0 0 1 1.46-3.63A2 2 0 0 1 19.7 7.9v-.1a2 2 0 0 1 3.84-.8h.05a2 2 0 0 1 3.82 0h.18a2 2 0 0 1 3.82 0h.38Z" fill="${escape.xml(`#${colors.hair}`)}"/><mask id="hairCurlyHighTop-a" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="13" y="5" width="34" height="23"><path d="M31.8 7a2 2 0 0 1 3.8 0h.57a2 2 0 0 1 3.83.67l.22.1a2 2 0 0 1 3.13 2.3l.15.17a2 2 0 0 1 1.77 3.41c.05.16.09.31.12.47a2 2 0 0 1 .02 3.75l-.05.32a2 2 0 0 1-.02 3.63 2 2 0 0 1 .16.85 1.8 1.8 0 0 1-1.22 2.92L44 27.5c-.44-.66-.84-1.48-1.2-2.46a1.8 1.8 0 0 1-.45-.8 2 2 0 0 1-.56-2.68l-.02-.1a2 2 0 0 1-.96-2.94 2 2 0 0 1-2.44-.32 2 2 0 0 1-3.72.06l-.31.03a2 2 0 0 1-3.58.2h-.23a2 2 0 0 1-3.52-.1l-.4-.03a2 2 0 0 1-3.68-.17 2 2 0 0 1-3.04-.22l-.03.16a2 2 0 0 1-.7 3.35 2 2 0 0 1-1.4 3.1c-.5.97-1.09 1.94-1.76 2.9l-.19-1.92a1.8 1.8 0 0 1-.34-3.47V22a2 2 0 0 1-.39-3.9l-.01-.14a2 2 0 0 1 .07-3.92c0-.06.02-.12.04-.17a2 2 0 0 1 1.46-3.63A2 2 0 0 1 19.7 7.9v-.1a2 2 0 0 1 3.84-.8h.05a2 2 0 0 1 3.82 0h.18a2 2 0 0 1 3.82 0h.38Z" fill="#fff"/></mask><g mask="url(#hairCurlyHighTop-a)"><path fill="#fff" d="M13 5h34v23H13z" style="mix-blend-mode:overlay" opacity=".26"/></g>`,
13
+ 'bobCut': (components, colors) => `<path fill-rule="evenodd" clip-rule="evenodd" d="M44 26a17.63 17.63 0 0 1-3.35-5.6A32.92 32.92 0 0 1 30 22.04c-4.85 0-9.14-.83-12.9-2.5A13.95 13.95 0 0 0 16 25v1.03c-.73.08-1.42.34-2 .73v-1.38C14 16.33 21.16 9 30 9s16 7.33 16 16.38v1.38a4.47 4.47 0 0 0-2-.73V26Zm-9 20.06v-1.98A14.04 14.04 0 0 0 43.42 35h.08c.93 0 1.78-.28 2.5-.76v6.38c0 .47-.02.95-.06 1.41A34.63 34.63 0 0 1 35 46.06Zm-20.94-4.03A34.63 34.63 0 0 0 25 46.06v-1.98A14.04 14.04 0 0 1 16.58 35h-.08c-.93 0-1.79-.28-2.5-.76v6.38c0 .47.02.95.06 1.41Z" fill="${escape.xml(`#${colors.hair}`)}"/><mask id="hairBobCut-a" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="14" y="9" width="32" height="38"><path fill-rule="evenodd" clip-rule="evenodd" d="M44 26a17.63 17.63 0 0 1-3.35-5.6A32.92 32.92 0 0 1 30 22.04c-4.85 0-9.14-.83-12.9-2.5A13.95 13.95 0 0 0 16 25v1.03c-.73.08-1.42.34-2 .73v-1.38C14 16.33 21.16 9 30 9s16 7.33 16 16.38v1.38a4.47 4.47 0 0 0-2-.73V26Zm-9 20.06v-1.98A14.04 14.04 0 0 0 43.42 35h.08c.93 0 1.78-.28 2.5-.76v6.38c0 .47-.02.95-.06 1.41A34.63 34.63 0 0 1 35 46.06Zm-20.94-4.03A34.63 34.63 0 0 0 25 46.06v-1.98A14.04 14.04 0 0 1 16.58 35h-.08c-.93 0-1.79-.28-2.5-.76v6.38c0 .47.02.95.06 1.41Z" fill="#362C47"/></mask><g mask="url(#hairBobCut-a)"><path fill="#fff" d="M13 9h34v18H13z" style="mix-blend-mode:overlay" opacity=".26"/></g>`,
14
+ 'curly': (components, colors) => `<path d="m44 26-.02-.02-.3.02a2 2 0 0 1-1.8-2.88 2 2 0 0 1-2.73-2.1 2 2 0 0 1-3.3.56h-.02a1.99 1.99 0 0 1-2 2.05 2 2 0 0 1-1.75-1.04 2 2 0 0 1-3.92.33 2 2 0 0 1-3.87-.6c-.04 0-.09 0-.13-.02a2 2 0 0 1-3.67-.98c-.3-.1-.57-.2-.85-.32.02.09.02.17.02.26a2 2 0 0 1-2.74 1.86A2 2 0 0 1 16 25.8v.23a4.5 4.5 0 0 0 .58 8.97A14.04 14.04 0 0 0 25 44.08v3.06c-.25-.2-.47-.42-.65-.68-.49-.13-.96-.29-1.43-.46a3.46 3.46 0 0 1-4.54-2.3 20.9 20.9 0 0 1-.98-.7 3.46 3.46 0 0 1-3.83-3.8c-.17-.21-.34-.43-.5-.66a3.46 3.46 0 0 1-2.66-5.07l-.14-.39a3.47 3.47 0 0 1-1.08-5.96v-.01a3.47 3.47 0 0 1 .47-6.2 3.47 3.47 0 0 1 2.28-5.79 3.47 3.47 0 0 1 3.87-4.86 3.47 3.47 0 0 1 5.15-3.5 3.47 3.47 0 0 1 5.94-1.83 3.47 3.47 0 0 1 6.22 0 3.47 3.47 0 0 1 5.94 1.83 3.47 3.47 0 0 1 5.14 3.5 3.47 3.47 0 0 1 3.87 4.86 3.47 3.47 0 0 1 2.28 5.8 3.47 3.47 0 0 1 .47 6.19 3.47 3.47 0 0 1-1.08 5.97l-.14.4a3.47 3.47 0 0 1-2.66 5.06c-.16.23-.33.45-.5.66A3.46 3.46 0 0 1 42.6 43l-.98.7a3.46 3.46 0 0 1-4.54 2.3c-.47.17-.94.33-1.43.46-.18.26-.4.49-.65.68v-3.06A14.04 14.04 0 0 0 43.42 35h.08a4.5 4.5 0 0 0 .5-8.97V26Z" fill="${escape.xml(`#${colors.hair}`)}"/><mask id="hairCurly-a" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="7" y="3" width="46" height="45"><path d="m44 26-.02-.02-.3.02a2 2 0 0 1-1.8-2.88 2 2 0 0 1-2.73-2.1 2 2 0 0 1-3.3.56h-.02a1.99 1.99 0 0 1-2 2.05 2 2 0 0 1-1.75-1.04 2 2 0 0 1-3.92.33 2 2 0 0 1-3.87-.6c-.04 0-.09 0-.13-.02a2 2 0 0 1-3.67-.98c-.3-.1-.57-.2-.85-.32.02.09.02.17.02.26a2 2 0 0 1-2.74 1.86A2 2 0 0 1 16 25.8v.23a4.5 4.5 0 0 0 .58 8.97A14.04 14.04 0 0 0 25 44.08v3.06c-.25-.2-.47-.42-.65-.68-.49-.13-.96-.29-1.43-.46a3.46 3.46 0 0 1-4.54-2.3 20.9 20.9 0 0 1-.98-.7 3.46 3.46 0 0 1-3.83-3.8c-.17-.21-.34-.43-.5-.66a3.46 3.46 0 0 1-2.66-5.07l-.14-.39a3.47 3.47 0 0 1-1.08-5.96v-.01a3.47 3.47 0 0 1 .47-6.2 3.47 3.47 0 0 1 2.28-5.79 3.47 3.47 0 0 1 3.87-4.86 3.47 3.47 0 0 1 5.15-3.5 3.47 3.47 0 0 1 5.94-1.83 3.47 3.47 0 0 1 6.22 0 3.47 3.47 0 0 1 5.94 1.83 3.47 3.47 0 0 1 5.14 3.5 3.47 3.47 0 0 1 3.87 4.86 3.47 3.47 0 0 1 2.28 5.8 3.47 3.47 0 0 1 .47 6.19 3.47 3.47 0 0 1-1.08 5.97l-.14.4a3.47 3.47 0 0 1-2.66 5.06c-.16.23-.33.45-.5.66A3.46 3.46 0 0 1 42.6 43l-.98.7a3.46 3.46 0 0 1-4.54 2.3c-.47.17-.94.33-1.43.46-.18.26-.4.49-.65.68v-3.06A14.04 14.04 0 0 0 43.42 35h.08a4.5 4.5 0 0 0 .5-8.97V26Z" fill="#fff"/></mask><g mask="url(#hairCurly-a)"><path fill="#fff" d="M7 3h46v44H7z" style="mix-blend-mode:overlay" opacity=".26"/></g>`,
15
+ 'pigtails': (components, colors) => `<path d="M39 11.84A5 5 0 0 1 44.04 7a4.99 4.99 0 0 1 5.03 5.18c.02 3.2.7 7.08 1.93 9.82a20.56 20.56 0 0 1-6.22-2.9A16.67 16.67 0 0 1 46 25.38v1.38a4.47 4.47 0 0 0-2-.73V26c-1.8-2-3.13-4.5-3.97-7.47-1.87 2.28-4.55 3.6-8.03 3.97-5.83.61-10.82-.33-14.95-2.82A13.96 13.96 0 0 0 16 25v1.03c-.73.08-1.42.34-2 .73v-1.38c0-2.22.43-4.35 1.22-6.28A20.56 20.56 0 0 1 9 22a26.57 26.57 0 0 0 1.92-10.06A4.99 4.99 0 0 1 15.96 7 5 5 0 0 1 21 11.84a15.67 15.67 0 0 1 18 0Z" fill="${escape.xml(`#${colors.hair}`)}"/><path d="M39.01 11.58c4.2 2.96 7 8.19 7 14.13v1.05a4.47 4.47 0 0 0-2-.73V26c-1.82-2-3.14-4.5-3.98-7.47-1.87 2.28-4.55 3.6-8.03 3.97-5.83.61-10.82-.33-14.95-2.82A13.96 13.96 0 0 0 16 25v1.03c-.73.08-1.42.34-2 .73V25.7c0-5.94 2.79-11.17 6.99-14.13v.26a15.67 15.67 0 0 1 18 0l.01-.26Z" fill="#fff" style="mix-blend-mode:overlay" opacity=".26"/><path fill-rule="evenodd" clip-rule="evenodd" d="M21 9a5 5 0 0 0-4.39 7.4 16.14 16.14 0 0 1 7.55-6.27A4.98 4.98 0 0 0 21 9Zm23 5a5 5 0 0 0-8.16-3.87 16.14 16.14 0 0 1 7.55 6.27c.39-.7.6-1.53.6-2.4Z" fill="#F55D81"/>`,
16
+ 'curlyBun': (components, colors) => `<path d="M30 2.5a2 2 0 0 0-1.8 1.11 2 2 0 0 0-3.42 1.06 2 2 0 0 0-2.96 2.02 2 2 0 0 0-2.23 2.8 2 2 0 0 0-1.31 3.33A2 2 0 0 0 18 16.4a2 2 0 0 0-.55 2.38 14 14 0 0 1 25.08 0A2 2 0 0 0 42 16.4a2 2 0 0 0-.27-3.58 2 2 0 0 0-1.3-3.33 2 2 0 0 0-2.24-2.8 2 2 0 0 0-2.96-2.02 2 2 0 0 0-3.43-1.06A2 2 0 0 0 30 2.51Z" fill="${escape.xml(`#${colors.hair}`)}"/><path d="M43.93 23.63A14 14 0 0 0 31 15h-2a14 14 0 0 0-12.93 8.63 14 14 0 0 1 27.86 0Z" fill="#F55D81"/>`,
17
+ 'buzzcut': (components, colors) => `<path d="M44 25v3c-1.33-1.67-2.67-4.67-4-9-2.66 1.33-6 2-10 2s-7.34-.67-10-2c-1.33 3.67-2.67 6.33-4 8v-2a14 14 0 1 1 28 0Z" style="mix-blend-mode:multiply" opacity=".2" fill="${escape.xml(`#${colors.hair}`)}"/>`,
18
+ 'bobBangs': (components, colors) => `<path fill-rule="evenodd" clip-rule="evenodd" d="M44 26c-2.18-2.42-3.65-5.54-4.42-9.36a19.6 19.6 0 0 1-9.08 7.86c-4.67 2-9.5 2.33-14.5 1v.53c-.73.08-1.42.34-2 .73V25.5C14 16.39 21.16 9 30 9s16 7.39 16 16.5v1.26a4.47 4.47 0 0 0-2-.73V26Zm-9 21.31v-3.23A14.04 14.04 0 0 0 43.42 35h.08c.93 0 1.78-.28 2.5-.76V45a38.74 38.74 0 0 1-11 2.31ZM14 45a38.74 38.74 0 0 0 11 2.31v-3.23A14.04 14.04 0 0 1 16.58 35h-.08c-.93 0-1.79-.28-2.5-.76V45Z" fill="${escape.xml(`#${colors.hair}`)}"/><mask id="hairBobBangs-a" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="14" y="9" width="32" height="39"><path fill-rule="evenodd" clip-rule="evenodd" d="M44 26c-2.18-2.42-3.65-5.54-4.42-9.36a19.6 19.6 0 0 1-9.08 7.86c-4.67 2-9.5 2.33-14.5 1v.53c-.73.08-1.42.34-2 .73V25.5C14 16.39 21.16 9 30 9s16 7.39 16 16.5v1.26a4.47 4.47 0 0 0-2-.73V26Zm-9 21.31v-3.23A14.04 14.04 0 0 0 43.42 35h.08c.93 0 1.78-.28 2.5-.76V45a38.74 38.74 0 0 1-11 2.31ZM14 45a38.74 38.74 0 0 0 11 2.31v-3.23A14.04 14.04 0 0 1 16.58 35h-.08c-.93 0-1.79-.28-2.5-.76V45Z" fill="#362C47"/></mask><g mask="url(#hairBobBangs-a)"><path fill="#fff" d="M13 9h34v18H13z" style="mix-blend-mode:overlay" opacity=".26"/></g>`,
19
+ 'bald': (components, colors) => `<path d="M26.75 15a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM19.38 21.77c.37.19.82.04 1-.33a15.05 15.05 0 0 1 2-3.06c.76-.88 1.63-1.62 2.63-2.2a.75.75 0 0 0-.75-1.3 11.86 11.86 0 0 0-3 2.52c-.85.99-1.58 2.11-2.2 3.37a.75.75 0 0 0 .33 1Z" style="mix-blend-mode:overlay" opacity=".2" fill="#fff"/>`,
20
+ 'balding': (components, colors) => `<path fill-rule="evenodd" clip-rule="evenodd" d="m16.97 25.55 2.7-8.55H18a3 3 0 0 0-2.98 3.31l.65 6.2c.6 0 1.12-.39 1.3-.95ZM41.34 17h-1.67l2.7 8.55c.18.56.7.95 1.3.95l.65-6.19a3 3 0 0 0-2.98-3.3Z" fill="${escape.xml(`#${colors.hair}`)}"/><path d="M26.75 15a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM19.38 21.77c.37.19.82.04 1-.33a15.05 15.05 0 0 1 2-3.06c.76-.88 1.63-1.62 2.63-2.2a.75.75 0 0 0-.75-1.3 11.86 11.86 0 0 0-3 2.52c-.85.99-1.58 2.11-2.2 3.37a.75.75 0 0 0 .33 1Z" style="mix-blend-mode:overlay" opacity=".2" fill="#fff"/>`,
21
+ 'cap': (components, colors) => `<path opacity=".2" d="M30 17c3.88 0 7.55-.37 11 4.22l-1.9 6.5c-.61 1.22-1.64 1.55-2.46.79-2.1-1.92-4.3-2.88-6.64-2.88-2.33 0-4.55.96-6.64 2.89-.82.76-1.85.43-2.46-.8L19 21.22c3.45-4.6 7.12-4.22 11-4.22Z" fill="#000"/><path d="M27.3 11.2a3 3 0 0 1 5.4 0c6.1.96 10.82 5.24 11.3 12.72a27.7 27.7 0 0 0-3.96-1.3l-.94.6a2 2 0 0 1-2.46.46 13.86 13.86 0 0 0-13.28 0 2 2 0 0 1-2.46-.46l-.94-.6c-1.4.35-2.72.78-3.96 1.3.48-7.48 5.2-11.76 11.3-12.71Z" fill="#F29C65"/><path d="M19.96 22.62c-1.4.35-2.72.78-3.96 1.3C16.55 15.37 22.63 11 30 11s13.45 4.37 14 12.92a27.7 27.7 0 0 0-3.96-1.3L41 22c-3.45-2.67-7.12-4-11-4s-7.55 1.33-11 4l.96.62Z" fill="#000" style="mix-blend-mode:overlay" opacity=".28"/><path d="m39.45 23-.35.22a2 2 0 0 1-2.46.46 13.86 13.86 0 0 0-13.28 0 2 2 0 0 1-2.46-.46l-.35-.23c.87.07 2.19-.47 2.81-.81a13.86 13.86 0 0 1 13.28 0c.62.34 1.94.88 2.8.81Z" fill="#fff" style="mix-blend-mode:lighten" opacity=".2"/>`,
22
+ 'bunUndercut': (components, colors) => `<circle cx="30" cy="12" r="4" fill="#5A45FF"/><path fill-rule="evenodd" clip-rule="evenodd" d="m33.72 12.84-.05 7.66c3.72-.75 5.83-1.25 6.33-1.5 1.33 4.33 2.67 7.33 4 9v-3a14 14 0 0 0-7.06-12.16c0-.02-1.08-.02-3.22 0ZM20 19c.5.25 2.6.75 6.33 1.5v-7.66h-3.27A14 14 0 0 0 16 25v3c1.33-1.67 2.67-4.67 4-9Z" fill="${escape.xml(`#${colors.hair}`)}" opacity=".3"/><path fill-rule="evenodd" clip-rule="evenodd" d="M30 6c-2.1 0-3.81 2.01-3.99 4.57-.72.41-1.44.94-2.14 1.58a3 3 0 0 0-.96 1.93l-.21 2.2a3.87 3.87 0 0 0 3.02 4.14c1.73.39 3.16.58 4.29.58 1.12 0 2.5-.18 4.17-.55a4 4 0 0 0 3.13-4.09l-.1-2.17a3 3 0 0 0-1.04-2.14 12.1 12.1 0 0 0-2.18-1.5C33.8 7.98 32.08 6 30 6Zm0 3.5a8 8 0 0 0-3.67.9 4 4 0 0 1 7.33-.03A8.25 8.25 0 0 0 30 9.5Z" fill="${escape.xml(`#${colors.hair}`)}"/><path d="M26.02 10.56C26.19 8 27.9 6 30 6c2.07 0 3.77 1.96 3.98 4.47a11 11 0 0 0-.36-.17 4 4 0 0 0-7.28.09l-.32.17Z" fill="#000" style="mix-blend-mode:overlay" opacity=".22"/>`,
23
+ 'fade': (components, colors) => `<mask id="hairFade-b" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="16" y="12" width="28" height="15"><path fill-rule="evenodd" clip-rule="evenodd" d="M16 27v-2a14 14 0 0 1 7.5-12.4v.14c.09 1.68.16 3.3-.4 4.53-.7 1.57-1.78 2.45-2.72 3.21l-.62.52c-.7.61-2.44 2.49-3.76 6Zm28 0v-2a14 14 0 0 0-7.5-12.4v.14c-.09 1.68-.16 3.3.4 4.53.7 1.57 1.78 2.45 2.72 3.21l.62.52c.7.61 2.44 2.49 3.76 6Z" fill="url(#hairFade-a)"/></mask><g mask="url(#hairFade-b)"><path fill-rule="evenodd" clip-rule="evenodd" d="m16 27-.2-14.4h7.7l.06 14.4H16Zm20.72 0H44l-.07-14.4H36.5l.22 14.4Z" fill="${escape.xml(`#${colors.hair}`)}"/></g><path d="M22.3 17.95c0-3.6 2.72-6.63 6.3-7L38 10a6.84 6.84 0 0 1-6.49 9h-8.15c-.58 0-1.05-.47-1.05-1.05Z" fill="${escape.xml(`#${colors.hair}`)}"/><defs><linearGradient id="hairFade-a" x1="16" y1="12.6" x2="16" y2="27" gradientUnits="userSpaceOnUse"><stop/><stop offset="1" stop-opacity=".01"/></linearGradient></defs>`,
24
+ 'beanie': (components, colors) => `<path d="M17 19.8a14 14 0 0 1 26 0l.24.2a1 1 0 0 1 .34.54l.62 2.64a.5.5 0 0 1-.77.52C38.99 20.57 34.5 19 30 19S21 20.57 16.58 23.7a.5.5 0 0 1-.77-.52l.62-2.64a1 1 0 0 1 .34-.55l.24-.19Z" fill="#E15C66"/><path d="M30 15c6.45 0 12.01 4.04 13.25 5 .16.14.28.32.33.53l.62 2.6c.1.46-.44.83-.83.57C41.06 22.18 35.57 19 30 19c-5.57 0-11.05 3.18-13.36 4.7-.4.26-.93-.1-.82-.56l.6-2.6c.05-.21.17-.4.34-.53 1.23-.96 6.8-5 13.24-5Z" fill="#000" style="mix-blend-mode:overlay" opacity=".26"/>`,
25
+ 'straightBun': (components, colors) => `<path d="M20.2 15a10 10 0 1 1 19.6 0c-2.53-2.47-5.98-4-9.8-4-3.82 0-7.27 1.53-9.8 4Z" fill="${escape.xml(`#${colors.hair}`)}"/><path d="M43.93 23.63A14 14 0 0 0 31 15h-2a14 14 0 0 0-12.93 8.63 14 14 0 0 1 27.86 0Z" fill="#F55D81"/>`,
26
+ 'extraLong': (components, colors) => `<path fill-rule="evenodd" clip-rule="evenodd" d="M44 26c-1.8-2-3.13-4.5-3.97-7.47-1.87 2.28-4.55 3.6-8.03 3.97-5.83.61-10.82-.33-14.95-2.82A13.96 13.96 0 0 0 16 25v1.03c-.73.08-1.42.34-2 .73V25.5C14 16.39 21.16 9 30 9s16 7.39 16 16.5v1.26a4.47 4.47 0 0 0-2-.73V26Zm2 8.24v22.28H35V44.08A14.04 14.04 0 0 0 43.42 35h.08c.93 0 1.78-.28 2.5-.76ZM14 56.57h11.13L25 49.55v-5.47A14.04 14.04 0 0 1 16.58 35h-.08c-.93 0-1.79-.28-2.5-.76v22.33Z" fill="${escape.xml(`#${colors.hair}`)}"/><mask id="hairExtraLong-a" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="14" y="9" width="32" height="48"><path fill-rule="evenodd" clip-rule="evenodd" d="M44 26c-1.8-2-3.13-4.5-3.97-7.47-1.87 2.28-4.55 3.6-8.03 3.97-5.83.61-10.82-.33-14.95-2.82A13.96 13.96 0 0 0 16 25v1.03c-.73.08-1.42.34-2 .73V25.5C14 16.39 21.16 9 30 9s16 7.39 16 16.5v1.26a4.47 4.47 0 0 0-2-.73V26Zm2 8.24v22.28H35V44.08A14.04 14.04 0 0 0 43.42 35h.08c.93 0 1.78-.28 2.5-.76ZM14 56.57h11.13L25 49.55v-5.47A14.04 14.04 0 0 1 16.58 35h-.08c-.93 0-1.79-.28-2.5-.76v22.33Z" fill="#362C47"/></mask><g mask="url(#hairExtraLong-a)"><path fill="#fff" d="M14 9h32v18H14z" style="mix-blend-mode:overlay" opacity=".26"/></g>`,
27
+ 'shortComboverChops': (components, colors) => `<path d="m15.79 25.56-.71-6.6A9 9 0 0 1 24.03 9H41c0 1.28-.26 2.51-.74 3.63a7.93 7.93 0 0 1 4.6 8.35L44 27v4.22a14 14 0 0 1-.48 3.42l-2.52.54A1 1 0 0 1 39.8 34l1.9-9.12c-1.57-2.09-2.68-5.24-3.31-9.44a9.24 9.24 0 0 1-5.7 2.77c-1.82.2-3.39.29-4.7.29-3 0-5.67-.5-8-1.5 0 2.6-.67 5.1-2 7.52L19.98 34a1 1 0 0 1-1.2 1.18l-2.51-.54a14 14 0 0 1-.48-3.42v-5.66Z" fill="${escape.xml(`#${colors.hair}`)}"/><path fill-rule="evenodd" clip-rule="evenodd" d="M19.98 34 18 24.52c1.33-2.42 2-4.93 2-7.52 2.33 1 5 1.5 8 1.5 1.31 0 2.88-.1 4.7-.29A9.24 9.24 0 0 0 41 9H24.03a9 9 0 0 0-8.95 9.97l.7 6.59v5.66a14 14 0 0 0 .49 3.42l2.52.54A1 1 0 0 0 19.98 34ZM44 31.22V27l.86-6.02.02-.14a7.91 7.91 0 0 0-2.42-6.73 9.29 9.29 0 0 1-3.45 4.5 17.22 17.22 0 0 0 2.7 6.27L39.8 34A1 1 0 0 0 41 35.18l2.52-.54a14 14 0 0 0 .48-3.42Z" fill="#fff" style="mix-blend-mode:overlay" opacity=".26"/>`,
28
+ 'mohawk': (components, colors) => `<path d="M30.03 8a6.51 6.51 0 0 1 4.85 2.05c.56.54.96 1.32 1.1 2.14l.67 4.16c.35 1.94-.7 3.67-2.53 4.09-1.62.37-3 .55-4.12.55-1.13 0-2.55-.2-4.24-.58-1.84-.42-2.84-2.2-2.38-4.14l.79-4.2c.16-.74.53-1.43 1.03-1.93C25.83 9.5 27.3 8 30.03 8Z" fill="${escape.xml(`#${colors.hair}`)}"/><path d="M34.88 10.05c.56.54.96 1.32 1.1 2.14l.67 4.16c.35 1.94-.7 3.67-2.53 4.09-1.62.37-3 .55-4.12.55-1.13 0-2.55-.2-4.24-.58-1.84-.42-2.84-2.2-2.38-4.14l.79-4.2c.16-.74.53-1.43 1.03-1.93.26-.27.67-.69 1.25-1.08-.31.48-1.45.98-1.45 2.43V15a3.06 3.06 0 0 0 2.02 3.51c1.18.34 2.18.5 2.98.5.79 0 1.76-.16 2.9-.47 1.28-.35 2.35-1.89 2.1-3.53v-3c0-1.5-1.1-2.54-1.5-3l-.14-.14c.73.42 1.22.9 1.52 1.2Z" fill="#fff" style="mix-blend-mode:overlay" opacity=".26"/>`,
29
+ };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Do not change this file manually! This file was generated with the "Dicebear Exporter"-Plugin for Figma.
3
+ *
4
+ * Plugin: https://www.figma.com/community/plugin/1005765655729342787
5
+ * File: https://www.figma.com/file/oa0iScDLrh1tVFzSud2Dwc/%40dicebear%2Fpersonas?node-id=1%3A169
6
+ */
7
+ export { eyes } from './eyes.js';
8
+ export { hair } from './hair.js';
9
+ export { body } from './body.js';
10
+ export { mouth } from './mouth.js';
11
+ export { nose } from './nose.js';
12
+ export { facialHair } from './facialHair.js';
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Do not change this file manually! This file was generated with the "Dicebear Exporter"-Plugin for Figma.
3
+ *
4
+ * Plugin: https://www.figma.com/community/plugin/1005765655729342787
5
+ * File: https://www.figma.com/file/oa0iScDLrh1tVFzSud2Dwc/%40dicebear%2Fpersonas?node-id=1%3A169
6
+ */
7
+ export { eyes } from './eyes.js';
8
+ export { hair } from './hair.js';
9
+ export { body } from './body.js';
10
+ export { mouth } from './mouth.js';
11
+ export { nose } from './nose.js';
12
+ export { facialHair } from './facialHair.js';
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Do not change this file manually! This file was generated with the "Dicebear Exporter"-Plugin for Figma.
3
+ *
4
+ * Plugin: https://www.figma.com/community/plugin/1005765655729342787
5
+ * File: https://www.figma.com/file/oa0iScDLrh1tVFzSud2Dwc/%40dicebear%2Fpersonas?node-id=1%3A169
6
+ */
7
+ import type { ComponentGroup } from '../types.js';
8
+ export declare const mouth: ComponentGroup;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Do not change this file manually! This file was generated with the "Dicebear Exporter"-Plugin for Figma.
3
+ *
4
+ * Plugin: https://www.figma.com/community/plugin/1005765655729342787
5
+ * File: https://www.figma.com/file/oa0iScDLrh1tVFzSud2Dwc/%40dicebear%2Fpersonas?node-id=1%3A169
6
+ */
7
+ export const mouth = {
8
+ 'smile': (components, colors) => `<path d="M5 5.87a1 1 0 1 1 1-1.74A6 6 0 0 0 9 5a6 6 0 0 0 3-.87 1 1 0 1 1 1 1.74A8 8 0 0 1 9 7a8 8 0 0 1-4-1.13Z" fill="#1B0640"/>`,
9
+ 'frown': (components, colors) => `<path d="M5 4.13a1 1 0 1 0 1 1.74A6 6 0 0 1 9 5a6 6 0 0 1 3 .87 1 1 0 1 0 1-1.74A8 8 0 0 0 9 3a8 8 0 0 0-4 1.13Z" fill="#1B0640"/>`,
10
+ 'surprise': (components, colors) => `<ellipse cx="9" cy="5" rx="2" ry="2.5" fill="#1B0640"/>`,
11
+ 'pacifier': (components, colors) => `<path fill-rule="evenodd" clip-rule="evenodd" d="M9 2c-.76 0-1.51-.14-2.27-.41A2.03 2.03 0 0 0 4 3.5c0 1.4.82 2.6 2 3.17a3 3 0 0 0 6 0 3.5 3.5 0 0 0 2-3.17 2.03 2.03 0 0 0-2.73-1.91C10.51 1.86 9.76 2 9 2ZM7.59 7h2.82A1.5 1.5 0 0 1 7.6 7Z" fill="#456DFF"/><path fill-rule="evenodd" clip-rule="evenodd" d="M12 6.5v.17a3.5 3.5 0 0 0 2-3.17 2.03 2.03 0 0 0-2.73-1.91 6.61 6.61 0 0 1-4.54 0A2.03 2.03 0 0 0 4 3.5c0 1.4.82 2.6 2 3.17V6.5a3 3 0 1 1 6 0ZM7.59 7h2.82A1.5 1.5 0 1 0 7.6 7Z" fill="#fff" fill-opacity=".3" style="mix-blend-mode:lighten"/><circle cx="9" cy="4.5" r="1.5" fill="#fff"/>`,
12
+ 'bigSmile': (components, colors) => `<path d="M6 3h6v1a3 3 0 0 1-6 0V3Z" fill="#fff"/>`,
13
+ 'smirk': (components, colors) => `<path d="M7.32 5.73a.75.75 0 0 1 .36-1.46c2.44.61 4.17.32 5.29-.8a.75.75 0 1 1 1.06 1.06c-1.54 1.54-3.81 1.92-6.71 1.2Z" fill="#1B0640"/>`,
14
+ 'lips': (components, colors) => `<path d="M5 5h8s-1 2.5-4 2.5S5 5 5 5Z" fill="#DC5C7A"/><path d="M5.39 4.22A2.1 2.1 0 0 1 9 4a2.1 2.1 0 0 1 3.61.22l.4.78H4.99l.39-.78Z" fill="#F57B98"/>`,
15
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Do not change this file manually! This file was generated with the "Dicebear Exporter"-Plugin for Figma.
3
+ *
4
+ * Plugin: https://www.figma.com/community/plugin/1005765655729342787
5
+ * File: https://www.figma.com/file/oa0iScDLrh1tVFzSud2Dwc/%40dicebear%2Fpersonas?node-id=1%3A169
6
+ */
7
+ import type { ComponentGroup } from '../types.js';
8
+ export declare const nose: ComponentGroup;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Do not change this file manually! This file was generated with the "Dicebear Exporter"-Plugin for Figma.
3
+ *
4
+ * Plugin: https://www.figma.com/community/plugin/1005765655729342787
5
+ * File: https://www.figma.com/file/oa0iScDLrh1tVFzSud2Dwc/%40dicebear%2Fpersonas?node-id=1%3A169
6
+ */
7
+ export const nose = {
8
+ 'mediumRound': (components, colors) => `<path d="M4.25 5a.75.75 0 0 1 1.5 0c0 .84.91 1.75 2.25 1.75 1.34 0 2.25-.91 2.25-1.75a.75.75 0 0 1 1.5 0c0 1.66-1.59 3.25-3.75 3.25S4.25 6.66 4.25 5Z" fill="#000" style="mix-blend-mode:overlay" opacity=".36"/>`,
9
+ 'smallRound': (components, colors) => `<path d="M5.29 6.24a.75.75 0 1 1 1.42-.48c.23.7.62 1 1.3 1 .66 0 1.05-.3 1.28-1a.75.75 0 1 1 1.42.48c-.42 1.3-1.37 2.01-2.7 2.01S5.72 7.54 5.3 6.24Z" fill="#000" style="mix-blend-mode:overlay" opacity=".36"/>`,
10
+ 'wrinkles': (components, colors) => `<path opacity=".12" fill-rule="evenodd" clip-rule="evenodd" d="M11.72 5.3c.21.73.27 1.38.2 1.95a20.24 20.24 0 0 1 2.12 4.41.5.5 0 1 0 .94-.32 21.23 21.23 0 0 0-3.4-6.3c.07.07.11.16.14.25Zm-7.44 0a.75.75 0 0 1 .11-.24 28.75 28.75 0 0 0-2.07 3.22c-.48.89-.9 1.9-1.3 3.06a.5.5 0 0 0 .94.32 20.24 20.24 0 0 1 2.12-4.4 4.77 4.77 0 0 1 .19-1.97Z" fill="#000"/><path d="M5.2 4.78a.75.75 0 0 0-.92.51c-.21.75-.27 1.4-.2 1.97.23 1.6 1.6 2.49 3.92 2.49 2.33 0 3.7-.89 3.92-2.5.07-.57.01-1.22-.2-1.96a.75.75 0 1 0-1.44.42c.52 1.83-.09 2.54-2.28 2.54-2.2 0-2.8-.71-2.28-2.54a.75.75 0 0 0-.51-.93Z" fill="#000" style="mix-blend-mode:overlay" opacity=".36"/>`,
11
+ };
package/lib/core.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Do not change this file manually! This file was generated with the "Dicebear Exporter"-Plugin for Figma.
3
+ *
4
+ * Plugin: https://www.figma.com/community/plugin/1005765655729342787
5
+ * File: https://www.figma.com/file/oa0iScDLrh1tVFzSud2Dwc/%40dicebear%2Fpersonas?node-id=1%3A169
6
+ */
7
+ import type { Style } from '@dicebear/core';
8
+ import type { Options } from './types.js';
9
+ export declare const style: Style<Options>;
package/lib/core.js ADDED
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Do not change this file manually! This file was generated with the "Dicebear Exporter"-Plugin for Figma.
3
+ *
4
+ * Plugin: https://www.figma.com/community/plugin/1005765655729342787
5
+ * File: https://www.figma.com/file/oa0iScDLrh1tVFzSud2Dwc/%40dicebear%2Fpersonas?node-id=1%3A169
6
+ */
7
+ import { escape } from '@dicebear/core';
8
+ import { schema } from './schema.js';
9
+ import { getComponents } from './utils/getComponents.js';
10
+ import { getColors } from './utils/getColors.js';
11
+ import { onPreCreate } from './hooks/onPreCreate.js';
12
+ import { onPostCreate } from './hooks/onPostCreate.js';
13
+ export const style = {
14
+ meta: {
15
+ title: 'Personas by Draftbit',
16
+ creator: 'Draftbit - draftbit.com',
17
+ source: 'https://personas.draftbit.com/',
18
+ homepage: 'https://draftbit.com/',
19
+ license: {
20
+ name: 'CC BY 4.0',
21
+ url: 'https://creativecommons.org/licenses/by/4.0/',
22
+ },
23
+ },
24
+ schema: schema,
25
+ create: ({ prng, options }) => {
26
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
27
+ onPreCreate({ prng, options });
28
+ const components = getComponents({ prng, options });
29
+ const colors = getColors({ prng, options });
30
+ onPostCreate({ prng, options, components, colors });
31
+ return {
32
+ attributes: {
33
+ viewBox: '0 0 64 64',
34
+ fill: 'none',
35
+ 'shape-rendering': 'auto'
36
+ },
37
+ body: `<path d="M37 46.08V52a5 5 0 0 1-10 0v-5.92A14.04 14.04 0 0 1 18.58 37h-.08a4.5 4.5 0 0 1-.5-8.97V27a14 14 0 1 1 28 0v1.03a4.5 4.5 0 0 1-.58 8.97A14.04 14.04 0 0 1 37 46.08Z" fill="${escape.xml(`#${colors.skin}`)}"/><mask id="personas-a" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="14" y="13" width="36" height="44"><path d="M37 46.08V52a5 5 0 0 1-10 0v-5.92A14.04 14.04 0 0 1 18.58 37h-.08a4.5 4.5 0 0 1-.5-8.97V27a14 14 0 1 1 28 0v1.03a4.5 4.5 0 0 1-.58 8.97A14.04 14.04 0 0 1 37 46.08Z" fill="#fff"/></mask><g mask="url(#personas-a)"><path d="M32 13a14 14 0 0 1 14 14v6a14 14 0 1 1-28 0v-6a14 14 0 0 1 14-14Z" fill="#fff" style="mix-blend-mode:overlay" opacity=".36"/></g><g transform="translate(20 24)">${(_b = (_a = components.eyes) === null || _a === void 0 ? void 0 : _a.value(components, colors)) !== null && _b !== void 0 ? _b : ''}</g><g transform="translate(2 2)">${(_d = (_c = components.hair) === null || _c === void 0 ? void 0 : _c.value(components, colors)) !== null && _d !== void 0 ? _d : ''}</g><g transform="translate(11 44)">${(_f = (_e = components.body) === null || _e === void 0 ? void 0 : _e.value(components, colors)) !== null && _f !== void 0 ? _f : ''}</g><g transform="translate(23 36)">${(_h = (_g = components.mouth) === null || _g === void 0 ? void 0 : _g.value(components, colors)) !== null && _h !== void 0 ? _h : ''}</g><g transform="translate(24 28)">${(_k = (_j = components.nose) === null || _j === void 0 ? void 0 : _j.value(components, colors)) !== null && _k !== void 0 ? _k : ''}</g><g transform="translate(14 26)">${(_m = (_l = components.facialHair) === null || _l === void 0 ? void 0 : _l.value(components, colors)) !== null && _m !== void 0 ? _m : ''}</g>`,
38
+ };
39
+ },
40
+ };
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Do not change this file manually! This file was generated with the "Dicebear Exporter"-Plugin for Figma.
3
+ *
4
+ * Plugin: https://www.figma.com/community/plugin/1005765655729342787
5
+ * File: https://www.figma.com/file/oa0iScDLrh1tVFzSud2Dwc/%40dicebear%2Fpersonas?node-id=1%3A169
6
+ */
7
+ import { Prng, StyleOptions } from "@dicebear/core";
8
+ import { Options, ColorPickCollection, ComponentPickCollection } from "../types.js";
9
+ declare type Props = {
10
+ prng: Prng;
11
+ options: StyleOptions<Options>;
12
+ components: ComponentPickCollection;
13
+ colors: ColorPickCollection;
14
+ };
15
+ export declare function onPostCreate({ prng, options, components, colors }: Props): void;
16
+ export {};
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Do not change this file manually! This file was generated with the "Dicebear Exporter"-Plugin for Figma.
3
+ *
4
+ * Plugin: https://www.figma.com/community/plugin/1005765655729342787
5
+ * File: https://www.figma.com/file/oa0iScDLrh1tVFzSud2Dwc/%40dicebear%2Fpersonas?node-id=1%3A169
6
+ */
7
+ export function onPostCreate({ prng, options, components, colors }) {
8
+ // Write your modifications here
9
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Do not change this file manually! This file was generated with the "Dicebear Exporter"-Plugin for Figma.
3
+ *
4
+ * Plugin: https://www.figma.com/community/plugin/1005765655729342787
5
+ * File: https://www.figma.com/file/oa0iScDLrh1tVFzSud2Dwc/%40dicebear%2Fpersonas?node-id=1%3A169
6
+ */
7
+ import { Prng, StyleOptions } from "@dicebear/core";
8
+ import { Options } from "../types.js";
9
+ declare type Props = {
10
+ prng: Prng;
11
+ options: StyleOptions<Options>;
12
+ };
13
+ export declare function onPreCreate({ prng, options }: Props): void;
14
+ export {};
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Do not change this file manually! This file was generated with the "Dicebear Exporter"-Plugin for Figma.
3
+ *
4
+ * Plugin: https://www.figma.com/community/plugin/1005765655729342787
5
+ * File: https://www.figma.com/file/oa0iScDLrh1tVFzSud2Dwc/%40dicebear%2Fpersonas?node-id=1%3A169
6
+ */
7
+ export function onPreCreate({ prng, options }) {
8
+ // Write your modifications here
9
+ }
package/lib/index.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Do not change this file manually! This file was generated with the "Dicebear Exporter"-Plugin for Figma.
3
+ *
4
+ * Plugin: https://www.figma.com/community/plugin/1005765655729342787
5
+ * File: https://www.figma.com/file/oa0iScDLrh1tVFzSud2Dwc/%40dicebear%2Fpersonas?node-id=1%3A169
6
+ */
7
+ declare const create: import("@dicebear/core").StyleCreate<import("./types.js").Options>, meta: import("@dicebear/core").StyleMeta, schema: import("json-schema").JSONSchema7;
8
+ export { create, meta, schema };
9
+ export type { Options } from './types.js';
package/lib/index.js ADDED
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Do not change this file manually! This file was generated with the "Dicebear Exporter"-Plugin for Figma.
3
+ *
4
+ * Plugin: https://www.figma.com/community/plugin/1005765655729342787
5
+ * File: https://www.figma.com/file/oa0iScDLrh1tVFzSud2Dwc/%40dicebear%2Fpersonas?node-id=1%3A169
6
+ */
7
+ /*!
8
+ * Personas (@dicebear/personas)
9
+ *
10
+ * Code licensed under MIT License.
11
+ * Copyright (c) 2022 Florian Körner
12
+ *
13
+ * Design "Personas by Draftbit" by Draftbit - draftbit.com licensed under CC BY 4.0. / Remix of the original.
14
+ * Source: https://personas.draftbit.com/
15
+ * Homepage: https://draftbit.com/
16
+ * License: https://creativecommons.org/licenses/by/4.0/
17
+ */
18
+ import { style } from './core.js';
19
+ const { create, meta, schema } = style;
20
+ export { create, meta, schema };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Do not change this file manually! This file was generated with the "Dicebear Exporter"-Plugin for Figma.
3
+ *
4
+ * Plugin: https://www.figma.com/community/plugin/1005765655729342787
5
+ * File: https://www.figma.com/file/oa0iScDLrh1tVFzSud2Dwc/%40dicebear%2Fpersonas?node-id=1%3A169
6
+ */
7
+ import type { StyleSchema } from '@dicebear/core';
8
+ export declare const schema: StyleSchema;