@salesgenterp/ui-components 0.4.553 → 0.4.555

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -2941,6 +2941,21 @@ var saveExcessPayment = function saveExcessPayment(_ref2) {
2941
2941
  return Promise.reject(e);
2942
2942
  }
2943
2943
  };
2944
+ var verifyExcessPaymentToken = function verifyExcessPaymentToken(_ref3) {
2945
+ var apiEndPoint = _ref3.apiEndPoint,
2946
+ token = _ref3.token,
2947
+ excessPaymentToken = _ref3.excessPaymentToken;
2948
+ try {
2949
+ return Promise.resolve(API({
2950
+ url: "/ecommerce/customer/verifyExcessPaymentLink?token=" + excessPaymentToken,
2951
+ apiEndPoint: apiEndPoint,
2952
+ token: token,
2953
+ method: 'POST'
2954
+ }));
2955
+ } catch (e) {
2956
+ return Promise.reject(e);
2957
+ }
2958
+ };
2944
2959
 
2945
2960
  var ExcessPaymentForm = function ExcessPaymentForm(_ref) {
2946
2961
  var paymentMethods = _ref.paymentMethods,
@@ -3034,7 +3049,8 @@ var ExcessPaymentDialog = function ExcessPaymentDialog(_ref2) {
3034
3049
  token = _ref2.token,
3035
3050
  styles = _ref2.styles,
3036
3051
  onSave = _ref2.onSave,
3037
- customerData = _ref2.customerData;
3052
+ customerData = _ref2.customerData,
3053
+ excessPaymentToken = _ref2.excessPaymentToken;
3038
3054
  var _useForm = reactHookForm.useForm({
3039
3055
  defaultValues: {
3040
3056
  paymentModeId: '',
@@ -3105,26 +3121,51 @@ var ExcessPaymentDialog = function ExcessPaymentDialog(_ref2) {
3105
3121
  token: token,
3106
3122
  asyncService: function asyncService() {
3107
3123
  try {
3108
- return Promise.resolve(getPaymentMethods({
3124
+ return Promise.resolve(verifyExcessPaymentToken({
3109
3125
  apiEndPoint: apiEndPoint,
3110
- token: token
3126
+ token: token,
3127
+ excessPaymentToken: excessPaymentToken
3111
3128
  }));
3112
3129
  } catch (e) {
3113
3130
  return Promise.reject(e);
3114
3131
  }
3115
3132
  }
3116
3133
  }, function (data) {
3117
- var paymentMethods = (data === null || data === void 0 ? void 0 : data.filter(function (item) {
3118
- return item === null || item === void 0 ? void 0 : item.ecommerce;
3119
- })) || [];
3120
- return /*#__PURE__*/React__default.createElement(ExcessPaymentForm, {
3121
- loading: loading,
3122
- paymentMethods: paymentMethods,
3123
- control: control,
3124
- styles: styles,
3125
- handleSubmit: handleSubmit,
3126
- onSubmit: onSubmit,
3127
- onClose: onClose
3134
+ if (data === false) {
3135
+ return /*#__PURE__*/React__default.createElement("div", {
3136
+ style: {
3137
+ color: 'red',
3138
+ textAlign: 'center',
3139
+ padding: '16px 8px'
3140
+ }
3141
+ }, "This excess payment link has already been used. An excess payment was previously added using this link.");
3142
+ }
3143
+ return /*#__PURE__*/React__default.createElement(AsyncDataLoadComponent, {
3144
+ apiEndPoint: apiEndPoint,
3145
+ token: token,
3146
+ asyncService: function asyncService() {
3147
+ try {
3148
+ return Promise.resolve(getPaymentMethods({
3149
+ apiEndPoint: apiEndPoint,
3150
+ token: token
3151
+ }));
3152
+ } catch (e) {
3153
+ return Promise.reject(e);
3154
+ }
3155
+ }
3156
+ }, function (paymentMethodsData) {
3157
+ var paymentMethods = (paymentMethodsData === null || paymentMethodsData === void 0 ? void 0 : paymentMethodsData.filter(function (item) {
3158
+ return item === null || item === void 0 ? void 0 : item.ecommerce;
3159
+ })) || [];
3160
+ return /*#__PURE__*/React__default.createElement(ExcessPaymentForm, {
3161
+ loading: loading,
3162
+ paymentMethods: paymentMethods,
3163
+ control: control,
3164
+ styles: styles,
3165
+ handleSubmit: handleSubmit,
3166
+ onSubmit: onSubmit,
3167
+ onClose: onClose
3168
+ });
3128
3169
  });
3129
3170
  })));
3130
3171
  };
@@ -3147,7 +3188,7 @@ var totalIcons = [{
3147
3188
  icon: /*#__PURE__*/React__default.createElement(tb.TbFileDollar, null)
3148
3189
  }];
3149
3190
  var Dashboard = function Dashboard(_ref) {
3150
- var _customerData$custome, _selectDates$salesOrd, _selectDates$recentIn, _selectDates$salesOrd2, _selectDates$recentIn2, _customerData$custome2, _customerData$custome3, _customerData$custome4;
3191
+ var _queryParams$excessPa, _customerData$custome, _selectDates$salesOrd, _selectDates$recentIn, _selectDates$salesOrd2, _selectDates$recentIn2, _customerData$custome2, _customerData$custome3, _customerData$custome4;
3151
3192
  var apiEndPoint = _ref.apiEndPoint,
3152
3193
  serviceApiEndPoint = _ref.serviceApiEndPoint,
3153
3194
  token = _ref.token,
@@ -3175,8 +3216,7 @@ var Dashboard = function Dashboard(_ref) {
3175
3216
  showOnlyRecentOrder = _ref$showOnlyRecentOr === void 0 ? false : _ref$showOnlyRecentOr,
3176
3217
  hidePayActionButton = _ref.hidePayActionButton,
3177
3218
  hideInvoiceTab = _ref.hideInvoiceTab,
3178
- hideSalesOrderTab = _ref.hideSalesOrderTab,
3179
- hideAddAccessPaymentButton = _ref.hideAddAccessPaymentButton;
3219
+ hideSalesOrderTab = _ref.hideSalesOrderTab;
3180
3220
  var _useState = React.useState({}),
3181
3221
  customerData = _useState[0],
3182
3222
  setCustomerData = _useState[1];
@@ -3463,6 +3503,19 @@ var Dashboard = function Dashboard(_ref) {
3463
3503
  Promise.reject(e);
3464
3504
  }
3465
3505
  }, [queryParams]);
3506
+ React.useEffect(function () {
3507
+ try {
3508
+ try {
3509
+ if (queryParams !== null && queryParams !== void 0 && queryParams.excessModal) {
3510
+ setIsExcessPaymentModal({
3511
+ open: true
3512
+ });
3513
+ }
3514
+ } catch (error) {}
3515
+ } catch (e) {
3516
+ Promise.reject(e);
3517
+ }
3518
+ }, [queryParams]);
3466
3519
  var totalDataSource = lodash.filter(convertCamCaseToSnake(dashboardData) || [], function (data) {
3467
3520
  var list = ['totalNumberOfOrders', 'totalAmountSpend'];
3468
3521
  return hideTotalCardInDashboardSummary ? !includesCaseInsensitive(list, data === null || data === void 0 ? void 0 : data.name) : data;
@@ -3502,6 +3555,7 @@ var Dashboard = function Dashboard(_ref) {
3502
3555
  setTriggerTableData: setTriggerTableData,
3503
3556
  styles: styles
3504
3557
  }), (isExcessPaymentModal === null || isExcessPaymentModal === void 0 ? void 0 : isExcessPaymentModal.open) && /*#__PURE__*/React__default.createElement(ExcessPaymentDialog, {
3558
+ excessPaymentToken: (_queryParams$excessPa = queryParams === null || queryParams === void 0 ? void 0 : queryParams.excessPayment) != null ? _queryParams$excessPa : '',
3505
3559
  customerData: customerData,
3506
3560
  apiEndPoint: apiEndPoint,
3507
3561
  token: token,
@@ -3543,7 +3597,6 @@ var Dashboard = function Dashboard(_ref) {
3543
3597
  }, totalDataSource === null || totalDataSource === void 0 ? void 0 : totalDataSource.map(function (data) {
3544
3598
  var _data$name, _data$name2, _data$name3, _totalIcons$find;
3545
3599
  var isAmount = (data === null || data === void 0 ? void 0 : (_data$name = data.name) === null || _data$name === void 0 ? void 0 : _data$name.indexOf('Amount')) > 1 || (data === null || data === void 0 ? void 0 : (_data$name2 = data.name) === null || _data$name2 === void 0 ? void 0 : _data$name2.indexOf('Credit')) > 1 || (data === null || data === void 0 ? void 0 : (_data$name3 = data.name) === null || _data$name3 === void 0 ? void 0 : _data$name3.indexOf('Price')) > 1 || (data === null || data === void 0 ? void 0 : data.name) === 'Excess Payment';
3546
- var isExcessPayment = (data === null || data === void 0 ? void 0 : data.name) === 'Excess Payment';
3547
3600
  return /*#__PURE__*/React__default.createElement(material.Grid, {
3548
3601
  item: true,
3549
3602
  xs: 12,
@@ -3567,19 +3620,7 @@ var Dashboard = function Dashboard(_ref) {
3567
3620
  style: {
3568
3621
  flex: 1
3569
3622
  }
3570
- }, /*#__PURE__*/React__default.createElement("p", null, data === null || data === void 0 ? void 0 : data.name), /*#__PURE__*/React__default.createElement("h3", null, "" + (isAmount ? renderMoney(data === null || data === void 0 ? void 0 : data.value) : data === null || data === void 0 ? void 0 : data.value))), isExcessPayment && !hideAddAccessPaymentButton && /*#__PURE__*/React__default.createElement(material.Tooltip, {
3571
- title: "Add Excess Payment",
3572
- arrow: true
3573
- }, /*#__PURE__*/React__default.createElement(AddExcessPaymentButton, {
3574
- className: "add-excess-payment-btn",
3575
- primaryColor: primaryColor,
3576
- onClick: function onClick() {
3577
- return setIsExcessPaymentModal({
3578
- open: true
3579
- });
3580
- },
3581
- "aria-label": "Add excess payment"
3582
- }, /*#__PURE__*/React__default.createElement(md.MdAdd, null), /*#__PURE__*/React__default.createElement("span", null, "Add")))));
3623
+ }, /*#__PURE__*/React__default.createElement("p", null, data === null || data === void 0 ? void 0 : data.name), /*#__PURE__*/React__default.createElement("h3", null, "" + (isAmount ? renderMoney(data === null || data === void 0 ? void 0 : data.value) : data === null || data === void 0 ? void 0 : data.value)))));
3583
3624
  }))), !hideBannerSection && /*#__PURE__*/React__default.createElement(BannerContainer, null, /*#__PURE__*/React__default.createElement(material.Grid, {
3584
3625
  container: true,
3585
3626
  spacing: 3,
@@ -8162,6 +8203,10 @@ var formatCurrency = function formatCurrency(amount) {
8162
8203
  maximumFractionDigits: 2
8163
8204
  });
8164
8205
  };
8206
+ var getPerQuantitySaveLabel = function getPerQuantitySaveLabel(amount, coupon) {
8207
+ var prefix = (coupon === null || coupon === void 0 ? void 0 : coupon.maxAllowedDiscount) > 0 ? 'Save up to' : 'Save';
8208
+ return prefix + " $" + formatCurrency(amount) + " per quantity";
8209
+ };
8165
8210
  var getUnitSaving = function getUnitSaving(coupon, productPrice) {
8166
8211
  if (coupon !== null && coupon !== void 0 && coupon.percentage && coupon !== null && coupon !== void 0 && coupon.offPercentage && productPrice > 0) {
8167
8212
  return productPrice * (coupon.offPercentage / 100);
@@ -8180,10 +8225,19 @@ var formatCartCount = function formatCartCount(cartQuantity) {
8180
8225
  var formatRemainingQuantity = function formatRemainingQuantity(remaining) {
8181
8226
  return remaining + " more " + (remaining === 1 ? 'quantity' : 'quantities');
8182
8227
  };
8228
+ var formatQuantityLabel = function formatQuantityLabel(count) {
8229
+ return count + " " + (count === 1 ? 'quantity' : 'quantities');
8230
+ };
8183
8231
  var isBuyXGetFreeProduct = function isBuyXGetFreeProduct(coupon) {
8184
8232
  var _coupon$freeProducts;
8185
8233
  return (coupon === null || coupon === void 0 ? void 0 : coupon.discountType) === 'BuyXGetFreeProduct' || (coupon === null || coupon === void 0 ? void 0 : (_coupon$freeProducts = coupon.freeProducts) === null || _coupon$freeProducts === void 0 ? void 0 : _coupon$freeProducts.length) > 0 && (coupon === null || coupon === void 0 ? void 0 : coupon.quantityToBuy) > 0;
8186
8234
  };
8235
+ var isBuyXGetDiscount = function isBuyXGetDiscount(coupon) {
8236
+ if ((coupon === null || coupon === void 0 ? void 0 : coupon.discountType) === 'BuyXGetDiscount') return true;
8237
+ if (isBuyXGetFreeProduct(coupon)) return false;
8238
+ if (!((coupon === null || coupon === void 0 ? void 0 : coupon.quantityToBuy) > 0) || (coupon === null || coupon === void 0 ? void 0 : coupon.quantityToGet) > 0) return false;
8239
+ return Boolean(coupon === null || coupon === void 0 ? void 0 : coupon.offPercentage) || Boolean(coupon === null || coupon === void 0 ? void 0 : coupon.offAmount);
8240
+ };
8187
8241
  var getBuyXGetFreeProductOffPercent = function getBuyXGetFreeProductOffPercent(coupon) {
8188
8242
  var pct = Number(coupon === null || coupon === void 0 ? void 0 : coupon.offPercentage);
8189
8243
  if (Number.isFinite(pct) && pct > 0) return pct;
@@ -8197,6 +8251,22 @@ var getBuyXGetFreeProductOfferLabel = function getBuyXGetFreeProductOfferLabel(c
8197
8251
  if (offPercent >= 100) return 'free';
8198
8252
  return offPercent + "% off on these products";
8199
8253
  };
8254
+ var getBuyXGetDiscountOffLabel = function getBuyXGetDiscountOffLabel(coupon, productPrice) {
8255
+ if (productPrice === void 0) {
8256
+ productPrice = 0;
8257
+ }
8258
+ if (coupon !== null && coupon !== void 0 && coupon.percentage && coupon !== null && coupon !== void 0 && coupon.offPercentage) {
8259
+ return coupon.offPercentage + "% off";
8260
+ }
8261
+ var unitSaving = getUnitSaving(coupon, productPrice);
8262
+ if (unitSaving) {
8263
+ return "$" + formatCurrency(unitSaving) + " off";
8264
+ }
8265
+ if ((coupon === null || coupon === void 0 ? void 0 : coupon.offAmount) > 0) {
8266
+ return "$" + formatCurrency(coupon.offAmount) + " off";
8267
+ }
8268
+ return 'discount';
8269
+ };
8200
8270
  var getFreeProductHref = function getFreeProductHref(product) {
8201
8271
  return "/product-details/" + paramCase.paramCase((product === null || product === void 0 ? void 0 : product.productAlias) || (product === null || product === void 0 ? void 0 : product.productName) || '') + "?id=" + (product === null || product === void 0 ? void 0 : product.productId);
8202
8272
  };
@@ -8205,8 +8275,8 @@ var getBuyXGetFreeProductMessages = function getBuyXGetFreeProductMessages(quant
8205
8275
  offPercentage = 100;
8206
8276
  }
8207
8277
  var isFullyFree = offPercentage >= 100;
8208
- var buyTimes = quantityToBuy + " " + (quantityToBuy === 1 ? 'time' : 'times');
8209
- var benefitSummary = isFullyFree ? "Buy this product " + buyTimes + ", get " + quantityToGet + " " + (quantityToGet === 1 ? 'free product' : 'free products') : "Buy this product " + buyTimes + ", get " + offPercentage + "% off on these products";
8278
+ var addQtyLabel = formatQuantityLabel(quantityToBuy);
8279
+ var benefitSummary = isFullyFree ? "Add " + addQtyLabel + " of this product and get " + quantityToGet + " " + (quantityToGet === 1 ? 'free product' : 'free products') : "Add " + addQtyLabel + " of this product and get " + offPercentage + "% off on these products";
8210
8280
  var lines = [benefitSummary];
8211
8281
  if (cartQuantity <= 0) {
8212
8282
  return lines;
@@ -8222,7 +8292,7 @@ var getBuyXGetFreeProductMessages = function getBuyXGetFreeProductMessages(quant
8222
8292
  };
8223
8293
  var getBuyXGetYMessages = function getBuyXGetYMessages(quantityToBuy, quantityToGet, cartQuantity) {
8224
8294
  var totalNeeded = quantityToBuy + quantityToGet;
8225
- var lines = ["Buy " + quantityToBuy + ", get " + quantityToGet + " for free"];
8295
+ var lines = ["Add " + formatQuantityLabel(quantityToBuy) + ", get " + formatQuantityLabel(quantityToGet) + " for free"];
8226
8296
  if (cartQuantity <= 0) {
8227
8297
  return lines;
8228
8298
  }
@@ -8235,8 +8305,34 @@ var getBuyXGetYMessages = function getBuyXGetYMessages(quantityToBuy, quantityTo
8235
8305
  lines.push(formatCartCount(cartQuantity));
8236
8306
  lines.push("Add " + formatRemainingQuantity(_remaining) + " to apply this coupon");
8237
8307
  } else {
8238
- var freeLabel = quantityToGet === 1 ? 'item' : 'items';
8239
- lines.push(formatCartCount(cartQuantity) + " \xB7 Apply this coupon to get " + quantityToGet + " " + freeLabel + " for free");
8308
+ lines.push(formatCartCount(cartQuantity) + " \xB7 Apply this coupon to get " + formatQuantityLabel(quantityToGet) + " for free");
8309
+ }
8310
+ return lines;
8311
+ };
8312
+ var getBuyXGetDiscountMessages = function getBuyXGetDiscountMessages(coupon, _temp) {
8313
+ var _ref = _temp === void 0 ? {} : _temp,
8314
+ _ref$productPrice = _ref.productPrice,
8315
+ productPrice = _ref$productPrice === void 0 ? 0 : _ref$productPrice,
8316
+ _ref$cartQuantity = _ref.cartQuantity,
8317
+ cartQuantity = _ref$cartQuantity === void 0 ? 0 : _ref$cartQuantity;
8318
+ var quantityToBuy = (coupon === null || coupon === void 0 ? void 0 : coupon.quantityToBuy) || 0;
8319
+ var offLabel = getBuyXGetDiscountOffLabel(coupon, productPrice);
8320
+ var addLabel = formatQuantityLabel(quantityToBuy);
8321
+ var unitSaving = getUnitSaving(coupon, productPrice);
8322
+ var lines = ["Add " + addLabel + ", get " + offLabel];
8323
+ if (unitSaving) {
8324
+ lines[0] = "Add " + addLabel + ", get " + offLabel + " \xB7 " + getPerQuantitySaveLabel(unitSaving, coupon);
8325
+ }
8326
+ if (cartQuantity <= 0) {
8327
+ return lines;
8328
+ }
8329
+ if (cartQuantity < quantityToBuy) {
8330
+ var remaining = quantityToBuy - cartQuantity;
8331
+ lines.push(formatCartCount(cartQuantity));
8332
+ lines.push("Add " + formatRemainingQuantity(remaining) + " to qualify");
8333
+ } else {
8334
+ var totalSaving = unitSaving ? unitSaving * cartQuantity : null;
8335
+ lines.push(totalSaving ? formatCartCount(cartQuantity) + " \xB7 Apply this coupon to get $" + formatCurrency(totalSaving) + " off" : formatCartCount(cartQuantity) + " \xB7 Apply this coupon to get " + offLabel);
8240
8336
  }
8241
8337
  return lines;
8242
8338
  };
@@ -8244,10 +8340,21 @@ var getCouponTypeIcon = function getCouponTypeIcon(coupon) {
8244
8340
  if (isBuyXGetFreeProduct(coupon)) {
8245
8341
  return isFullyFreeBuyXOffer(coupon) ? fi.FiGift : fi.FiPercent;
8246
8342
  }
8343
+ if (isBuyXGetDiscount(coupon)) return fi.FiLayers;
8247
8344
  if ((coupon === null || coupon === void 0 ? void 0 : coupon.quantityToBuy) > 0 && (coupon === null || coupon === void 0 ? void 0 : coupon.quantityToGet) > 0) return fi.FiLayers;
8248
8345
  if (coupon !== null && coupon !== void 0 && coupon.offPercentage) return fi.FiPercent;
8249
8346
  return fi.FiTag;
8250
8347
  };
8348
+ var getCouponLimitMessages = function getCouponLimitMessages(coupon) {
8349
+ var lines = [];
8350
+ if ((coupon === null || coupon === void 0 ? void 0 : coupon.maxAllowedDiscount) > 0) {
8351
+ lines.push("Maximum saving is up to $" + formatCurrency(coupon.maxAllowedDiscount) + ".");
8352
+ }
8353
+ if ((coupon === null || coupon === void 0 ? void 0 : coupon.maxAllowedAmount) > 0) {
8354
+ lines.push("Applies when your order is more than $" + formatCurrency(coupon.maxAllowedAmount) + ".");
8355
+ }
8356
+ return lines;
8357
+ };
8251
8358
  var getDetailMeta = function getDetailMeta(line) {
8252
8359
  if (line.includes('added in the cart') && line.includes('Apply')) {
8253
8360
  return {
@@ -8278,15 +8385,21 @@ var getDetailMeta = function getDetailMeta(line) {
8278
8385
  tone: 'info'
8279
8386
  };
8280
8387
  };
8281
- var getCouponBenefit = function getCouponBenefit(coupon, _temp) {
8282
- var _ref = _temp === void 0 ? {} : _temp,
8283
- _ref$productPrice = _ref.productPrice,
8284
- productPrice = _ref$productPrice === void 0 ? 0 : _ref$productPrice,
8285
- _ref$cartQuantity = _ref.cartQuantity,
8286
- cartQuantity = _ref$cartQuantity === void 0 ? 0 : _ref$cartQuantity;
8388
+ var getCouponBenefit = function getCouponBenefit(coupon, _temp2) {
8389
+ var _ref2 = _temp2 === void 0 ? {} : _temp2,
8390
+ _ref2$productPrice = _ref2.productPrice,
8391
+ productPrice = _ref2$productPrice === void 0 ? 0 : _ref2$productPrice,
8392
+ _ref2$cartQuantity = _ref2.cartQuantity,
8393
+ cartQuantity = _ref2$cartQuantity === void 0 ? 0 : _ref2$cartQuantity;
8287
8394
  if (isBuyXGetFreeProduct(coupon)) {
8288
8395
  return getBuyXGetFreeProductMessages(coupon.quantityToBuy, coupon.quantityToGet, cartQuantity, getBuyXGetFreeProductOffPercent(coupon));
8289
8396
  }
8397
+ if (isBuyXGetDiscount(coupon)) {
8398
+ return getBuyXGetDiscountMessages(coupon, {
8399
+ productPrice: productPrice,
8400
+ cartQuantity: cartQuantity
8401
+ });
8402
+ }
8290
8403
  var hasBuyXGetY = (coupon === null || coupon === void 0 ? void 0 : coupon.quantityToBuy) > 0 && (coupon === null || coupon === void 0 ? void 0 : coupon.quantityToGet) > 0;
8291
8404
  if (hasBuyXGetY) {
8292
8405
  return getBuyXGetYMessages(coupon.quantityToBuy, coupon.quantityToGet, cartQuantity);
@@ -8295,9 +8408,9 @@ var getCouponBenefit = function getCouponBenefit(coupon, _temp) {
8295
8408
  if (!unitSaving) return null;
8296
8409
  var lines = [];
8297
8410
  if (coupon !== null && coupon !== void 0 && coupon.offPercentage) {
8298
- lines.push(coupon.offPercentage + "% off \xB7 Save $" + formatCurrency(unitSaving) + " per item");
8411
+ lines.push(coupon.offPercentage + "% off \xB7 " + getPerQuantitySaveLabel(unitSaving, coupon));
8299
8412
  } else {
8300
- lines.push("Save $" + formatCurrency(unitSaving) + " per item");
8413
+ lines.push(getPerQuantitySaveLabel(unitSaving, coupon));
8301
8414
  }
8302
8415
  if (cartQuantity > 0) {
8303
8416
  var totalSaving = unitSaving * cartQuantity;
@@ -8305,47 +8418,44 @@ var getCouponBenefit = function getCouponBenefit(coupon, _temp) {
8305
8418
  }
8306
8419
  return lines;
8307
8420
  };
8308
- var getSuggestionPreviewText = function getSuggestionPreviewText(coupon, _temp2) {
8309
- var _ref2 = _temp2 === void 0 ? {} : _temp2,
8310
- _ref2$productPrice = _ref2.productPrice,
8311
- productPrice = _ref2$productPrice === void 0 ? 0 : _ref2$productPrice,
8312
- _ref2$cartQuantity = _ref2.cartQuantity,
8313
- cartQuantity = _ref2$cartQuantity === void 0 ? 0 : _ref2$cartQuantity;
8421
+ var getSuggestionPreviewText = function getSuggestionPreviewText(coupon, _temp3) {
8422
+ var _ref3 = _temp3 === void 0 ? {} : _temp3,
8423
+ _ref3$productPrice = _ref3.productPrice,
8424
+ productPrice = _ref3$productPrice === void 0 ? 0 : _ref3$productPrice,
8425
+ _ref3$cartQuantity = _ref3.cartQuantity,
8426
+ cartQuantity = _ref3$cartQuantity === void 0 ? 0 : _ref3$cartQuantity;
8314
8427
  if (!coupon) return null;
8315
8428
  if (isBuyXGetFreeProduct(coupon)) {
8316
- var _quantityToBuy = coupon.quantityToBuy || 1;
8429
+ var quantityToBuy = coupon.quantityToBuy || 1;
8317
8430
  var quantityToGet = coupon.quantityToGet || 1;
8318
- var buyTimes = _quantityToBuy + " " + (_quantityToBuy === 1 ? 'time' : 'times');
8431
+ var addQtyLabel = formatQuantityLabel(quantityToBuy);
8319
8432
  var offPercent = getBuyXGetFreeProductOffPercent(coupon);
8320
8433
  if (offPercent >= 100) {
8321
- return "Buy this product " + buyTimes + ", get " + quantityToGet + " " + (quantityToGet === 1 ? 'free product' : 'free products') + ". Click View All offers to know more";
8434
+ return "Add " + addQtyLabel + " of this product and get " + quantityToGet + " " + (quantityToGet === 1 ? 'free product' : 'free products') + ". Click View All offers to know more";
8322
8435
  }
8323
- return "Buy this product " + buyTimes + ", get " + offPercent + "% off on some products. Click View All offers to know more";
8436
+ return "Add " + addQtyLabel + " of this product and get " + offPercent + "% off on some products. Click View All offers to know more";
8324
8437
  }
8325
- var hasBuyXGetY = (coupon === null || coupon === void 0 ? void 0 : coupon.quantityToBuy) > 0 && (coupon === null || coupon === void 0 ? void 0 : coupon.quantityToGet) > 0;
8326
- if (hasBuyXGetY) {
8438
+ if (isBuyXGetDiscount(coupon)) {
8327
8439
  var _getCouponBenefit;
8328
8440
  return ((_getCouponBenefit = getCouponBenefit(coupon, {
8329
8441
  productPrice: productPrice,
8330
8442
  cartQuantity: cartQuantity
8331
8443
  })) === null || _getCouponBenefit === void 0 ? void 0 : _getCouponBenefit[0]) || null;
8332
8444
  }
8333
- var unitSaving = getUnitSaving(coupon, productPrice);
8334
- var quantityToBuy = coupon === null || coupon === void 0 ? void 0 : coupon.quantityToBuy;
8335
- var hasBuyQuantityRequirement = quantityToBuy > 0 && !((coupon === null || coupon === void 0 ? void 0 : coupon.quantityToGet) > 0);
8336
- if (hasBuyQuantityRequirement && coupon !== null && coupon !== void 0 && coupon.offPercentage && unitSaving) {
8337
- var qtyLabel = quantityToBuy === 1 ? 'quantity' : 'quantities';
8338
- return "Buy " + quantityToBuy + " " + qtyLabel + ", get " + coupon.offPercentage + "% off, save $" + formatCurrency(unitSaving) + " per item";
8339
- }
8340
- if (hasBuyQuantityRequirement && unitSaving) {
8341
- var _qtyLabel = quantityToBuy === 1 ? 'quantity' : 'quantities';
8342
- return "Buy " + quantityToBuy + " " + _qtyLabel + ", save $" + formatCurrency(unitSaving) + " per item";
8445
+ var hasBuyXGetY = (coupon === null || coupon === void 0 ? void 0 : coupon.quantityToBuy) > 0 && (coupon === null || coupon === void 0 ? void 0 : coupon.quantityToGet) > 0;
8446
+ if (hasBuyXGetY) {
8447
+ var _getCouponBenefit2;
8448
+ return ((_getCouponBenefit2 = getCouponBenefit(coupon, {
8449
+ productPrice: productPrice,
8450
+ cartQuantity: cartQuantity
8451
+ })) === null || _getCouponBenefit2 === void 0 ? void 0 : _getCouponBenefit2[0]) || null;
8343
8452
  }
8453
+ var unitSaving = getUnitSaving(coupon, productPrice);
8344
8454
  if (coupon !== null && coupon !== void 0 && coupon.offPercentage && unitSaving) {
8345
- return "get " + coupon.offPercentage + "% off, save $" + formatCurrency(unitSaving) + " per item";
8455
+ return "get " + coupon.offPercentage + "% off, " + getPerQuantitySaveLabel(unitSaving, coupon).toLowerCase();
8346
8456
  }
8347
8457
  if (unitSaving) {
8348
- return "save $" + formatCurrency(unitSaving) + " per item";
8458
+ return getPerQuantitySaveLabel(unitSaving, coupon).toLowerCase();
8349
8459
  }
8350
8460
  return null;
8351
8461
  };
@@ -8365,6 +8475,23 @@ var getSavingsBadge = function getSavingsBadge(coupon, productPrice) {
8365
8475
  bottom: 'GIFT'
8366
8476
  };
8367
8477
  }
8478
+ if (isBuyXGetDiscount(coupon)) {
8479
+ if (coupon !== null && coupon !== void 0 && coupon.percentage && coupon !== null && coupon !== void 0 && coupon.offPercentage) {
8480
+ return {
8481
+ variant: 'percent',
8482
+ top: coupon.offPercentage + "%",
8483
+ bottom: 'OFF'
8484
+ };
8485
+ }
8486
+ var _unitSaving = getUnitSaving(coupon, productPrice);
8487
+ if (_unitSaving) {
8488
+ return {
8489
+ variant: 'amount',
8490
+ top: "$" + formatCurrency(_unitSaving),
8491
+ bottom: 'SAVE'
8492
+ };
8493
+ }
8494
+ }
8368
8495
  if ((coupon === null || coupon === void 0 ? void 0 : coupon.quantityToBuy) > 0 && (coupon === null || coupon === void 0 ? void 0 : coupon.quantityToGet) > 0) {
8369
8496
  return {
8370
8497
  variant: 'bogo',
@@ -8409,8 +8536,29 @@ var getProgressInfo = function getProgressInfo(coupon, cartQuantity) {
8409
8536
  target: _target,
8410
8537
  percent: _percent,
8411
8538
  qualified: qualified,
8412
- unitLabel: _target === 1 ? 'Item' : 'Items',
8413
- message: qualified ? "You're eligible — apply your code at checkout!" : _remaining2 === 1 ? "Only 1 more item to unlock " + unlockLabel + "!" : "Only " + _remaining2 + " more items to unlock " + unlockLabel + "!"
8539
+ unitLabel: _target === 1 ? 'Quantity' : 'Quantities',
8540
+ message: qualified ? "You're eligible — apply your code at checkout!" : _remaining2 === 1 ? "Only 1 more quantity to unlock " + unlockLabel + "!" : "Only " + _remaining2 + " more quantities to unlock " + unlockLabel + "!"
8541
+ };
8542
+ }
8543
+ if (isBuyXGetDiscount(coupon)) {
8544
+ var _target2 = coupon.quantityToBuy || 0;
8545
+ if (!_target2) return null;
8546
+ var _current2 = Math.min(cartQuantity, _target2);
8547
+ var _percent2 = Math.min(100, _current2 / _target2 * 100);
8548
+ var _remaining3 = Math.max(0, _target2 - cartQuantity);
8549
+ var _qualified = cartQuantity >= _target2;
8550
+ var offLabel = getBuyXGetDiscountOffLabel(coupon);
8551
+ return {
8552
+ type: 'buyxgetdiscount',
8553
+ current: _current2,
8554
+ target: _target2,
8555
+ percent: _percent2,
8556
+ qualified: _qualified,
8557
+ unitLabel: _target2 === 1 ? 'Quantity' : 'Quantities',
8558
+ showTimeline: true,
8559
+ quantityToBuy: _target2,
8560
+ offLabel: offLabel,
8561
+ message: _qualified ? "You're eligible — apply your code at checkout!" : _remaining3 === 1 ? "Only 1 more quantity to unlock " + offLabel + "!" : "Only " + _remaining3 + " more quantities to unlock " + offLabel + "!"
8414
8562
  };
8415
8563
  }
8416
8564
  var hasBuyXGetY = (coupon === null || coupon === void 0 ? void 0 : coupon.quantityToBuy) > 0 && (coupon === null || coupon === void 0 ? void 0 : coupon.quantityToGet) > 0;
@@ -8428,18 +8576,18 @@ var getProgressInfo = function getProgressInfo(coupon, cartQuantity) {
8428
8576
  };
8429
8577
  }
8430
8578
  if (cartQuantity >= quantityToBuy) {
8431
- var _current2 = cartQuantity;
8432
- var _target2 = totalNeeded;
8433
- var _percent2 = Math.min(100, _current2 / _target2 * 100);
8434
- var _remaining3 = totalNeeded - cartQuantity;
8579
+ var _current3 = cartQuantity;
8580
+ var _target3 = totalNeeded;
8581
+ var _percent3 = Math.min(100, _current3 / _target3 * 100);
8582
+ var _remaining4 = totalNeeded - cartQuantity;
8435
8583
  return {
8436
8584
  type: 'quantity',
8437
- current: _current2,
8438
- target: _target2,
8439
- percent: _percent2,
8585
+ current: _current3,
8586
+ target: _target3,
8587
+ percent: _percent3,
8440
8588
  qualified: false,
8441
- unitLabel: _target2 === 1 ? 'Item' : 'Items',
8442
- message: _remaining3 === 1 ? 'Only 1 more item to apply this coupon' : "Only " + _remaining3 + " more items to apply this coupon",
8589
+ unitLabel: _target3 === 1 ? 'Quantity' : 'Quantities',
8590
+ message: _remaining4 === 1 ? 'Only 1 more quantity to apply this coupon' : "Only " + _remaining4 + " more quantities to apply this coupon",
8443
8591
  showTimeline: true,
8444
8592
  quantityToBuy: quantityToBuy,
8445
8593
  quantityToGet: quantityToGet
@@ -8455,8 +8603,8 @@ var getProgressInfo = function getProgressInfo(coupon, cartQuantity) {
8455
8603
  target: target,
8456
8604
  percent: percent,
8457
8605
  qualified: false,
8458
- unitLabel: target === 1 ? 'Item' : 'Items',
8459
- message: remaining === 1 ? 'Only 1 more item to qualify' : "Only " + remaining + " more items to qualify",
8606
+ unitLabel: target === 1 ? 'Quantity' : 'Quantities',
8607
+ message: remaining === 1 ? 'Only 1 more quantity to qualify' : "Only " + remaining + " more quantities to qualify",
8460
8608
  showTimeline: true,
8461
8609
  quantityToBuy: quantityToBuy,
8462
8610
  quantityToGet: quantityToGet
@@ -8465,17 +8613,17 @@ var getProgressInfo = function getProgressInfo(coupon, cartQuantity) {
8465
8613
  var isProgressDetailLine = function isProgressDetailLine(line) {
8466
8614
  return line === null || line === void 0 ? void 0 : line.startsWith('Add ');
8467
8615
  };
8468
- var DiscountSuggestionsModal = function DiscountSuggestionsModal(_ref3) {
8469
- var open = _ref3.open,
8470
- onClose = _ref3.onClose,
8471
- productName = _ref3.productName,
8472
- _ref3$productDiscount = _ref3.productDiscounts,
8473
- productDiscounts = _ref3$productDiscount === void 0 ? [] : _ref3$productDiscount,
8474
- primaryColor = _ref3.primaryColor,
8475
- _ref3$cartQuantity = _ref3.cartQuantity,
8476
- cartQuantity = _ref3$cartQuantity === void 0 ? 0 : _ref3$cartQuantity,
8477
- _ref3$productPrice = _ref3.productPrice,
8478
- productPrice = _ref3$productPrice === void 0 ? 0 : _ref3$productPrice;
8616
+ var DiscountSuggestionsModal = function DiscountSuggestionsModal(_ref4) {
8617
+ var open = _ref4.open,
8618
+ onClose = _ref4.onClose,
8619
+ productName = _ref4.productName,
8620
+ _ref4$productDiscount = _ref4.productDiscounts,
8621
+ productDiscounts = _ref4$productDiscount === void 0 ? [] : _ref4$productDiscount,
8622
+ primaryColor = _ref4.primaryColor,
8623
+ _ref4$cartQuantity = _ref4.cartQuantity,
8624
+ cartQuantity = _ref4$cartQuantity === void 0 ? 0 : _ref4$cartQuantity,
8625
+ _ref4$productPrice = _ref4.productPrice,
8626
+ productPrice = _ref4$productPrice === void 0 ? 0 : _ref4$productPrice;
8479
8627
  var _useState = React.useState(null),
8480
8628
  copiedCode = _useState[0],
8481
8629
  setCopiedCode = _useState[1];
@@ -8483,7 +8631,7 @@ var DiscountSuggestionsModal = function DiscountSuggestionsModal(_ref3) {
8483
8631
  var copyCouponCode = React.useCallback(function (code) {
8484
8632
  try {
8485
8633
  if (!code) return Promise.resolve();
8486
- var _temp3 = _catch(function () {
8634
+ var _temp4 = _catch(function () {
8487
8635
  var _navigator, _navigator$clipboard;
8488
8636
  return Promise.resolve((_navigator = navigator) === null || _navigator === void 0 ? void 0 : (_navigator$clipboard = _navigator.clipboard) === null || _navigator$clipboard === void 0 ? void 0 : _navigator$clipboard.writeText(code)).then(function () {
8489
8637
  var _window;
@@ -8495,7 +8643,7 @@ var DiscountSuggestionsModal = function DiscountSuggestionsModal(_ref3) {
8495
8643
  }, function (error) {
8496
8644
  console.error('Failed to copy coupon code', error);
8497
8645
  });
8498
- return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(function () {}) : void 0);
8646
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
8499
8647
  } catch (e) {
8500
8648
  return Promise.reject(e);
8501
8649
  }
@@ -8521,10 +8669,10 @@ var DiscountSuggestionsModal = function DiscountSuggestionsModal(_ref3) {
8521
8669
  };
8522
8670
  document.addEventListener('keydown', handleKeyDown);
8523
8671
  return function () {
8524
- scrollLocks.forEach(function (_ref4) {
8525
- var el = _ref4.el,
8526
- overflow = _ref4.overflow,
8527
- overscrollBehavior = _ref4.overscrollBehavior;
8672
+ scrollLocks.forEach(function (_ref5) {
8673
+ var el = _ref5.el,
8674
+ overflow = _ref5.overflow,
8675
+ overscrollBehavior = _ref5.overscrollBehavior;
8528
8676
  el.style.overflow = overflow;
8529
8677
  el.style.overscrollBehavior = overscrollBehavior;
8530
8678
  });
@@ -8589,8 +8737,9 @@ var DiscountSuggestionsModal = function DiscountSuggestionsModal(_ref3) {
8589
8737
  productPrice: productPrice,
8590
8738
  cartQuantity: cartQuantity
8591
8739
  });
8740
+ var limitMessages = getCouponLimitMessages(coupon);
8592
8741
  var benefitSummary = (benefit === null || benefit === void 0 ? void 0 : benefit[0]) || null;
8593
- var benefitDetails = (benefit === null || benefit === void 0 ? void 0 : benefit.length) > 1 ? benefit.slice(1) : [];
8742
+ var benefitDetails = [].concat((benefit === null || benefit === void 0 ? void 0 : benefit.length) > 1 ? benefit.slice(1) : [], limitMessages);
8594
8743
  var statusDetails = benefitDetails.filter(function (line) {
8595
8744
  return !isProgressDetailLine(line);
8596
8745
  });
@@ -8606,7 +8755,8 @@ var DiscountSuggestionsModal = function DiscountSuggestionsModal(_ref3) {
8606
8755
  var savingsBadge = getSavingsBadge(coupon, productPrice);
8607
8756
  var progressInfo = getProgressInfo(coupon, cartQuantity);
8608
8757
  var hasBuyXGetY = (coupon === null || coupon === void 0 ? void 0 : coupon.quantityToBuy) > 0 && (coupon === null || coupon === void 0 ? void 0 : coupon.quantityToGet) > 0;
8609
- var showTimeline = hasBuyXGetY && ((progressInfo === null || progressInfo === void 0 ? void 0 : progressInfo.showTimeline) || (progressInfo === null || progressInfo === void 0 ? void 0 : progressInfo.type) === 'buyxgety');
8758
+ var isQtyDiscount = isBuyXGetDiscount(coupon);
8759
+ var showTimeline = (hasBuyXGetY || isQtyDiscount) && ((progressInfo === null || progressInfo === void 0 ? void 0 : progressInfo.showTimeline) || (progressInfo === null || progressInfo === void 0 ? void 0 : progressInfo.type) === 'buyxgety' || (progressInfo === null || progressInfo === void 0 ? void 0 : progressInfo.type) === 'buyxgetdiscount');
8610
8760
  return /*#__PURE__*/React__default.createElement(OfferCard, {
8611
8761
  key: (_coupon$discountId = coupon === null || coupon === void 0 ? void 0 : coupon.discountId) != null ? _coupon$discountId : coupon === null || coupon === void 0 ? void 0 : coupon.couponCode,
8612
8762
  $accentColor: accentColor,
@@ -8616,7 +8766,7 @@ var DiscountSuggestionsModal = function DiscountSuggestionsModal(_ref3) {
8616
8766
  $variant: savingsBadge.variant
8617
8767
  }, /*#__PURE__*/React__default.createElement(BadgeTop, null, savingsBadge.top), /*#__PURE__*/React__default.createElement(BadgeBottom, null, savingsBadge.bottom)), /*#__PURE__*/React__default.createElement(CardHeaderCopy, null, /*#__PURE__*/React__default.createElement(CardMetaRow, null, /*#__PURE__*/React__default.createElement(TypePill, {
8618
8768
  $accentColor: accentColor
8619
- }, /*#__PURE__*/React__default.createElement(TypeIcon, null), /*#__PURE__*/React__default.createElement("span", null, isBuyXGetFreeProduct(coupon) ? isFullyFreeOffer ? 'Free Gift' : getBuyXGetFreeProductOffPercent(coupon) + "% Off" : hasBuyXGetY ? 'Buy & Get' : coupon !== null && coupon !== void 0 && coupon.offPercentage ? 'Percent Off' : 'Instant Save')), (progressInfo === null || progressInfo === void 0 ? void 0 : progressInfo.qualified) && /*#__PURE__*/React__default.createElement(QualifiedPill, {
8769
+ }, /*#__PURE__*/React__default.createElement(TypeIcon, null), /*#__PURE__*/React__default.createElement("span", null, isBuyXGetFreeProduct(coupon) ? isFullyFreeOffer ? 'Free Gift' : getBuyXGetFreeProductOffPercent(coupon) + "% Off" : isQtyDiscount ? 'Add & Save' : hasBuyXGetY ? 'Add & Get' : coupon !== null && coupon !== void 0 && coupon.offPercentage ? 'Percent Off' : 'Instant Save')), (progressInfo === null || progressInfo === void 0 ? void 0 : progressInfo.qualified) && /*#__PURE__*/React__default.createElement(QualifiedPill, {
8620
8770
  $accentColor: accentColor
8621
8771
  }, /*#__PURE__*/React__default.createElement(hi2.HiSparkles, null), "Ready")), /*#__PURE__*/React__default.createElement(TitleRow, null, /*#__PURE__*/React__default.createElement(OfferTitle, {
8622
8772
  title: coupon === null || coupon === void 0 ? void 0 : coupon.discountName
@@ -8637,36 +8787,24 @@ var DiscountSuggestionsModal = function DiscountSuggestionsModal(_ref3) {
8637
8787
  onClick: function onClick() {
8638
8788
  return copyCouponCode(coupon === null || coupon === void 0 ? void 0 : coupon.couponCode);
8639
8789
  }
8640
- }, isCopied ? /*#__PURE__*/React__default.createElement("div", {
8641
- style: {
8642
- display: 'flex',
8643
- alignItems: 'center',
8644
- gap: '4px'
8645
- }
8646
- }, /*#__PURE__*/React__default.createElement(fi.FiCheck, null), /*#__PURE__*/React__default.createElement("span", null, "Copied")) : /*#__PURE__*/React__default.createElement("div", {
8647
- style: {
8648
- display: 'flex',
8649
- alignItems: 'center',
8650
- gap: '4px'
8651
- }
8652
- }, /*#__PURE__*/React__default.createElement(fi.FiCopy, null), /*#__PURE__*/React__default.createElement("span", null, "Copy")))))))), benefitSummary && /*#__PURE__*/React__default.createElement(OfferDescription, null, benefitSummary), showTimeline && /*#__PURE__*/React__default.createElement(BuyXTimeline, {
8790
+ }, isCopied ? /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(fi.FiCheck, null), /*#__PURE__*/React__default.createElement("span", null, "Copied")) : /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(fi.FiCopy, null), /*#__PURE__*/React__default.createElement("span", null, "Copy")))))))), benefitSummary && /*#__PURE__*/React__default.createElement(OfferDescription, null, benefitSummary), showTimeline && /*#__PURE__*/React__default.createElement(BuyXTimeline, {
8653
8791
  $accentColor: accentColor
8654
8792
  }, /*#__PURE__*/React__default.createElement(TimelineStep, null, /*#__PURE__*/React__default.createElement(TimelineIcon, {
8655
8793
  $accentColor: accentColor
8656
- }, /*#__PURE__*/React__default.createElement(fi.FiShoppingCart, null)), /*#__PURE__*/React__default.createElement(TimelineLabel, null, "Buy ", coupon.quantityToBuy)), /*#__PURE__*/React__default.createElement(TimelineTrack, {
8794
+ }, /*#__PURE__*/React__default.createElement(fi.FiShoppingCart, null)), /*#__PURE__*/React__default.createElement(TimelineLabel, null, "Add ", coupon.quantityToBuy)), /*#__PURE__*/React__default.createElement(TimelineTrack, {
8657
8795
  $accentColor: accentColor
8658
8796
  }, /*#__PURE__*/React__default.createElement(TimelineArrow, {
8659
8797
  $accentColor: accentColor
8660
8798
  })), /*#__PURE__*/React__default.createElement(TimelineStep, null, /*#__PURE__*/React__default.createElement(TimelineIcon, {
8661
8799
  $accentColor: accentColor,
8662
8800
  $highlight: true
8663
- }, /*#__PURE__*/React__default.createElement(fi.FiGift, null)), /*#__PURE__*/React__default.createElement(TimelineLabel, null, "Get ", coupon.quantityToGet, " FREE"))), (progressInfo === null || progressInfo === void 0 ? void 0 : progressInfo.type) === 'quantity' && !progressInfo.qualified && /*#__PURE__*/React__default.createElement(ProgressBlock, null, /*#__PURE__*/React__default.createElement(ProgressTrack, {
8801
+ }, isQtyDiscount ? /*#__PURE__*/React__default.createElement(fi.FiPercent, null) : /*#__PURE__*/React__default.createElement(fi.FiGift, null)), /*#__PURE__*/React__default.createElement(TimelineLabel, null, isQtyDiscount ? "Get " + ((progressInfo === null || progressInfo === void 0 ? void 0 : progressInfo.offLabel) || getBuyXGetDiscountOffLabel(coupon, productPrice)) : "Get " + coupon.quantityToGet + " FREE"))), ((progressInfo === null || progressInfo === void 0 ? void 0 : progressInfo.type) === 'quantity' || (progressInfo === null || progressInfo === void 0 ? void 0 : progressInfo.type) === 'buyxgetdiscount') && !progressInfo.qualified && /*#__PURE__*/React__default.createElement(ProgressBlock, null, /*#__PURE__*/React__default.createElement(ProgressTrack, {
8664
8802
  $accentColor: accentColor,
8665
8803
  role: "progressbar",
8666
8804
  "aria-valuenow": progressInfo.current,
8667
8805
  "aria-valuemin": 0,
8668
8806
  "aria-valuemax": progressInfo.target,
8669
- "aria-label": progressInfo.current + " of " + progressInfo.target + " items toward eligibility"
8807
+ "aria-label": progressInfo.current + " of " + progressInfo.target + " quantities toward eligibility"
8670
8808
  }, /*#__PURE__*/React__default.createElement(ProgressFill, {
8671
8809
  $accentColor: accentColor,
8672
8810
  $percent: progressInfo.percent
@@ -8708,95 +8846,95 @@ var DialogTitle = styled__default.h2(_templateObject11$3 || (_templateObject11$3
8708
8846
  var CloseButton = styled__default.button(_templateObject12$2 || (_templateObject12$2 = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: 0.5rem;\n right: 0.5rem;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 2rem;\n height: 2rem;\n padding: 0;\n border: none;\n border-radius: 50%;\n background: transparent;\n color: rgba(0, 0, 0, 0.54);\n cursor: pointer;\n transition: background-color 0.2s ease;\n\n svg {\n font-size: 1.25rem;\n }\n\n &:hover {\n background-color: rgba(0, 0, 0, 0.04);\n }\n\n &:focus-visible {\n outline: 2px solid #437c0f;\n outline-offset: 1px;\n }\n"])));
8709
8847
  var ScrollableBody = styled__default.div(_templateObject13$2 || (_templateObject13$2 = _taggedTemplateLiteralLoose(["\n flex: 1 1 auto;\n min-height: 0;\n overflow-y: auto;\n overscroll-behavior: contain;\n -webkit-overflow-scrolling: touch;\n padding: 0.85rem;\n"])));
8710
8848
  var EmptyState$1 = styled__default.p(_templateObject14$2 || (_templateObject14$2 = _taggedTemplateLiteralLoose(["\n margin: 0;\n padding: 1.5rem 0.5rem;\n text-align: center;\n font-size: 0.9rem;\n font-weight: 600;\n color: #5a6354;\n"])));
8711
- var SavingsCenter = styled__default.section(_templateObject15$2 || (_templateObject15$2 = _taggedTemplateLiteralLoose(["\n --accent: ", ";\n position: relative;\n width: 100%;\n border-radius: 0.85rem;\n border: 1px solid ", ";\n background: linear-gradient(165deg, #ffffff 0%, #fafcf7 45%, #f6f9f2 100%);\n overflow: hidden;\n box-shadow: 0 1px 2px rgba(16, 22, 10, 0.04),\n 0 8px 24px ", ";\n animation: ", " 0.45s cubic-bezier(0.22, 1, 0.36, 1) both;\n font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI',\n 'Inter', Roboto, sans-serif;\n ", "\n"])), function (_ref5) {
8712
- var $accentColor = _ref5.$accentColor;
8713
- return $accentColor;
8714
- }, function (_ref6) {
8849
+ var SavingsCenter = styled__default.section(_templateObject15$2 || (_templateObject15$2 = _taggedTemplateLiteralLoose(["\n --accent: ", ";\n position: relative;\n width: 100%;\n border-radius: 0.85rem;\n border: 1px solid ", ";\n background: linear-gradient(165deg, #ffffff 0%, #fafcf7 45%, #f6f9f2 100%);\n overflow: hidden;\n box-shadow: 0 1px 2px rgba(16, 22, 10, 0.04),\n 0 8px 24px ", ";\n animation: ", " 0.45s cubic-bezier(0.22, 1, 0.36, 1) both;\n font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI',\n 'Inter', Roboto, sans-serif;\n ", "\n"])), function (_ref6) {
8715
8850
  var $accentColor = _ref6.$accentColor;
8716
- return $accentColor + "20";
8851
+ return $accentColor;
8717
8852
  }, function (_ref7) {
8718
8853
  var $accentColor = _ref7.$accentColor;
8854
+ return $accentColor + "20";
8855
+ }, function (_ref8) {
8856
+ var $accentColor = _ref8.$accentColor;
8719
8857
  return $accentColor + "10";
8720
8858
  }, fadeSlideUp, reducedMotion);
8721
- var AmbientGlow = styled__default.div(_templateObject16$2 || (_templateObject16$2 = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: -40%;\n right: -15%;\n width: 55%;\n height: 80%;\n background: radial-gradient(\n circle,\n ", " 0%,\n transparent 70%\n );\n pointer-events: none;\n"])), function (_ref8) {
8722
- var $accentColor = _ref8.$accentColor;
8859
+ var AmbientGlow = styled__default.div(_templateObject16$2 || (_templateObject16$2 = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: -40%;\n right: -15%;\n width: 55%;\n height: 80%;\n background: radial-gradient(\n circle,\n ", " 0%,\n transparent 70%\n );\n pointer-events: none;\n"])), function (_ref9) {
8860
+ var $accentColor = _ref9.$accentColor;
8723
8861
  return $accentColor + "18";
8724
8862
  });
8725
- var Sparkle = styled__default.span(_templateObject17$2 || (_templateObject17$2 = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: ", ";\n left: ", ";\n width: ", ";\n height: ", ";\n border-radius: 50%;\n background: ", ";\n box-shadow: 0 0 12px ", ";\n animation: ", " 4s ease-in-out infinite;\n animation-delay: ", ";\n pointer-events: none;\n opacity: 0.3;\n\n ", "\n"])), function (_ref9) {
8726
- var $top = _ref9.$top;
8863
+ var Sparkle = styled__default.span(_templateObject17$2 || (_templateObject17$2 = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: ", ";\n left: ", ";\n width: ", ";\n height: ", ";\n border-radius: 50%;\n background: ", ";\n box-shadow: 0 0 12px ", ";\n animation: ", " 4s ease-in-out infinite;\n animation-delay: ", ";\n pointer-events: none;\n opacity: 0.3;\n\n ", "\n"])), function (_ref10) {
8864
+ var $top = _ref10.$top;
8727
8865
  return $top;
8728
- }, function (_ref10) {
8729
- var $left = _ref10.$left;
8730
- return $left;
8731
8866
  }, function (_ref11) {
8732
- var $size = _ref11.$size;
8733
- return $size === 'sm' ? '4px' : '6px';
8867
+ var $left = _ref11.$left;
8868
+ return $left;
8734
8869
  }, function (_ref12) {
8735
8870
  var $size = _ref12.$size;
8736
8871
  return $size === 'sm' ? '4px' : '6px';
8737
8872
  }, function (_ref13) {
8738
- var $accentColor = _ref13.$accentColor;
8739
- return $accentColor;
8873
+ var $size = _ref13.$size;
8874
+ return $size === 'sm' ? '4px' : '6px';
8740
8875
  }, function (_ref14) {
8741
8876
  var $accentColor = _ref14.$accentColor;
8877
+ return $accentColor;
8878
+ }, function (_ref15) {
8879
+ var $accentColor = _ref15.$accentColor;
8742
8880
  return $accentColor + "80";
8743
- }, sparkleFloat, function (_ref15) {
8744
- var $delay = _ref15.$delay;
8881
+ }, sparkleFloat, function (_ref16) {
8882
+ var $delay = _ref16.$delay;
8745
8883
  return $delay;
8746
8884
  }, reducedMotion);
8747
- var SectionHeader = styled__default.header(_templateObject18$2 || (_templateObject18$2 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n gap: 0.6rem;\n padding: 0.65rem 0.8rem;\n background: linear-gradient(\n 135deg,\n ", " 0%,\n ", " 55%,\n transparent 100%\n );\n border-bottom: 1px solid ", ";\n position: relative;\n overflow: hidden;\n\n &::after {\n content: '';\n position: absolute;\n inset: 0;\n background: linear-gradient(\n 105deg,\n transparent 38%,\n rgba(255, 255, 255, 0.45) 50%,\n transparent 62%\n );\n background-size: 200% 100%;\n animation: ", " 6s ease-in-out infinite;\n pointer-events: none;\n }\n\n ", "\n"])), function (_ref16) {
8748
- var $accentColor = _ref16.$accentColor;
8749
- return $accentColor + "16";
8750
- }, function (_ref17) {
8885
+ var SectionHeader = styled__default.header(_templateObject18$2 || (_templateObject18$2 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n gap: 0.6rem;\n padding: 0.65rem 0.8rem;\n background: linear-gradient(\n 135deg,\n ", " 0%,\n ", " 55%,\n transparent 100%\n );\n border-bottom: 1px solid ", ";\n position: relative;\n overflow: hidden;\n\n &::after {\n content: '';\n position: absolute;\n inset: 0;\n background: linear-gradient(\n 105deg,\n transparent 38%,\n rgba(255, 255, 255, 0.45) 50%,\n transparent 62%\n );\n background-size: 200% 100%;\n animation: ", " 6s ease-in-out infinite;\n pointer-events: none;\n }\n\n ", "\n"])), function (_ref17) {
8751
8886
  var $accentColor = _ref17.$accentColor;
8752
- return $accentColor + "05";
8887
+ return $accentColor + "16";
8753
8888
  }, function (_ref18) {
8754
8889
  var $accentColor = _ref18.$accentColor;
8890
+ return $accentColor + "05";
8891
+ }, function (_ref19) {
8892
+ var $accentColor = _ref19.$accentColor;
8755
8893
  return $accentColor + "12";
8756
8894
  }, shimmer, reducedMotion);
8757
- var HeaderIconWrap = styled__default.div(_templateObject19$2 || (_templateObject19$2 = _taggedTemplateLiteralLoose(["\n --icon-shadow: ", ";\n display: flex;\n align-items: center;\n justify-content: center;\n width: 2rem;\n height: 2rem;\n border-radius: 0.55rem;\n flex-shrink: 0;\n color: #fff;\n background: linear-gradient(\n 145deg,\n ", " 0%,\n ", " 100%\n );\n box-shadow: 0 4px 12px var(--icon-shadow);\n z-index: 1;\n\n svg {\n font-size: 1.05rem;\n }\n"])), function (_ref19) {
8758
- var $accentColor = _ref19.$accentColor;
8759
- return $accentColor + "40";
8760
- }, function (_ref20) {
8895
+ var HeaderIconWrap = styled__default.div(_templateObject19$2 || (_templateObject19$2 = _taggedTemplateLiteralLoose(["\n --icon-shadow: ", ";\n display: flex;\n align-items: center;\n justify-content: center;\n width: 2rem;\n height: 2rem;\n border-radius: 0.55rem;\n flex-shrink: 0;\n color: #fff;\n background: linear-gradient(\n 145deg,\n ", " 0%,\n ", " 100%\n );\n box-shadow: 0 4px 12px var(--icon-shadow);\n z-index: 1;\n\n svg {\n font-size: 1.05rem;\n }\n"])), function (_ref20) {
8761
8896
  var $accentColor = _ref20.$accentColor;
8762
- return $accentColor;
8897
+ return $accentColor + "40";
8763
8898
  }, function (_ref21) {
8764
8899
  var $accentColor = _ref21.$accentColor;
8900
+ return $accentColor;
8901
+ }, function (_ref22) {
8902
+ var $accentColor = _ref22.$accentColor;
8765
8903
  return $accentColor + "cc";
8766
8904
  });
8767
8905
  var HeaderCopy = styled__default.div(_templateObject20$1 || (_templateObject20$1 = _taggedTemplateLiteralLoose(["\n flex: 1;\n min-width: 0;\n z-index: 1;\n"])));
8768
- var Eyebrow = styled__default.span(_templateObject21$1 || (_templateObject21$1 = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n font-size: 0.6rem;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.08em;\n color: ", ";\n\n svg {\n font-size: 0.65rem;\n }\n"])), function (_ref22) {
8769
- var $accentColor = _ref22.$accentColor;
8906
+ var Eyebrow = styled__default.span(_templateObject21$1 || (_templateObject21$1 = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n font-size: 0.6rem;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.08em;\n color: ", ";\n\n svg {\n font-size: 0.65rem;\n }\n"])), function (_ref23) {
8907
+ var $accentColor = _ref23.$accentColor;
8770
8908
  return $accentColor;
8771
8909
  });
8772
8910
  var SectionHeading = styled__default.h3(_templateObject22$1 || (_templateObject22$1 = _taggedTemplateLiteralLoose(["\n margin: 0.1rem 0 0;\n font-size: 0.95rem;\n font-weight: 800;\n letter-spacing: -0.02em;\n color: #12180d;\n line-height: 1.2;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n"])));
8773
- var OfferCountBadge = styled__default.div(_templateObject23$1 || (_templateObject23$1 = _taggedTemplateLiteralLoose(["\n flex-shrink: 0;\n display: inline-flex;\n align-items: center;\n gap: 0.28rem;\n padding: 0.28rem 0.55rem;\n border-radius: 999px;\n background: rgba(18, 24, 13, 0.92);\n color: #f8fff0;\n font-size: 0.65rem;\n font-weight: 600;\n z-index: 1;\n\n strong {\n font-size: 0.82rem;\n font-weight: 800;\n line-height: 1;\n }\n\n svg {\n font-size: 0.72rem;\n color: ", ";\n }\n"])), function (_ref23) {
8774
- var $accentColor = _ref23.$accentColor;
8911
+ var OfferCountBadge = styled__default.div(_templateObject23$1 || (_templateObject23$1 = _taggedTemplateLiteralLoose(["\n flex-shrink: 0;\n display: inline-flex;\n align-items: center;\n gap: 0.28rem;\n padding: 0.28rem 0.55rem;\n border-radius: 999px;\n background: rgba(18, 24, 13, 0.92);\n color: #f8fff0;\n font-size: 0.65rem;\n font-weight: 600;\n z-index: 1;\n\n strong {\n font-size: 0.82rem;\n font-weight: 800;\n line-height: 1;\n }\n\n svg {\n font-size: 0.72rem;\n color: ", ";\n }\n"])), function (_ref24) {
8912
+ var $accentColor = _ref24.$accentColor;
8775
8913
  return $accentColor;
8776
8914
  });
8777
8915
  var OfferStack = styled__default.div(_templateObject24$1 || (_templateObject24$1 = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n padding: 0.55rem;\n"])));
8778
- var OfferCard = styled__default.article(_templateObject25$1 || (_templateObject25$1 = _taggedTemplateLiteralLoose(["\n border-radius: 0.7rem;\n border: 1px solid ", ";\n background: #fff;\n box-shadow: 0 1px 4px rgba(16, 20, 12, 0.04);\n opacity: 0;\n animation: ", " 0.38s cubic-bezier(0.22, 1, 0.36, 1) forwards;\n animation-delay: ", "s;\n transition: box-shadow 0.2s ease, border-color 0.2s ease;\n overflow: hidden;\n\n &:hover {\n border-color: ", ";\n box-shadow: 0 4px 14px ", ";\n }\n\n &:focus-within {\n outline: 2px solid ", ";\n outline-offset: 1px;\n }\n\n ", "\n"])), function (_ref24) {
8779
- var $accentColor = _ref24.$accentColor;
8916
+ var OfferCard = styled__default.article(_templateObject25$1 || (_templateObject25$1 = _taggedTemplateLiteralLoose(["\n border-radius: 0.7rem;\n border: 1px solid ", ";\n background: #fff;\n box-shadow: 0 1px 4px rgba(16, 20, 12, 0.04);\n opacity: 0;\n animation: ", " 0.38s cubic-bezier(0.22, 1, 0.36, 1) forwards;\n animation-delay: ", "s;\n transition: box-shadow 0.2s ease, border-color 0.2s ease;\n overflow: hidden;\n\n &:hover {\n border-color: ", ";\n box-shadow: 0 4px 14px ", ";\n }\n\n &:focus-within {\n outline: 2px solid ", ";\n outline-offset: 1px;\n }\n\n ", "\n"])), function (_ref25) {
8917
+ var $accentColor = _ref25.$accentColor;
8780
8918
  return $accentColor + "20";
8781
- }, fadeSlideUp, function (_ref25) {
8782
- var $index = _ref25.$index;
8919
+ }, fadeSlideUp, function (_ref26) {
8920
+ var $index = _ref26.$index;
8783
8921
  return 0.06 + $index * 0.04;
8784
- }, function (_ref26) {
8785
- var $accentColor = _ref26.$accentColor;
8786
- return $accentColor + "45";
8787
8922
  }, function (_ref27) {
8788
8923
  var $accentColor = _ref27.$accentColor;
8789
- return $accentColor + "12";
8924
+ return $accentColor + "45";
8790
8925
  }, function (_ref28) {
8791
8926
  var $accentColor = _ref28.$accentColor;
8927
+ return $accentColor + "12";
8928
+ }, function (_ref29) {
8929
+ var $accentColor = _ref29.$accentColor;
8792
8930
  return $accentColor + "50";
8793
8931
  }, reducedMotion);
8794
8932
  var CardBody = styled__default.div(_templateObject26$1 || (_templateObject26$1 = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n gap: 0.35rem;\n padding: 0.6rem 0.65rem;\n"])));
8795
8933
  var CardHeader = styled__default.div(_templateObject27$1 || (_templateObject27$1 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: flex-start;\n gap: 0.55rem;\n"])));
8796
8934
  var CardHeaderCopy = styled__default.div(_templateObject28$1 || (_templateObject28$1 = _taggedTemplateLiteralLoose(["\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 0.15rem;\n"])));
8797
- var SavingsBadge = styled__default.div(_templateObject29$1 || (_templateObject29$1 = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-width: 3.1rem;\n padding: 0.3rem 0.35rem;\n border-radius: 0.5rem;\n flex-shrink: 0;\n text-align: center;\n color: #fff;\n line-height: 1;\n background: ", ";\n box-shadow: 0 3px 10px ", ";\n"])), function (_ref29) {
8798
- var $accentColor = _ref29.$accentColor,
8799
- $variant = _ref29.$variant;
8935
+ var SavingsBadge = styled__default.div(_templateObject29$1 || (_templateObject29$1 = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-width: 3.1rem;\n padding: 0.3rem 0.35rem;\n border-radius: 0.5rem;\n flex-shrink: 0;\n text-align: center;\n color: #fff;\n line-height: 1;\n background: ", ";\n box-shadow: 0 3px 10px ", ";\n"])), function (_ref30) {
8936
+ var $accentColor = _ref30.$accentColor,
8937
+ $variant = _ref30.$variant;
8800
8938
  if ($variant === 'gift') {
8801
8939
  return "linear-gradient(145deg, #e8a317 0%, #c47d0a 100%)";
8802
8940
  }
@@ -8804,152 +8942,152 @@ var SavingsBadge = styled__default.div(_templateObject29$1 || (_templateObject29
8804
8942
  return "linear-gradient(145deg, " + $accentColor + " 0%, #2d5f0a 100%)";
8805
8943
  }
8806
8944
  return "linear-gradient(145deg, " + $accentColor + " 0%, " + $accentColor + "cc 100%)";
8807
- }, function (_ref30) {
8808
- var $accentColor = _ref30.$accentColor;
8945
+ }, function (_ref31) {
8946
+ var $accentColor = _ref31.$accentColor;
8809
8947
  return $accentColor + "28";
8810
8948
  });
8811
8949
  var BadgeTop = styled__default.span(_templateObject30$1 || (_templateObject30$1 = _taggedTemplateLiteralLoose(["\n font-size: 0.82rem;\n font-weight: 900;\n letter-spacing: -0.02em;\n"])));
8812
8950
  var BadgeBottom = styled__default.span(_templateObject31$1 || (_templateObject31$1 = _taggedTemplateLiteralLoose(["\n margin-top: 0.1rem;\n font-size: 0.52rem;\n font-weight: 800;\n letter-spacing: 0.08em;\n opacity: 0.92;\n"])));
8813
8951
  var CardMetaRow = styled__default.div(_templateObject32$1 || (_templateObject32$1 = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 0.28rem;\n"])));
8814
- var TypePill = styled__default.span(_templateObject33$1 || (_templateObject33$1 = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n align-items: center;\n gap: 0.22rem;\n padding: 0.12rem 0.4rem;\n border-radius: 999px;\n font-size: 0.6rem;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n color: ", ";\n background: ", ";\n border: 1px solid ", ";\n\n svg {\n font-size: 0.65rem;\n }\n"])), function (_ref31) {
8815
- var $accentColor = _ref31.$accentColor;
8816
- return $accentColor;
8817
- }, function (_ref32) {
8952
+ var TypePill = styled__default.span(_templateObject33$1 || (_templateObject33$1 = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n align-items: center;\n gap: 0.22rem;\n padding: 0.12rem 0.4rem;\n border-radius: 999px;\n font-size: 0.6rem;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n color: ", ";\n background: ", ";\n border: 1px solid ", ";\n\n svg {\n font-size: 0.65rem;\n }\n"])), function (_ref32) {
8818
8953
  var $accentColor = _ref32.$accentColor;
8819
- return $accentColor + "10";
8954
+ return $accentColor;
8820
8955
  }, function (_ref33) {
8821
8956
  var $accentColor = _ref33.$accentColor;
8957
+ return $accentColor + "10";
8958
+ }, function (_ref34) {
8959
+ var $accentColor = _ref34.$accentColor;
8822
8960
  return $accentColor + "22";
8823
8961
  });
8824
- var QualifiedPill = styled__default.span(_templateObject34$1 || (_templateObject34$1 = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n align-items: center;\n gap: 0.2rem;\n padding: 0.12rem 0.4rem;\n border-radius: 999px;\n font-size: 0.6rem;\n font-weight: 700;\n color: ", ";\n background: ", ";\n border: 1px solid ", ";\n\n svg {\n font-size: 0.62rem;\n }\n"])), function (_ref34) {
8825
- var $accentColor = _ref34.$accentColor;
8826
- return $accentColor;
8827
- }, function (_ref35) {
8962
+ var QualifiedPill = styled__default.span(_templateObject34$1 || (_templateObject34$1 = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n align-items: center;\n gap: 0.2rem;\n padding: 0.12rem 0.4rem;\n border-radius: 999px;\n font-size: 0.6rem;\n font-weight: 700;\n color: ", ";\n background: ", ";\n border: 1px solid ", ";\n\n svg {\n font-size: 0.62rem;\n }\n"])), function (_ref35) {
8828
8963
  var $accentColor = _ref35.$accentColor;
8829
- return $accentColor + "12";
8964
+ return $accentColor;
8830
8965
  }, function (_ref36) {
8831
8966
  var $accentColor = _ref36.$accentColor;
8967
+ return $accentColor + "12";
8968
+ }, function (_ref37) {
8969
+ var $accentColor = _ref37.$accentColor;
8832
8970
  return $accentColor + "30";
8833
8971
  });
8834
8972
  var TitleRow = styled__default.div(_templateObject35 || (_templateObject35 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.45rem;\n min-width: 0;\n flex-wrap: wrap;\n"])));
8835
8973
  var OfferTitle = styled__default.h4(_templateObject36 || (_templateObject36 = _taggedTemplateLiteralLoose(["\n margin: 0;\n flex: 1;\n min-width: 0;\n font-size: 0.88rem;\n font-weight: 800;\n letter-spacing: -0.015em;\n color: #141a10;\n line-height: 1.25;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n"])));
8836
8974
  var OfferDescription = styled__default.p(_templateObject37 || (_templateObject37 = _taggedTemplateLiteralLoose(["\n margin: 0;\n font-size: 0.74rem;\n font-weight: 500;\n color: #4a5540;\n line-height: 1.35;\n"])));
8837
- var BuyXTimeline = styled__default.div(_templateObject38 || (_templateObject38 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n gap: 0.35rem;\n padding: 0.4rem 0.55rem;\n border-radius: 0.5rem;\n background: ", ";\n border: 1px solid ", ";\n"])), function (_ref37) {
8838
- var $accentColor = _ref37.$accentColor;
8839
- return $accentColor + "07";
8840
- }, function (_ref38) {
8975
+ var BuyXTimeline = styled__default.div(_templateObject38 || (_templateObject38 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n gap: 0.35rem;\n padding: 0.4rem 0.55rem;\n border-radius: 0.5rem;\n background: ", ";\n border: 1px solid ", ";\n"])), function (_ref38) {
8841
8976
  var $accentColor = _ref38.$accentColor;
8977
+ return $accentColor + "07";
8978
+ }, function (_ref39) {
8979
+ var $accentColor = _ref39.$accentColor;
8842
8980
  return $accentColor + "14";
8843
8981
  });
8844
8982
  var TimelineStep = styled__default.div(_templateObject39 || (_templateObject39 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n gap: 0.25rem;\n min-width: 0;\n"])));
8845
- var TimelineIcon = styled__default.div(_templateObject40 || (_templateObject40 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.45rem;\n height: 1.45rem;\n border-radius: 0.35rem;\n color: ", ";\n background: ", ";\n\n svg {\n font-size: 0.72rem;\n }\n"])), function (_ref39) {
8846
- var $accentColor = _ref39.$accentColor,
8847
- $highlight = _ref39.$highlight;
8848
- return $highlight ? '#fff' : $accentColor;
8849
- }, function (_ref40) {
8983
+ var TimelineIcon = styled__default.div(_templateObject40 || (_templateObject40 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.45rem;\n height: 1.45rem;\n border-radius: 0.35rem;\n color: ", ";\n background: ", ";\n\n svg {\n font-size: 0.72rem;\n }\n"])), function (_ref40) {
8850
8984
  var $accentColor = _ref40.$accentColor,
8851
8985
  $highlight = _ref40.$highlight;
8986
+ return $highlight ? '#fff' : $accentColor;
8987
+ }, function (_ref41) {
8988
+ var $accentColor = _ref41.$accentColor,
8989
+ $highlight = _ref41.$highlight;
8852
8990
  return $highlight ? $accentColor : $accentColor + "14";
8853
8991
  });
8854
8992
  var TimelineLabel = styled__default.span(_templateObject41 || (_templateObject41 = _taggedTemplateLiteralLoose(["\n font-size: 0.65rem;\n font-weight: 700;\n color: #3a4334;\n white-space: nowrap;\n"])));
8855
8993
  var TimelineTrack = styled__default.div(_templateObject42 || (_templateObject42 = _taggedTemplateLiteralLoose(["\n flex: 1;\n display: flex;\n align-items: center;\n min-width: 2rem;\n padding: 0 0.15rem;\n"])));
8856
- var TimelineArrow = styled__default.div(_templateObject43 || (_templateObject43 = _taggedTemplateLiteralLoose(["\n width: 100%;\n height: 2px;\n border-radius: 999px;\n background: linear-gradient(\n 90deg,\n ", ",\n ", "\n );\n position: relative;\n\n &::after {\n content: '';\n position: absolute;\n right: -1px;\n top: 50%;\n transform: translateY(-50%);\n border: 5px solid transparent;\n border-left-color: ", ";\n }\n"])), function (_ref41) {
8857
- var $accentColor = _ref41.$accentColor;
8858
- return $accentColor + "44";
8859
- }, function (_ref42) {
8994
+ var TimelineArrow = styled__default.div(_templateObject43 || (_templateObject43 = _taggedTemplateLiteralLoose(["\n width: 100%;\n height: 2px;\n border-radius: 999px;\n background: linear-gradient(\n 90deg,\n ", ",\n ", "\n );\n position: relative;\n\n &::after {\n content: '';\n position: absolute;\n right: -1px;\n top: 50%;\n transform: translateY(-50%);\n border: 5px solid transparent;\n border-left-color: ", ";\n }\n"])), function (_ref42) {
8860
8995
  var $accentColor = _ref42.$accentColor;
8861
- return $accentColor;
8996
+ return $accentColor + "44";
8862
8997
  }, function (_ref43) {
8863
8998
  var $accentColor = _ref43.$accentColor;
8864
8999
  return $accentColor;
9000
+ }, function (_ref44) {
9001
+ var $accentColor = _ref44.$accentColor;
9002
+ return $accentColor;
8865
9003
  });
8866
9004
  var ProgressBlock = styled__default.div(_templateObject44 || (_templateObject44 = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n"])));
8867
9005
  var ProgressTrack = styled__default.div(_templateObject45 || (_templateObject45 = _taggedTemplateLiteralLoose(["\n width: 100%;\n height: 0.35rem;\n border-radius: 999px;\n background: #e8ede3;\n overflow: hidden;\n"])));
8868
- var ProgressFill = styled__default.div(_templateObject46 || (_templateObject46 = _taggedTemplateLiteralLoose(["\n height: 100%;\n width: ", "%;\n border-radius: 999px;\n background: linear-gradient(\n 90deg,\n ", " 0%,\n ", " 100%\n );\n animation: ", " 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;\n transition: width 0.4s ease;\n\n ", "\n"])), function (_ref44) {
8869
- var $percent = _ref44.$percent;
9006
+ var ProgressFill = styled__default.div(_templateObject46 || (_templateObject46 = _taggedTemplateLiteralLoose(["\n height: 100%;\n width: ", "%;\n border-radius: 999px;\n background: linear-gradient(\n 90deg,\n ", " 0%,\n ", " 100%\n );\n animation: ", " 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;\n transition: width 0.4s ease;\n\n ", "\n"])), function (_ref45) {
9007
+ var $percent = _ref45.$percent;
8870
9008
  return $percent;
8871
- }, function (_ref45) {
8872
- var $accentColor = _ref45.$accentColor;
8873
- return $accentColor + "cc";
8874
9009
  }, function (_ref46) {
8875
9010
  var $accentColor = _ref46.$accentColor;
9011
+ return $accentColor + "cc";
9012
+ }, function (_ref47) {
9013
+ var $accentColor = _ref47.$accentColor;
8876
9014
  return $accentColor;
8877
9015
  }, progressGrow, reducedMotion);
8878
9016
  var ProgressMeta = styled__default.div(_templateObject47 || (_templateObject47 = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n gap: 0.2rem 0.5rem;\n"])));
8879
9017
  var ProgressCount = styled__default.div(_templateObject48 || (_templateObject48 = _taggedTemplateLiteralLoose(["\n font-size: 0.7rem;\n font-weight: 600;\n color: #2f3829;\n\n strong {\n font-size: 0.78rem;\n font-weight: 800;\n }\n\n span {\n color: #6a7364;\n }\n"])));
8880
9018
  var ProgressHint = styled__default.span(_templateObject49 || (_templateObject49 = _taggedTemplateLiteralLoose(["\n font-size: 0.68rem;\n font-weight: 600;\n color: #7a5e12;\n line-height: 1.3;\n"])));
8881
- var SuccessBanner = styled__default.div(_templateObject50 || (_templateObject50 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n gap: 0.3rem;\n padding: 0.32rem 0.5rem;\n border-radius: 0.45rem;\n font-size: 0.7rem;\n font-weight: 600;\n color: ", ";\n background: ", ";\n border: 1px solid ", ";\n\n svg {\n flex-shrink: 0;\n font-size: 0.75rem;\n }\n"])), function (_ref47) {
8882
- var $accentColor = _ref47.$accentColor;
8883
- return $accentColor;
8884
- }, function (_ref48) {
9019
+ var SuccessBanner = styled__default.div(_templateObject50 || (_templateObject50 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n gap: 0.3rem;\n padding: 0.32rem 0.5rem;\n border-radius: 0.45rem;\n font-size: 0.7rem;\n font-weight: 600;\n color: ", ";\n background: ", ";\n border: 1px solid ", ";\n\n svg {\n flex-shrink: 0;\n font-size: 0.75rem;\n }\n"])), function (_ref48) {
8885
9020
  var $accentColor = _ref48.$accentColor;
8886
- return $accentColor + "10";
9021
+ return $accentColor;
8887
9022
  }, function (_ref49) {
8888
9023
  var $accentColor = _ref49.$accentColor;
9024
+ return $accentColor + "10";
9025
+ }, function (_ref50) {
9026
+ var $accentColor = _ref50.$accentColor;
8889
9027
  return $accentColor + "25";
8890
9028
  });
8891
9029
  var StatusList = styled__default.div(_templateObject51 || (_templateObject51 = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n"])));
8892
- var StatusItem = styled__default.div(_templateObject52 || (_templateObject52 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: flex-start;\n gap: 0.3rem;\n padding: 0.28rem 0.45rem;\n border-radius: 0.45rem;\n font-size: 0.7rem;\n font-weight: 600;\n line-height: 1.35;\n opacity: 0;\n animation: ", " 0.28s ease forwards;\n animation-delay: ", "s;\n\n background-color: ", ";\n\n color: ", ";\n\n border: 1px solid\n ", ";\n\n svg {\n flex-shrink: 0;\n margin-top: 0.1rem;\n font-size: 0.82rem;\n }\n\n ", "\n"])), chipIn, function (_ref50) {
8893
- var $chipIndex = _ref50.$chipIndex;
9030
+ var StatusItem = styled__default.div(_templateObject52 || (_templateObject52 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: flex-start;\n gap: 0.3rem;\n padding: 0.28rem 0.45rem;\n border-radius: 0.45rem;\n font-size: 0.7rem;\n font-weight: 600;\n line-height: 1.35;\n opacity: 0;\n animation: ", " 0.28s ease forwards;\n animation-delay: ", "s;\n\n background-color: ", ";\n\n color: ", ";\n\n border: 1px solid\n ", ";\n\n svg {\n flex-shrink: 0;\n margin-top: 0.1rem;\n font-size: 0.82rem;\n }\n\n ", "\n"])), chipIn, function (_ref51) {
9031
+ var $chipIndex = _ref51.$chipIndex;
8894
9032
  return 0.1 + $chipIndex * 0.05;
8895
- }, function (_ref51) {
8896
- var $accentColor = _ref51.$accentColor,
8897
- $tone = _ref51.$tone;
8898
- if ($tone === 'warning') return '#fff8eb';
8899
- if ($tone === 'success') return $accentColor + "10";
8900
- return '#f4f6f1';
8901
9033
  }, function (_ref52) {
8902
9034
  var $accentColor = _ref52.$accentColor,
8903
9035
  $tone = _ref52.$tone;
8904
- if ($tone === 'warning') return '#8a6400';
8905
- if ($tone === 'success') return $accentColor;
8906
- return '#45503c';
9036
+ if ($tone === 'warning') return '#fff8eb';
9037
+ if ($tone === 'success') return $accentColor + "10";
9038
+ return '#f4f6f1';
8907
9039
  }, function (_ref53) {
8908
9040
  var $accentColor = _ref53.$accentColor,
8909
9041
  $tone = _ref53.$tone;
9042
+ if ($tone === 'warning') return '#8a6400';
9043
+ if ($tone === 'success') return $accentColor;
9044
+ return '#45503c';
9045
+ }, function (_ref54) {
9046
+ var $accentColor = _ref54.$accentColor,
9047
+ $tone = _ref54.$tone;
8910
9048
  if ($tone === 'warning') return '#f0d48a';
8911
9049
  if ($tone === 'success') return $accentColor + "28";
8912
9050
  return '#e0e5da';
8913
9051
  }, reducedMotion);
8914
9052
  var GiftSection = styled__default.div(_templateObject53 || (_templateObject53 = _taggedTemplateLiteralLoose(["\n padding-top: 0.35rem;\n border-top: 1px solid #eef1e9;\n"])));
8915
- var GiftSectionHeader = styled__default.div(_templateObject54 || (_templateObject54 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n gap: 0.28rem;\n margin-bottom: 0.3rem;\n font-size: 0.62rem;\n font-weight: 800;\n text-transform: uppercase;\n letter-spacing: 0.06em;\n color: ", ";\n\n svg {\n font-size: 0.72rem;\n }\n"])), function (_ref54) {
8916
- var $accentColor = _ref54.$accentColor;
9053
+ var GiftSectionHeader = styled__default.div(_templateObject54 || (_templateObject54 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n gap: 0.28rem;\n margin-bottom: 0.3rem;\n font-size: 0.62rem;\n font-weight: 800;\n text-transform: uppercase;\n letter-spacing: 0.06em;\n color: ", ";\n\n svg {\n font-size: 0.72rem;\n }\n"])), function (_ref55) {
9054
+ var $accentColor = _ref55.$accentColor;
8917
9055
  return $accentColor;
8918
9056
  });
8919
9057
  var GiftList = styled__default.div(_templateObject55 || (_templateObject55 = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n gap: 0.22rem;\n"])));
8920
- var GiftLink = styled__default.a(_templateObject56 || (_templateObject56 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.35rem;\n padding: 0.32rem 0.45rem;\n border-radius: 0.4rem;\n border: 1px solid ", ";\n background: #fafcf8;\n color: #2a3325;\n font-size: 0.72rem;\n font-weight: 600;\n line-height: 1.3;\n text-decoration: none;\n cursor: pointer;\n transition: background-color 0.18s ease, border-color 0.18s ease;\n\n span {\n flex: 1;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n svg {\n flex-shrink: 0;\n font-size: 0.72rem;\n color: ", ";\n transition: transform 0.18s ease;\n }\n\n &:hover {\n border-color: ", ";\n background: ", ";\n\n svg {\n transform: translateX(2px);\n }\n }\n\n &:focus-visible {\n outline: 2px solid ", ";\n outline-offset: 1px;\n }\n\n ", "\n"])), function (_ref55) {
8921
- var $accentColor = _ref55.$accentColor;
8922
- return $accentColor + "1e";
8923
- }, function (_ref56) {
9058
+ var GiftLink = styled__default.a(_templateObject56 || (_templateObject56 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.35rem;\n padding: 0.32rem 0.45rem;\n border-radius: 0.4rem;\n border: 1px solid ", ";\n background: #fafcf8;\n color: #2a3325;\n font-size: 0.72rem;\n font-weight: 600;\n line-height: 1.3;\n text-decoration: none;\n cursor: pointer;\n transition: background-color 0.18s ease, border-color 0.18s ease;\n\n span {\n flex: 1;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n svg {\n flex-shrink: 0;\n font-size: 0.72rem;\n color: ", ";\n transition: transform 0.18s ease;\n }\n\n &:hover {\n border-color: ", ";\n background: ", ";\n\n svg {\n transform: translateX(2px);\n }\n }\n\n &:focus-visible {\n outline: 2px solid ", ";\n outline-offset: 1px;\n }\n\n ", "\n"])), function (_ref56) {
8924
9059
  var $accentColor = _ref56.$accentColor;
8925
- return $accentColor;
9060
+ return $accentColor + "1e";
8926
9061
  }, function (_ref57) {
8927
9062
  var $accentColor = _ref57.$accentColor;
8928
9063
  return $accentColor;
8929
9064
  }, function (_ref58) {
8930
9065
  var $accentColor = _ref58.$accentColor;
8931
- return $accentColor + "08";
9066
+ return $accentColor;
8932
9067
  }, function (_ref59) {
8933
9068
  var $accentColor = _ref59.$accentColor;
9069
+ return $accentColor + "08";
9070
+ }, function (_ref60) {
9071
+ var $accentColor = _ref60.$accentColor;
8934
9072
  return $accentColor;
8935
9073
  }, reducedMotion);
8936
9074
  var CodeRow = styled__default.div(_templateObject57 || (_templateObject57 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n gap: 0.3rem;\n flex-shrink: 0;\n"])));
8937
- var CodeValue = styled__default.code(_templateObject58 || (_templateObject58 = _taggedTemplateLiteralLoose(["\n min-width: 0;\n max-width: 8.5rem;\n padding: 0.28rem 0.45rem;\n border-radius: 0.4rem;\n border: 1.5px dashed ", ";\n background: #fff;\n font-family: 'SF Mono', 'JetBrains Mono', Menlo, Consolas, monospace;\n font-size: 0.68rem;\n font-weight: 800;\n letter-spacing: 0.04em;\n color: #141a10;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n"])), function (_ref60) {
8938
- var $accentColor = _ref60.$accentColor;
9075
+ var CodeValue = styled__default.code(_templateObject58 || (_templateObject58 = _taggedTemplateLiteralLoose(["\n min-width: 0;\n max-width: 8.5rem;\n padding: 0.28rem 0.45rem;\n border-radius: 0.4rem;\n border: 1.5px dashed ", ";\n background: #fff;\n font-family: 'SF Mono', 'JetBrains Mono', Menlo, Consolas, monospace;\n font-size: 0.68rem;\n font-weight: 800;\n letter-spacing: 0.04em;\n color: #141a10;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n"])), function (_ref61) {
9076
+ var $accentColor = _ref61.$accentColor;
8939
9077
  return $accentColor;
8940
9078
  });
8941
- var PrimaryCopyButton = styled__default.button(_templateObject59 || (_templateObject59 = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.22rem;\n flex-shrink: 0;\n height: 1.7rem;\n padding: 0 0.55rem;\n border: none;\n border-radius: 0.4rem;\n font-size: 0.68rem;\n font-weight: 800;\n color: #fff;\n cursor: pointer;\n background: ", ";\n box-shadow: 0 2px 8px ", ";\n transition: transform 0.15s ease, background 0.2s ease;\n animation: ", " 0.35s ease;\n\n svg {\n font-size: 0.72rem;\n }\n\n &:hover {\n transform: translateY(-1px);\n }\n\n &:active {\n transform: scale(0.98);\n }\n\n &:focus-visible {\n outline: 2px solid ", ";\n outline-offset: 2px;\n }\n\n ", "\n"])), function (_ref61) {
8942
- var $accentColor = _ref61.$accentColor,
8943
- $copied = _ref61.$copied;
9079
+ var PrimaryCopyButton = styled__default.button(_templateObject59 || (_templateObject59 = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.22rem;\n flex-shrink: 0;\n height: 1.7rem;\n padding: 0 0.55rem;\n border: none;\n border-radius: 0.4rem;\n font-size: 0.68rem;\n font-weight: 800;\n color: #fff;\n cursor: pointer;\n background: ", ";\n box-shadow: 0 2px 8px ", ";\n transition: transform 0.15s ease, background 0.2s ease;\n animation: ", " 0.35s ease;\n\n svg {\n font-size: 0.72rem;\n }\n\n &:hover {\n transform: translateY(-1px);\n }\n\n &:active {\n transform: scale(0.98);\n }\n\n &:focus-visible {\n outline: 2px solid ", ";\n outline-offset: 2px;\n }\n\n ", "\n"])), function (_ref62) {
9080
+ var $accentColor = _ref62.$accentColor,
9081
+ $copied = _ref62.$copied;
8944
9082
  return $copied ? "linear-gradient(145deg, " + $accentColor + " 0%, " + $accentColor + "dd 100%)" : 'linear-gradient(145deg, #1a2114 0%, #0f140c 100%)';
8945
- }, function (_ref62) {
8946
- var $accentColor = _ref62.$accentColor;
8947
- return $accentColor + "28";
8948
9083
  }, function (_ref63) {
8949
- var $copied = _ref63.$copied;
8950
- return $copied ? copyPop : 'none';
9084
+ var $accentColor = _ref63.$accentColor;
9085
+ return $accentColor + "28";
8951
9086
  }, function (_ref64) {
8952
- var $accentColor = _ref64.$accentColor;
9087
+ var $copied = _ref64.$copied;
9088
+ return $copied ? copyPop : 'none';
9089
+ }, function (_ref65) {
9090
+ var $accentColor = _ref65.$accentColor;
8953
9091
  return $accentColor;
8954
9092
  }, reducedMotion);
8955
9093
 
@@ -9197,7 +9335,7 @@ var CardRow = function CardRow(_ref3) {
9197
9335
  discountName: row === null || row === void 0 ? void 0 : row.couponCode
9198
9336
  }), showDiscountSuggestions && showDiscountButton && firstSuggestion && /*#__PURE__*/React__default.createElement(DiscountSuggestionPreview, {
9199
9337
  coupon: firstSuggestion,
9200
- productPrice: (row === null || row === void 0 ? void 0 : row.standardPrice) || 0,
9338
+ productPrice: (row === null || row === void 0 ? void 0 : row.tierPrice) || (row === null || row === void 0 ? void 0 : row.standardPrice) || 0,
9201
9339
  cartQuantity: (row === null || row === void 0 ? void 0 : row.quantity) || 0,
9202
9340
  primaryColor: accentColor,
9203
9341
  loading: loading,
@@ -9301,7 +9439,7 @@ var CardRow = function CardRow(_ref3) {
9301
9439
  productDiscounts: productDiscounts,
9302
9440
  primaryColor: accentColor,
9303
9441
  cartQuantity: (row === null || row === void 0 ? void 0 : row.quantity) || 0,
9304
- productPrice: (row === null || row === void 0 ? void 0 : row.standardPrice) || 0
9442
+ productPrice: (row === null || row === void 0 ? void 0 : row.tierPrice) || (row === null || row === void 0 ? void 0 : row.standardPrice) || 0
9305
9443
  })));
9306
9444
  };
9307
9445
 
@@ -9755,7 +9893,7 @@ var CartPageProductCard = function CartPageProductCard(_ref3) {
9755
9893
  discountAmount: item === null || item === void 0 ? void 0 : item.discountAmount
9756
9894
  }))), showDiscountSuggestions && showDiscountButton && firstSuggestion && /*#__PURE__*/React__default.createElement(DiscountSuggestionPreview, {
9757
9895
  coupon: firstSuggestion,
9758
- productPrice: (item === null || item === void 0 ? void 0 : item.standardPrice) || 0,
9896
+ productPrice: (item === null || item === void 0 ? void 0 : item.tierPrice) || (item === null || item === void 0 ? void 0 : item.standardPrice) || 0,
9759
9897
  cartQuantity: (item === null || item === void 0 ? void 0 : item.quantity) || 0,
9760
9898
  primaryColor: accentColor,
9761
9899
  loading: loading,
@@ -9819,7 +9957,7 @@ var CartPageProductCard = function CartPageProductCard(_ref3) {
9819
9957
  productDiscounts: productDiscounts,
9820
9958
  primaryColor: accentColor,
9821
9959
  cartQuantity: (item === null || item === void 0 ? void 0 : item.quantity) || 0,
9822
- productPrice: (item === null || item === void 0 ? void 0 : item.standardPrice) || 0
9960
+ productPrice: (item === null || item === void 0 ? void 0 : item.tierPrice) || (item === null || item === void 0 ? void 0 : item.standardPrice) || 0
9823
9961
  }));
9824
9962
  };
9825
9963
 
@@ -13636,7 +13774,7 @@ var Step2 = function Step2(_ref) {
13636
13774
  icon: /*#__PURE__*/React__default.createElement(fi.FiTruck, {
13637
13775
  className: "icon"
13638
13776
  })
13639
- }), /*#__PURE__*/React__default.createElement(StepsContent, null, showShipping && /*#__PURE__*/React__default.createElement(React.Fragment, null, /*#__PURE__*/React__default.createElement(material.Grid, {
13777
+ }), /*#__PURE__*/React__default.createElement(StepsContent, null, showShipping && /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(material.Grid, {
13640
13778
  container: true
13641
13779
  }, /*#__PURE__*/React__default.createElement(material.Grid, {
13642
13780
  item: true,