@rebuy/rebuy 2.27.0 → 2.28.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 (58) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1352 -366
  4. package/dist/index.js.map +4 -4
  5. package/dist/index.mjs +1351 -365
  6. package/dist/index.mjs.map +4 -4
  7. package/dist/schema/checkout-and-beyond/constants.js +1 -0
  8. package/dist/schema/checkout-and-beyond/constants.js.map +2 -2
  9. package/dist/schema/checkout-and-beyond/constants.mjs +1 -0
  10. package/dist/schema/checkout-and-beyond/constants.mjs.map +2 -2
  11. package/dist/schema/checkout-and-beyond/index.js +285 -92
  12. package/dist/schema/checkout-and-beyond/index.js.map +4 -4
  13. package/dist/schema/checkout-and-beyond/index.mjs +285 -92
  14. package/dist/schema/checkout-and-beyond/index.mjs.map +4 -4
  15. package/dist/schema/widget-data.js +165 -148
  16. package/dist/schema/widget-data.js.map +4 -4
  17. package/dist/schema/widget-data.mjs +165 -148
  18. package/dist/schema/widget-data.mjs.map +4 -4
  19. package/dist/schema/widgets/checkout-and-beyond/common.d.ts +2 -1
  20. package/dist/schema/widgets/checkout-and-beyond/common.d.ts.map +1 -1
  21. package/dist/schema/widgets/checkout-and-beyond/discount.d.ts +30 -0
  22. package/dist/schema/widgets/checkout-and-beyond/discount.d.ts.map +1 -0
  23. package/dist/schema/widgets/checkout-and-beyond/index.d.ts +2 -0
  24. package/dist/schema/widgets/checkout-and-beyond/index.d.ts.map +1 -1
  25. package/dist/schema/widgets/checkout-and-beyond/offerLabels.d.ts +178 -0
  26. package/dist/schema/widgets/checkout-and-beyond/offerLabels.d.ts.map +1 -0
  27. package/dist/schema/widgets/checkout-and-beyond/shared.d.ts +2 -1
  28. package/dist/schema/widgets/checkout-and-beyond/shared.d.ts.map +1 -1
  29. package/dist/schema/widgets/checkout-and-beyond/utils.d.ts +2 -0
  30. package/dist/schema/widgets/checkout-and-beyond/utils.d.ts.map +1 -1
  31. package/dist/server/dataSourceResults.d.ts +18 -0
  32. package/dist/server/dataSourceResults.d.ts.map +1 -0
  33. package/dist/server/index.d.ts +6 -2
  34. package/dist/server/index.d.ts.map +1 -1
  35. package/dist/server/index.js +1162 -435
  36. package/dist/server/index.js.map +4 -4
  37. package/dist/server/index.mjs +1161 -434
  38. package/dist/server/index.mjs.map +4 -4
  39. package/dist/server/userConfig.d.ts +8 -0
  40. package/dist/server/userConfig.d.ts.map +1 -0
  41. package/dist/server/widgetSettings.d.ts.map +1 -1
  42. package/dist/transforms/index.d.ts +4 -0
  43. package/dist/transforms/index.d.ts.map +1 -1
  44. package/dist/transforms/index.js +1004 -81
  45. package/dist/transforms/index.js.map +4 -4
  46. package/dist/transforms/index.mjs +1004 -81
  47. package/dist/transforms/index.mjs.map +4 -4
  48. package/dist/transforms/offerV1/buildOfferTemplate.d.ts +13 -0
  49. package/dist/transforms/offerV1/buildOfferTemplate.d.ts.map +1 -0
  50. package/dist/transforms/offerV1/convertOfferToV2.d.ts +18 -0
  51. package/dist/transforms/offerV1/convertOfferToV2.d.ts.map +1 -0
  52. package/dist/transforms/offerV1/offerCard.d.ts +17 -0
  53. package/dist/transforms/offerV1/offerCard.d.ts.map +1 -0
  54. package/dist/transforms/offerV1/offerTemplateSeed.d.ts +339 -0
  55. package/dist/transforms/offerV1/offerTemplateSeed.d.ts.map +1 -0
  56. package/dist/transforms/offerV1/types.d.ts +145 -0
  57. package/dist/transforms/offerV1/types.d.ts.map +1 -0
  58. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  // src/schema/widgetData.ts
