@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.
Files changed (68) hide show
  1. package/LICENSE +1 -1
  2. package/lib/colors/body.d.ts +2 -0
  3. package/lib/colors/body.js +5 -0
  4. package/lib/colors/hair.d.ts +2 -0
  5. package/lib/colors/hair.js +5 -0
  6. package/lib/colors/index.d.ts +3 -0
  7. package/lib/colors/index.js +3 -0
  8. package/lib/colors/skin.d.ts +2 -0
  9. package/lib/colors/skin.js +5 -0
  10. package/lib/components/blushes.d.ts +2 -0
  11. package/lib/components/blushes.js +3 -0
  12. package/lib/components/body.d.ts +2 -0
  13. package/lib/components/body.js +4 -0
  14. package/lib/components/eyes.d.ts +2 -0
  15. package/lib/components/eyes.js +14 -0
  16. package/lib/components/glasses.d.ts +2 -0
  17. package/lib/components/glasses.js +3 -0
  18. package/lib/components/hair.d.ts +2 -0
  19. package/lib/components/hair.js +11 -0
  20. package/lib/components/head.d.ts +2 -0
  21. package/lib/components/head.js +5 -0
  22. package/lib/components/index.d.ts +8 -0
  23. package/lib/components/index.js +8 -0
  24. package/lib/components/mouth.d.ts +2 -0
  25. package/lib/components/mouth.js +4 -0
  26. package/lib/components/mustache.d.ts +2 -0
  27. package/lib/components/mustache.js +6 -0
  28. package/{dist → lib}/core.d.ts +3 -3
  29. package/lib/core.js +32 -0
  30. package/{dist → lib}/hooks/onPostCreate.d.ts +10 -12
  31. package/lib/hooks/onPostCreate.js +3 -0
  32. package/lib/hooks/onPreCreate.d.ts +8 -0
  33. package/lib/hooks/onPreCreate.js +3 -0
  34. package/lib/index.d.ts +13 -0
  35. package/lib/index.js +13 -0
  36. package/lib/schema.d.ts +2 -0
  37. package/lib/schema.js +136 -0
  38. package/{dist/static-types.d.ts → lib/types.d.ts} +32 -16
  39. package/lib/types.js +1 -0
  40. package/{dist → lib}/utils/getColors.d.ts +8 -9
  41. package/lib/utils/getColors.js +20 -0
  42. package/{dist → lib}/utils/getComponents.d.ts +8 -9
  43. package/lib/utils/getComponents.js +59 -0
  44. package/{dist → lib}/utils/pickColor.d.ts +9 -9
  45. package/lib/utils/pickColor.js +13 -0
  46. package/{dist → lib}/utils/pickComponent.d.ts +9 -9
  47. package/lib/utils/pickComponent.js +14 -0
  48. package/package.json +19 -23
  49. package/dist/colors/body.d.ts +0 -2
  50. package/dist/colors/hair.d.ts +0 -2
  51. package/dist/colors/index.d.ts +0 -3
  52. package/dist/colors/skin.d.ts +0 -2
  53. package/dist/components/blushes.d.ts +0 -2
  54. package/dist/components/body.d.ts +0 -2
  55. package/dist/components/eyes.d.ts +0 -2
  56. package/dist/components/glasses.d.ts +0 -2
  57. package/dist/components/hair.d.ts +0 -2
  58. package/dist/components/head.d.ts +0 -2
  59. package/dist/components/index.d.ts +0 -8
  60. package/dist/components/mouth.d.ts +0 -2
  61. package/dist/components/mustache.d.ts +0 -2
  62. package/dist/hooks/onPreCreate.d.ts +0 -9
  63. package/dist/index.d.ts +0 -13
  64. package/dist/index.es.js +0 -588
  65. package/dist/index.js +0 -595
  66. package/dist/index.umd.js +0 -12
  67. package/dist/meta/components.d.ts +0 -4
  68. package/dist/options.d.ts +0 -21
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
@@ -0,0 +1,2 @@
1
+ import type { ColorGroup } from '../types.js';
2
+ export declare const body: ColorGroup;
@@ -0,0 +1,5 @@
1
+ export const body = {
2
+ orange: 'rgba(224, 90, 51, 1)',
3
+ blue: 'rgba(54, 51, 224, 1)',
4
+ pink: 'rgba(255, 77, 216, 1)',
5
+ };
@@ -0,0 +1,2 @@
1
+ import type { ColorGroup } from '../types.js';
2
+ export declare const hair: ColorGroup;
@@ -0,0 +1,5 @@
1
+ export const hair = {
2
+ brown: 'rgba(71, 40, 11, 1)',
3
+ black: 'rgba(27, 11, 71, 1)',
4
+ red: 'rgba(173, 58, 32, 1)',
5
+ };
@@ -0,0 +1,3 @@
1
+ export { skin } from './skin.js';
2
+ export { hair } from './hair.js';
3
+ export { body } from './body.js';
@@ -0,0 +1,3 @@
1
+ export { skin } from './skin.js';
2
+ export { hair } from './hair.js';
3
+ export { body } from './body.js';
@@ -0,0 +1,2 @@
1
+ import type { ColorGroup } from '../types.js';
2
+ export declare const skin: ColorGroup;
@@ -0,0 +1,5 @@
1
+ export const skin = {
2
+ yellow: 'rgba(255, 203, 126, 1)',
3
+ white: 'rgba(245, 208, 197, 1)',
4
+ dark: 'rgba(131, 96, 85, 1)',
5
+ };
@@ -0,0 +1,2 @@
1
+ import type { ComponentGroup } from '../types.js';
2
+ export declare const blushes: ComponentGroup;
@@ -0,0 +1,3 @@
1
+ export const blushes = {
2
+ default: (components, colors) => `<g fill="#FF859B"><rect x="24" y="39" width="5" height="3" rx="1.5"/><rect x="43" y="39" width="4" height="3" rx="1.5"/></g>`,
3
+ };
@@ -0,0 +1,2 @@
1
+ import type { ComponentGroup } from '../types.js';
2
+ export declare const body: ComponentGroup;
@@ -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,2 @@
1
+ import type { ComponentGroup } from '../types.js';
2
+ export declare const eyes: ComponentGroup;
@@ -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,2 @@
1
+ import type { ComponentGroup } from '../types.js';
2
+ export declare const glasses: ComponentGroup;
@@ -0,0 +1,3 @@
1
+ export const glasses = {
2
+ normal: (components, colors) => `<g stroke="#000" stroke-width="2"><circle cx="30.27" cy="36.27" r="4.27"/><circle cx="44.27" cy="36.27" r="4.27"/><path d="m33.99 35.11 7-.1"/></g>`,
3
+ };
@@ -0,0 +1,2 @@
1
+ import type { ComponentGroup } from '../types.js';
2
+ export declare const hair: ComponentGroup;
@@ -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,2 @@
1
+ import type { ComponentGroup } from '../types.js';
2
+ export declare const head: ComponentGroup;
@@ -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,2 @@
1
+ import type { ComponentGroup } from '../types.js';
2
+ export declare const mouth: ComponentGroup;
@@ -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,2 @@
1
+ import type { ComponentGroup } from '../types.js';
2
+ export declare const mustache: ComponentGroup;
@@ -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
+ };
@@ -1,3 +1,3 @@
1
- import type { Style } from '@dicebear/core';
2
- import type { Options } from './options';
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 '../options';
3
- import { ColorPickCollection, ComponentPickCollection } from '../static-types';
4
- declare type Props = {
5
- prng: Prng;
6
- options: StyleOptions<Options>;
7
- components: ComponentPickCollection;
8
- colors: ColorPickCollection;
9
- preview: boolean;
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 {};
@@ -0,0 +1,3 @@
1
+ export function onPostCreate({ prng, options, components, colors }) {
2
+ // Write your modifications here
3
+ }
@@ -0,0 +1,8 @@
1
+ import { Prng, StyleOptions } from '@dicebear/core';
2
+ import { Options } from '../types.js';
3
+ declare type Props = {
4
+ prng: Prng;
5
+ options: StyleOptions<Options>;
6
+ };
7
+ export declare function onPreCreate({ prng, options }: Props): void;
8
+ export {};
@@ -0,0 +1,3 @@
1
+ export function onPreCreate({ prng, options }) {
2
+ // Write your modifications here
3
+ }
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 };
@@ -0,0 +1,2 @@
1
+ import type { StyleSchema } from '@dicebear/core';
2
+ export declare const schema: StyleSchema;
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 declare type ColorGroup = Record<string, ColorGroupItem>;
2
- export declare type ColorGroupCollection = Record<string, ColorGroup>;
3
- export declare type ColorGroupItem = string;
4
- export declare type ColorPickCollection = Record<string, ColorPick>;
5
- export declare type ColorPick = {
6
- name: string;
7
- value: ColorGroupItem;
8
- };
9
- export declare type ComponentGroup = Record<string, ComponentGroupItem>;
10
- export declare type ComponentGroupCollection = Record<string, ComponentGroup>;
11
- export declare type ComponentGroupItem = (components: ComponentPickCollection, colors: ColorPickCollection) => string;
12
- export declare type ComponentPickCollection = Record<string, ComponentPick>;
13
- export declare type ComponentPick = {
14
- name: string;
15
- value: ComponentGroupItem;
16
- } | undefined;
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 '../options';
3
- import type { ColorPickCollection } from '../static-types';
4
- declare type Props = {
5
- prng: Prng;
6
- options: Options;
7
- };
8
- export declare function getColors({ prng, options }: Props): ColorPickCollection;
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 '../options';
3
- import type { ComponentPickCollection } from '../static-types';
4
- declare type Props = {
5
- prng: Prng;
6
- options: Options;
7
- };
8
- export declare function getComponents({ prng, options, }: Props): ComponentPickCollection;
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
+ }