@react-vant-next/campaign
Version:
React Mobile UI Components based on Vant UI - Next Generation
44 lines (39 loc) • 1.6 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var jsxRuntime = require('react/jsx-runtime');
var ui = require('@react-vant-next/ui');
var utils = require('@react-vant-next/utils');
var cls = require('clsx');
var React = require('react');
function formatValue(coupons, chosenCoupon, currency, locale) {
const coupon = coupons[+chosenCoupon];
if (coupon) {
let value = 0;
if (utils.isDef(coupon.value)) {
({ value } = coupon);
}
else if (utils.isDef(coupon.denominations)) {
value = coupon.denominations;
}
return `-${currency} ${(value / 100).toFixed(2)}`;
}
return coupons.length === 0
? locale.noCoupon
: locale.vanCouponCell.count(coupons.length);
}
const [bem] = utils.createNamespace("coupon-cell");
const CouponCell = (p) => {
const props = utils.mergeProps(p, {
border: true,
editable: true,
coupons: [],
currency: "¥",
chosenCoupon: -1,
});
const { locale } = React.use(ui.ConfigProviderContext);
const selected = props.coupons[+props.chosenCoupon];
const value = formatValue(props.coupons, props.chosenCoupon, props.currency, locale);
return (jsxRuntime.jsx(ui.Cell, { style: props.style, className: cls(bem(), props.className), value: value, title: props.title || locale.vanCouponCell.title, border: props.border, isLink: props.editable, valueClass: cls(bem("value", { selected })), onClick: props.onClick }));
};
exports.default = CouponCell;
//# sourceMappingURL=CouponCell.js.map