2
- import { z as z28 } from "zod/v4";
2
+ import { z as z29 } from "zod/v4";
3
3
 
4
4
  // src/schema/widgets/abTestingPlaceholder.ts
5
5
  import { z } from "zod/v4";
@@ -128,6 +128,7 @@ var sectionTypes = [
128
128
  "carousel",
129
129
  "cartLine",
130
130
  "dataSource",
131
+ "discount",
131
132
  "image",
132
133
  "layout",
133
134
  "monetize",
@@ -238,14 +239,14 @@ var CheckoutExtension = z2.looseObject({
238
239
  });
239
240
 
240
241
  // src/schema/widgets/contentBlock.ts
241
- import { z as z22 } from "zod/v4";
242
+ import { z as z23 } from "zod/v4";
242
243
 
243
244
  // src/schema/widgets/checkout-and-beyond/root.ts
244
- import { z as z21 } from "zod/v4";
245
+ import { z as z22 } from "zod/v4";
245
246
 
246
247
  // src/schema/widgets/checkout-and-beyond/layout.ts
247
- import { v7 as uuidv712 } from "uuid";
248
- import { z as z20 } from "zod/v4";
248
+ import { v7 as uuidv713 } from "uuid";
249
+ import { z as z21 } from "zod/v4";
249
250
 
250
251
  // src/schema/widgets/checkout-and-beyond/rule.ts
251
252
  import { z as z3 } from "zod/v4";
@@ -315,7 +316,7 @@ var CABRule = z3.object({
315
316
  });
316
317
 
317
318
  // src/schema/widgets/checkout-and-beyond/shared.ts
318
- import { z as z19 } from "zod/v4";
319
+ import { z as z20 } from "zod/v4";
319
320
 
320
321
  // src/schema/widgets/checkout-and-beyond/banner.ts
321
322
  import { z as z4 } from "zod/v4";
@@ -604,39 +605,54 @@ var CABCartLineSection = z13.lazy(
604
605
  })
605
606
  );
606
607
 
607
- // src/schema/widgets/checkout-and-beyond/monetize.ts
608
+ // src/schema/widgets/checkout-and-beyond/discount.ts
608
609
  import { v7 as uuidv77 } from "uuid";
609
610
  import { z as z14 } from "zod/v4";
