import { StyleValue } from "vue";

export type tTypeOfUpload = "uploadPicture" | "uploadAlbum" | "selectAlbum";

export interface iImgTypeOfIcon {
  tag: "img";
  url: string;
}

export interface iSvgTypeOfIcon {
  tag: "icon";
  iconName: string;
}

export interface iBox {
  icon: (iImgTypeOfIcon | iSvgTypeOfIcon) & {
    style?: StyleValue;
  };
  btnTxt: string;
  btnStyle?: StyleValue;
  choosedFileIconName: string;
}

export interface iUploadBox extends iBox {
  type: "upload";
  accept: string;
  requiredMsg: string;
  requiredMsgStyle?: StyleValue;
  maxSize: number;
}

export interface iSelectBox extends iBox {
  type: "select";
}
