import type { CartLineItem, Cart } from './index.js'; /** * 购物车数据类型 - 复用 MiniCart 的类型定义 */ export interface CartData { id: string; checkoutUrl: string; lineItems: CartLineItem[]; } export type { CartLineItem, Cart }; /** * 文案配置 */ export interface MiniCartDialogCopy { /** 标题文案,{count} 会被替换为商品数量 */ title?: string; /** 空购物车提示 */ emptyText?: string; } export type MiniCartDialogSemanticName = 'root' | 'header' | 'title' | 'content' | 'itemList' | 'item' | 'itemImage' | 'itemInfo' | 'itemTitle' | 'itemPrice' | 'itemCurrentPrice' | 'itemOriginalPrice' | 'quantityControl' | 'quantityButton' | 'quantityValue'; export interface MiniCartDialogProps { /** 是否打开弹窗 */ open: boolean; /** 关闭弹窗回调 */ onOpenChange: (open: boolean) => void; /** 购物车数据 */ cart: CartData; /** 文案配置 */ copy?: MiniCartDialogCopy; /** 各部分的自定义样式类名 */ classNames?: Partial>; /** * 增加商品数量回调 * @param lineItemId 商品行ID * @param currentQuantity 当前数量 */ onIncreaseQuantity?: (lineItemId: string, currentQuantity: number) => void; /** * 减少商品数量回调 * @param lineItemId 商品行ID * @param currentQuantity 当前数量 */ onDecreaseQuantity?: (lineItemId: string, currentQuantity: number) => void; /** * 数量变更回调 * @param lineItemId 商品行ID * @param quantity 新数量 */ onQuantityChange?: (lineItemId: string, quantity: number) => void; } /** * MiniCartDialog - 迷你购物车弹窗组件 * * @description 用于展示购物车商品列表,支持调整商品数量 */ declare const MiniCartDialog: { ({ open, onOpenChange, cart, copy, classNames, onIncreaseQuantity, onDecreaseQuantity, onQuantityChange, }: MiniCartDialogProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; export default MiniCartDialog; export { MiniCartDialog };