"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _babelHelperVueJsxMergeProps = _interopRequireDefault(require("@vue/babel-helper-vue-jsx-merge-props")); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _utils = require("../../utils"); var _functional = require("../../utils/functional"); var _constant = require("../../utils/constant"); var _image = _interopRequireDefault(require("../../image")); // Utils // Components var _createNamespace = (0, _utils.createNamespace)('sku-header'), createComponent = _createNamespace[0], bem = _createNamespace[1]; function getSkuImgValue(sku, selectedSku) { var imgValue; sku.tree.some(function (item) { var id = selectedSku[item.k_s]; if (id && item.v) { var matchedSku = item.v.filter(function (skuValue) { return skuValue.id === id; })[0] || {}; var img = matchedSku.previewImgUrl || matchedSku.imgUrl || matchedSku.img_url; if (img) { imgValue = (0, _extends2.default)({}, matchedSku, { ks: item.k_s, imgUrl: img }); return true; } } return false; }); return imgValue; } function SkuHeader(h, props, slots, ctx) { var _slots$skuHeaderIma; var sku = props.sku, goods = props.goods, skuEventBus = props.skuEventBus, selectedSku = props.selectedSku, _props$showHeaderImag = props.showHeaderImage, showHeaderImage = _props$showHeaderImag === void 0 ? true : _props$showHeaderImag; var selectedValue = getSkuImgValue(sku, selectedSku); var imgUrl = selectedValue ? selectedValue.imgUrl : goods.picture; var previewImage = function previewImage() { skuEventBus.$emit('sku:previewImage', selectedValue); }; return h("div", (0, _babelHelperVueJsxMergeProps.default)([{ "class": [bem(), _constant.BORDER_BOTTOM] }, (0, _functional.inherit)(ctx)]), [showHeaderImage && h(_image.default, { "attrs": { "fit": "cover", "src": imgUrl }, "class": bem('img-wrap'), "on": { "click": previewImage } }, [(_slots$skuHeaderIma = slots['sku-header-image-extra']) == null ? void 0 : _slots$skuHeaderIma.call(slots)]), h("div", { "class": bem('goods-info') }, [slots.default == null ? void 0 : slots.default()])]); } SkuHeader.props = { sku: Object, goods: Object, skuEventBus: Object, selectedSku: Object, showHeaderImage: Boolean }; var _default = createComponent(SkuHeader); exports.default = _default;