@dicebear/croodles 5.0.0-alpha.10 → 5.0.0-alpha.14
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/lib/colors/base.d.ts +2 -0
- package/lib/colors/base.js +4 -0
- package/lib/colors/index.d.ts +2 -0
- package/lib/colors/index.js +2 -0
- package/lib/colors/top.d.ts +2 -0
- package/lib/colors/top.js +8 -0
- package/lib/components/beard.d.ts +2 -0
- package/lib/components/beard.js +7 -0
- package/lib/components/eyes.d.ts +2 -0
- package/lib/components/eyes.js +18 -0
- package/lib/components/face.d.ts +2 -0
- package/lib/components/face.js +34 -0
- package/lib/components/index.d.ts +7 -0
- package/lib/components/index.js +7 -0
- package/lib/components/mouth.d.ts +2 -0
- package/lib/components/mouth.js +20 -0
- package/lib/components/mustache.d.ts +2 -0
- package/lib/components/mustache.js +6 -0
- package/lib/components/nose.d.ts +2 -0
- package/lib/components/nose.js +11 -0
- package/lib/components/top.d.ts +2 -0
- package/lib/components/top.js +32 -0
- package/lib/core.d.ts +3 -0
- package/lib/core.js +64 -0
- package/lib/hooks/onPostCreate.d.ts +11 -0
- package/lib/hooks/onPostCreate.js +3 -0
- package/lib/hooks/onPreCreate.d.ts +9 -0
- package/lib/hooks/onPreCreate.js +3 -0
- package/lib/index.d.ts +13 -0
- package/lib/index.js +13 -0
- package/lib/meta/components.d.ts +4 -0
- package/lib/meta/components.js +30 -0
- package/lib/schema.d.ts +2 -0
- package/lib/schema.js +377 -0
- package/lib/types.d.ts +29 -0
- package/lib/types.js +1 -0
- package/lib/utils/getColors.d.ts +8 -0
- package/lib/utils/getColors.js +15 -0
- package/lib/utils/getComponents.d.ts +8 -0
- package/lib/utils/getComponents.js +49 -0
- package/lib/utils/pickColor.d.ts +9 -0
- package/lib/utils/pickColor.js +13 -0
- package/lib/utils/pickComponent.d.ts +9 -0
- package/lib/utils/pickComponent.js +14 -0
- package/package.json +18 -26
- package/dist/index.d.ts +0 -21
- package/dist/index.d.ts.map +0 -1
- package/dist/index.es.js +0 -488
- package/dist/index.es.js.map +0 -1
- package/dist/index.js +0 -492
- package/dist/index.js.map +0 -1
package/lib/schema.js
ADDED
|
@@ -0,0 +1,377 @@
|
|
|
1
|
+
export const schema = {
|
|
2
|
+
title: 'Options',
|
|
3
|
+
$schema: 'http://json-schema.org/draft-07/schema#',
|
|
4
|
+
properties: {
|
|
5
|
+
baseColor: {
|
|
6
|
+
type: 'array',
|
|
7
|
+
items: {
|
|
8
|
+
type: 'string',
|
|
9
|
+
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})$',
|
|
10
|
+
},
|
|
11
|
+
default: ['transparent'],
|
|
12
|
+
examples: [['transparent'], ['white']],
|
|
13
|
+
},
|
|
14
|
+
beard: {
|
|
15
|
+
type: 'array',
|
|
16
|
+
items: {
|
|
17
|
+
type: 'string',
|
|
18
|
+
enum: ['variant05', 'variant04', 'variant03', 'variant02', 'variant01'],
|
|
19
|
+
},
|
|
20
|
+
default: [
|
|
21
|
+
'variant05',
|
|
22
|
+
'variant04',
|
|
23
|
+
'variant03',
|
|
24
|
+
'variant02',
|
|
25
|
+
'variant01',
|
|
26
|
+
],
|
|
27
|
+
examples: [
|
|
28
|
+
['variant05'],
|
|
29
|
+
['variant04'],
|
|
30
|
+
['variant03'],
|
|
31
|
+
['variant02'],
|
|
32
|
+
['variant01'],
|
|
33
|
+
],
|
|
34
|
+
},
|
|
35
|
+
beardProbability: {
|
|
36
|
+
type: 'integer',
|
|
37
|
+
minimum: 0,
|
|
38
|
+
maximum: 100,
|
|
39
|
+
default: 10,
|
|
40
|
+
},
|
|
41
|
+
eyes: {
|
|
42
|
+
type: 'array',
|
|
43
|
+
items: {
|
|
44
|
+
type: 'string',
|
|
45
|
+
enum: [
|
|
46
|
+
'variant16',
|
|
47
|
+
'variant15',
|
|
48
|
+
'variant14',
|
|
49
|
+
'variant13',
|
|
50
|
+
'variant12',
|
|
51
|
+
'variant11',
|
|
52
|
+
'variant10',
|
|
53
|
+
'variant09',
|
|
54
|
+
'variant08',
|
|
55
|
+
'variant07',
|
|
56
|
+
'variant06',
|
|
57
|
+
'variant05',
|
|
58
|
+
'variant04',
|
|
59
|
+
'variant03',
|
|
60
|
+
'variant02',
|
|
61
|
+
'variant01',
|
|
62
|
+
],
|
|
63
|
+
},
|
|
64
|
+
default: [
|
|
65
|
+
'variant16',
|
|
66
|
+
'variant15',
|
|
67
|
+
'variant14',
|
|
68
|
+
'variant13',
|
|
69
|
+
'variant12',
|
|
70
|
+
'variant11',
|
|
71
|
+
'variant10',
|
|
72
|
+
'variant09',
|
|
73
|
+
'variant08',
|
|
74
|
+
'variant07',
|
|
75
|
+
'variant06',
|
|
76
|
+
'variant05',
|
|
77
|
+
'variant04',
|
|
78
|
+
'variant03',
|
|
79
|
+
'variant02',
|
|
80
|
+
'variant01',
|
|
81
|
+
],
|
|
82
|
+
examples: [
|
|
83
|
+
['variant16'],
|
|
84
|
+
['variant15'],
|
|
85
|
+
['variant14'],
|
|
86
|
+
['variant13'],
|
|
87
|
+
['variant12'],
|
|
88
|
+
['variant11'],
|
|
89
|
+
['variant10'],
|
|
90
|
+
['variant09'],
|
|
91
|
+
['variant08'],
|
|
92
|
+
['variant07'],
|
|
93
|
+
['variant06'],
|
|
94
|
+
['variant05'],
|
|
95
|
+
['variant04'],
|
|
96
|
+
['variant03'],
|
|
97
|
+
['variant02'],
|
|
98
|
+
['variant01'],
|
|
99
|
+
],
|
|
100
|
+
},
|
|
101
|
+
face: {
|
|
102
|
+
type: 'array',
|
|
103
|
+
items: {
|
|
104
|
+
type: 'string',
|
|
105
|
+
enum: [
|
|
106
|
+
'variant08',
|
|
107
|
+
'variant07',
|
|
108
|
+
'variant06',
|
|
109
|
+
'variant05',
|
|
110
|
+
'variant04',
|
|
111
|
+
'variant03',
|
|
112
|
+
'variant02',
|
|
113
|
+
'variant01',
|
|
114
|
+
],
|
|
115
|
+
},
|
|
116
|
+
default: [
|
|
117
|
+
'variant08',
|
|
118
|
+
'variant07',
|
|
119
|
+
'variant06',
|
|
120
|
+
'variant05',
|
|
121
|
+
'variant04',
|
|
122
|
+
'variant03',
|
|
123
|
+
'variant02',
|
|
124
|
+
'variant01',
|
|
125
|
+
],
|
|
126
|
+
examples: [
|
|
127
|
+
['variant08'],
|
|
128
|
+
['variant07'],
|
|
129
|
+
['variant06'],
|
|
130
|
+
['variant05'],
|
|
131
|
+
['variant04'],
|
|
132
|
+
['variant03'],
|
|
133
|
+
['variant02'],
|
|
134
|
+
['variant01'],
|
|
135
|
+
],
|
|
136
|
+
},
|
|
137
|
+
mouth: {
|
|
138
|
+
type: 'array',
|
|
139
|
+
items: {
|
|
140
|
+
type: 'string',
|
|
141
|
+
enum: [
|
|
142
|
+
'variant18',
|
|
143
|
+
'variant17',
|
|
144
|
+
'variant16',
|
|
145
|
+
'variant15',
|
|
146
|
+
'variant14',
|
|
147
|
+
'variant13',
|
|
148
|
+
'variant12',
|
|
149
|
+
'variant11',
|
|
150
|
+
'variant10',
|
|
151
|
+
'variant09',
|
|
152
|
+
'variant08',
|
|
153
|
+
'variant07',
|
|
154
|
+
'variant06',
|
|
155
|
+
'variant05',
|
|
156
|
+
'variant04',
|
|
157
|
+
'variant03',
|
|
158
|
+
'variant02',
|
|
159
|
+
'variant01',
|
|
160
|
+
],
|
|
161
|
+
},
|
|
162
|
+
default: [
|
|
163
|
+
'variant18',
|
|
164
|
+
'variant17',
|
|
165
|
+
'variant16',
|
|
166
|
+
'variant15',
|
|
167
|
+
'variant14',
|
|
168
|
+
'variant13',
|
|
169
|
+
'variant12',
|
|
170
|
+
'variant11',
|
|
171
|
+
'variant10',
|
|
172
|
+
'variant09',
|
|
173
|
+
'variant08',
|
|
174
|
+
'variant07',
|
|
175
|
+
'variant06',
|
|
176
|
+
'variant05',
|
|
177
|
+
'variant04',
|
|
178
|
+
'variant03',
|
|
179
|
+
'variant02',
|
|
180
|
+
'variant01',
|
|
181
|
+
],
|
|
182
|
+
examples: [
|
|
183
|
+
['variant18'],
|
|
184
|
+
['variant17'],
|
|
185
|
+
['variant16'],
|
|
186
|
+
['variant15'],
|
|
187
|
+
['variant14'],
|
|
188
|
+
['variant13'],
|
|
189
|
+
['variant12'],
|
|
190
|
+
['variant11'],
|
|
191
|
+
['variant10'],
|
|
192
|
+
['variant09'],
|
|
193
|
+
['variant08'],
|
|
194
|
+
['variant07'],
|
|
195
|
+
['variant06'],
|
|
196
|
+
['variant05'],
|
|
197
|
+
['variant04'],
|
|
198
|
+
['variant03'],
|
|
199
|
+
['variant02'],
|
|
200
|
+
['variant01'],
|
|
201
|
+
],
|
|
202
|
+
},
|
|
203
|
+
mustache: {
|
|
204
|
+
type: 'array',
|
|
205
|
+
items: {
|
|
206
|
+
type: 'string',
|
|
207
|
+
enum: ['variant04', 'variant03', 'variant02', 'variant01'],
|
|
208
|
+
},
|
|
209
|
+
default: ['variant04', 'variant03', 'variant02', 'variant01'],
|
|
210
|
+
examples: [['variant04'], ['variant03'], ['variant02'], ['variant01']],
|
|
211
|
+
},
|
|
212
|
+
mustacheProbability: {
|
|
213
|
+
type: 'integer',
|
|
214
|
+
minimum: 0,
|
|
215
|
+
maximum: 100,
|
|
216
|
+
default: 10,
|
|
217
|
+
},
|
|
218
|
+
nose: {
|
|
219
|
+
type: 'array',
|
|
220
|
+
items: {
|
|
221
|
+
type: 'string',
|
|
222
|
+
enum: [
|
|
223
|
+
'variant09',
|
|
224
|
+
'variant08',
|
|
225
|
+
'variant07',
|
|
226
|
+
'variant06',
|
|
227
|
+
'variant05',
|
|
228
|
+
'variant04',
|
|
229
|
+
'variant03',
|
|
230
|
+
'variant02',
|
|
231
|
+
'variant01',
|
|
232
|
+
],
|
|
233
|
+
},
|
|
234
|
+
default: [
|
|
235
|
+
'variant09',
|
|
236
|
+
'variant08',
|
|
237
|
+
'variant07',
|
|
238
|
+
'variant06',
|
|
239
|
+
'variant05',
|
|
240
|
+
'variant04',
|
|
241
|
+
'variant03',
|
|
242
|
+
'variant02',
|
|
243
|
+
'variant01',
|
|
244
|
+
],
|
|
245
|
+
examples: [
|
|
246
|
+
['variant09'],
|
|
247
|
+
['variant08'],
|
|
248
|
+
['variant07'],
|
|
249
|
+
['variant06'],
|
|
250
|
+
['variant05'],
|
|
251
|
+
['variant04'],
|
|
252
|
+
['variant03'],
|
|
253
|
+
['variant02'],
|
|
254
|
+
['variant01'],
|
|
255
|
+
],
|
|
256
|
+
},
|
|
257
|
+
top: {
|
|
258
|
+
type: 'array',
|
|
259
|
+
items: {
|
|
260
|
+
type: 'string',
|
|
261
|
+
enum: [
|
|
262
|
+
'variant30',
|
|
263
|
+
'variant29',
|
|
264
|
+
'variant28',
|
|
265
|
+
'variant27',
|
|
266
|
+
'variant26',
|
|
267
|
+
'variant25',
|
|
268
|
+
'variant24',
|
|
269
|
+
'variant23',
|
|
270
|
+
'variant22',
|
|
271
|
+
'variant21',
|
|
272
|
+
'variant20',
|
|
273
|
+
'variant19',
|
|
274
|
+
'variant18',
|
|
275
|
+
'variant17',
|
|
276
|
+
'variant16',
|
|
277
|
+
'variant15',
|
|
278
|
+
'variant14',
|
|
279
|
+
'variant13',
|
|
280
|
+
'variant12',
|
|
281
|
+
'variant11',
|
|
282
|
+
'variant10',
|
|
283
|
+
'variant09',
|
|
284
|
+
'variant08',
|
|
285
|
+
'variant07',
|
|
286
|
+
'variant06',
|
|
287
|
+
'variant05',
|
|
288
|
+
'variant04',
|
|
289
|
+
'variant03',
|
|
290
|
+
'variant02',
|
|
291
|
+
'variant01',
|
|
292
|
+
],
|
|
293
|
+
},
|
|
294
|
+
default: [
|
|
295
|
+
'variant30',
|
|
296
|
+
'variant29',
|
|
297
|
+
'variant28',
|
|
298
|
+
'variant27',
|
|
299
|
+
'variant26',
|
|
300
|
+
'variant25',
|
|
301
|
+
'variant24',
|
|
302
|
+
'variant23',
|
|
303
|
+
'variant22',
|
|
304
|
+
'variant21',
|
|
305
|
+
'variant20',
|
|
306
|
+
'variant19',
|
|
307
|
+
'variant18',
|
|
308
|
+
'variant17',
|
|
309
|
+
'variant16',
|
|
310
|
+
'variant15',
|
|
311
|
+
'variant14',
|
|
312
|
+
'variant13',
|
|
313
|
+
'variant12',
|
|
314
|
+
'variant11',
|
|
315
|
+
'variant10',
|
|
316
|
+
'variant09',
|
|
317
|
+
'variant08',
|
|
318
|
+
'variant07',
|
|
319
|
+
'variant06',
|
|
320
|
+
'variant05',
|
|
321
|
+
'variant04',
|
|
322
|
+
'variant03',
|
|
323
|
+
'variant02',
|
|
324
|
+
'variant01',
|
|
325
|
+
],
|
|
326
|
+
examples: [
|
|
327
|
+
['variant30'],
|
|
328
|
+
['variant29'],
|
|
329
|
+
['variant28'],
|
|
330
|
+
['variant27'],
|
|
331
|
+
['variant26'],
|
|
332
|
+
['variant25'],
|
|
333
|
+
['variant24'],
|
|
334
|
+
['variant23'],
|
|
335
|
+
['variant22'],
|
|
336
|
+
['variant21'],
|
|
337
|
+
['variant20'],
|
|
338
|
+
['variant19'],
|
|
339
|
+
['variant18'],
|
|
340
|
+
['variant17'],
|
|
341
|
+
['variant16'],
|
|
342
|
+
['variant15'],
|
|
343
|
+
['variant14'],
|
|
344
|
+
['variant13'],
|
|
345
|
+
['variant12'],
|
|
346
|
+
['variant11'],
|
|
347
|
+
['variant10'],
|
|
348
|
+
['variant09'],
|
|
349
|
+
['variant08'],
|
|
350
|
+
['variant07'],
|
|
351
|
+
['variant06'],
|
|
352
|
+
['variant05'],
|
|
353
|
+
['variant04'],
|
|
354
|
+
['variant03'],
|
|
355
|
+
['variant02'],
|
|
356
|
+
['variant01'],
|
|
357
|
+
],
|
|
358
|
+
},
|
|
359
|
+
topColor: {
|
|
360
|
+
type: 'array',
|
|
361
|
+
items: {
|
|
362
|
+
type: 'string',
|
|
363
|
+
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})$',
|
|
364
|
+
},
|
|
365
|
+
default: ['yellow', 'purple', 'red', 'blue', 'green', 'black'],
|
|
366
|
+
examples: [
|
|
367
|
+
['yellow'],
|
|
368
|
+
['purple'],
|
|
369
|
+
['red'],
|
|
370
|
+
['blue'],
|
|
371
|
+
['green'],
|
|
372
|
+
['black'],
|
|
373
|
+
],
|
|
374
|
+
},
|
|
375
|
+
},
|
|
376
|
+
additionalProperties: false,
|
|
377
|
+
};
|
package/lib/types.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface Options {
|
|
2
|
+
face?: ('variant08' | 'variant07' | 'variant06' | 'variant05' | 'variant04' | 'variant03' | 'variant02' | 'variant01')[];
|
|
3
|
+
nose?: ('variant09' | 'variant08' | 'variant07' | 'variant06' | 'variant05' | 'variant04' | 'variant03' | 'variant02' | 'variant01')[];
|
|
4
|
+
beard?: ('variant05' | 'variant04' | 'variant03' | 'variant02' | 'variant01')[];
|
|
5
|
+
beardProbability?: number;
|
|
6
|
+
mouth?: ('variant18' | 'variant17' | 'variant16' | 'variant15' | 'variant14' | 'variant13' | 'variant12' | 'variant11' | 'variant10' | 'variant09' | 'variant08' | 'variant07' | 'variant06' | 'variant05' | 'variant04' | 'variant03' | 'variant02' | 'variant01')[];
|
|
7
|
+
top?: ('variant30' | 'variant29' | 'variant28' | 'variant27' | 'variant26' | 'variant25' | 'variant24' | 'variant23' | 'variant22' | 'variant21' | 'variant20' | 'variant19' | 'variant18' | 'variant17' | 'variant16' | 'variant15' | 'variant14' | 'variant13' | 'variant12' | 'variant11' | 'variant10' | 'variant09' | 'variant08' | 'variant07' | 'variant06' | 'variant05' | 'variant04' | 'variant03' | 'variant02' | 'variant01')[];
|
|
8
|
+
mustache?: ('variant04' | 'variant03' | 'variant02' | 'variant01')[];
|
|
9
|
+
mustacheProbability?: number;
|
|
10
|
+
eyes?: ('variant16' | 'variant15' | 'variant14' | 'variant13' | 'variant12' | 'variant11' | 'variant10' | 'variant09' | 'variant08' | 'variant07' | 'variant06' | 'variant05' | 'variant04' | 'variant03' | 'variant02' | 'variant01')[];
|
|
11
|
+
topColor?: string[];
|
|
12
|
+
baseColor?: string[];
|
|
13
|
+
}
|
|
14
|
+
export declare type ColorGroup = Record<string, ColorGroupItem>;
|
|
15
|
+
export declare type ColorGroupCollection = Record<string, ColorGroup>;
|
|
16
|
+
export declare type ColorGroupItem = string;
|
|
17
|
+
export declare type ColorPickCollection = Record<string, ColorPick>;
|
|
18
|
+
export declare type ColorPick = {
|
|
19
|
+
name: string;
|
|
20
|
+
value: ColorGroupItem;
|
|
21
|
+
};
|
|
22
|
+
export declare type ComponentGroup = Record<string, ComponentGroupItem>;
|
|
23
|
+
export declare type ComponentGroupCollection = Record<string, ComponentGroup>;
|
|
24
|
+
export declare type ComponentGroupItem = (components: ComponentPickCollection, colors: ColorPickCollection) => string;
|
|
25
|
+
export declare type ComponentPickCollection = Record<string, ComponentPick>;
|
|
26
|
+
export declare type ComponentPick = {
|
|
27
|
+
name: string;
|
|
28
|
+
value: ComponentGroupItem;
|
|
29
|
+
} | undefined;
|
package/lib/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
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,15 @@
|
|
|
1
|
+
import { pickColor } from './pickColor.js';
|
|
2
|
+
export function getColors({ prng, options }) {
|
|
3
|
+
return {
|
|
4
|
+
top: pickColor({
|
|
5
|
+
prng,
|
|
6
|
+
group: 'top',
|
|
7
|
+
values: options.topColor,
|
|
8
|
+
}),
|
|
9
|
+
base: pickColor({
|
|
10
|
+
prng,
|
|
11
|
+
group: 'base',
|
|
12
|
+
values: options.baseColor,
|
|
13
|
+
}),
|
|
14
|
+
};
|
|
15
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
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,49 @@
|
|
|
1
|
+
import { pickComponent } from './pickComponent.js';
|
|
2
|
+
export function getComponents({ prng, options, }) {
|
|
3
|
+
const faceComponent = pickComponent({
|
|
4
|
+
prng,
|
|
5
|
+
group: 'face',
|
|
6
|
+
values: options.face,
|
|
7
|
+
});
|
|
8
|
+
const noseComponent = pickComponent({
|
|
9
|
+
prng,
|
|
10
|
+
group: 'nose',
|
|
11
|
+
values: options.nose,
|
|
12
|
+
});
|
|
13
|
+
const beardComponent = pickComponent({
|
|
14
|
+
prng,
|
|
15
|
+
group: 'beard',
|
|
16
|
+
values: options.beard,
|
|
17
|
+
});
|
|
18
|
+
const mouthComponent = pickComponent({
|
|
19
|
+
prng,
|
|
20
|
+
group: 'mouth',
|
|
21
|
+
values: options.mouth,
|
|
22
|
+
});
|
|
23
|
+
const topComponent = pickComponent({
|
|
24
|
+
prng,
|
|
25
|
+
group: 'top',
|
|
26
|
+
values: options.top,
|
|
27
|
+
});
|
|
28
|
+
const mustacheComponent = pickComponent({
|
|
29
|
+
prng,
|
|
30
|
+
group: 'mustache',
|
|
31
|
+
values: options.mustache,
|
|
32
|
+
});
|
|
33
|
+
const eyesComponent = pickComponent({
|
|
34
|
+
prng,
|
|
35
|
+
group: 'eyes',
|
|
36
|
+
values: options.eyes,
|
|
37
|
+
});
|
|
38
|
+
return {
|
|
39
|
+
face: faceComponent,
|
|
40
|
+
nose: noseComponent,
|
|
41
|
+
beard: prng.bool(options.beardProbability) ? beardComponent : undefined,
|
|
42
|
+
mouth: mouthComponent,
|
|
43
|
+
top: topComponent,
|
|
44
|
+
mustache: prng.bool(options.mustacheProbability)
|
|
45
|
+
? mustacheComponent
|
|
46
|
+
: undefined,
|
|
47
|
+
eyes: eyesComponent,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Prng } from '@dicebear/core';
|
|
2
|
+
import type { ColorPick } from '../types.js';
|
|
3
|
+
declare type Props = {
|
|
4
|
+
prng: Prng;
|
|
5
|
+
group: string;
|
|
6
|
+
values?: string[];
|
|
7
|
+
};
|
|
8
|
+
export declare function pickColor({ prng, group, values }: Props): ColorPick;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as colors from '../colors/index.js';
|
|
2
|
+
export function pickColor({ prng, group, values = [] }) {
|
|
3
|
+
var _a;
|
|
4
|
+
const colorCollection = colors;
|
|
5
|
+
if (values.length === 0) {
|
|
6
|
+
values.push('transparent');
|
|
7
|
+
}
|
|
8
|
+
const key = prng.pick(values);
|
|
9
|
+
return {
|
|
10
|
+
name: key,
|
|
11
|
+
value: (_a = colorCollection[group][key]) !== null && _a !== void 0 ? _a : key,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Prng } from '@dicebear/core';
|
|
2
|
+
import type { ComponentPick } from '../types.js';
|
|
3
|
+
declare type Props = {
|
|
4
|
+
prng: Prng;
|
|
5
|
+
group: string;
|
|
6
|
+
values?: string[];
|
|
7
|
+
};
|
|
8
|
+
export declare function pickComponent({ prng, group, values, }: Props): ComponentPick;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as components from '../components/index.js';
|
|
2
|
+
export function pickComponent({ prng, group, values = [], }) {
|
|
3
|
+
const componentCollection = components;
|
|
4
|
+
const key = prng.pick(values);
|
|
5
|
+
if (componentCollection[group][key]) {
|
|
6
|
+
return {
|
|
7
|
+
name: key,
|
|
8
|
+
value: componentCollection[group][key],
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dicebear/croodles",
|
|
3
|
-
"version": "5.0.0-alpha.
|
|
3
|
+
"version": "5.0.0-alpha.14",
|
|
4
4
|
"description": "Avatar style for DiceBear",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"dicebear"
|
|
@@ -13,44 +13,36 @@
|
|
|
13
13
|
"url": "git+https://github.com/dicebear/dicebear.git"
|
|
14
14
|
},
|
|
15
15
|
"license": "MIT",
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"module": "dist/index.es.js",
|
|
20
|
-
"types": "dist/index.d.ts",
|
|
16
|
+
"type": "module",
|
|
17
|
+
"exports": "./lib/index.js",
|
|
18
|
+
"types": "./lib/index.d.ts",
|
|
21
19
|
"files": [
|
|
22
20
|
"LICENSE",
|
|
23
|
-
"
|
|
24
|
-
"
|
|
21
|
+
"lib",
|
|
22
|
+
"README.md"
|
|
25
23
|
],
|
|
26
24
|
"scripts": {
|
|
27
|
-
"
|
|
25
|
+
"prebuild": "del-cli lib",
|
|
26
|
+
"build": "tsc",
|
|
28
27
|
"prepublishOnly": "npm run build",
|
|
29
|
-
"
|
|
30
|
-
"build": "npm-run-all build:*",
|
|
31
|
-
"build:schema": "json2ts src/schema.json src/options.ts",
|
|
32
|
-
"build:parcel": "parcel build"
|
|
28
|
+
"test": "uvu tests"
|
|
33
29
|
},
|
|
34
30
|
"devDependencies": {
|
|
35
|
-
"@dicebear/core": "^5.0.0-alpha.
|
|
36
|
-
"@parcel/packager-ts": "^2.0.1",
|
|
37
|
-
"@parcel/transformer-typescript-types": "^2.0.1",
|
|
31
|
+
"@dicebear/core": "^5.0.0-alpha.14",
|
|
38
32
|
"@tsconfig/recommended": "^1.0.0",
|
|
39
33
|
"@types/jest": "^26.0.22",
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"npm-run-all": "^4.1.5",
|
|
44
|
-
"parcel": "^2.0.1",
|
|
45
|
-
"shx": "^0.3.3",
|
|
46
|
-
"ts-jest": "^26.5.4",
|
|
47
|
-
"typescript": "^4.5.2"
|
|
34
|
+
"del-cli": "^4.0.1",
|
|
35
|
+
"typescript": "^4.5.2",
|
|
36
|
+
"uvu": "^0.5.2"
|
|
48
37
|
},
|
|
49
38
|
"peerDependencies": {
|
|
50
|
-
"@dicebear/core": "^5.0.0-alpha.
|
|
39
|
+
"@dicebear/core": "^5.0.0-alpha.10"
|
|
40
|
+
},
|
|
41
|
+
"engines": {
|
|
42
|
+
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
|
|
51
43
|
},
|
|
52
44
|
"publishConfig": {
|
|
53
45
|
"access": "public"
|
|
54
46
|
},
|
|
55
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "d5d0a634d035328c19eda3121496b2ad4f53850b"
|
|
56
48
|
}
|
package/dist/index.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This file was automatically generated by json-schema-to-typescript.
|
|
3
|
-
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
|
|
4
|
-
* and run json-schema-to-typescript to regenerate this file.
|
|
5
|
-
*/
|
|
6
|
-
export interface Options {
|
|
7
|
-
baseColor?: (string | ("transparent" | "white"))[];
|
|
8
|
-
beard?: ("variant05" | "variant04" | "variant03" | "variant02" | "variant01")[];
|
|
9
|
-
beardProbability?: number;
|
|
10
|
-
eyes?: ("variant16" | "variant15" | "variant14" | "variant13" | "variant12" | "variant11" | "variant10" | "variant09" | "variant08" | "variant07" | "variant06" | "variant05" | "variant04" | "variant03" | "variant02" | "variant01")[];
|
|
11
|
-
face?: ("variant08" | "variant07" | "variant06" | "variant05" | "variant04" | "variant03" | "variant02" | "variant01")[];
|
|
12
|
-
mouth?: ("variant18" | "variant17" | "variant16" | "variant15" | "variant14" | "variant13" | "variant12" | "variant11" | "variant10" | "variant09" | "variant08" | "variant07" | "variant06" | "variant05" | "variant04" | "variant03" | "variant02" | "variant01")[];
|
|
13
|
-
mustache?: ("variant04" | "variant03" | "variant02" | "variant01")[];
|
|
14
|
-
mustacheProbability?: number;
|
|
15
|
-
nose?: ("variant09" | "variant08" | "variant07" | "variant06" | "variant05" | "variant04" | "variant03" | "variant02" | "variant01")[];
|
|
16
|
-
top?: ("variant30" | "variant29" | "variant28" | "variant27" | "variant26" | "variant25" | "variant24" | "variant23" | "variant22" | "variant21" | "variant20" | "variant19" | "variant18" | "variant17" | "variant16" | "variant15" | "variant14" | "variant13" | "variant12" | "variant11" | "variant10" | "variant09" | "variant08" | "variant07" | "variant06" | "variant05" | "variant04" | "variant03" | "variant02" | "variant01")[];
|
|
17
|
-
topColor?: (string | ("yellow" | "purple" | "red" | "blue" | "green" | "black"))[];
|
|
18
|
-
}
|
|
19
|
-
export const create: import("@dicebear/core").StyleCreate<import("options").Options>, preview: import("@dicebear/core").StylePreview<import("options").Options> | undefined, meta: import("@dicebear/core").StyleMeta, schema: import("json-schema").JSONSchema7;
|
|
20
|
-
|
|
21
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"AACA;;;;GAIG;AAEH;IACE,SAAS,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,aAAa,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IACnD,KAAK,CAAC,EAAE,CAAC,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC,EAAE,CAAC;IAChF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,CACH,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,CACd,EAAE,CAAC;IACJ,IAAI,CAAC,EAAE,CACH,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,CACd,EAAE,CAAC;IACJ,KAAK,CAAC,EAAE,CACJ,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,CACd,EAAE,CAAC;IACJ,QAAQ,CAAC,EAAE,CAAC,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC,EAAE,CAAC;IACrE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,IAAI,CAAC,EAAE,CACH,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,CACd,EAAE,CAAC;IACJ,GAAG,CAAC,EAAE,CACF,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,CACd,EAAE,CAAC;IACJ,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;CACpF;AqB5FD,OAAA,yPAA+C,CAAC","sources":["packages/@dicebear/croodles/src/src/options.ts","packages/@dicebear/croodles/src/src/static-types.ts","packages/@dicebear/croodles/src/src/components/face.ts","packages/@dicebear/croodles/src/src/components/nose.ts","packages/@dicebear/croodles/src/src/components/beard.ts","packages/@dicebear/croodles/src/src/components/mouth.ts","packages/@dicebear/croodles/src/src/components/top.ts","packages/@dicebear/croodles/src/src/components/mustache.ts","packages/@dicebear/croodles/src/src/components/eyes.ts","packages/@dicebear/croodles/src/src/components/index.ts","packages/@dicebear/croodles/src/src/utils/pickComponent.ts","packages/@dicebear/croodles/src/src/utils/getComponents.ts","packages/@dicebear/croodles/src/src/colors/top.ts","packages/@dicebear/croodles/src/src/colors/base.ts","packages/@dicebear/croodles/src/src/colors/index.ts","packages/@dicebear/croodles/src/src/utils/pickColor.ts","packages/@dicebear/croodles/src/src/utils/getColors.ts","packages/@dicebear/croodles/src/src/hooks/onPreCreate.ts","packages/@dicebear/croodles/src/src/hooks/onPostCreate.ts","packages/@dicebear/croodles/src/src/meta/components.ts","packages/@dicebear/croodles/src/src/core.ts","packages/@dicebear/croodles/src/src/index.ts","packages/@dicebear/croodles/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"/*!\n * Croodles (@dicebear/croodles)\n *\n * Code licensed under MIT License.\n * Copyright (c) 2021 Florian Körner\n *\n * Design \"Croodles - Doodle your face\" by vijay verma licensed under CC BY 4.0.\n * Source: https://www.figma.com/community/file/966199982810283152\n * License: https://creativecommons.org/licenses/by/4.0/\n */\n\nimport { style } from './core';\n\nconst { create, preview, meta, schema } = style;\n\nexport { create, preview, meta, schema };\nexport type { Options } from './options';\n"],"names":[],"version":3,"file":"index.d.ts.map"}
|