UNPKG

xverse-components-character-creator

Version:

xverse components character-creator

77 lines (76 loc) 6.61 kB
import { SyntheticEvent } from 'react'; import { IAvatarComponent } from '@xverse/core'; import { EType, IAvatarUnitsComponent, SliderListType, IDiyFaceItem, IClothesItem, FaceType } from './config'; import { ICharacterCreatorProps } from './types'; export declare const useCharacterCreator: (props: Omit<ICharacterCreatorProps, "className" | "navStyle" | "navActiveStyle" | "diyFaceItemActiveStyle" | "clothesItemStyle" | "clothesItemActiveStyle" | "bottomCoverStyle" | "backBtnStyle" | "avatarGender" | "lockedImgStyle" | "saveButtonProps" | "switchIconImageUrl" | "onClickPrivateRule">) => { visible: boolean; currentType: EType; avatars: { avatarId: string; sexImageUrl: string; }[]; delay3DContent: boolean; hasAvatarSelect: boolean; diyFaceModelMap: Record<"Face_Whole_Height" | "Face_Applezone_Width" | "Face_Applezone_VerticalPos" | "Face_Applezone_Thick" | "Face_Cheek_Width" | "Face_Cheek_VerticalPos" | "Face_Cheek_Thick" | "Face_LowerJaw_Width" | "Face_LowerJaw_VerticalPos" | "Face_Jaw_Wdith" | "Face_Jaw_Height" | "Face_Jaw_ZPos" | "EyeBrow_Whole_Margin" | "EyeBrow_Whole_VerticalPos" | "EyeBrow_Inner_HorizonPos" | "EyeBrow_Inner_VerticalPos" | "EyeBrow_Middle_HorizonPos" | "EyeBrow_Middle_VerticalPos" | "EyeBrow_Outter_HorizonPos" | "EyeBrow_Outter_VerticalPos" | "Eye_Whole_Scale" | "Eye_Whole_Margin" | "Eye_Whole_VerticalPos" | "Eye_Whole2_ZPos" | "Eye_Whole2_Rotate" | "Eye_Whole2_Eyelid" | "Eye_CornInner_Margin" | "Eye_CornInner_VerticalPos" | "Eye_CornOutter_Margin" | "Eye_CornOutter_VerticalPos" | "Eye_UpEyelid_Shape" | "Eye_UpEyelid_VerticalPos" | "Eye_LowEyelid_Shape" | "Eye_LowEyelid_VerticalPos" | "Nose_Whole_Width" | "Nose_Whole_Height" | "Nose_NasalTip_Scale" | "Nose_NasalTip_VerticalPos" | "Nose_NasalTip_ZPos" | "Nose_NoseWing_Width" | "Nose_NoseWing_VerticalPos" | "Nose_NoseBridge_Width" | "Nose_NoseBridge_ZPos" | "Mouth_Whole_Scale" | "Mouth_Whole_VerticalPos" | "Mouth_Whole_ZPos" | "Mouth_UpLip_Width" | "Mouth_UpLip_Height" | "Mouth_Lip_MShape" | "Mouth_Lip_VerticalPos" | "Mouth_LowLip_Width" | "Mouth_LowLip_Height" | "Mouth_Corn_Width" | "Mouth_Corn_VerticalPos", number>; modelCurrent: "Face_Whole" | "Face_Applezone" | "Face_Cheek" | "Face_LowerJaw" | "Face_Jaw" | "Eye_Whole" | "Eye_Whole2" | "Eye_CornInner" | "Eye_CornOutter" | "Eye_UpEyelid" | "Eye_LowEyelid" | "EyeBrow_Whole" | "EyeBrow_Inner" | "EyeBrow_Middle" | "EyeBrow_Outter" | "Nose_Whole" | "Nose_NasalTip" | "Nose_NoseWing" | "Nose_NoseBridge" | "Mouth_Whole" | "Mouth_UpLip" | "Mouth_Lip" | "Mouth_LowLip" | "Mouth_Corn"; isOpenCamera: boolean; hasSkin: boolean; hasDiyFace: boolean; hasDressUp: boolean; hasAIFace: boolean; firstNav: { DressUp: { defaultImage: string; activeImage: string; }; DiyFace: { defaultImage: string; activeImage: string; }; AIFace: { defaultImage: string; activeImage: string; }; Skin: { defaultImage: string; activeImage: string; }; }; currentAvatarId: any; diyFaceCurrentHistoryRef: import("react").MutableRefObject<number>; canNext: boolean; canRedo: boolean; avatarComponents: IAvatarUnitsComponent[]; lockedItemSelect: boolean; dressUpNavInfo: IClothesItem[]; realDiyFaceList: FaceType[]; currNav: number; diyFaceModel: { FaceModel: IDiyFaceItem; EyeBrowModel: IDiyFaceItem; EyeModel: IDiyFaceItem; MouthModel: IDiyFaceItem; NoseModel: IDiyFaceItem; }; selectComponents: IAvatarComponent[]; lockedComponents: string; skinActiveNum: number; diyFaceOn3D: (key: SliderListType, val: number) => void; setModelCurrent: import("react").Dispatch<import("react").SetStateAction<"Face_Whole" | "Face_Applezone" | "Face_Cheek" | "Face_LowerJaw" | "Face_Jaw" | "Eye_Whole" | "Eye_Whole2" | "Eye_CornInner" | "Eye_CornOutter" | "Eye_UpEyelid" | "Eye_LowEyelid" | "EyeBrow_Whole" | "EyeBrow_Inner" | "EyeBrow_Middle" | "EyeBrow_Outter" | "Nose_Whole" | "Nose_NasalTip" | "Nose_NoseWing" | "Nose_NoseBridge" | "Mouth_Whole" | "Mouth_UpLip" | "Mouth_Lip" | "Mouth_LowLip" | "Mouth_Corn">>; dressUpComponentClickHandle: (event: SyntheticEvent<HTMLDivElement>) => Promise<void>; setIsOpenCamera: import("react").Dispatch<import("react").SetStateAction<boolean>>; setDiyFaceCurrentHistory: import("react").Dispatch<import("react").SetStateAction<number>>; exitHandle: () => Promise<void>; setHistoryDiyFaceMap: import("react").Dispatch<import("react").SetStateAction<Record<"Face_Whole_Height" | "Face_Applezone_Width" | "Face_Applezone_VerticalPos" | "Face_Applezone_Thick" | "Face_Cheek_Width" | "Face_Cheek_VerticalPos" | "Face_Cheek_Thick" | "Face_LowerJaw_Width" | "Face_LowerJaw_VerticalPos" | "Face_Jaw_Wdith" | "Face_Jaw_Height" | "Face_Jaw_ZPos" | "EyeBrow_Whole_Margin" | "EyeBrow_Whole_VerticalPos" | "EyeBrow_Inner_HorizonPos" | "EyeBrow_Inner_VerticalPos" | "EyeBrow_Middle_HorizonPos" | "EyeBrow_Middle_VerticalPos" | "EyeBrow_Outter_HorizonPos" | "EyeBrow_Outter_VerticalPos" | "Eye_Whole_Scale" | "Eye_Whole_Margin" | "Eye_Whole_VerticalPos" | "Eye_Whole2_ZPos" | "Eye_Whole2_Rotate" | "Eye_Whole2_Eyelid" | "Eye_CornInner_Margin" | "Eye_CornInner_VerticalPos" | "Eye_CornOutter_Margin" | "Eye_CornOutter_VerticalPos" | "Eye_UpEyelid_Shape" | "Eye_UpEyelid_VerticalPos" | "Eye_LowEyelid_Shape" | "Eye_LowEyelid_VerticalPos" | "Nose_Whole_Width" | "Nose_Whole_Height" | "Nose_NasalTip_Scale" | "Nose_NasalTip_VerticalPos" | "Nose_NasalTip_ZPos" | "Nose_NoseWing_Width" | "Nose_NoseWing_VerticalPos" | "Nose_NoseBridge_Width" | "Nose_NoseBridge_ZPos" | "Mouth_Whole_Scale" | "Mouth_Whole_VerticalPos" | "Mouth_Whole_ZPos" | "Mouth_UpLip_Width" | "Mouth_UpLip_Height" | "Mouth_Lip_MShape" | "Mouth_Lip_VerticalPos" | "Mouth_LowLip_Width" | "Mouth_LowLip_Height" | "Mouth_Corn_Width" | "Mouth_Corn_VerticalPos", number>[]>>; typeChangeClickHandle2: (type: EType) => void; typeChangeClickHandle: (event: SyntheticEvent<HTMLDivElement>) => void; diyAllFaceData: (data: Record<SliderListType, number>) => void; changeNavHandle: (event: SyntheticEvent<HTMLDivElement>) => void; saveHandle: () => Promise<void>; redoHandle: () => void; nextHandle: () => Promise<void>; refreshHandle: () => Promise<void>; changeAvatarId: () => Promise<void>; diyFaceClickHandle: (sliderValue: number, tabType: SliderListType) => void; handleSkinClick: (index: number) => Promise<void>; };