import { IntersectionTrigger } from "../components/IntersectionObserver.js";
import PisellSalesProductCard from "../../pisellSalesProductCard/index.js";
import { PREFIX } from "../index.js";
import React, { memo } from "react";
import classNames from "classnames";
//#region src/plus/productSelect/ProductCard/ProductCardV2.tsx
/**
* v2 卡片：复用 ProductCard 的结构能力（分类项 + IntersectionTrigger），
* 商品项内部渲染 PisellSalesProductCard。
*/
const ProductCardV2 = memo(({ item, index, context, className, value, onChange, decorateConfig = {}, cartElementId }) => {
	var _ref, _item$product_id2, _item$item_rule_limit, _item$item_rule_limit2, _item$item_rule_limit3, _item$item_rule_limit4, _item$item_rule_limit5, _item$item_rule_limit6;
	const { __typename } = item;
	if (__typename === "category") return /* @__PURE__ */ React.createElement("div", {
		className: classNames(`${PREFIX}__product-category`, className),
		"data-index": index,
		"data-item-index": index
	}, /* @__PURE__ */ React.createElement("div", { className: "category-title" }, item.name));
	const itemValue = (() => {
		var _item$product_id;
		const targetProductId = (_item$product_id = item === null || item === void 0 ? void 0 : item.product_id) !== null && _item$product_id !== void 0 ? _item$product_id : item === null || item === void 0 ? void 0 : item.id;
		return (Array.isArray(value) ? value : []).find((v) => {
			var _v$product_id;
			return String((_v$product_id = v === null || v === void 0 ? void 0 : v.product_id) !== null && _v$product_id !== void 0 ? _v$product_id : "") === String(targetProductId !== null && targetProductId !== void 0 ? targetProductId : "");
		});
	})();
	const cardContent = /* @__PURE__ */ React.createElement("div", { "data-product-id": String((_ref = (_item$product_id2 = item === null || item === void 0 ? void 0 : item.product_id) !== null && _item$product_id2 !== void 0 ? _item$product_id2 : item === null || item === void 0 ? void 0 : item.id) !== null && _ref !== void 0 ? _ref : "") }, /* @__PURE__ */ React.createElement(PisellSalesProductCard, {
		product: item,
		stepperProps: {
			min: item === null || item === void 0 || (_item$item_rule_limit = item.item_rule_limit) === null || _item$item_rule_limit === void 0 ? void 0 : _item$item_rule_limit.min,
			max: item === null || item === void 0 || (_item$item_rule_limit2 = item.item_rule_limit) === null || _item$item_rule_limit2 === void 0 ? void 0 : _item$item_rule_limit2.remainingMax,
			limitMessage: {
				max: (_item$item_rule_limit3 = item === null || item === void 0 || (_item$item_rule_limit4 = item.item_rule_limit) === null || _item$item_rule_limit4 === void 0 ? void 0 : _item$item_rule_limit4.maxValidationMessage) !== null && _item$item_rule_limit3 !== void 0 ? _item$item_rule_limit3 : item === null || item === void 0 || (_item$item_rule_limit5 = item.item_rule_limit) === null || _item$item_rule_limit5 === void 0 ? void 0 : _item$item_rule_limit5.validationMessage,
				min: item === null || item === void 0 || (_item$item_rule_limit6 = item.item_rule_limit) === null || _item$item_rule_limit6 === void 0 ? void 0 : _item$item_rule_limit6.minValidationMessage
			}
		},
		value: itemValue,
		skuCardConfig: { image: {
			width: decorateConfig === null || decorateConfig === void 0 ? void 0 : decorateConfig.imgWidth,
			height: decorateConfig === null || decorateConfig === void 0 ? void 0 : decorateConfig.imgHeight
		} },
		cartElementId,
		onClick: (nextValue, meta) => {
			onChange === null || onChange === void 0 || onChange(nextValue, meta.intent, meta);
		},
		onChange: (nextValue, meta) => {
			onChange === null || onChange === void 0 || onChange(nextValue, meta.intent, meta);
		}
	}));
	if (context) return /* @__PURE__ */ React.createElement(IntersectionTrigger, { onShow: () => context.onItemIntersectionIn(item) }, cardContent);
	return cardContent;
});
ProductCardV2.displayName = "ProductCardV2";
//#endregion
export { ProductCardV2 as default };
