UNPKG

@react-vant-next/campaign

Version:

React Mobile UI Components based on Vant UI - Next Generation

44 lines (39 loc) 1.6 kB
'use strict'; 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