610
- var CABMonetizeSection = z14.object({
611
+ var CABDiscountSection = z14.object({
612
+ amount: z14.union([z14.number(), z14.string()]).catch(0),
613
+ discountedBy: z14.string().optional(),
614
+ discountedFrom: z14.enum(discountSources).optional().catch(void 0),
615
+ message: z14.string().optional(),
611
616
  name: z14.string().optional(),
612
- rule: CABRule.optional(),
617
+ quantity: z14.number().default(1),
613
618
  sectionId: z14.uuid().default(() => uuidv77()),
614
- sectionType: z14.literal(SectionType.monetize).default(SectionType.monetize)
619
+ sectionType: z14.literal(SectionType.discount).default(SectionType.discount),
620
+ type: z14.enum(discountTypes).catch("none")
615
621
  });
616
622
 
617
- // src/schema/widgets/checkout-and-beyond/progressBar.ts
623
+ // src/schema/widgets/checkout-and-beyond/monetize.ts
618
624
  import { v7 as uuidv78 } from "uuid";
619
625
  import { z as z15 } from "zod/v4";
620
- var CABProgressBarSection = z15.object({
621
- /** Empty = shown everywhere; otherwise uppercase ISO country codes. */
622
- countryCodes: z15.array(z15.string()).default(() => []),
626
+ var CABMonetizeSection = z15.object({
623
627
  name: z15.string().optional(),
624
628
  rule: CABRule.optional(),
625
629
  sectionId: z15.uuid().default(() => uuidv78()),
626
- sections: z15.union([z15.array(CABTextSection), z15.strictObject({}).transform(() => [])]).default(() => []),
627
- sectionType: z15.literal(SectionType.progressBar).default(SectionType.progressBar)
630
+ sectionType: z15.literal(SectionType.monetize).default(SectionType.monetize)
628
631
  });
629
632
 
630
- // src/schema/widgets/checkout-and-beyond/quantity.ts
633
+ // src/schema/widgets/checkout-and-beyond/progressBar.ts
631
634
  import { v7 as uuidv79 } from "uuid";
632
635
  import { z as z16 } from "zod/v4";
633
- var CABQuantitySection = z16.object({
634
- errorMessages: z16.record(
635
- z16.string(),
636
- z16.object({
637
- max: z16.string().optional(),
638
- min: z16.string().optional(),
639
- neg: z16.string().optional()
636
+ var CABProgressBarSection = z16.object({
637
+ /** Empty = shown everywhere; otherwise uppercase ISO country codes. */
638
+ countryCodes: z16.array(z16.string()).default(() => []),
639
+ name: z16.string().optional(),
640
+ rule: CABRule.optional(),
641
+ sectionId: z16.uuid().default(() => uuidv79()),
642
+ sections: z16.union([z16.array(CABTextSection), z16.strictObject({}).transform(() => [])]).default(() => []),
643
+ sectionType: z16.literal(SectionType.progressBar).default(SectionType.progressBar)
644
+ });
645
+
646
+ // src/schema/widgets/checkout-and-beyond/quantity.ts
647
+ import { v7 as uuidv710 } from "uuid";
648
+ import { z as z17 } from "zod/v4";
649
+ var CABQuantitySection = z17.object({
650
+ errorMessages: z17.record(
651
+ z17.string(),
652
+ z17.object({
653
+ max: z17.string().optional(),
654
+ min: z17.string().optional(),
655
+ neg: z17.string().optional()
640
656
  })
641
657
  ).default({
642
658
  en: {
@@ -645,58 +661,59 @@ var CABQuantitySection = z16.object({
645
661
  neg: "Quantity cannot be negative"
646
662
  }
647
663
  }),
648
- inputType: z16.enum(quantityInputs).default(QuantityInput.select),
649
- max: z16.number().min(1).max(100).default(10),
650
- min: z16.number().min(1).default(1),
651
- name: z16.string().optional(),
652
- rule: CABRule.optional(),
653
- sectionId: z16.uuid().default(() => uuidv79()),
654
- sectionType: z16.literal(SectionType.quantity).default(SectionType.quantity)
655
- });
656
-
657
- // src/schema/widgets/checkout-and-beyond/reviews.ts
658
- import { v7 as uuidv710 } from "uuid";
659
- import { z as z17 } from "zod/v4";
660
- var CABReviewsSection = z17.object({
661
- color: z17.string().default("#fadb14"),
664
+ inputType: z17.enum(quantityInputs).default(QuantityInput.select),
665
+ max: z17.number().min(1).max(100).default(10),
666
+ min: z17.number().min(1).default(1),
662
667
  name: z17.string().optional(),
663
668
  rule: CABRule.optional(),
664
669
  sectionId: z17.uuid().default(() => uuidv710()),
665
- sectionType: z17.literal(SectionType.reviews).default(SectionType.reviews),
666
- size: z17.enum(reviewsSizes).default(ReviewsSize.default)
670
+ sectionType: z17.literal(SectionType.quantity).default(SectionType.quantity)
667
671
  });
668
672
 
669
- // src/schema/widgets/checkout-and-beyond/variants.ts
670
- import { slice } from "es-toolkit/compat";
673
+ // src/schema/widgets/checkout-and-beyond/reviews.ts
671
674
  import { v7 as uuidv711 } from "uuid";
672
675
  import { z as z18 } from "zod/v4";
673
- var CABVariantsSection = z18.object({
674
- hideOutOfStockVariants: z18.boolean().default(false),
676
+ var CABReviewsSection = z18.object({
677
+ color: z18.string().default("#fadb14"),
675
678
  name: z18.string().optional(),
676
679
  rule: CABRule.optional(),
677
680
  sectionId: z18.uuid().default(() => uuidv711()),
678
- sectionType: z18.literal(SectionType.variants).default(SectionType.variants),
679
- selector: z18.enum(slice(variantSelectors, 0, 3)).default(VariantSelector.menu),
680
- variantMode: z18.enum(variantModes).default(VariantMode.multiple)
681
+ sectionType: z18.literal(SectionType.reviews).default(SectionType.reviews),
682
+ size: z18.enum(reviewsSizes).default(ReviewsSize.default)
683
+ });
684
+
685
+ // src/schema/widgets/checkout-and-beyond/variants.ts
686
+ import { slice } from "es-toolkit/compat";
687
+ import { v7 as uuidv712 } from "uuid";
688
+ import { z as z19 } from "zod/v4";
689
+ var CABVariantsSection = z19.object({
690
+ hideOutOfStockVariants: z19.boolean().default(false),
691
+ name: z19.string().optional(),
692
+ rule: CABRule.optional(),
693
+ sectionId: z19.uuid().default(() => uuidv712()),
694
+ sectionType: z19.literal(SectionType.variants).default(SectionType.variants),
695
+ selector: z19.enum(slice(variantSelectors, 0, 3)).default(VariantSelector.menu),
696
+ variantMode: z19.enum(variantModes).default(VariantMode.multiple)
681
697
  });
682
698
 
683
699
  // src/schema/widgets/checkout-and-beyond/shared.ts
684
- var CABBorder = z19.object({
685
- radius: z19.enum(borderRadii).default(BorderRadius.base),
686
- style: z19.enum(borderStyles).default(BorderStyle.none),
687
- width: z19.enum(borderWidths).default(BorderWidth.base)
700
+ var CABBorder = z20.object({
701
+ radius: z20.enum(borderRadii).default(BorderRadius.base),
702
+ style: z20.enum(borderStyles).default(BorderStyle.none),
703
+ width: z20.enum(borderWidths).default(BorderWidth.base)
688
704
  }).default({
689
705
  radius: BorderRadius.base,
690
706
  style: BorderStyle.none,
691
707
  width: BorderWidth.base
692
708
  });
693
- var CABSection = z19.lazy(
694
- () => z19.discriminatedUnion("sectionType", [
709
+ var CABSection = z20.lazy(
710
+ () => z20.discriminatedUnion("sectionType", [
695
711
  CABBannerSection,
696
712
  CABButtonSection,
697
713
  CABCarouselSection,
698
714
  CABCartLineSection,
699
715
  CABDataSourceSection,
716
+ CABDiscountSection,
700
717
  CABImageSection,
701
718
  CABLayoutSection,
702
719
  CABMonetizeSection,
@@ -712,155 +729,155 @@ var CABSection = z19.lazy(
712
729
  );
713
730
 
714
731
  // src/schema/widgets/checkout-and-beyond/layout.ts
715
- var GridItem = z20.union([z20.literal("auto"), z20.literal("fill"), z20.string().regex(/^\d+%$/), z20.number()]);
716
- var CABLayoutSection = z20.object({
717
- alignment: z20.object({
718
- horizontal: z20.enum(horizontalAlignments).default(HorizontalAlignment.start),
719
- vertical: z20.enum(verticalAlignments).default(VerticalAlignment.top)
732
+ var GridItem = z21.union([z21.literal("auto"), z21.literal("fill"), z21.string().regex(/^\d+%$/), z21.number()]);
733
+ var CABLayoutSection = z21.object({
734
+ alignment: z21.object({
735
+ horizontal: z21.enum(horizontalAlignments).default(HorizontalAlignment.start),
736
+ vertical: z21.enum(verticalAlignments).default(VerticalAlignment.top)
720
737
  }).default({
721
738
  horizontal: HorizontalAlignment.start,
722
739
  vertical: VerticalAlignment.top
723
740
  }),
724
- border: z20.lazy(() => CABBorder),
725
- buttonField: z20.enum(buttonFields).optional(),
726
- direction: z20.enum(directions).default(Direction.rows),
727
- grid: z20.object({
728
- columns: z20.union([z20.array(GridItem), z20.undefined()]).default(() => ["auto"]),
729
- rows: z20.union([z20.array(GridItem), z20.undefined()]).default(() => ["auto"])
741
+ border: z21.lazy(() => CABBorder),
742
+ buttonField: z21.enum(buttonFields).optional(),
743
+ direction: z21.enum(directions).default(Direction.rows),
744
+ grid: z21.object({
745
+ columns: z21.union([z21.array(GridItem), z21.undefined()]).default(() => ["auto"]),
746
+ rows: z21.union([z21.array(GridItem), z21.undefined()]).default(() => ["auto"])
730
747
  }).default({ columns: ["auto"], rows: ["auto"] }).optional(),
731
- name: z20.string().optional(),
732
- padding: z20.enum(spacings).default(Spacing.none),
748
+ name: z21.string().optional(),
749
+ padding: z21.enum(spacings).default(Spacing.none),
733
750
  rule: CABRule.optional(),
734
- sectionId: z20.uuid().default(() => uuidv712()),
735
- sections: z20.union([z20.array(z20.lazy(() => CABSection)), z20.strictObject({}).transform(() => [])]).default(() => []),
736
- sectionType: z20.literal(SectionType.layout).default(SectionType.layout),
737
- spacing: z20.enum(spacings).default(Spacing.base),
751
+ sectionId: z21.uuid().default(() => uuidv713()),
752
+ sections: z21.union([z21.array(z21.lazy(() => CABSection)), z21.strictObject({}).transform(() => [])]).default(() => []),
753
+ sectionType: z21.literal(SectionType.layout).default(SectionType.layout),
754
+ spacing: z21.enum(spacings).default(Spacing.base),
738
755
  /** Fire-and-forget impression pixel POSTed once when the section is shown (e.g. a Monetize offer view). */
739
- viewUrl: z20.string().optional(),
740
- width: z20.number().default(100)
756
+ viewUrl: z21.string().optional(),
757
+ width: z21.number().default(100)
741
758
  });
742
759
 
743
760
  // src/schema/widgets/checkout-and-beyond/root.ts
744
- var TargetArea = z21.object({
745
- fill: z21.boolean().optional(),
746
- flip: z21.enum(["both", "horizontal", "vertical"]).optional(),
747
- icon: z21.string(),
748
- label: z21.string(),
749
- width: z21.string()
761
+ var TargetArea = z22.object({
762
+ fill: z22.boolean().optional(),
763
+ flip: z22.enum(["both", "horizontal", "vertical"]).optional(),
764
+ icon: z22.string(),
765
+ label: z22.string(),
766
+ width: z22.string()
750
767
  }).default(targetAreas[EditorMode.checkoutExtension][1]);
751
- var CABTracking = z21.object({
752
- enableAttribution: z21.boolean().default(true),
753
- enableSource: z21.boolean().default(true),
754
- enableWidget: z21.boolean().default(true)
768
+ var CABTracking = z22.object({
769
+ enableAttribution: z22.boolean().default(true),
770
+ enableSource: z22.boolean().default(true),
771
+ enableWidget: z22.boolean().default(true)
755
772
  }).default({ enableAttribution: true, enableSource: true, enableWidget: true });
756
773
  var CABRootSection = CABLayoutSection.extend({
757
- editorMode: z21.enum(editorModes).default(EditorMode.checkoutExtension),
758
- previewMode: z21.boolean().default(false),
759
- storeId: z21.number().nullable().default(null),
774
+ editorMode: z22.enum(editorModes).default(EditorMode.checkoutExtension),
775
+ previewMode: z22.boolean().default(false),
776
+ storeId: z22.number().nullable().default(null),
760
777
  targetArea: TargetArea.nullable(),
761
778
  tracking: CABTracking,
762
- type: z21.enum(widgetTypes).default(WidgetType.ui_extension_content_block),
763
- version: z21.literal(2).default(2),
764
- widgetId: z21.number().nullable().default(null)
779
+ type: z22.enum(widgetTypes).default(WidgetType.ui_extension_content_block),
780
+ version: z22.literal(2).default(2),
781
+ widgetId: z22.number().nullable().default(null)
765
782
  });
766
783
 
767
784
  // src/schema/widgets/contentBlock.ts
768
- var ContentBlockV1 = z22.object({
769
- blockSpacing: z22.enum(spacings).optional(),
770
- imageBlocks: z22.union([
771
- z22.array(
772
- z22.object({
773
- altText: z22.string().nullable(),
774
- description: z22.string().nullable(),
775
- id: z22.uuid(),
776
- imagePlacement: z22.enum(["top", "right", "bottom", "left"]),
777
- imageSize: z22.number(),
778
- imageUrl: z22.url(),
779
- textAlignment: z22.enum(["left", "center", "right"]),
780
- textSize: z22.enum(textSizeNames)
785
+ var ContentBlockV1 = z23.object({
786
+ blockSpacing: z23.enum(spacings).optional(),
787
+ imageBlocks: z23.union([
788
+ z23.array(
789
+ z23.object({
790
+ altText: z23.string().nullable(),
791
+ description: z23.string().nullable(),
792
+ id: z23.uuid(),
793
+ imagePlacement: z23.enum(["top", "right", "bottom", "left"]),
794
+ imageSize: z23.number(),
795
+ imageUrl: z23.url(),
796
+ textAlignment: z23.enum(["left", "center", "right"]),
797
+ textSize: z23.enum(textSizeNames)
781
798
  })
782
799
  ),
783
- z22.strictObject({}).transform(() => [])
800
+ z23.strictObject({}).transform(() => [])
784
801
  ]).optional(),
785
- imageLayout: z22.enum(["row", "column"]).optional(),
786
- language: z22.object({
787
- description: z22.string(),
788
- superTitle: z22.string(),
789
- title: z22.string()
802
+ imageLayout: z23.enum(["row", "column"]).optional(),
803
+ language: z23.object({
804
+ description: z23.string(),
805
+ superTitle: z23.string(),
806
+ title: z23.string()
790
807
  }),
791
- previewMode: z22.boolean(),
792
- type: z22.literal(WidgetType.ui_extension_content_block).default(WidgetType.ui_extension_content_block),
793
- version: z22.literal(1)
808
+ previewMode: z23.boolean(),
809
+ type: z23.literal(WidgetType.ui_extension_content_block).default(WidgetType.ui_extension_content_block),
810
+ version: z23.literal(1)
794
811
  });
795
- var ContentBlock = z22.discriminatedUnion("version", [
812
+ var ContentBlock = z23.discriminatedUnion("version", [
796
813
  ContentBlockV1,
797
814
  CABRootSection.extend({
798
- type: z22.literal(WidgetType.ui_extension_content_block).default(WidgetType.ui_extension_content_block)
815
+ type: z23.literal(WidgetType.ui_extension_content_block).default(WidgetType.ui_extension_content_block)
799
816
  })
800
817
  ]);
801
818
 
802
819
  // src/schema/widgets/giftWithPurchase.ts
803
- import { z as z23 } from "zod/v4";
804
- var GiftWithPurchase = z23.looseObject({
805
- type: z23.literal(WidgetType.gift_with_purchase).default(WidgetType.gift_with_purchase)
820
+ import { z as z24 } from "zod/v4";
821
+ var GiftWithPurchase = z24.looseObject({
822
+ type: z24.literal(WidgetType.gift_with_purchase).default(WidgetType.gift_with_purchase)
806
823
  });
807
824
 
808
825
  // src/schema/widgets/lineItemEditor.ts
809
- import { z as z24 } from "zod/v4";
810
- var LineItemEditorSwitchLanguageV1 = z24.object({
811
- downgradeToOneTimeLabel: z24.string().optional(),
826
+ import { z as z25 } from "zod/v4";
827
+ var LineItemEditorSwitchLanguageV1 = z25.object({
828
+ downgradeToOneTimeLabel: z25.string().optional(),
812
829
  /** Frequency-option template (`{{frequency}}`/`{{interval}}`) for the plan select. */
813
- subscriptionOptionLabel: z24.string().optional(),
814
- upgradeToSubscriptionLabel: z24.string().optional(),
815
- upgradeToSubscriptionWithoutDiscountLabel: z24.string().optional()
830
+ subscriptionOptionLabel: z25.string().optional(),
831
+ upgradeToSubscriptionLabel: z25.string().optional(),
832
+ upgradeToSubscriptionWithoutDiscountLabel: z25.string().optional()
816
833
  });
817
- var LineItemEditorV1 = z24.object({
834
+ var LineItemEditorV1 = z25.object({
818
835
  /** Legacy `getStyles` button style; the converter carries a valid kind, defaulting to `plain`. */
819
- button: z24.object({ kind: z24.enum(["plain", "primary", "secondary"]).optional() }).optional(),
820
- previewMode: z24.boolean().optional(),
821
- switchToSubscription: z24.object({
822
- disableDowngrade: z24.boolean().optional(),
836
+ button: z25.object({ kind: z25.enum(["plain", "primary", "secondary"]).optional() }).optional(),
837
+ previewMode: z25.boolean().optional(),
838
+ switchToSubscription: z25.object({
839
+ disableDowngrade: z25.boolean().optional(),
823
840
  language: LineItemEditorSwitchLanguageV1.optional()
824
841
  }).optional(),
825
- switchToSubscriptionEnabled: z24.boolean().optional(),
826
- tracking: z24.object({
827
- enableAttribution: z24.boolean().optional(),
828
- enableSource: z24.boolean().optional(),
829
- enableWidget: z24.boolean().optional()
842
+ switchToSubscriptionEnabled: z25.boolean().optional(),
843
+ tracking: z25.object({
844
+ enableAttribution: z25.boolean().optional(),
845
+ enableSource: z25.boolean().optional(),
846
+ enableWidget: z25.boolean().optional()
830
847
  }).optional(),
831
- type: z24.literal(WidgetType.ui_extension_line_item_editor).default(WidgetType.ui_extension_line_item_editor),
832
- version: z24.literal(1)
848
+ type: z25.literal(WidgetType.ui_extension_line_item_editor).default(WidgetType.ui_extension_line_item_editor),
849
+ version: z25.literal(1)
833
850
  });
834
- var LineItemEditor = z24.discriminatedUnion("version", [
851
+ var LineItemEditor = z25.discriminatedUnion("version", [
835
852
  LineItemEditorV1,
836
853
  CABRootSection.extend({
837
- type: z24.literal(WidgetType.ui_extension_line_item_editor).default(WidgetType.ui_extension_line_item_editor)
854
+ type: z25.literal(WidgetType.ui_extension_line_item_editor).default(WidgetType.ui_extension_line_item_editor)
838
855
  })
839
856
  ]);
840
857
 
841
858
  // src/schema/widgets/progressBar.ts
842
- import { z as z25 } from "zod/v4";
843
- var ProgressBar = z25.looseObject({
844
- type: z25.literal(WidgetType.ui_extension_progress_bar).default(WidgetType.ui_extension_progress_bar)
859
+ import { z as z26 } from "zod/v4";
860
+ var ProgressBar = z26.looseObject({
861
+ type: z26.literal(WidgetType.ui_extension_progress_bar).default(WidgetType.ui_extension_progress_bar)
845
862
  });
846
863
 
847
864
  // src/schema/widgets/rebuyButton.ts
848
- import { z as z26 } from "zod/v4";
849
- var RebuyButtonV1 = z26.looseObject({
850
- type: z26.literal(WidgetType.ui_extension_button).default(WidgetType.ui_extension_button),
851
- version: z26.literal(1)
865
+ import { z as z27 } from "zod/v4";
866
+ var RebuyButtonV1 = z27.looseObject({
867
+ type: z27.literal(WidgetType.ui_extension_button).default(WidgetType.ui_extension_button),
868
+ version: z27.literal(1)
852
869
  });
853
- var RebuyButton = z26.discriminatedUnion("version", [
870
+ var RebuyButton = z27.discriminatedUnion("version", [
854
871
  RebuyButtonV1,
855
872
  CABRootSection.extend({
856
- type: z26.literal(WidgetType.ui_extension_button).default(WidgetType.ui_extension_button)
873
+ type: z27.literal(WidgetType.ui_extension_button).default(WidgetType.ui_extension_button)
857
874
  })
858
875
  ]);
859
876
 
860
877
  // src/schema/widgets/rebuyMonetize.ts
861
- import { z as z27 } from "zod/v4";
862
- var RebuyMonetize = z27.looseObject({
863
- type: z27.literal(WidgetType.ui_extension_ad).default(WidgetType.ui_extension_ad)
878
+ import { z as z28 } from "zod/v4";
879
+ var RebuyMonetize = z28.looseObject({
880
+ type: z28.literal(WidgetType.ui_extension_ad).default(WidgetType.ui_extension_ad)
864
881
  });
865
882
 
866
883
  // src/schema/widgetData.ts
@@ -874,7 +891,7 @@ var extensionWidgetTypes = [
874
891
  WidgetType.ui_extension_line_item_editor,
875
892
  WidgetType.ui_extension_progress_bar
876
893
  ];
877
- var WidgetData = z28.discriminatedUnion("type", [
894
+ var WidgetData = z29.discriminatedUnion("type", [
878
895
  ABTestingPlaceholder,
879
896
  CheckoutExtension,
880
897
  ContentBlock,