@dicebear/miniavs 5.0.0-alpha.2 → 5.0.0-alpha.24
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 +1 -1
- package/lib/colors/body.d.ts +2 -0
- package/lib/colors/body.js +5 -0
- package/lib/colors/hair.d.ts +2 -0
- package/lib/colors/hair.js +5 -0
- package/lib/colors/index.d.ts +3 -0
- package/lib/colors/index.js +3 -0
- package/lib/colors/skin.d.ts +2 -0
- package/lib/colors/skin.js +5 -0
- package/lib/components/blushes.d.ts +2 -0
- package/lib/components/blushes.js +3 -0
- package/lib/components/body.d.ts +2 -0
- package/lib/components/body.js +4 -0
- package/lib/components/eyes.d.ts +2 -0
- package/lib/components/eyes.js +14 -0
- package/lib/components/glasses.d.ts +2 -0
- package/lib/components/glasses.js +3 -0
- package/lib/components/hair.d.ts +2 -0
- package/lib/components/hair.js +11 -0
- package/lib/components/head.d.ts +2 -0
- package/lib/components/head.js +5 -0
- package/lib/components/index.d.ts +8 -0
- package/lib/components/index.js +8 -0
- package/lib/components/mouth.d.ts +2 -0
- package/lib/components/mouth.js +4 -0
- package/lib/components/mustache.d.ts +2 -0
- package/lib/components/mustache.js +6 -0
- package/{dist → lib}/core.d.ts +3 -3
- package/lib/core.js +32 -0
- package/{dist → lib}/hooks/onPostCreate.d.ts +10 -12
- package/lib/hooks/onPostCreate.js +3 -0
- package/lib/hooks/onPreCreate.d.ts +8 -0
- package/lib/hooks/onPreCreate.js +3 -0
- package/lib/index.d.ts +13 -0
- package/lib/index.js +13 -0
- package/lib/schema.d.ts +2 -0
- package/lib/schema.js +136 -0
- package/{dist/static-types.d.ts → lib/types.d.ts} +32 -16
- package/lib/types.js +1 -0
- package/{dist → lib}/utils/getColors.d.ts +8 -9
- package/lib/utils/getColors.js +20 -0
- package/{dist → lib}/utils/getComponents.d.ts +8 -9
- package/lib/utils/getComponents.js +59 -0
- package/{dist → lib}/utils/pickColor.d.ts +9 -9
- package/lib/utils/pickColor.js +13 -0
- package/{dist → lib}/utils/pickComponent.d.ts +9 -9
- package/lib/utils/pickComponent.js +14 -0
- package/package.json +19 -23
- package/dist/colors/body.d.ts +0 -2
- package/dist/colors/hair.d.ts +0 -2
- package/dist/colors/index.d.ts +0 -3
- package/dist/colors/skin.d.ts +0 -2
- package/dist/components/blushes.d.ts +0 -2
- package/dist/components/body.d.ts +0 -2
- package/dist/components/eyes.d.ts +0 -2
- package/dist/components/glasses.d.ts +0 -2
- package/dist/components/hair.d.ts +0 -2
- package/dist/components/head.d.ts +0 -2
- package/dist/components/index.d.ts +0 -8
- package/dist/components/mouth.d.ts +0 -2
- package/dist/components/mustache.d.ts +0 -2
- package/dist/hooks/onPreCreate.d.ts +0 -9
- package/dist/index.d.ts +0 -13
- package/dist/index.es.js +0 -588
- package/dist/index.js +0 -595
- package/dist/index.umd.js +0 -12
- package/dist/meta/components.d.ts +0 -4
- package/dist/options.d.ts +0 -21
package/LICENSE
CHANGED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export const body = {
|
|
2
|
+
tShirt: (components, colors) => `<rect x="7" y="60" width="40" height="23" rx="9" fill="${colors.body.value}"/>`,
|
|
3
|
+
golf: (components, colors) => `<rect x="7" y="60" width="40" height="23" rx="9" fill="${colors.body.value}"/><path d="M17 58h19v3s-5 1-9.5 1-9.5-1-9.5-1v-3Z" fill="${colors.body.value}"/><path d="M17 58h19v2s-3 1.5-9.5 1.5S17 60 17 60v-2Z" fill="#000" fill-opacity=".2"/><path d="M16.5 59c0-1.1.9-2 2-2h16a2 2 0 0 1 2 2s-5 1-10 1-10-1-10-1Z" fill="${colors.body.value}"/>`,
|
|
4
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export const eyes = {
|
|
2
|
+
normal: (components, colors) => {
|
|
3
|
+
var _a, _b;
|
|
4
|
+
return `<g fill="${colors.hair.value}"><rect x="30" y="36" width="3" height="4" rx="1.5"/><rect x="40" y="36" width="3" height="4" rx="1.5"/></g>${(_b = (_a = components.blushes) === null || _a === void 0 ? void 0 : _a.value(components, colors)) !== null && _b !== void 0 ? _b : ''}`;
|
|
5
|
+
},
|
|
6
|
+
confident: (components, colors) => {
|
|
7
|
+
var _a, _b;
|
|
8
|
+
return `${(_b = (_a = components.blushes) === null || _a === void 0 ? void 0 : _a.value(components, colors)) !== null && _b !== void 0 ? _b : ''}<path d="M43 37.5a1.5 1.5 0 0 1-3 0v-1.23c0-.15.12-.27.27-.27h2.46c.15 0 .27.12.27.27v1.23ZM33 37.5a1.5 1.5 0 0 1-3 0v-1.23c0-.15.12-.27.27-.27h2.46c.15 0 .27.12.27.27v1.23Z" fill="${colors.hair.value}"/><path stroke="${colors.hair.value}" stroke-linecap="round" d="M29.5 36.5h4M39.5 36.5h4"/>`;
|
|
9
|
+
},
|
|
10
|
+
happy: (components, colors) => {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
return `${(_b = (_a = components.blushes) === null || _a === void 0 ? void 0 : _a.value(components, colors)) !== null && _b !== void 0 ? _b : ''}<path d="M30 37.5a1.5 1.5 0 0 1 3 0v1.23c0 .15-.12.27-.27.27h-2.46a.27.27 0 0 1-.27-.27V37.5ZM40 37.5a1.5 1.5 0 0 1 3 0v1.23c0 .15-.12.27-.27.27h-2.46a.27.27 0 0 1-.27-.27V37.5Z" fill="#1B0B47"/>`;
|
|
13
|
+
},
|
|
14
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export const hair = {
|
|
2
|
+
balndess: (components, colors) => `<g fill="${colors.hair.value}"><rect x="14" y="26" width="9" height="2" rx="1"/><rect x="14" y="33" width="7" height="2" rx="1"/><rect x="12" y="29" width="13" height="3" rx="1.5"/></g>`,
|
|
3
|
+
slaughter: (components, colors) => `<path d="M24 25c0 .53-.1 1.04-.3 1.5A3.99 3.99 0 0 1 20 32a4 4 0 0 1-8 0c0-1.05.07-2.78.37-4.32a4 4 0 0 1 4.8-5.5A3.99 3.99 0 0 1 24 25ZM45.85 33.9a4 4 0 0 0 2.78-5.4 3.99 3.99 0 0 0-3.13-5.46c.6 3.14.48 6.61.38 9.78 0 .36-.02.72-.03 1.07Z" fill="${colors.hair.value}"/>`,
|
|
4
|
+
ponyTail: (components, colors) => `<path d="M0 10c8-8 13 3 13 3l-2 8s-2 2.5 0 10-2.5 11.5-2.5 11.5S5 45 2 43s-3.4-3.92-3-7.5c.5-4.5 2-3 2-7.5s-9-10-1-18Z" fill="${colors.hair.value}"/><path d="m13.03 13.18 5.5 2.38-3.56 8.26-5.51-2.38S8.5 19.5 10 16.5c1.5-3 3.03-3.32 3.03-3.32Z" fill="#FF6C98"/><path d="m18 41-1.32-8.82A5 5 0 0 0 18 42v8.3c-1.55-1.37-2.93-3-4.08-4.83-1.7-2.7-2.9-5.8-3.48-9.1-.6-3.28-.58-6.68.04-9.96a25.57 25.57 0 0 1 3.55-9.05 21.32 21.32 0 0 1 6.43-6.5A17.85 17.85 0 0 1 31 8c2.5 0 4.97.45 7.27 1.33 2.3.88 4.4 2.17 6.16 3.8a17.48 17.48 0 0 1 4.12 5.67c.75 1.66 1.21 3.42 1.38 5.2H50v4.29s-.33.15-1 .36v8.5s0 1.4-1.5 2.45c-.52.36-1.22.64-1.9.85.19-1.45.29-2.91.29-4.35 0-1.04.03-2.14.07-3.29.04-1.11.07-2.27.08-3.44-1.85.34-4.37.63-7.58.63C30.62 30 26 28.29 26 28.29v-1A26.13 26.13 0 0 0 24 31c-.75 1.75-.75 3.54-.75 5.05 0 1.5 0 2.73-.75 3.34-1.5 1.2-4.5 1.6-4.5 1.6Z" fill="${colors.hair.value}"/>`,
|
|
5
|
+
long: (components, colors) => `<path fill-rule="evenodd" clip-rule="evenodd" d="M48 25a18 18 0 0 0-36-.5V65h11V34.6a65.12 65.12 0 0 0 12.2-3.76 53.45 53.45 0 0 0 10.68-5.64c.24 2.53.15 5.16.08 7.61-.04 1.15-.08 2.25-.08 3.29 0 .4 0 .82-.02 1.23.23-.07.45-.15.64-.24 1.5-.69 1.5-1.6 1.5-1.6V25Zm-33 8a4.98 4.98 0 0 0 0 8v-8Z" fill="${colors.hair.value}"/>`,
|
|
6
|
+
curly: (components, colors) => `<g fill="${colors.hair.value}"><path d="M45.97 32.48a4 4 0 0 0 1.78-4.88 4 4 0 0 0-2.97-7.41c1.42 3.67 1.31 8.22 1.19 12.3Z"/><path d="M36.3 22.76a4.98 4.98 0 0 1-6.36.2 6.98 6.98 0 0 1-6.99 1.74c-.26.28-.56.53-.89.73a3.98 3.98 0 0 1-1.35 6.19c.2.24.3.55.3.88a1.5 1.5 0 0 1-1.53 1.5 4 4 0 0 1-7.3-3.17 3.99 3.99 0 0 1 0-5.66 4 4 0 0 1 .74-3.71 7 7 0 0 1 4.1-10.17V11a4 4 0 0 1 5.94-3.5 7 7 0 0 1 9.8-2.42 6.48 6.48 0 0 1 10.78 1.95 4 4 0 0 1 3.43 4.58 7.33 7.33 0 0 1 3.05 5.9c0 4.14-3.58 7.5-8 7.5a8.25 8.25 0 0 1-5.7-2.24Z"/></g>`,
|
|
7
|
+
stylish: (components, colors) => `<path d="M20.67 28.22v6.02c0 .76-.67 1.76-1.17 2.26-.5.5-2 1.5-2.85 1.5-.85 0-3.54-.45-4.83-2.26-1.28-1.8-.89-11.32 0-13.54.9-2.21 4.19-6.88 8.85-10.45a26.26 26.26 0 0 1 12.88-5.34C58.48 3.4 49.22 20.99 46 25.5c-5.5-2-9.5-2.5-16.72-1.53-7.21.99-8.01 1.99-8.6 4.24Z" fill="${colors.hair.value}"/>`,
|
|
8
|
+
elvis: (components, colors) => `<path d="M22 28c-.63 3 1 6.98 1 7.74 0 .77-3.93 3.03-5 3.76-1.07.73-1.5-7-1.5-7-3 0-3.5 5.5-3.5 5.5s-2.25-.74-3-4.5c-.51-2.54.3-8.09.5-9.5.5-3.5 1-11.5 7.5-15.5s23-4 27-3C54.9 7.97 56.22 21.5 53 26c-5 5.5-19-1-23.5-1s-6.87 0-7.5 3Z" fill="${colors.hair.value}"/>`,
|
|
9
|
+
classic02: (components, colors) => `<path d="M28.12 27.47C35.92 28.6 49.6 30.6 51 18 52 9 38.5-1.5 24 8c-9.1 1.35-11.39 8.28-11.9 14.26a3.99 3.99 0 0 0-.8 4.24 3.99 3.99 0 0 0 .87 4.33A4 4 0 1 0 20 32a4 4 0 0 0 3.87-5H24c.95 0 2.4.21 4.12.47Z" fill="${colors.hair.value}"/>`,
|
|
10
|
+
classic01: (components, colors) => `<path d="M29.7 26.2c5.6 1.87 13.39 4.45 21.53-3.7 4-4-14-21-28.5-11.5-11.33 1.68-10.68 8.47-10.18 13.71.1 1 .18 1.95.18 2.8 0 .52.07.92.2 1.2-.16 1.24-.2 2.48-.2 3.3a4 4 0 1 0 8 0A4 4 0 0 0 24.61 27h.12a4 4 0 0 0 3.06-1.41c.6.18 1.24.4 1.9.61Z" fill="${colors.hair.value}"/>`,
|
|
11
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export const head = {
|
|
2
|
+
normal: (components, colors) => `<path d="M45.89 36.1c0 8.5-1.26 18.86-10.89 19.82v9.95S31.36 68 26.5 68c-4.86 0-8.5-3.48-8.5-3.48V42a5 5 0 0 1-1.3-9.83C15.36 22.64 17.5 13 32 13c14.59 0 14.24 11.08 13.96 19.81-.04 1.15-.07 2.25-.07 3.29Z" fill="${colors.skin.value}"/><path d="M35 55.92c-.48.05-.98.07-1.5.07-8.88 0-13.9-7.15-15.5-14.6v23.13S21.64 68 26.5 68c4.86 0 8.5-2.13 8.5-2.13v-9.95Z" fill="#000" fill-opacity=".07"/><path d="M34.63 55.95c-.37.03-.74.04-1.13.04-6.53 0-10.97-3.86-13.5-8.87V48.24c0 5.38 2.61 9.75 8.28 9.75h1.35c3.34.03 4.59.04 5-2.04ZM16.7 32.17A5 5 0 0 0 18.14 42c-.48-1.98-.71-3.99-.71-5.9a46.7 46.7 0 0 1-.73-3.93Z" fill="#000" fill-opacity=".07"/><rect x="36" y="41" width="3" height="2" rx="1" fill="#000" fill-opacity=".07"/>`,
|
|
3
|
+
wide: (components, colors) => `<path d="M46.07 40.4c.47 7.5.94 15-11.07 15.56v9.91S31.36 68 26.5 68c-4.86 0-8.5-3.48-8.5-3.48V45.1c-.2-1.02-.33-2.06-.41-3.12a5 5 0 0 1-.9-9.8C15.37 22.63 17.52 13 32 13c14.59 0 14.24 11.08 13.96 19.81-.04 1.15-.07 2.25-.07 3.29 0 1.4.09 2.86.18 4.3Z" fill="${colors.skin.value}"/><path d="M17.59 41.98c-.16-1.97-.16-3.97-.16-5.88a46.7 46.7 0 0 1-.73-3.93 5 5 0 0 0 .89 9.81ZM18 45.1v19.42S21.64 68 26.5 68c4.86 0 8.5-2.13 8.5-2.13v-9.91c-.48.02-.98.03-1.5.03-10.79 0-14.34-4.95-15.5-10.9Z" fill="#000" fill-opacity=".07"/><path d="M34.93 55.96c-.46.02-.93.03-1.43.03-7.25 0-11.23-2.23-13.41-5.5.5 4.82 3.16 8.5 8.3 8.5h1.36c3.8.03 4.92.04 5.18-3.03Z" fill="#000" fill-opacity=".07"/><rect x="36" y="41" width="3" height="2" rx="1" fill="#000" fill-opacity=".07"/>`,
|
|
4
|
+
thin: (components, colors) => `<path d="M45.89 36.1c0 8.92-3.9 18.9-10.39 20.4l-.5-.06v9.43S31.36 68 26.5 68c-4.86 0-8.5-3.48-8.5-3.48V42a5 5 0 0 1-1.3-9.83C15.36 22.64 17.5 13 32 13c14.59 0 14.24 11.08 13.96 19.81-.04 1.15-.07 2.25-.07 3.29Z" fill="${colors.skin.value}"/><path d="M18 42v22.52S21.64 68 26.5 68c4.86 0 8.5-2.13 8.5-2.13v-9.43c-7.26-1.02-13.9-7.5-16.45-14.47-.18.02-.37.03-.55.03Z" fill="#000" fill-opacity=".07"/><path d="M16.7 32.17a5 5 0 0 0 1.85 9.8 17.14 17.14 0 0 1-1.12-5.87 46.7 46.7 0 0 1-.73-3.93ZM34.7 56.4c-6.75-1.1-12.9-6.87-15.7-13.3v.4c0 5.65 6.27 14.47 9.38 15.49 2.57.83 5.4.65 6.32-2.6Z" fill="#000" fill-opacity=".07"/><rect x="36" y="41" width="3" height="2" rx="1" fill="#000" fill-opacity=".07"/>`,
|
|
5
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { head } from './head.js';
|
|
2
|
+
export { body } from './body.js';
|
|
3
|
+
export { hair } from './hair.js';
|
|
4
|
+
export { mouth } from './mouth.js';
|
|
5
|
+
export { eyes } from './eyes.js';
|
|
6
|
+
export { glasses } from './glasses.js';
|
|
7
|
+
export { mustache } from './mustache.js';
|
|
8
|
+
export { blushes } from './blushes.js';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { head } from './head.js';
|
|
2
|
+
export { body } from './body.js';
|
|
3
|
+
export { hair } from './hair.js';
|
|
4
|
+
export { mouth } from './mouth.js';
|
|
5
|
+
export { eyes } from './eyes.js';
|
|
6
|
+
export { glasses } from './glasses.js';
|
|
7
|
+
export { mustache } from './mustache.js';
|
|
8
|
+
export { blushes } from './blushes.js';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export const mouth = {
|
|
2
|
+
default: (components, colors) => `<path d="M27.93 46a1 1 0 0 1 1-1h9.14a1 1 0 0 1 1 1 5 5 0 0 1-5 5h-1.14a5 5 0 0 1-5-5Z" fill="#66253C"/><path d="M35.76 50.7a5 5 0 0 1-1.69.3h-1.14a5 5 0 0 1-5-4.8c.77-.29 1.9-.25 3.02-.22L32 46c2.21 0 4 1.57 4 3.5 0 .42-.09.83-.24 1.2Z" fill="#B03E67"/><path d="M29 45h10v1a1 1 0 0 1-1 1h-8a1 1 0 0 1-1-1v-1Z" fill="#fff"/>`,
|
|
3
|
+
missingTooth: (components, colors) => `<path d="M27.93 46a1 1 0 0 1 1-1h9.14a1 1 0 0 1 1 1 5 5 0 0 1-5 5h-1.14a5 5 0 0 1-5-5Z" fill="#66253C"/><path d="M35.76 50.7a5 5 0 0 1-1.69.3h-1.14a5 5 0 0 1-5-4.8c.77-.29 1.9-.25 3.02-.22L32 46c2.21 0 4 1.57 4 3.5 0 .42-.09.83-.24 1.2Z" fill="#B03E67"/><path d="M29 45h10v1a1 1 0 0 1-1 1h-8a1 1 0 0 1-1-1v-1Z" fill="#fff"/><path d="M31 45.3c0-.17.13-.3.3-.3h1.4c.17 0 .3.13.3.3v2.4a.3.3 0 0 1-.3.3h-1.4a.3.3 0 0 1-.3-.3v-2.4Z" fill="#B03E67"/>`,
|
|
4
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export const mustache = {
|
|
2
|
+
pencilThinBeard: (components, colors) => `<path d="M26.5 45s4.5-.5 11-2v2c-1.5.67-5.5 1.6-7.5 2-2.5.5-3.5-2-3.5-2ZM48 44.76S44 44 38 43v2c1.43.59 4.6 1.15 6.5 1.5 2.38.44 3.5-1.74 3.5-1.74ZM33.31 55.24a1 1 0 0 1 .97-1.24h3.44a1 1 0 0 1 .97 1.24l-.25 1a1 1 0 0 1-.97.76h-2.94a1 1 0 0 1-.97-.76l-.25-1Z" fill="${colors.hair.value}"/>`,
|
|
3
|
+
pencilThin: (components, colors) => `<path d="M37.5 43c-6.5 1.5-11 2-11 2s1 2.5 3.5 2c2-.4 6-1.33 7.5-2v-2ZM38 43c6 1 10 1.76 10 1.76s-1.12 2.18-3.5 1.74l-.32-.06c-1.92-.35-4.83-.89-6.18-1.44v-2Z" fill="${colors.hair.value}"/>`,
|
|
4
|
+
horshoe: (components, colors) => `<path d="M27 46a3 3 0 0 1 3-3h11a3 3 0 0 1 3 3v11a4 4 0 0 1-4-4v-7h-9v7a4 4 0 0 1-4 4V46Z" fill="${colors.hair.value}"/>`,
|
|
5
|
+
freddy: (components, colors) => `<path d="M28 46a3 3 0 0 1 3-3h9a3 3 0 0 1 3 3H28Z" fill="${colors.hair.value}"/>`,
|
|
6
|
+
};
|
package/{dist → lib}/core.d.ts
RENAMED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { Style } from '@dicebear/core';
|
|
2
|
-
import type { Options } from './
|
|
3
|
-
export declare const style: Style<Options>;
|
|
1
|
+
import type { Style } from '@dicebear/core';
|
|
2
|
+
import type { Options } from './types.js';
|
|
3
|
+
export declare const style: Style<Options>;
|
package/lib/core.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { schema } from './schema.js';
|
|
2
|
+
import { getComponents } from './utils/getComponents.js';
|
|
3
|
+
import { getColors } from './utils/getColors.js';
|
|
4
|
+
import { onPreCreate } from './hooks/onPreCreate.js';
|
|
5
|
+
import { onPostCreate } from './hooks/onPostCreate.js';
|
|
6
|
+
export const style = {
|
|
7
|
+
meta: {
|
|
8
|
+
title: 'Miniavs - Free Avatar Creator',
|
|
9
|
+
creator: 'Webpixels',
|
|
10
|
+
source: 'https://www.figma.com/community/file/923211396597067458',
|
|
11
|
+
license: {
|
|
12
|
+
name: 'CC BY 4.0',
|
|
13
|
+
url: 'https://creativecommons.org/licenses/by/4.0/',
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
schema: schema,
|
|
17
|
+
create: ({ prng, options }) => {
|
|
18
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
19
|
+
onPreCreate({ prng, options });
|
|
20
|
+
const components = getComponents({ prng, options });
|
|
21
|
+
const colors = getColors({ prng, options });
|
|
22
|
+
onPostCreate({ prng, options, components, colors });
|
|
23
|
+
return {
|
|
24
|
+
attributes: {
|
|
25
|
+
viewBox: '0 0 64 64',
|
|
26
|
+
fill: 'none',
|
|
27
|
+
'shape-rendering': 'auto',
|
|
28
|
+
},
|
|
29
|
+
body: `${(_b = (_a = components.head) === null || _a === void 0 ? void 0 : _a.value(components, colors)) !== null && _b !== void 0 ? _b : ''}${(_d = (_c = components.body) === null || _c === void 0 ? void 0 : _c.value(components, colors)) !== null && _d !== void 0 ? _d : ''}${(_f = (_e = components.hair) === null || _e === void 0 ? void 0 : _e.value(components, colors)) !== null && _f !== void 0 ? _f : ''}<g transform="translate(1)">${(_h = (_g = components.mouth) === null || _g === void 0 ? void 0 : _g.value(components, colors)) !== null && _h !== void 0 ? _h : ''}</g><g transform="translate(0 -1)">${(_k = (_j = components.eyes) === null || _j === void 0 ? void 0 : _j.value(components, colors)) !== null && _k !== void 0 ? _k : ''}</g>${(_m = (_l = components.glasses) === null || _l === void 0 ? void 0 : _l.value(components, colors)) !== null && _m !== void 0 ? _m : ''}${(_p = (_o = components.mustache) === null || _o === void 0 ? void 0 : _o.value(components, colors)) !== null && _p !== void 0 ? _p : ''}`,
|
|
30
|
+
};
|
|
31
|
+
},
|
|
32
|
+
};
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import { Prng, StyleOptions } from '@dicebear/core';
|
|
2
|
-
import { Options } from '../
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
};
|
|
11
|
-
export declare function onPostCreate({ prng, options, components, colors, preview, }: Props): void;
|
|
12
|
-
export {};
|
|
1
|
+
import { Prng, StyleOptions } from '@dicebear/core';
|
|
2
|
+
import { Options, ColorPickCollection, ComponentPickCollection } from '../types.js';
|
|
3
|
+
declare type Props = {
|
|
4
|
+
prng: Prng;
|
|
5
|
+
options: StyleOptions<Options>;
|
|
6
|
+
components: ComponentPickCollection;
|
|
7
|
+
colors: ColorPickCollection;
|
|
8
|
+
};
|
|
9
|
+
export declare function onPostCreate({ prng, options, components, colors }: Props): void;
|
|
10
|
+
export {};
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Miniavs (@dicebear/miniavs)
|
|
3
|
+
*
|
|
4
|
+
* Code licensed under MIT License.
|
|
5
|
+
* Copyright (c) 2022 Florian Körner
|
|
6
|
+
*
|
|
7
|
+
* Design "Miniavs - Free Avatar Creator" by Webpixels licensed under CC BY 4.0.
|
|
8
|
+
* Source: https://www.figma.com/community/file/923211396597067458
|
|
9
|
+
* License: https://creativecommons.org/licenses/by/4.0/
|
|
10
|
+
*/
|
|
11
|
+
declare const create: import("@dicebear/core").StyleCreate<import("./types.js").Options>, meta: import("@dicebear/core").StyleMeta, schema: import("json-schema").JSONSchema7;
|
|
12
|
+
export { create, meta, schema };
|
|
13
|
+
export type { Options } from './types.js';
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Miniavs (@dicebear/miniavs)
|
|
3
|
+
*
|
|
4
|
+
* Code licensed under MIT License.
|
|
5
|
+
* Copyright (c) 2022 Florian Körner
|
|
6
|
+
*
|
|
7
|
+
* Design "Miniavs - Free Avatar Creator" by Webpixels licensed under CC BY 4.0.
|
|
8
|
+
* Source: https://www.figma.com/community/file/923211396597067458
|
|
9
|
+
* License: https://creativecommons.org/licenses/by/4.0/
|
|
10
|
+
*/
|
|
11
|
+
import { style } from './core.js';
|
|
12
|
+
const { create, meta, schema } = style;
|
|
13
|
+
export { create, meta, schema };
|
package/lib/schema.d.ts
ADDED
package/lib/schema.js
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
export const schema = {
|
|
2
|
+
title: 'Options',
|
|
3
|
+
$schema: 'http://json-schema.org/draft-07/schema#',
|
|
4
|
+
properties: {
|
|
5
|
+
blushes: {
|
|
6
|
+
type: 'array',
|
|
7
|
+
items: { type: 'string', enum: ['default'] },
|
|
8
|
+
default: ['default'],
|
|
9
|
+
examples: [['default']],
|
|
10
|
+
},
|
|
11
|
+
blushesProbability: {
|
|
12
|
+
type: 'integer',
|
|
13
|
+
minimum: 0,
|
|
14
|
+
maximum: 100,
|
|
15
|
+
default: 50,
|
|
16
|
+
},
|
|
17
|
+
body: {
|
|
18
|
+
type: 'array',
|
|
19
|
+
items: { type: 'string', enum: ['tShirt', 'golf'] },
|
|
20
|
+
default: ['tShirt', 'golf'],
|
|
21
|
+
examples: [['tShirt'], ['golf']],
|
|
22
|
+
},
|
|
23
|
+
bodyColor: {
|
|
24
|
+
type: 'array',
|
|
25
|
+
items: {
|
|
26
|
+
type: 'string',
|
|
27
|
+
pattern: '^([0-9a-zA-Z]+|#[a-fA-F0-9]{3}|#[a-fA-F0-9]{4}|#[a-fA-F0-9]{6}|#[a-fA-F0-9]{8})$',
|
|
28
|
+
},
|
|
29
|
+
default: ['orange', 'blue', 'pink'],
|
|
30
|
+
examples: [['orange'], ['blue'], ['pink']],
|
|
31
|
+
},
|
|
32
|
+
eyes: {
|
|
33
|
+
type: 'array',
|
|
34
|
+
items: { type: 'string', enum: ['normal', 'confident', 'happy'] },
|
|
35
|
+
default: ['normal', 'confident', 'happy'],
|
|
36
|
+
examples: [['normal'], ['confident'], ['happy']],
|
|
37
|
+
},
|
|
38
|
+
glasses: {
|
|
39
|
+
type: 'array',
|
|
40
|
+
items: { type: 'string', enum: ['normal'] },
|
|
41
|
+
default: ['normal'],
|
|
42
|
+
examples: [['normal']],
|
|
43
|
+
},
|
|
44
|
+
glassesProbability: {
|
|
45
|
+
type: 'integer',
|
|
46
|
+
minimum: 0,
|
|
47
|
+
maximum: 100,
|
|
48
|
+
default: 20,
|
|
49
|
+
},
|
|
50
|
+
hair: {
|
|
51
|
+
type: 'array',
|
|
52
|
+
items: {
|
|
53
|
+
type: 'string',
|
|
54
|
+
enum: [
|
|
55
|
+
'balndess',
|
|
56
|
+
'slaughter',
|
|
57
|
+
'ponyTail',
|
|
58
|
+
'long',
|
|
59
|
+
'curly',
|
|
60
|
+
'stylish',
|
|
61
|
+
'elvis',
|
|
62
|
+
'classic02',
|
|
63
|
+
'classic01',
|
|
64
|
+
],
|
|
65
|
+
},
|
|
66
|
+
default: [
|
|
67
|
+
'balndess',
|
|
68
|
+
'slaughter',
|
|
69
|
+
'ponyTail',
|
|
70
|
+
'long',
|
|
71
|
+
'curly',
|
|
72
|
+
'stylish',
|
|
73
|
+
'elvis',
|
|
74
|
+
'classic02',
|
|
75
|
+
'classic01',
|
|
76
|
+
],
|
|
77
|
+
examples: [
|
|
78
|
+
['balndess'],
|
|
79
|
+
['slaughter'],
|
|
80
|
+
['ponyTail'],
|
|
81
|
+
['long'],
|
|
82
|
+
['curly'],
|
|
83
|
+
['stylish'],
|
|
84
|
+
['elvis'],
|
|
85
|
+
['classic02'],
|
|
86
|
+
['classic01'],
|
|
87
|
+
],
|
|
88
|
+
},
|
|
89
|
+
hairColor: {
|
|
90
|
+
type: 'array',
|
|
91
|
+
items: {
|
|
92
|
+
type: 'string',
|
|
93
|
+
pattern: '^([0-9a-zA-Z]+|#[a-fA-F0-9]{3}|#[a-fA-F0-9]{4}|#[a-fA-F0-9]{6}|#[a-fA-F0-9]{8})$',
|
|
94
|
+
},
|
|
95
|
+
default: ['brown', 'black', 'red'],
|
|
96
|
+
examples: [['brown'], ['black'], ['red']],
|
|
97
|
+
},
|
|
98
|
+
head: {
|
|
99
|
+
type: 'array',
|
|
100
|
+
items: { type: 'string', enum: ['normal', 'wide', 'thin'] },
|
|
101
|
+
default: ['normal', 'wide', 'thin'],
|
|
102
|
+
examples: [['normal'], ['wide'], ['thin']],
|
|
103
|
+
},
|
|
104
|
+
mouth: {
|
|
105
|
+
type: 'array',
|
|
106
|
+
items: { type: 'string', enum: ['default', 'missingTooth'] },
|
|
107
|
+
default: ['default', 'missingTooth'],
|
|
108
|
+
examples: [['default'], ['missingTooth']],
|
|
109
|
+
},
|
|
110
|
+
mustache: {
|
|
111
|
+
type: 'array',
|
|
112
|
+
items: {
|
|
113
|
+
type: 'string',
|
|
114
|
+
enum: ['pencilThinBeard', 'pencilThin', 'horshoe', 'freddy'],
|
|
115
|
+
},
|
|
116
|
+
default: ['pencilThinBeard', 'pencilThin', 'horshoe', 'freddy'],
|
|
117
|
+
examples: [['pencilThinBeard'], ['pencilThin'], ['horshoe'], ['freddy']],
|
|
118
|
+
},
|
|
119
|
+
mustacheProbability: {
|
|
120
|
+
type: 'integer',
|
|
121
|
+
minimum: 0,
|
|
122
|
+
maximum: 100,
|
|
123
|
+
default: 20,
|
|
124
|
+
},
|
|
125
|
+
skinColor: {
|
|
126
|
+
type: 'array',
|
|
127
|
+
items: {
|
|
128
|
+
type: 'string',
|
|
129
|
+
pattern: '^([0-9a-zA-Z]+|#[a-fA-F0-9]{3}|#[a-fA-F0-9]{4}|#[a-fA-F0-9]{6}|#[a-fA-F0-9]{8})$',
|
|
130
|
+
},
|
|
131
|
+
default: ['yellow', 'white', 'dark'],
|
|
132
|
+
examples: [['yellow'], ['white'], ['dark']],
|
|
133
|
+
},
|
|
134
|
+
},
|
|
135
|
+
additionalProperties: false,
|
|
136
|
+
};
|
|
@@ -1,16 +1,32 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
1
|
+
export interface Options {
|
|
2
|
+
head?: ('normal' | 'wide' | 'thin')[];
|
|
3
|
+
body?: ('tShirt' | 'golf')[];
|
|
4
|
+
hair?: ('balndess' | 'slaughter' | 'ponyTail' | 'long' | 'curly' | 'stylish' | 'elvis' | 'classic02' | 'classic01')[];
|
|
5
|
+
mouth?: ('default' | 'missingTooth')[];
|
|
6
|
+
eyes?: ('normal' | 'confident' | 'happy')[];
|
|
7
|
+
glasses?: ('normal')[];
|
|
8
|
+
glassesProbability?: number;
|
|
9
|
+
mustache?: ('pencilThinBeard' | 'pencilThin' | 'horshoe' | 'freddy')[];
|
|
10
|
+
mustacheProbability?: number;
|
|
11
|
+
blushes?: ('default')[];
|
|
12
|
+
blushesProbability?: number;
|
|
13
|
+
skinColor?: string[];
|
|
14
|
+
hairColor?: string[];
|
|
15
|
+
bodyColor?: string[];
|
|
16
|
+
}
|
|
17
|
+
export declare type ColorGroup = Record<string, ColorGroupItem>;
|
|
18
|
+
export declare type ColorGroupCollection = Record<string, ColorGroup>;
|
|
19
|
+
export declare type ColorGroupItem = string;
|
|
20
|
+
export declare type ColorPickCollection = Record<string, ColorPick>;
|
|
21
|
+
export declare type ColorPick = {
|
|
22
|
+
name: string;
|
|
23
|
+
value: ColorGroupItem;
|
|
24
|
+
};
|
|
25
|
+
export declare type ComponentGroup = Record<string, ComponentGroupItem>;
|
|
26
|
+
export declare type ComponentGroupCollection = Record<string, ComponentGroup>;
|
|
27
|
+
export declare type ComponentGroupItem = (components: ComponentPickCollection, colors: ColorPickCollection) => string;
|
|
28
|
+
export declare type ComponentPickCollection = Record<string, ComponentPick>;
|
|
29
|
+
export declare type ComponentPick = {
|
|
30
|
+
name: string;
|
|
31
|
+
value: ComponentGroupItem;
|
|
32
|
+
} | undefined;
|
package/lib/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import type { Prng } from '@dicebear/core';
|
|
2
|
-
import type { Options } from '../
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
};
|
|
8
|
-
export
|
|
9
|
-
export {};
|
|
1
|
+
import type { Prng } from '@dicebear/core';
|
|
2
|
+
import type { Options, ColorPickCollection } from '../types.js';
|
|
3
|
+
declare type Props = {
|
|
4
|
+
prng: Prng;
|
|
5
|
+
options: Options;
|
|
6
|
+
};
|
|
7
|
+
export declare function getColors({ prng, options }: Props): ColorPickCollection;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { pickColor } from './pickColor.js';
|
|
2
|
+
export function getColors({ prng, options }) {
|
|
3
|
+
return {
|
|
4
|
+
skin: pickColor({
|
|
5
|
+
prng,
|
|
6
|
+
group: 'skin',
|
|
7
|
+
values: options.skinColor,
|
|
8
|
+
}),
|
|
9
|
+
hair: pickColor({
|
|
10
|
+
prng,
|
|
11
|
+
group: 'hair',
|
|
12
|
+
values: options.hairColor,
|
|
13
|
+
}),
|
|
14
|
+
body: pickColor({
|
|
15
|
+
prng,
|
|
16
|
+
group: 'body',
|
|
17
|
+
values: options.bodyColor,
|
|
18
|
+
}),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import type { Prng } from '@dicebear/core';
|
|
2
|
-
import type { Options } from '../
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
};
|
|
8
|
-
export
|
|
9
|
-
export {};
|
|
1
|
+
import type { Prng } from '@dicebear/core';
|
|
2
|
+
import type { Options, ComponentPickCollection } from '../types.js';
|
|
3
|
+
declare type Props = {
|
|
4
|
+
prng: Prng;
|
|
5
|
+
options: Options;
|
|
6
|
+
};
|
|
7
|
+
export declare function getComponents({ prng, options, }: Props): ComponentPickCollection;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { pickComponent } from './pickComponent.js';
|
|
2
|
+
export function getComponents({ prng, options, }) {
|
|
3
|
+
const headComponent = pickComponent({
|
|
4
|
+
prng,
|
|
5
|
+
group: 'head',
|
|
6
|
+
values: options.head,
|
|
7
|
+
});
|
|
8
|
+
const bodyComponent = pickComponent({
|
|
9
|
+
prng,
|
|
10
|
+
group: 'body',
|
|
11
|
+
values: options.body,
|
|
12
|
+
});
|
|
13
|
+
const hairComponent = pickComponent({
|
|
14
|
+
prng,
|
|
15
|
+
group: 'hair',
|
|
16
|
+
values: options.hair,
|
|
17
|
+
});
|
|
18
|
+
const mouthComponent = pickComponent({
|
|
19
|
+
prng,
|
|
20
|
+
group: 'mouth',
|
|
21
|
+
values: options.mouth,
|
|
22
|
+
});
|
|
23
|
+
const eyesComponent = pickComponent({
|
|
24
|
+
prng,
|
|
25
|
+
group: 'eyes',
|
|
26
|
+
values: options.eyes,
|
|
27
|
+
});
|
|
28
|
+
const glassesComponent = pickComponent({
|
|
29
|
+
prng,
|
|
30
|
+
group: 'glasses',
|
|
31
|
+
values: options.glasses,
|
|
32
|
+
});
|
|
33
|
+
const mustacheComponent = pickComponent({
|
|
34
|
+
prng,
|
|
35
|
+
group: 'mustache',
|
|
36
|
+
values: options.mustache,
|
|
37
|
+
});
|
|
38
|
+
const blushesComponent = pickComponent({
|
|
39
|
+
prng,
|
|
40
|
+
group: 'blushes',
|
|
41
|
+
values: options.blushes,
|
|
42
|
+
});
|
|
43
|
+
return {
|
|
44
|
+
head: headComponent,
|
|
45
|
+
body: bodyComponent,
|
|
46
|
+
hair: hairComponent,
|
|
47
|
+
mouth: mouthComponent,
|
|
48
|
+
eyes: eyesComponent,
|
|
49
|
+
glasses: prng.bool(options.glassesProbability)
|
|
50
|
+
? glassesComponent
|
|
51
|
+
: undefined,
|
|
52
|
+
mustache: prng.bool(options.mustacheProbability)
|
|
53
|
+
? mustacheComponent
|
|
54
|
+
: undefined,
|
|
55
|
+
blushes: prng.bool(options.blushesProbability)
|
|
56
|
+
? blushesComponent
|
|
57
|
+
: undefined,
|
|
58
|
+
};
|
|
59
|
+
}
|