"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 _utils = require("../utils"); var _functional = require("../utils/functional"); var _cell = _interopRequireDefault(require("../cell")); // Utils // Components var _createNamespace = (0, _utils.createNamespace)('coupon-cell'), createComponent = _createNamespace[0], bem = _createNamespace[1], t = _createNamespace[2]; function formatValue(props) { var coupons = props.coupons, chosenCoupon = props.chosenCoupon, currency = props.currency; var coupon = coupons[+chosenCoupon]; if (coupon) { var value = 0; if ((0, _utils.isDef)(coupon.value)) { value = coupon.value; } else if ((0, _utils.isDef)(coupon.denominations)) { value = coupon.denominations; } return "-" + currency + " " + (value / 100).toFixed(2); } return coupons.length === 0 ? t('tips') : t('count', coupons.length); } function CouponCell(h, props, slots, ctx) { var selected = props.coupons[+props.chosenCoupon]; var value = formatValue(props); return h(_cell.default, (0, _babelHelperVueJsxMergeProps.default)([{ "class": bem(), "attrs": { "value": value, "title": props.title || t('title'), "border": props.border, "isLink": props.editable, "valueClass": bem('value', { selected: selected }) } }, (0, _functional.inherit)(ctx, true)])); } CouponCell.model = { prop: 'chosenCoupon' }; CouponCell.props = { title: String, coupons: { type: Array, default: function _default() { return []; } }, currency: { type: String, default: '¥' }, border: { type: Boolean, default: true }, editable: { type: Boolean, default: true }, chosenCoupon: { type: [Number, String], default: -1 } }; var _default2 = createComponent(CouponCell); exports.default = _default2;