import type { Media, Theme } from '../../types/props.js'; export interface ImageWithTextItem { /** 功能图标 */ icon: Media; /** 功能标题 */ text: string; /** 功能描述 */ desc: string; } /** 按钮配置 */ export interface ButtonConfig { /** 按钮文字 */ text: string; /** 跳转链接 */ link: string; /** 按钮类型,默认 primary */ variant?: 'primary' | 'secondary'; } export interface ImageWithTextTabItem { /** * 桌面端图片 URL * 当 mediaType='image' 时作为展示图片 * 当 mediaType='video' 时作为视频封面图(优先级:poster > image) */ image: Media; /** * 平板端图片 URL * 当 mediaType='image' 时作为展示图片 * 当 mediaType='video' 时作为视频封面图(优先级:padPoster > imgPad > image) */ imgPad?: Media; /** * 移动端图片 URL * 当 mediaType='image' 时作为展示图片 * 当 mediaType='video' 时作为视频封面图(优先级:mobPoster > imageMob > image) */ imageMob?: Media; /** 桌面端视频 URL(当mediaType为video时使用) */ video?: Media; /** 平板端视频 URL(当mediaType为video时使用) */ padVideo?: Media; /** 移动端视频 URL(当mediaType为video时使用) */ mobVideo?: Media; /** Tab 标题 */ title: string; } export type MediaType = 'image' | 'video'; export type LayoutPosition = 'left' | 'right' | 'top' | 'bottom'; export type TextAlign = 'left' | 'center'; /** 列数枚举类型 */ export declare enum Cols { One = "1", Two = "2", Three = "3", Four = "4" } export interface ImageWithTextProps { data: { /** 主标题 */ title: string; /** 副标题/描述 */ subtitle?: string; /** 描述文本(通常是大号高亮文本,基础模式使用) */ desc?: string; /** 描述文本图标(基础模式使用) */ descIcon?: string; /** 主题,默认 dark */ theme?: Theme; /** 布局位置,默认 left。支持上下左右布局(left/right/top/bottom) */ layout?: LayoutPosition; /** 媒体类型,默认 image。所有模式都支持 image 和 video */ mediaType?: MediaType; /** 文本区域对齐方式,默认 left。支持左对齐和居中对齐 */ textAlign?: TextAlign; /** * PC端图片 URL * 当 mediaType='image' 时作为展示图片 * 当 mediaType='video' 时作为视频封面图(优先级:poster > image) */ image?: Media; /** 桌面端视频 URL(当mediaType为video时使用) */ video?: Media; /** * 平板端图片 URL * 当 mediaType='image' 时作为展示图片 * 当 mediaType='video' 时作为视频封面图(优先级:padPoster > padImage > image) */ padImage?: Media; /** 平板端视频 URL(当mediaType为video时使用) */ padVideo?: Media; /** * 移动端图片 URL * 当 mediaType='image' 时作为展示图片 * 当 mediaType='video' 时作为视频封面图(优先级:mobPoster > mobileImage > image) */ mobileImage?: Media; /** 移动端视频 URL(当mediaType为video时使用) */ mobVideo?: Media; /** 功能项列表(可选,用于展示功能特性列表) */ items?: ImageWithTextItem[]; /** Tab数据列表(TabWithImage模式,当存在时优先级最高) */ datalist?: ImageWithTextTabItem[]; /** 按钮配置 */ button?: ButtonConfig; }; /** 自定义类名 */ className?: string; }