@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/widgets/checkout-and-beyond/banner.ts
2
- import { z as z18 } from "zod/v4";
2
+ import { z as z19 } from "zod/v4";
3
3
 
4
4
  // src/schema/widgets/checkout-and-beyond/common.ts
5
5
  var freezeEnum = (values) => Object.freeze(Object.fromEntries(values.map((v) => [v, v])));
@@ -125,6 +125,7 @@ var sectionTypes = [
125
125
  "carousel",
126
126
  "cartLine",
127
127
  "dataSource",
128
+ "discount",
128
129
  "image",
129
130
  "layout",
130
131
  "monetize",
@@ -154,8 +155,8 @@ var verticalAlignments = ["top", "middle", "bottom"];
154
155
  var VerticalAlignment = freezeEnum(verticalAlignments);
155
156
 
156
157
  // src/schema/widgets/checkout-and-beyond/layout.ts
157
- import { v7 as uuidv712 } from "uuid";
158
- import { z as z17 } from "zod/v4";
158
+ import { v7 as uuidv713 } from "uuid";
159
+ import { z as z18 } from "zod/v4";
159
160
 
160
161
  // src/schema/widgets/checkout-and-beyond/rule.ts
161
162
  import { z } from "zod/v4";
@@ -225,7 +226,7 @@ var CABRule = z.object({
225
226
  });
226
227
 
227
228
  // src/schema/widgets/checkout-and-beyond/shared.ts
228
- import { z as z16 } from "zod/v4";
229
+ import { z as z17 } from "zod/v4";
229
230
 
230
231
  // src/schema/widgets/checkout-and-beyond/button.ts
231
232
  import { v7 as uuidv73 } from "uuid";
@@ -261,6 +262,7 @@ var isButtonType = (section) => get(section, "sectionType") === SectionType.butt
261
262
  var isCarouselType = (section) => get(section, "sectionType") === SectionType.carousel;
262
263
  var isCartLineType = (section) => get(section, "sectionType") === SectionType.cartLine;
263
264
  var isDataSourceType = (section) => get(section, "sectionType") === SectionType.dataSource;
265
+ var isDiscountType = (section) => get(section, "sectionType") === SectionType.discount;
264
266
  var isImageType = (section) => get(section, "sectionType") === SectionType.image;
265
267
  var isLayoutType = (section) => get(section, "sectionType") === SectionType.layout;
266
268
  var isMonetizeType = (section) => get(section, "sectionType") === SectionType.monetize;
@@ -609,39 +611,54 @@ var CABCartLineSection = z10.lazy(
609
611
  })
610
612
  );
611
613
 
612
- // src/schema/widgets/checkout-and-beyond/monetize.ts
614
+ // src/schema/widgets/checkout-and-beyond/discount.ts
613
615
  import { v7 as uuidv77 } from "uuid";
614
616
  import { z as z11 } from "zod/v4";
