import * as React from 'react'; import type { Media as MediaType, Theme } from '../../types/props.js'; import type { ButtonProps } from '../../components/button.js'; export type SecondaryBannerSemanticName = 'root' | 'title' | 'superTitle' | 'subtitle' | 'content' | 'buttonGroup' | 'primaryButton' | 'secondaryButton'; /** * jump.js 配置选项 */ export interface JumpOptions { /** 动画持续时间(毫秒) @default 500 */ duration?: number; /** 偏移量(像素) @default 0 */ offset?: number; /** 动画完成回调 */ callback?: () => void; /** 缓动函数 */ easing?: (t: number, b: number, c: number, d: number) => number; /** 是否考虑 a11y @default false */ a11y?: boolean; } /** * SecondaryBanner 业务组件数据接口 */ export interface SecondaryBannerData { /** 主标题*/ title?: string; /** * 主标题标签 * @default 'h1' */ titleTag?: 'h1' | 'h2'; /** * 上标题/引导标题 * 通常用于分类、引导性文字 */ superTitle?: string; /** * 副标题/描述文字 * 通常用于补充说明、详细描述 */ subtitle?: string; /** * 尺寸: * sm: 小尺寸用于筛选页面 * base: 基础尺寸用于 * lg: 大尺寸用于专题页 * xlg: 活动页(通栏) */ size?: 'sm' | 'base' | 'lg' | 'xlg'; pcImage?: MediaType; padImage?: MediaType; mobileImage?: MediaType; /** 视频是否循环播放 */ isVideoLoop?: boolean; /** 结束时间(ISO 字符串) */ endDate?: string; /** 结束时间时区(如: America/Los_Angeles) */ endDate_tz?: string; /** * 时间格式化配置(JSON 字符串) * {"day":"日","hour":"时","minute":"分","second":"秒"} */ dateFormat?: string; /** 主按钮配置 */ primaryButton?: { text: string; link?: string; onClick?: () => void; } & Omit; /** 次级按钮配置 */ secondaryButton?: { text: string; link?: string; onClick?: () => void; } & Omit; iconArray?: Array<{ pcImage: MediaType; }>; theme?: Theme; } export interface SecondaryBannerProps extends React.HTMLAttributes { /** 业务数据 */ data: SecondaryBannerData; classNames?: Partial>; /** * 锚点跳转配置(用于 # 开头的链接) * @default { duration: 500, offset: 0 } */ jumpOptions?: JumpOptions; } declare const _default: any; export default _default;