@rebuy/rebuy 2.35.1 → 2.36.0

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.
Files changed (39) hide show
  1. package/dist/index.js +20 -0
  2. package/dist/index.js.map +2 -2
  3. package/dist/index.mjs +20 -0
  4. package/dist/index.mjs.map +2 -2
  5. package/dist/schema/cabShopConfig.d.ts +1 -0
  6. package/dist/schema/cabShopConfig.d.ts.map +1 -1
  7. package/dist/schema/checkout-and-beyond/index.js +7 -0
  8. package/dist/schema/checkout-and-beyond/index.js.map +2 -2
  9. package/dist/schema/checkout-and-beyond/index.mjs +7 -0
  10. package/dist/schema/checkout-and-beyond/index.mjs.map +2 -2
  11. package/dist/schema/smartCart.d.ts +4 -0
  12. package/dist/schema/smartCart.d.ts.map +1 -1
  13. package/dist/schema/user-config.js +13 -0
  14. package/dist/schema/user-config.js.map +2 -2
  15. package/dist/schema/user-config.mjs +13 -0
  16. package/dist/schema/user-config.mjs.map +2 -2
  17. package/dist/schema/userConfig.d.ts +1 -0
  18. package/dist/schema/userConfig.d.ts.map +1 -1
  19. package/dist/schema/widget-data.js +7 -0
  20. package/dist/schema/widget-data.js.map +2 -2
  21. package/dist/schema/widget-data.mjs +7 -0
  22. package/dist/schema/widget-data.mjs.map +2 -2
  23. package/dist/schema/widgets/checkout-and-beyond/progressBar.d.ts +2 -0
  24. package/dist/schema/widgets/checkout-and-beyond/progressBar.d.ts.map +1 -1
  25. package/dist/server/index.js +62 -17
  26. package/dist/server/index.js.map +3 -3
  27. package/dist/server/index.mjs +62 -17
  28. package/dist/server/index.mjs.map +3 -3
  29. package/dist/transforms/index.js +49 -17
  30. package/dist/transforms/index.js.map +3 -3
  31. package/dist/transforms/index.mjs +49 -17
  32. package/dist/transforms/index.mjs.map +3 -3
  33. package/dist/transforms/normalizeTokens.d.ts +1 -0
  34. package/dist/transforms/normalizeTokens.d.ts.map +1 -1
  35. package/dist/transforms/progressBarV1/convertProgressBarToV2.d.ts.map +1 -1
  36. package/dist/transforms/reactBarChrome.d.ts +18 -0
  37. package/dist/transforms/reactBarChrome.d.ts.map +1 -0
  38. package/dist/transforms/smartCart/convertSmartCartProgressBarToV2.d.ts.map +1 -1
  39. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1033,6 +1033,19 @@ var SmartCartTier = import_zod.z.looseObject({
1033
1033
  productAmountRemainingLabel: import_zod.z.boolean().optional(),
1034
1034
  productAmountRemainingLabelText: import_zod.z.string().optional(),
1035
1035
  products: import_zod.z.array(SmartCartTierProduct).optional(),
1036
+ /**
1037
+ * onsite `product_tier_image`: on a product (gift) tier, show the gift's product image in the step-row
1038
+ * slot instead of the generic bag icon (React `TierProgressIcon` swaps in the image when this is set and
1039
+ * an image resolves). Per-tier; the client resolves the image (config carries only product IDs).
1040
+ *
1041
+ * `.catch(undefined)` is load-bearing. This key was previously unknown-and-ignored by the `looseObject`;
1042
+ * declaring it as a real boolean means a stored non-boolean (`1` / `"1"` / `"true"`) would now FAIL the
1043
+ * tier — and since `SmartCartConfig` is parsed `.nullish().catch(undefined)` (userConfig/cabShopConfig)
1044
+ * with no intermediate catch, one drifted flag would drop EVERY progress bar for the shop, not just the
1045
+ * flag. The converter only reads it for truthiness (`gift && tier.productTierImage`), so failing open to
1046
+ * `undefined` (bag-icon fallback, the documented default) is strictly safer than that blast radius.
1047
+ */
1048
+ productTierImage: import_zod.z.boolean().optional().catch(void 0),
1036
1049
  type: import_zod.z.string().optional(),
1037
1050
  /**
1038
1051
  * onsite's PER-TIER unit switch (`unlock_condition_type`): `'item_quantity'` makes `minimum` an
@@ -2510,6 +2523,13 @@ var CABProgressTier = import_zod23.z.object({
2510
2523
  * emits no caption slot rather than an empty one). Plain text — a compact icon+label.
2511
2524
  */
2512
2525
  label: import_zod23.z.record(import_zod23.z.string(), import_zod23.z.string()).optional(),
2526
+ /**
2527
+ * Smart-cart product (gift) tiers only (onsite `product_tier_image`): show the gift's product image in
2528
+ * the step-row slot instead of the generic bag icon. The converter can't supply the image URL (config
2529
+ * carries only product IDs), so the client resolves it (authoritative Shopify featured image, React
2530
+ * parity) and falls back to the bag icon when the flag is off or no image resolves. Default false.
2531
+ */
2532
+ productTierImage: import_zod23.z.boolean().default(false),
2513
2533
  /**
2514
2534
  * The tier's goal, measured per `unit`. `currency` (default): SHOP-currency cents — the canonical
2515
2535
  * fallback: when the buyer's presentment currency has no entry in `thresholds`, the client