615
- var CABMonetizeSection = z11.object({
617
+ var CABDiscountSection = z11.object({
618
+ amount: z11.union([z11.number(), z11.string()]).catch(0),
619
+ discountedBy: z11.string().optional(),
620
+ discountedFrom: z11.enum(discountSources).optional().catch(void 0),
621
+ message: z11.string().optional(),
616
622
  name: z11.string().optional(),
617
- rule: CABRule.optional(),
623
+ quantity: z11.number().default(1),
618
624
  sectionId: z11.uuid().default(() => uuidv77()),
619
- sectionType: z11.literal(SectionType.monetize).default(SectionType.monetize)
625
+ sectionType: z11.literal(SectionType.discount).default(SectionType.discount),
626
+ type: z11.enum(discountTypes).catch("none")
620
627
  });
621
628
 
622
- // src/schema/widgets/checkout-and-beyond/progressBar.ts
629
+ // src/schema/widgets/checkout-and-beyond/monetize.ts
623
630
  import { v7 as uuidv78 } from "uuid";
624
631
  import { z as z12 } from "zod/v4";
625
- var CABProgressBarSection = z12.object({
626
- /** Empty = shown everywhere; otherwise uppercase ISO country codes. */
627
- countryCodes: z12.array(z12.string()).default(() => []),
632
+ var CABMonetizeSection = z12.object({
628
633
  name: z12.string().optional(),
629
634
  rule: CABRule.optional(),
630
635
  sectionId: z12.uuid().default(() => uuidv78()),
631
- sections: z12.union([z12.array(CABTextSection), z12.strictObject({}).transform(() => [])]).default(() => []),
632
- sectionType: z12.literal(SectionType.progressBar).default(SectionType.progressBar)
636
+ sectionType: z12.literal(SectionType.monetize).default(SectionType.monetize)
633
637
  });
634
638
 
635
- // src/schema/widgets/checkout-and-beyond/quantity.ts
639
+ // src/schema/widgets/checkout-and-beyond/progressBar.ts
636
640
  import { v7 as uuidv79 } from "uuid";
637
641
  import { z as z13 } from "zod/v4";
638
- var CABQuantitySection = z13.object({
639
- errorMessages: z13.record(
640
- z13.string(),
641
- z13.object({
642
- max: z13.string().optional(),
643
- min: z13.string().optional(),
644
- neg: z13.string().optional()
642
+ var CABProgressBarSection = z13.object({
643
+ /** Empty = shown everywhere; otherwise uppercase ISO country codes. */
644
+ countryCodes: z13.array(z13.string()).default(() => []),
645
+ name: z13.string().optional(),
646
+ rule: CABRule.optional(),
647
+ sectionId: z13.uuid().default(() => uuidv79()),
648
+ sections: z13.union([z13.array(CABTextSection), z13.strictObject({}).transform(() => [])]).default(() => []),
649
+ sectionType: z13.literal(SectionType.progressBar).default(SectionType.progressBar)
650
+ });
651
+
652
+ // src/schema/widgets/checkout-and-beyond/quantity.ts
653
+ import { v7 as uuidv710 } from "uuid";
654
+ import { z as z14 } from "zod/v4";
655
+ var CABQuantitySection = z14.object({
656
+ errorMessages: z14.record(
657
+ z14.string(),
658
+ z14.object({
659
+ max: z14.string().optional(),
660
+ min: z14.string().optional(),
661
+ neg: z14.string().optional()
645
662
  })
646
663
  ).default({
647
664
  en: {
@@ -650,58 +667,59 @@ var CABQuantitySection = z13.object({
650
667
  neg: "Quantity cannot be negative"
651
668
  }
652
669
  }),
653
- inputType: z13.enum(quantityInputs).default(QuantityInput.select),
654
- max: z13.number().min(1).max(100).default(10),
655
- min: z13.number().min(1).default(1),
656
- name: z13.string().optional(),
657
- rule: CABRule.optional(),
658
- sectionId: z13.uuid().default(() => uuidv79()),
659
- sectionType: z13.literal(SectionType.quantity).default(SectionType.quantity)
660
- });
661
-
662
- // src/schema/widgets/checkout-and-beyond/reviews.ts
663
- import { v7 as uuidv710 } from "uuid";
664
- import { z as z14 } from "zod/v4";
665
- var CABReviewsSection = z14.object({
666
- color: z14.string().default("#fadb14"),
670
+ inputType: z14.enum(quantityInputs).default(QuantityInput.select),
671
+ max: z14.number().min(1).max(100).default(10),
672
+ min: z14.number().min(1).default(1),
667
673
  name: z14.string().optional(),
668
674
  rule: CABRule.optional(),
669
675
  sectionId: z14.uuid().default(() => uuidv710()),
670
- sectionType: z14.literal(SectionType.reviews).default(SectionType.reviews),
671
- size: z14.enum(reviewsSizes).default(ReviewsSize.default)
676
+ sectionType: z14.literal(SectionType.quantity).default(SectionType.quantity)
672
677
  });
673
678
 
674
- // src/schema/widgets/checkout-and-beyond/variants.ts
675
- import { slice } from "es-toolkit/compat";
679
+ // src/schema/widgets/checkout-and-beyond/reviews.ts
676
680
  import { v7 as uuidv711 } from "uuid";
677
681
  import { z as z15 } from "zod/v4";
678
- var CABVariantsSection = z15.object({
679
- hideOutOfStockVariants: z15.boolean().default(false),
682
+ var CABReviewsSection = z15.object({
683
+ color: z15.string().default("#fadb14"),
680
684
  name: z15.string().optional(),
681
685
  rule: CABRule.optional(),
682
686
  sectionId: z15.uuid().default(() => uuidv711()),
683
- sectionType: z15.literal(SectionType.variants).default(SectionType.variants),
684
- selector: z15.enum(slice(variantSelectors, 0, 3)).default(VariantSelector.menu),
685
- variantMode: z15.enum(variantModes).default(VariantMode.multiple)
687
+ sectionType: z15.literal(SectionType.reviews).default(SectionType.reviews),
688
+ size: z15.enum(reviewsSizes).default(ReviewsSize.default)
689
+ });
690
+
691
+ // src/schema/widgets/checkout-and-beyond/variants.ts
692
+ import { slice } from "es-toolkit/compat";
693
+ import { v7 as uuidv712 } from "uuid";
694
+ import { z as z16 } from "zod/v4";
695
+ var CABVariantsSection = z16.object({
696
+ hideOutOfStockVariants: z16.boolean().default(false),
697
+ name: z16.string().optional(),
698
+ rule: CABRule.optional(),
699
+ sectionId: z16.uuid().default(() => uuidv712()),
700
+ sectionType: z16.literal(SectionType.variants).default(SectionType.variants),
701
+ selector: z16.enum(slice(variantSelectors, 0, 3)).default(VariantSelector.menu),
702
+ variantMode: z16.enum(variantModes).default(VariantMode.multiple)
686
703
  });
687
704
 
688
705
  // src/schema/widgets/checkout-and-beyond/shared.ts
689
- var CABBorder = z16.object({
690
- radius: z16.enum(borderRadii).default(BorderRadius.base),
691
- style: z16.enum(borderStyles).default(BorderStyle.none),
692
- width: z16.enum(borderWidths).default(BorderWidth.base)
706
+ var CABBorder = z17.object({
707
+ radius: z17.enum(borderRadii).default(BorderRadius.base),
708
+ style: z17.enum(borderStyles).default(BorderStyle.none),
709
+ width: z17.enum(borderWidths).default(BorderWidth.base)
693
710
  }).default({
694
711
  radius: BorderRadius.base,
695
712
  style: BorderStyle.none,
696
713
  width: BorderWidth.base
697
714
  });
698
- var CABSection = z16.lazy(
699
- () => z16.discriminatedUnion("sectionType", [
715
+ var CABSection = z17.lazy(
716
+ () => z17.discriminatedUnion("sectionType", [
700
717
  CABBannerSection,
701
718
  CABButtonSection,
702
719
  CABCarouselSection,
703
720
  CABCartLineSection,
704
721
  CABDataSourceSection,
722
+ CABDiscountSection,
705
723
  CABImageSection,
706
724
  CABLayoutSection,
707
725
  CABMonetizeSection,
@@ -717,67 +735,239 @@ var CABSection = z16.lazy(
717
735
  );
718
736
 
719
737
  // src/schema/widgets/checkout-and-beyond/layout.ts
720
- var GridItem = z17.union([z17.literal("auto"), z17.literal("fill"), z17.string().regex(/^\d+%$/), z17.number()]);
721
- var CABLayoutSection = z17.object({
722
- alignment: z17.object({
723
- horizontal: z17.enum(horizontalAlignments).default(HorizontalAlignment.start),
724
- vertical: z17.enum(verticalAlignments).default(VerticalAlignment.top)
738
+ var GridItem = z18.union([z18.literal("auto"), z18.literal("fill"), z18.string().regex(/^\d+%$/), z18.number()]);
739
+ var CABLayoutSection = z18.object({
740
+ alignment: z18.object({
741
+ horizontal: z18.enum(horizontalAlignments).default(HorizontalAlignment.start),
742
+ vertical: z18.enum(verticalAlignments).default(VerticalAlignment.top)
725
743
  }).default({
726
744
  horizontal: HorizontalAlignment.start,
727
745
  vertical: VerticalAlignment.top
728
746
  }),
729
- border: z17.lazy(() => CABBorder),
730
- buttonField: z17.enum(buttonFields).optional(),
731
- direction: z17.enum(directions).default(Direction.rows),
732
- grid: z17.object({
733
- columns: z17.union([z17.array(GridItem), z17.undefined()]).default(() => ["auto"]),
734
- rows: z17.union([z17.array(GridItem), z17.undefined()]).default(() => ["auto"])
747
+ border: z18.lazy(() => CABBorder),
748
+ buttonField: z18.enum(buttonFields).optional(),
749
+ direction: z18.enum(directions).default(Direction.rows),
750
+ grid: z18.object({
751
+ columns: z18.union([z18.array(GridItem), z18.undefined()]).default(() => ["auto"]),
752
+ rows: z18.union([z18.array(GridItem), z18.undefined()]).default(() => ["auto"])
735
753
  }).default({ columns: ["auto"], rows: ["auto"] }).optional(),
736
- name: z17.string().optional(),
737
- padding: z17.enum(spacings).default(Spacing.none),
754
+ name: z18.string().optional(),
755
+ padding: z18.enum(spacings).default(Spacing.none),
738
756
  rule: CABRule.optional(),
739
- sectionId: z17.uuid().default(() => uuidv712()),
740
- sections: z17.union([z17.array(z17.lazy(() => CABSection)), z17.strictObject({}).transform(() => [])]).default(() => []),
741
- sectionType: z17.literal(SectionType.layout).default(SectionType.layout),
742
- spacing: z17.enum(spacings).default(Spacing.base),
757
+ sectionId: z18.uuid().default(() => uuidv713()),
758
+ sections: z18.union([z18.array(z18.lazy(() => CABSection)), z18.strictObject({}).transform(() => [])]).default(() => []),
759
+ sectionType: z18.literal(SectionType.layout).default(SectionType.layout),
760
+ spacing: z18.enum(spacings).default(Spacing.base),
743
761
  /** Fire-and-forget impression pixel POSTed once when the section is shown (e.g. a Monetize offer view). */
744
- viewUrl: z17.string().optional(),
745
- width: z17.number().default(100)
762
+ viewUrl: z18.string().optional(),
763
+ width: z18.number().default(100)
746
764
  });
747
765
 
748
766
  // src/schema/widgets/checkout-and-beyond/banner.ts
749
- var CABBannerSection = z18.lazy(
767
+ var CABBannerSection = z19.lazy(
750
768
  () => CABLayoutSection.omit({ sectionType: true }).extend({
751
- buttonField: z18.enum(buttonFields).optional(),
752
- color: z18.enum(bannerColors).default("info"),
753
- dismissible: z18.boolean().default(true),
754
- sectionType: z18.literal(SectionType.banner).default(SectionType.banner)
769
+ buttonField: z19.enum(buttonFields).optional(),
770
+ color: z19.enum(bannerColors).default("info"),
771
+ dismissible: z19.boolean().default(true),
772
+ sectionType: z19.literal(SectionType.banner).default(SectionType.banner)
755
773
  })
756
774
  );
757
775
 
776
+ // src/schema/widgets/checkout-and-beyond/offerLabels.ts
777
+ var OFFER_LABELS = {
778
+ addToCart: {
779
+ ar: "\u0623\u0636\u0641 \u0625\u0644\u0649 \u0627\u0644\u0633\u0644\u0629",
780
+ cs: "P\u0159idat do ko\u0161\xEDku",
781
+ da: "L\xE6g i kurv",
782
+ de: "In den Warenkorb",
783
+ en: "Add to cart",
784
+ es: "A\xF1adir al carrito",
785
+ fi: "Lis\xE4\xE4 ostoskoriin",
786
+ fr: "Ajouter au panier",
787
+ ga: "Cuir sa chairt",
788
+ he: "\u05D4\u05D5\u05E1\u05E3 \u05DC\u05E2\u05D2\u05DC\u05D4",
789
+ hi: "\u0915\u093E\u0930\u094D\u091F \u092E\u0947\u0902 \u091C\u094B\u0921\u093C\u0947\u0902",
790
+ id: "Tambahkan ke keranjang",
791
+ it: "Aggiungi al carrello",
792
+ ja: "\u30AB\u30FC\u30C8\u306B\u8FFD\u52A0",
793
+ ko: "\uC7A5\uBC14\uAD6C\uB2C8\uC5D0 \uCD94\uAC00",
794
+ nl: "In winkelwagen",
795
+ no: "Legg i handlekurven",
796
+ pl: "Dodaj do koszyka",
797
+ pt: "Adicionar ao carrinho",
798
+ ru: "\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432 \u043A\u043E\u0440\u0437\u0438\u043D\u0443",
799
+ sv: "L\xE4gg i varukorgen",
800
+ th: "\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E25\u0E07\u0E15\u0E30\u0E01\u0E23\u0E49\u0E32",
801
+ tr: "Sepete ekle",
802
+ uk: "\u0414\u043E\u0434\u0430\u0442\u0438 \u0432 \u043A\u043E\u0448\u0438\u043A",
803
+ vi: "Th\xEAm v\xE0o gi\u1ECF h\xE0ng",
804
+ zh: "\u52A0\u5165\u8D2D\u7269\u8F66"
805
+ },
806
+ addedToCart: {
807
+ ar: "\u062A\u0645\u062A \u0627\u0644\u0625\u0636\u0627\u0641\u0629!",
808
+ cs: "P\u0159id\xE1no!",
809
+ da: "Tilf\xF8jet!",
810
+ de: "Hinzugef\xFCgt!",
811
+ en: "Added!",
812
+ es: "\xA1A\xF1adido!",
813
+ fi: "Lis\xE4tty!",
814
+ fr: "Ajout\xE9 !",
815
+ ga: "Curtha leis!",
816
+ he: "\u05E0\u05D5\u05E1\u05E3!",
817
+ hi: "\u091C\u094B\u0921\u093C\u093E \u0917\u092F\u093E!",
818
+ id: "Ditambahkan!",
819
+ it: "Aggiunto!",
820
+ ja: "\u8FFD\u52A0\u3057\u307E\u3057\u305F\uFF01",
821
+ ko: "\uCD94\uAC00\uB428!",
822
+ nl: "Toegevoegd!",
823
+ no: "Lagt til!",
824
+ pl: "Dodano!",
825
+ pt: "Adicionado!",
826
+ ru: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u043E!",
827
+ sv: "Tillagd!",
828
+ th: "\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E41\u0E25\u0E49\u0E27!",
829
+ tr: "Eklendi!",
830
+ uk: "\u0414\u043E\u0434\u0430\u043D\u043E!",
831
+ vi: "\u0110\xE3 th\xEAm!",
832
+ zh: "\u5DF2\u6DFB\u52A0\uFF01"
833
+ },
834
+ addedToCartMessage: {
835
+ ar: "\u062A\u0645\u062A \u0625\u0636\u0627\u0641\u0629 {{quantity}} {{productTitle}} \u0625\u0644\u0649 \u0627\u0644\u0633\u0644\u0629.",
836
+ cs: "{{quantity}} {{productTitle}} p\u0159id\xE1no do ko\u0161\xEDku.",
837
+ da: "{{quantity}} {{productTitle}} lagt i kurven.",
838
+ de: "{{quantity}} {{productTitle}} zum Warenkorb hinzugef\xFCgt.",
839
+ en: "{{quantity}} {{productTitle}} added to cart.",
840
+ es: "{{quantity}} {{productTitle}} a\xF1adido al carrito.",
841
+ fi: "{{quantity}} {{productTitle}} lis\xE4tty ostoskoriin.",
842
+ fr: "{{quantity}} {{productTitle}} ajout\xE9 au panier.",
843
+ ga: "Cuireadh {{quantity}} {{productTitle}} sa chairt.",
844
+ he: "{{quantity}} {{productTitle}} \u05E0\u05D5\u05E1\u05E3 \u05DC\u05E2\u05D2\u05DC\u05D4.",
845
+ hi: "{{quantity}} {{productTitle}} \u0915\u093E\u0930\u094D\u091F \u092E\u0947\u0902 \u091C\u094B\u0921\u093C\u093E \u0917\u092F\u093E\u0964",
846
+ id: "{{quantity}} {{productTitle}} ditambahkan ke keranjang.",
847
+ it: "{{quantity}} {{productTitle}} aggiunto al carrello.",
848
+ ja: "{{quantity}} {{productTitle}}\u3092\u30AB\u30FC\u30C8\u306B\u8FFD\u52A0\u3057\u307E\u3057\u305F\u3002",
849
+ ko: "{{quantity}} {{productTitle}}\uC774(\uAC00) \uC7A5\uBC14\uAD6C\uB2C8\uC5D0 \uCD94\uAC00\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",
850
+ nl: "{{quantity}} {{productTitle}} toegevoegd aan winkelwagen.",
851
+ no: "{{quantity}} {{productTitle}} lagt i handlekurven.",
852
+ pl: "{{quantity}} {{productTitle}} dodano do koszyka.",
853
+ pt: "{{quantity}} {{productTitle}} adicionado ao carrinho.",
854
+ ru: "{{quantity}} {{productTitle}} \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u043E \u0432 \u043A\u043E\u0440\u0437\u0438\u043D\u0443.",
855
+ sv: "{{quantity}} {{productTitle}} har lagts i varukorgen.",
856
+ th: "\u0E40\u0E1E\u0E34\u0E48\u0E21 {{quantity}} {{productTitle}} \u0E25\u0E07\u0E15\u0E30\u0E01\u0E23\u0E49\u0E32\u0E41\u0E25\u0E49\u0E27",
857
+ tr: "{{quantity}} {{productTitle}} sepete eklendi.",
858
+ uk: "{{quantity}} {{productTitle}} \u0434\u043E\u0434\u0430\u043D\u043E \u0434\u043E \u043A\u043E\u0448\u0438\u043A\u0430.",
859
+ vi: "\u0110\xE3 th\xEAm {{quantity}} {{productTitle}} v\xE0o gi\u1ECF h\xE0ng.",
860
+ zh: "{{quantity}} {{productTitle}} \u5DF2\u52A0\u5165\u8D2D\u7269\u8F66\u3002"
861
+ },
862
+ addingToCart: {
863
+ ar: "\u062C\u0627\u0631\u064D \u0627\u0644\u0625\u0636\u0627\u0641\u0629...",
864
+ cs: "P\u0159id\xE1v\xE1n\xED...",
865
+ da: "Tilf\xF8jer...",
866
+ de: "Wird hinzugef\xFCgt...",
867
+ en: "Adding...",
868
+ es: "A\xF1adiendo...",
869
+ fi: "Lis\xE4t\xE4\xE4n...",
870
+ fr: "Ajout en cours...",
871
+ ga: "\xC1 chur leis...",
872
+ he: "\u05DE\u05D5\u05E1\u05D9\u05E3...",
873
+ hi: "\u091C\u094B\u0921\u093C\u093E \u091C\u093E \u0930\u0939\u093E \u0939\u0948...",
874
+ id: "Menambahkan...",
875
+ it: "Aggiunta in corso...",
876
+ ja: "\u8FFD\u52A0\u4E2D...",
877
+ ko: "\uCD94\uAC00 \uC911...",
878
+ nl: "Toevoegen...",
879
+ no: "Legger til...",
880
+ pl: "Dodawanie...",
881
+ pt: "Adicionando...",
882
+ ru: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435...",
883
+ sv: "L\xE4gger till...",
884
+ th: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E40\u0E1E\u0E34\u0E48\u0E21...",
885
+ tr: "Ekleniyor...",
886
+ uk: "\u0414\u043E\u0434\u0430\u0432\u0430\u043D\u043D\u044F...",
887
+ vi: "\u0110ang th\xEAm...",
888
+ zh: "\u6B63\u5728\u6DFB\u52A0..."
889
+ },
890
+ soldOut: {
891
+ ar: "\u0646\u0641\u062F\u062A \u0627\u0644\u0643\u0645\u064A\u0629",
892
+ cs: "Vyprod\xE1no",
893
+ da: "Udsolgt",
894
+ de: "Ausverkauft",
895
+ en: "Sold out",
896
+ es: "Agotado",
897
+ fi: "Loppuunmyyty",
898
+ fr: "\xC9puis\xE9",
899
+ ga: "D\xEDolta amach",
900
+ he: "\u05D0\u05D6\u05DC \u05DE\u05D4\u05DE\u05DC\u05D0\u05D9",
901
+ hi: "\u0938\u094D\u091F\u0949\u0915 \u0916\u093C\u0924\u094D\u092E",
902
+ id: "Habis terjual",
903
+ it: "Esaurito",
904
+ ja: "\u58F2\u308A\u5207\u308C",
905
+ ko: "\uD488\uC808",
906
+ nl: "Uitverkocht",
907
+ no: "Utsolgt",
908
+ pl: "Wyprzedane",
909
+ pt: "Esgotado",
910
+ ru: "\u0420\u0430\u0441\u043F\u0440\u043E\u0434\u0430\u043D\u043E",
911
+ sv: "Sluts\xE5ld",
912
+ th: "\u0E2A\u0E34\u0E19\u0E04\u0E49\u0E32\u0E2B\u0E21\u0E14",
913
+ tr: "T\xFCkendi",
914
+ uk: "\u0420\u043E\u0437\u043F\u0440\u043E\u0434\u0430\u043D\u043E",
915
+ vi: "H\u1EBFt h\xE0ng",
916
+ zh: "\u5DF2\u552E\u7F44"
917
+ },
918
+ undo: {
919
+ ar: "\u062A\u0631\u0627\u062C\u0639",
920
+ cs: "Zp\u011Bt",
921
+ da: "Fortryd",
922
+ de: "R\xFCckg\xE4ngig",
923
+ en: "Undo",
924
+ es: "Deshacer",
925
+ fi: "Kumoa",
926
+ fr: "Annuler",
927
+ ga: "Cealaigh",
928
+ he: "\u05D1\u05D8\u05DC",
929
+ hi: "\u092A\u0942\u0930\u094D\u0935\u0935\u0924 \u0915\u0930\u0947\u0902",
930
+ id: "Urungkan",
931
+ it: "Annulla",
932
+ ja: "\u5143\u306B\u623B\u3059",
933
+ ko: "\uC2E4\uD589 \uCDE8\uC18C",
934
+ nl: "Ongedaan maken",
935
+ no: "Angre",
936
+ pl: "Cofnij",
937
+ pt: "Desfazer",
938
+ ru: "\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C",
939
+ sv: "\xC5ngra",
940
+ th: "\u0E40\u0E25\u0E34\u0E01\u0E17\u0E33",
941
+ tr: "Geri al",
942
+ uk: "\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438",
943
+ vi: "Ho\xE0n t\xE1c",
944
+ zh: "\u64A4\u9500"
945
+ }
946
+ };
947
+
758
948
  // src/schema/widgets/checkout-and-beyond/root.ts
759
- import { z as z19 } from "zod/v4";
760
- var TargetArea = z19.object({
761
- fill: z19.boolean().optional(),
762
- flip: z19.enum(["both", "horizontal", "vertical"]).optional(),
763
- icon: z19.string(),
764
- label: z19.string(),
765
- width: z19.string()
949
+ import { z as z20 } from "zod/v4";
950
+ var TargetArea = z20.object({
951
+ fill: z20.boolean().optional(),
952
+ flip: z20.enum(["both", "horizontal", "vertical"]).optional(),
953
+ icon: z20.string(),
954
+ label: z20.string(),
955
+ width: z20.string()
766
956
  }).default(targetAreas[EditorMode.checkoutExtension][1]);
767
- var CABTracking = z19.object({
768
- enableAttribution: z19.boolean().default(true),
769
- enableSource: z19.boolean().default(true),
770
- enableWidget: z19.boolean().default(true)
957
+ var CABTracking = z20.object({
958
+ enableAttribution: z20.boolean().default(true),
959
+ enableSource: z20.boolean().default(true),
960
+ enableWidget: z20.boolean().default(true)
771
961
  }).default({ enableAttribution: true, enableSource: true, enableWidget: true });
772
962
  var CABRootSection = CABLayoutSection.extend({
773
- editorMode: z19.enum(editorModes).default(EditorMode.checkoutExtension),
774
- previewMode: z19.boolean().default(false),
775
- storeId: z19.number().nullable().default(null),
963
+ editorMode: z20.enum(editorModes).default(EditorMode.checkoutExtension),
964
+ previewMode: z20.boolean().default(false),
965
+ storeId: z20.number().nullable().default(null),
776
966
  targetArea: TargetArea.nullable(),
777
967
  tracking: CABTracking,
778
- type: z19.enum(widgetTypes).default(WidgetType.ui_extension_content_block),
779
- version: z19.literal(2).default(2),
780
- widgetId: z19.number().nullable().default(null)
968
+ type: z20.enum(widgetTypes).default(WidgetType.ui_extension_content_block),
969
+ version: z20.literal(2).default(2),
970
+ widgetId: z20.number().nullable().default(null)
781
971
  });
782
972
 
783
973
  // src/schema/widgets/checkout-and-beyond/switchLabels.ts
@@ -912,6 +1102,7 @@ export {
912
1102
  CABCartLineSection,
913
1103
  CABDataSourceSection,
914
1104
  CABDiscount,
1105
+ CABDiscountSection,
915
1106
  CABImageSection,
916
1107
  CABIntegrations,
917
1108
  CABLayoutSection,
@@ -943,6 +1134,7 @@ export {
943
1134
  HorizontalAlignment,
944
1135
  LanguageKey,
945
1136
  NO_HTML,
1137
+ OFFER_LABELS,
946
1138
  ObjectFit,
947
1139
  PopoverPosition,
948
1140
  ProductType,
@@ -988,6 +1180,7 @@ export {
988
1180
  isCarouselType,
989
1181
  isCartLineType,
990
1182
  isDataSourceType,
1183
+ isDiscountType,
991
1184
  isHTML,
992
1185
  isImageType,
993
1186
  isLayoutType,