-
Notifications
You must be signed in to change notification settings - Fork 2
/
Types.ts
37 lines (31 loc) · 1.06 KB
/
Types.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/* eslint-disable no-multiple-empty-lines */
import type { VNode } from 'vue';
import type Accessories from '@/parts/Accessories';
import type Clothes from '@/parts/Clothes';
import type Tops from '@/parts/Tops';
import type FacialHair from '@/parts/FacialHair';
import type GraphicShirt from '@/parts/GraphicShirt';
import type Eyes from '@/parts/Eyes';
import type Eyebrows from '@/parts/Eyebrows';
import type Mouths from '@/parts/Mouths';
export type Hex = `#${string}`;
export type ColorList = Record<string, Hex>;
export type ComponentList = Record<string, VNode>;
export interface IAvatarProps {
isCircle: boolean,
circleColor?: Hex,
hairColor: Hex,
skinColor: Hex,
clothesColor: Hex,
topColor: Hex,
facialHairColor: Hex,
clothes: keyof typeof Clothes,
graphicShirt: keyof typeof GraphicShirt,
top: keyof typeof Tops,
accessories: keyof typeof Accessories,
facialHair: keyof typeof FacialHair,
eyes: keyof typeof Eyes,
eyebrows: keyof typeof Eyebrows,
mouth: keyof typeof Mouths,
}
export type IOptionalAvatarProps = Partial<IAvatarProps>;