@rebuy/rebuy 2.10.0 → 2.12.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 (51) hide show
  1. package/dist/index.js +543 -432
  2. package/dist/index.js.map +4 -4
  3. package/dist/index.mjs +543 -432
  4. package/dist/index.mjs.map +4 -4
  5. package/dist/schema/widgetData.d.ts +102 -0
  6. package/dist/schema/widgetData.d.ts.map +1 -1
  7. package/dist/schema/widgets/checkout-and-beyond/button.d.ts +52 -0
  8. package/dist/schema/widgets/checkout-and-beyond/button.d.ts.map +1 -1
  9. package/dist/schema/widgets/checkout-and-beyond/carousel.d.ts +147 -0
  10. package/dist/schema/widgets/checkout-and-beyond/carousel.d.ts.map +1 -0
  11. package/dist/schema/widgets/checkout-and-beyond/common.d.ts +15 -3
  12. package/dist/schema/widgets/checkout-and-beyond/common.d.ts.map +1 -1
  13. package/dist/schema/widgets/checkout-and-beyond/constants.d.ts +2 -2
  14. package/dist/schema/widgets/checkout-and-beyond/image.d.ts +51 -0
  15. package/dist/schema/widgets/checkout-and-beyond/image.d.ts.map +1 -1
  16. package/dist/schema/widgets/checkout-and-beyond/index.d.ts +2 -0
  17. package/dist/schema/widgets/checkout-and-beyond/index.d.ts.map +1 -1
  18. package/dist/schema/widgets/checkout-and-beyond/layout.d.ts +53 -0
  19. package/dist/schema/widgets/checkout-and-beyond/layout.d.ts.map +1 -1
  20. package/dist/schema/widgets/checkout-and-beyond/offers.d.ts +51 -0
  21. package/dist/schema/widgets/checkout-and-beyond/offers.d.ts.map +1 -1
  22. package/dist/schema/widgets/checkout-and-beyond/product.d.ts +102 -0
  23. package/dist/schema/widgets/checkout-and-beyond/product.d.ts.map +1 -1
  24. package/dist/schema/widgets/checkout-and-beyond/products.d.ts +102 -0
  25. package/dist/schema/widgets/checkout-and-beyond/products.d.ts.map +1 -1
  26. package/dist/schema/widgets/checkout-and-beyond/quantity.d.ts +49 -0
  27. package/dist/schema/widgets/checkout-and-beyond/quantity.d.ts.map +1 -1
  28. package/dist/schema/widgets/checkout-and-beyond/reviews.d.ts +49 -0
  29. package/dist/schema/widgets/checkout-and-beyond/reviews.d.ts.map +1 -1
  30. package/dist/schema/widgets/checkout-and-beyond/root.d.ts +52 -1
  31. package/dist/schema/widgets/checkout-and-beyond/root.d.ts.map +1 -1
  32. package/dist/schema/widgets/checkout-and-beyond/rule.d.ts +193 -0
  33. package/dist/schema/widgets/checkout-and-beyond/rule.d.ts.map +1 -0
  34. package/dist/schema/widgets/checkout-and-beyond/shared.d.ts +2 -1
  35. package/dist/schema/widgets/checkout-and-beyond/shared.d.ts.map +1 -1
  36. package/dist/schema/widgets/checkout-and-beyond/subscription.d.ts +49 -0
  37. package/dist/schema/widgets/checkout-and-beyond/subscription.d.ts.map +1 -1
  38. package/dist/schema/widgets/checkout-and-beyond/table.d.ts +49 -0
  39. package/dist/schema/widgets/checkout-and-beyond/table.d.ts.map +1 -1
  40. package/dist/schema/widgets/checkout-and-beyond/text.d.ts +51 -0
  41. package/dist/schema/widgets/checkout-and-beyond/text.d.ts.map +1 -1
  42. package/dist/schema/widgets/checkout-and-beyond/utils.d.ts +2 -0
  43. package/dist/schema/widgets/checkout-and-beyond/utils.d.ts.map +1 -1
  44. package/dist/schema/widgets/checkout-and-beyond/variants.d.ts +49 -0
  45. package/dist/schema/widgets/checkout-and-beyond/variants.d.ts.map +1 -1
  46. package/dist/schema/widgets/contentBlock.d.ts +51 -0
  47. package/dist/schema/widgets/contentBlock.d.ts.map +1 -1
  48. package/dist/schema/widgets/post-purchase-offer/postPurchaseSettings.d.ts.map +1 -1
  49. package/dist/schema/widgets/rebuyButton.d.ts +51 -0
  50. package/dist/schema/widgets/rebuyButton.d.ts.map +1 -1
  51. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -33,6 +33,7 @@ __export(index_exports, {
33
33
  CABBorder: () => CABBorder,
34
34
  CABButtonContent: () => CABButtonContent,
35
35
  CABButtonSection: () => CABButtonSection,
36
+ CABCarouselSection: () => CABCarouselSection,
36
37
  CABDataSourceSection: () => CABDataSourceSection,
37
38
  CABImageSection: () => CABImageSection,
38
39
  CABIntegrations: () => CABIntegrations,
@@ -43,6 +44,7 @@ __export(index_exports, {
43
44
  CABQuantitySection: () => CABQuantitySection,
44
45
  CABReviewsSection: () => CABReviewsSection,
45
46
  CABRootSection: () => CABRootSection,
47
+ CABRule: () => CABRule,
46
48
  CABSection: () => CABSection,
47
49
  CABSubscriptionSection: () => CABSubscriptionSection,
48
50
  CABTableSection: () => CABTableSection,
@@ -88,6 +90,10 @@ __export(index_exports, {
88
90
  RebuyClient: () => RebuyClient,
89
91
  RebuyMonetize: () => RebuyMonetize,
90
92
  ReviewsSize: () => ReviewsSize,
93
+ RuleCondition: () => RuleCondition,
94
+ RuleLogicBlock: () => RuleLogicBlock,
95
+ RuleOperator: () => RuleOperator,
96
+ RuleType: () => RuleType,
91
97
  STATIC_ENDPOINTS: () => STATIC_ENDPOINTS,
92
98
  SectionType: () => SectionType,
93
99
  SellingPlanGroup: () => SellingPlanGroup,
@@ -137,6 +143,7 @@ __export(index_exports, {
137
143
  isBase64Encoded: () => isBase64Encoded,
138
144
  isButtonType: () => isButtonType,
139
145
  isCalloutBannerBlock: () => isCalloutBannerBlock,
146
+ isCarouselType: () => isCarouselType,
140
147
  isDataSourceType: () => isDataSourceType,
141
148
  isHTML: () => isHTML,
142
149
  isImageBlock: () => isImageBlock,
@@ -167,6 +174,8 @@ __export(index_exports, {
167
174
  quantityInputs: () => quantityInputs,
168
175
  queryStringToObject: () => queryStringToObject,
169
176
  reviewsSizes: () => reviewsSizes,
177
+ ruleOperators: () => ruleOperators,
178
+ ruleTypes: () => ruleTypes,
170
179
  sectionTypes: () => sectionTypes,
171
180
  selectedVariantOptions: () => selectedVariantOptions,
172
181
  serialize: () => serialize,
@@ -1250,7 +1259,7 @@ var UserConfig = import_v44.z.object({
1250
1259
  });
1251
1260
 
1252
1261
  // src/schema/widgetData.ts
1253
- var import_v430 = require("zod/v4");
1262
+ var import_v432 = require("zod/v4");
1254
1263
 
1255
1264
  // src/schema/widgets/abTestingPlaceholder.ts
1256
1265
  var import_v45 = require("zod/v4");
@@ -1279,16 +1288,20 @@ var buttonActions = [
1279
1288
  "declineOffer",
1280
1289
  "displayContentInModal",
1281
1290
  "displayContentInPopover",
1291
+ "goToNextPage",
1292
+ "goToPrevPage",
1282
1293
  "goToRebuyApp",
1283
1294
  "goToRebuyVault",
1284
1295
  "goToURL",
1285
1296
  "removeFromCart",
1297
+ "showPagination",
1286
1298
  "showVariants",
1287
1299
  "switchToSubscription"
1288
1300
  ];
1289
1301
  var buttonAction = import_v46.z.enum(buttonActions);
1290
1302
  var ButtonAction = buttonAction.enum;
1291
1303
  var buttonFields = [
1304
+ "activePage",
1292
1305
  "addedToCart",
1293
1306
  "addingToCart",
1294
1307
  "addToCart",
@@ -1296,6 +1309,7 @@ var buttonFields = [
1296
1309
  "declineAllOffers",
1297
1310
  "declineOffer",
1298
1311
  "destinationUrl",
1312
+ "inactivePage",
1299
1313
  "overlayContent",
1300
1314
  "payNow",
1301
1315
  "removeFromCart",
@@ -1379,6 +1393,7 @@ var quantityInput = import_v46.z.enum(quantityInputs);
1379
1393
  var QuantityInput = quantityInput.enum;
1380
1394
  var sectionTypes = [
1381
1395
  "button",
1396
+ "carousel",
1382
1397
  "dataSource",
1383
1398
  "image",
1384
1399
  "layout",
@@ -1499,25 +1514,89 @@ var CheckoutExtension = import_v48.z.looseObject({
1499
1514
  });
1500
1515
 
1501
1516
  // src/schema/widgets/contentBlock.ts
1502
- var import_v424 = require("zod/v4");
1517
+ var import_v426 = require("zod/v4");
1503
1518
 
1504
1519
  // src/schema/widgets/checkout-and-beyond/root.ts
1505
- var import_v423 = require("zod/v4");
1520
+ var import_v425 = require("zod/v4");
1506
1521
 
1507
1522
  // src/schema/widgets/checkout-and-beyond/layout.ts
1508
1523
  var import_uuid12 = require("uuid");
1509
- var import_v422 = require("zod/v4");
1524
+ var import_v424 = require("zod/v4");
1525
+
1526
+ // src/schema/widgets/checkout-and-beyond/rule.ts
1527
+ var import_v49 = require("zod/v4");
1528
+ var ruleTypes = [
1529
+ "cart",
1530
+ "cart_count",
1531
+ "cart_item_count",
1532
+ "cart_line_count",
1533
+ "cart_subtotal",
1534
+ "collection",
1535
+ "customer",
1536
+ "customer_order_count",
1537
+ "customer_tag",
1538
+ "customer_total_spent",
1539
+ "date",
1540
+ "product",
1541
+ "product_tag",
1542
+ "product_title",
1543
+ "product_type",
1544
+ "product_vendor"
1545
+ ];
1546
+ var ruleType = import_v49.z.enum(ruleTypes);
1547
+ var RuleType = ruleType.enum;
1548
+ var ruleOperators = [
1549
+ "after",
1550
+ "anything",
1551
+ "before",
1552
+ "contains",
1553
+ "contains_any",
1554
+ "does_not_contain",
1555
+ "does_not_contain_any",
1556
+ "equals",
1557
+ "does_not_equal",
1558
+ "greater_than",
1559
+ "less_than"
1560
+ ];
1561
+ var ruleOperator = import_v49.z.enum(ruleOperators);
1562
+ var RuleOperator = ruleOperator.enum;
1563
+ var RuleCondition = import_v49.z.object({
1564
+ operator: import_v49.z.enum(ruleOperators).default(RuleOperator.anything),
1565
+ products: import_v49.z.array(import_v49.z.unknown()).default(() => []),
1566
+ type: import_v49.z.enum(ruleTypes).default(RuleType.cart_subtotal),
1567
+ value: import_v49.z.coerce.string().default("")
1568
+ });
1569
+ var RuleLogicBlock = import_v49.z.object({
1570
+ rules: import_v49.z.array(RuleCondition).default(() => [])
1571
+ });
1572
+ var CABRule = import_v49.z.object({
1573
+ dataSourceId: import_v49.z.number().nullable().default(null),
1574
+ enabled: import_v49.z.boolean().default(false),
1575
+ ruleset: import_v49.z.array(
1576
+ import_v49.z.object({
1577
+ exitIfMatched: import_v49.z.boolean().default(true),
1578
+ logic: import_v49.z.array(RuleLogicBlock).default(() => []),
1579
+ output: import_v49.z.array(
1580
+ import_v49.z.object({
1581
+ key: import_v49.z.string().default("should_show"),
1582
+ type: import_v49.z.literal("data_json").default("data_json"),
1583
+ value: import_v49.z.string().default("true")
1584
+ })
1585
+ ).default(() => [{ key: "should_show", type: "data_json", value: "true" }])
1586
+ })
1587
+ ).default(() => [])
1588
+ });
1510
1589
 
1511
1590
  // src/schema/widgets/checkout-and-beyond/shared.ts
1512
- var import_v421 = require("zod/v4");
1591
+ var import_v423 = require("zod/v4");
1513
1592
 
1514
1593
  // src/schema/widgets/checkout-and-beyond/button.ts
1515
1594
  var import_uuid3 = require("uuid");
1516
- var import_v411 = require("zod/v4");
1595
+ var import_v412 = require("zod/v4");
1517
1596
 
1518
1597
  // src/schema/widgets/checkout-and-beyond/image.ts
1519
1598
  var import_uuid = require("uuid");
1520
- var import_v49 = require("zod/v4");
1599
+ var import_v410 = require("zod/v4");
1521
1600
 
1522
1601
  // src/schema/widgets/checkout-and-beyond/regex.ts
1523
1602
  var ARRAY_INDEX_STRING = /^(0|[1-9]\d*)$/;
@@ -1540,6 +1619,7 @@ var hasHTMLInDoc = (doc) => doc.content.some(({ content = [] }) => content.some(
1540
1619
  var checkForHTML = (input) => !((0, import_lodash_es2.isString)(input) && isHTML(input) || (0, import_lodash_es2.isPlainObject)(input) && hasHTMLInDoc(input));
1541
1620
  var NO_HTML = { message: "HTML is not supported" };
1542
1621
  var isButtonType = (section) => (0, import_lodash_es2.get)(section, "sectionType") === SectionType.button;
1622
+ var isCarouselType = (section) => (0, import_lodash_es2.get)(section, "sectionType") === SectionType.carousel;
1543
1623
  var isDataSourceType = (section) => (0, import_lodash_es2.get)(section, "sectionType") === SectionType.dataSource;
1544
1624
  var isImageType = (section) => (0, import_lodash_es2.get)(section, "sectionType") === SectionType.image;
1545
1625
  var isLayoutType = (section) => (0, import_lodash_es2.get)(section, "sectionType") === SectionType.layout;
@@ -1565,77 +1645,79 @@ var convertNumericObjects = (input) => {
1565
1645
  };
1566
1646
 
1567
1647
  // src/schema/widgets/checkout-and-beyond/image.ts
1568
- var CABImageSection = import_v49.z.object({
1569
- altText: import_v49.z.string().refine(checkForHTML, NO_HTML).default(""),
1570
- aspectRatio: import_v49.z.literal(1).nullable().default(null),
1571
- border: import_v49.z.lazy(() => CABBorder),
1572
- buttonField: import_v49.z.enum(buttonFields).optional(),
1573
- category: import_v49.z.enum(["gallery", "icons", "payment-methods", "secure-checkout"]).nullable().default(null),
1574
- name: import_v49.z.string().optional(),
1575
- naturalHeight: import_v49.z.number().default(0),
1576
- naturalWidth: import_v49.z.number().default(0),
1577
- objectFit: import_v49.z.enum(objectFits).default(ObjectFit.cover),
1578
- sectionId: import_v49.z.uuid().default(() => (0, import_uuid.v7)()),
1579
- sectionType: import_v49.z.literal(SectionType.image).default(SectionType.image),
1580
- source: import_v49.z.union([import_v49.z.url(), import_v49.z.literal(""), import_v49.z.string().regex(DYNAMIC_TOKEN_REGEX)]).default(""),
1581
- width: import_v49.z.number().default(100)
1648
+ var CABImageSection = import_v410.z.object({
1649
+ altText: import_v410.z.string().refine(checkForHTML, NO_HTML).default(""),
1650
+ aspectRatio: import_v410.z.literal(1).nullable().default(null),
1651
+ border: import_v410.z.lazy(() => CABBorder),
1652
+ buttonField: import_v410.z.enum(buttonFields).optional(),
1653
+ category: import_v410.z.enum(["gallery", "icons", "payment-methods", "secure-checkout"]).nullable().default(null),
1654
+ name: import_v410.z.string().optional(),
1655
+ naturalHeight: import_v410.z.number().default(0),
1656
+ naturalWidth: import_v410.z.number().default(0),
1657
+ objectFit: import_v410.z.enum(objectFits).default(ObjectFit.cover),
1658
+ rule: CABRule.optional(),
1659
+ sectionId: import_v410.z.uuid().default(() => (0, import_uuid.v7)()),
1660
+ sectionType: import_v410.z.literal(SectionType.image).default(SectionType.image),
1661
+ source: import_v410.z.union([import_v410.z.url(), import_v410.z.literal(""), import_v410.z.string().regex(DYNAMIC_TOKEN_REGEX)]).default(""),
1662
+ width: import_v410.z.number().default(100)
1582
1663
  });
1583
1664
 
1584
1665
  // src/schema/widgets/checkout-and-beyond/text.ts
1585
1666
  var import_lodash_es3 = require("lodash-es");
1586
1667
  var import_uuid2 = require("uuid");
1587
- var import_v410 = require("zod/v4");
1588
- var enumOrOmit = (...vals) => import_v410.z.string().transform((val) => vals.includes(val) ? val : void 0).optional();
1589
- var TiptapText = import_v410.z.object({
1590
- marks: import_v410.z.union([
1591
- import_v410.z.array(
1592
- import_v410.z.discriminatedUnion("type", [
1593
- import_v410.z.object({ type: import_v410.z.literal("bold") }),
1594
- import_v410.z.object({ type: import_v410.z.literal("italic") }),
1595
- import_v410.z.object({
1596
- attrs: import_v410.z.object({
1597
- class: import_v410.z.string().nullable(),
1598
- href: import_v410.z.union([import_v410.z.url(), import_v410.z.string().regex(DYNAMIC_TOKEN_REGEX)]),
1599
- rel: import_v410.z.string().default("noopener noreferrer nofollow"),
1600
- target: import_v410.z.string().default("_blank")
1668
+ var import_v411 = require("zod/v4");
1669
+ var enumOrOmit = (...vals) => import_v411.z.string().transform((val) => vals.includes(val) ? val : void 0).optional();
1670
+ var TiptapText = import_v411.z.object({
1671
+ marks: import_v411.z.union([
1672
+ import_v411.z.array(
1673
+ import_v411.z.discriminatedUnion("type", [
1674
+ import_v411.z.object({ type: import_v411.z.literal("bold") }),
1675
+ import_v411.z.object({ type: import_v411.z.literal("italic") }),
1676
+ import_v411.z.object({
1677
+ attrs: import_v411.z.object({
1678
+ class: import_v411.z.string().nullable(),
1679
+ href: import_v411.z.union([import_v411.z.url(), import_v411.z.string().regex(DYNAMIC_TOKEN_REGEX)]),
1680
+ rel: import_v411.z.string().default("noopener noreferrer nofollow"),
1681
+ target: import_v411.z.string().default("_blank")
1601
1682
  }),
1602
- type: import_v410.z.literal("link")
1683
+ type: import_v411.z.literal("link")
1603
1684
  }),
1604
- import_v410.z.object({ type: import_v410.z.literal("strike") }),
1605
- import_v410.z.object({
1606
- attrs: import_v410.z.object({
1685
+ import_v411.z.object({ type: import_v411.z.literal("strike") }),
1686
+ import_v411.z.object({
1687
+ attrs: import_v411.z.object({
1607
1688
  color: enumOrOmit(...textColorNames).default(TextColorName.base),
1608
1689
  fontSize: enumOrOmit(...textSizeNames).default(TextSizeName.base)
1609
1690
  }),
1610
- type: import_v410.z.literal("textStyle")
1691
+ type: import_v411.z.literal("textStyle")
1611
1692
  })
1612
1693
  ])
1613
1694
  ),
1614
- import_v410.z.strictObject({}).transform(() => [])
1695
+ import_v411.z.strictObject({}).transform(() => [])
1615
1696
  ]).optional(),
1616
- text: import_v410.z.string().default(""),
1617
- type: import_v410.z.literal("text").default("text")
1697
+ text: import_v411.z.string().default(""),
1698
+ type: import_v411.z.literal("text").default("text")
1618
1699
  });
1619
- var TiptapParagraph = import_v410.z.object({
1620
- attrs: import_v410.z.object({
1700
+ var TiptapParagraph = import_v411.z.object({
1701
+ attrs: import_v411.z.object({
1621
1702
  textAlign: enumOrOmit(...textAlignments)
1622
1703
  }).default({ textAlign: TextAlignment.start }),
1623
- content: import_v410.z.union([import_v410.z.array(TiptapText), import_v410.z.strictObject({}).transform(() => [])]).default(() => []),
1624
- type: import_v410.z.literal("paragraph").default("paragraph")
1704
+ content: import_v411.z.union([import_v411.z.array(TiptapText), import_v411.z.strictObject({}).transform(() => [])]).default(() => []),
1705
+ type: import_v411.z.literal("paragraph").default("paragraph")
1625
1706
  });
1626
- var TiptapDocument = import_v410.z.object({
1627
- attrs: import_v410.z.object({
1707
+ var TiptapDocument = import_v411.z.object({
1708
+ attrs: import_v411.z.object({
1628
1709
  blockSpacing: enumOrOmit(...spacings)
1629
1710
  }).default({ blockSpacing: Spacing.base }),
1630
- content: import_v410.z.union([import_v410.z.array(TiptapParagraph), import_v410.z.strictObject({}).transform(() => [])]).default(() => [TiptapParagraph.parse({})]),
1631
- type: import_v410.z.literal("doc").default("doc")
1711
+ content: import_v411.z.union([import_v411.z.array(TiptapParagraph), import_v411.z.strictObject({}).transform(() => [])]).default(() => [TiptapParagraph.parse({})]),
1712
+ type: import_v411.z.literal("doc").default("doc")
1632
1713
  });
1633
- var CABTextSection = import_v410.z.object({
1634
- buttonField: import_v410.z.enum(buttonFields).optional(),
1635
- content: import_v410.z.record(import_v410.z.string(), import_v410.z.union([import_v410.z.string(), TiptapDocument]).refine(checkForHTML, NO_HTML).optional()).default({ en: TiptapDocument.parse({}) }).optional(),
1636
- name: import_v410.z.string().optional(),
1637
- sectionId: import_v410.z.uuid().default(() => (0, import_uuid2.v7)()),
1638
- sectionType: import_v410.z.literal(SectionType.text).default(SectionType.text)
1714
+ var CABTextSection = import_v411.z.object({
1715
+ buttonField: import_v411.z.enum(buttonFields).optional(),
1716
+ content: import_v411.z.record(import_v411.z.string(), import_v411.z.union([import_v411.z.string(), TiptapDocument]).refine(checkForHTML, NO_HTML).optional()).default({ en: TiptapDocument.parse({}) }).optional(),
1717
+ name: import_v411.z.string().optional(),
1718
+ rule: CABRule.optional(),
1719
+ sectionId: import_v411.z.uuid().default(() => (0, import_uuid2.v7)()),
1720
+ sectionType: import_v411.z.literal(SectionType.text).default(SectionType.text)
1639
1721
  }).superRefine(({ buttonField: buttonField2, content }, ctx) => {
1640
1722
  if (buttonField2 === ButtonField.destinationUrl && content) {
1641
1723
  (0, import_lodash_es3.forEach)(content, (value, lang) => {
@@ -1656,121 +1738,137 @@ var CABTextSection = import_v410.z.object({
1656
1738
  });
1657
1739
 
1658
1740
  // src/schema/widgets/checkout-and-beyond/button.ts
1659
- var CABButtonContent = import_v411.z.lazy(
1660
- () => import_v411.z.discriminatedUnion("sectionType", [CABImageSection, CABLayoutSection, CABTextSection])
1741
+ var CABButtonContent = import_v412.z.lazy(
1742
+ () => import_v412.z.discriminatedUnion("sectionType", [CABImageSection, CABLayoutSection, CABTextSection])
1661
1743
  );
1662
- var CABButtonSection = import_v411.z.object({
1663
- action: import_v411.z.union([import_v411.z.literal(""), import_v411.z.enum(buttonActions)]).default(""),
1664
- buttonStyle: import_v411.z.enum(buttonStyles).default(ButtonStyle.primary),
1665
- custom: import_v411.z.object({
1666
- color: import_v411.z.string().regex(HEX_COLOR_REGEX).default("#005bd3"),
1667
- height: import_v411.z.number().default(52),
1668
- width: import_v411.z.number().default(300)
1744
+ var CABButtonSection = import_v412.z.object({
1745
+ action: import_v412.z.union([import_v412.z.literal(""), import_v412.z.enum(buttonActions)]).default(""),
1746
+ buttonStyle: import_v412.z.enum(buttonStyles).default(ButtonStyle.primary),
1747
+ custom: import_v412.z.object({
1748
+ color: import_v412.z.string().regex(HEX_COLOR_REGEX).default("#005bd3"),
1749
+ height: import_v412.z.number().default(52),
1750
+ width: import_v412.z.number().default(300)
1669
1751
  }).default({
1670
1752
  color: "#005bd3",
1671
1753
  height: 52,
1672
1754
  width: 300
1673
1755
  }),
1674
- name: import_v411.z.string().optional(),
1675
- popover: import_v411.z.object({
1676
- alignment: import_v411.z.enum(textAlignments).default(TextAlignment.center),
1677
- position: import_v411.z.enum(popoverPositions).default(PopoverPosition.blockStart)
1756
+ name: import_v412.z.string().optional(),
1757
+ popover: import_v412.z.object({
1758
+ alignment: import_v412.z.enum(textAlignments).default(TextAlignment.center),
1759
+ position: import_v412.z.enum(popoverPositions).default(PopoverPosition.blockStart)
1678
1760
  }).optional().default(() => ({
1679
1761
  alignment: TextAlignment.center,
1680
1762
  position: PopoverPosition.blockStart
1681
1763
  })),
1682
- sectionId: import_v411.z.uuid().default(() => (0, import_uuid3.v7)()),
1683
- sections: import_v411.z.union([import_v411.z.array(CABButtonContent), import_v411.z.strictObject({}).transform(() => [])]).default(() => []),
1684
- sectionType: import_v411.z.literal(SectionType.button).default(SectionType.button)
1764
+ rule: CABRule.optional(),
1765
+ sectionId: import_v412.z.uuid().default(() => (0, import_uuid3.v7)()),
1766
+ sections: import_v412.z.union([import_v412.z.array(CABButtonContent), import_v412.z.strictObject({}).transform(() => [])]).default(() => []),
1767
+ sectionType: import_v412.z.literal(SectionType.button).default(SectionType.button)
1685
1768
  });
1686
1769
 
1770
+ // src/schema/widgets/checkout-and-beyond/carousel.ts
1771
+ var import_v417 = require("zod/v4");
1772
+
1773
+ // src/schema/widgets/checkout-and-beyond/offers.ts
1774
+ var import_v416 = require("zod/v4");
1775
+
1687
1776
  // src/schema/widgets/checkout-and-beyond/dataSource.ts
1688
1777
  var import_uuid4 = require("uuid");
1689
- var import_v412 = require("zod/v4");
1690
- var CABIntegrations = import_v412.z.object({
1691
- judgeme: import_v412.z.boolean().default(false),
1692
- junip: import_v412.z.boolean().default(false),
1693
- klaviyo: import_v412.z.boolean().default(false),
1694
- loox: import_v412.z.boolean().default(false),
1695
- okendo: import_v412.z.boolean().default(false),
1696
- opinew: import_v412.z.boolean().default(false),
1697
- reviewsio: import_v412.z.boolean().default(false),
1698
- stamped: import_v412.z.boolean().default(false),
1699
- yotpo: import_v412.z.boolean().default(false)
1778
+ var import_v413 = require("zod/v4");
1779
+ var CABIntegrations = import_v413.z.object({
1780
+ judgeme: import_v413.z.boolean().default(false),
1781
+ junip: import_v413.z.boolean().default(false),
1782
+ klaviyo: import_v413.z.boolean().default(false),
1783
+ loox: import_v413.z.boolean().default(false),
1784
+ okendo: import_v413.z.boolean().default(false),
1785
+ opinew: import_v413.z.boolean().default(false),
1786
+ reviewsio: import_v413.z.boolean().default(false),
1787
+ stamped: import_v413.z.boolean().default(false),
1788
+ yotpo: import_v413.z.boolean().default(false)
1700
1789
  });
1701
- var CABDataSourceSection = import_v412.z.object({
1702
- dataSourceId: import_v412.z.number().nullable().default(null),
1703
- dataSourcePath: import_v412.z.string().default(DEFAULT_ENDPOINTS[0].value),
1790
+ var CABDataSourceSection = import_v413.z.object({
1791
+ dataSourceId: import_v413.z.number().nullable().default(null),
1792
+ dataSourcePath: import_v413.z.string().default(DEFAULT_ENDPOINTS[0].value),
1704
1793
  integrations: CABIntegrations.optional(),
1705
- limit: import_v412.z.number().default(1),
1706
- name: import_v412.z.string().default(DEFAULT_ENDPOINTS[0].label),
1707
- productType: import_v412.z.enum(productTypes).optional(),
1708
- sectionId: import_v412.z.uuid().default(() => (0, import_uuid4.v7)()),
1709
- sectionType: import_v412.z.literal(SectionType.dataSource).default(SectionType.dataSource)
1794
+ limit: import_v413.z.number().default(1),
1795
+ name: import_v413.z.string().default(DEFAULT_ENDPOINTS[0].label),
1796
+ productType: import_v413.z.enum(productTypes).optional(),
1797
+ sectionId: import_v413.z.uuid().default(() => (0, import_uuid4.v7)()),
1798
+ sectionType: import_v413.z.literal(SectionType.dataSource).default(SectionType.dataSource)
1710
1799
  });
1711
1800
 
1712
- // src/schema/widgets/checkout-and-beyond/offers.ts
1713
- var import_v415 = require("zod/v4");
1714
-
1715
1801
  // src/schema/widgets/checkout-and-beyond/products.ts
1716
1802
  var import_uuid6 = require("uuid");
1717
- var import_v414 = require("zod/v4");
1803
+ var import_v415 = require("zod/v4");
1718
1804
 
1719
1805
  // src/schema/widgets/checkout-and-beyond/product.ts
1720
1806
  var import_uuid5 = require("uuid");
1721
- var import_v413 = require("zod/v4");
1722
- var CABProductSection = import_v413.z.object({
1723
- name: import_v413.z.string().optional(),
1724
- options: import_v413.z.array(
1725
- import_v413.z.object({
1807
+ var import_v414 = require("zod/v4");
1808
+ var CABProductSection = import_v414.z.object({
1809
+ name: import_v414.z.string().optional(),
1810
+ options: import_v414.z.array(
1811
+ import_v414.z.object({
1726
1812
  /** `name` represents `Color`, `Size`, etc. */
1727
- name: import_v413.z.string(),
1728
- optionId: import_v413.z.number(),
1729
- selector: import_v413.z.enum(variantSelectors).default(VariantSelector.menu),
1730
- values: import_v413.z.array(
1731
- import_v413.z.object({
1732
- color: import_v413.z.string().optional(),
1733
- image: import_v413.z.lazy(() => CABImageSection).optional(),
1813
+ name: import_v414.z.string(),
1814
+ optionId: import_v414.z.number(),
1815
+ selector: import_v414.z.enum(variantSelectors).default(VariantSelector.menu),
1816
+ values: import_v414.z.array(
1817
+ import_v414.z.object({
1818
+ color: import_v414.z.string().optional(),
1819
+ image: import_v414.z.lazy(() => CABImageSection).optional(),
1734
1820
  /** `name` represents `Red`, `Blue`, etc. */
1735
- name: import_v413.z.string(),
1736
- text: import_v413.z.lazy(() => CABTextSection).optional()
1821
+ name: import_v414.z.string(),
1822
+ text: import_v414.z.lazy(() => CABTextSection).optional()
1737
1823
  })
1738
1824
  )
1739
1825
  })
1740
1826
  ).default(() => []),
1741
- productId: import_v413.z.number().nullable().default(null),
1742
- sectionId: import_v413.z.uuid().default(() => (0, import_uuid5.v7)()),
1743
- sectionType: import_v413.z.literal(SectionType.product).default(SectionType.product)
1827
+ productId: import_v414.z.number().nullable().default(null),
1828
+ sectionId: import_v414.z.uuid().default(() => (0, import_uuid5.v7)()),
1829
+ sectionType: import_v414.z.literal(SectionType.product).default(SectionType.product)
1744
1830
  });
1745
1831
 
1746
1832
  // src/schema/widgets/checkout-and-beyond/products.ts
1747
- var CABProductsSection = import_v414.z.object({
1748
- name: import_v414.z.string().optional(),
1749
- sectionId: import_v414.z.uuid().default(() => (0, import_uuid6.v7)()),
1750
- sections: import_v414.z.union([import_v414.z.array(import_v414.z.lazy(() => CABProductSection)), import_v414.z.strictObject({}).transform(() => [])]).default(() => []),
1751
- sectionType: import_v414.z.literal(SectionType.products).default(SectionType.products)
1833
+ var CABProductsSection = import_v415.z.object({
1834
+ name: import_v415.z.string().optional(),
1835
+ sectionId: import_v415.z.uuid().default(() => (0, import_uuid6.v7)()),
1836
+ sections: import_v415.z.union([import_v415.z.array(import_v415.z.lazy(() => CABProductSection)), import_v415.z.strictObject({}).transform(() => [])]).default(() => []),
1837
+ sectionType: import_v415.z.literal(SectionType.products).default(SectionType.products)
1752
1838
  });
1753
1839
 
1754
1840
  // src/schema/widgets/checkout-and-beyond/offers.ts
1755
- var CABOffersSection = import_v415.z.lazy(
1841
+ var CABOffersSection = import_v416.z.lazy(
1842
+ () => CABLayoutSection.omit({ sections: true, sectionType: true }).extend(
1843
+ import_v416.z.object({
1844
+ sections: import_v416.z.union([import_v416.z.array(import_v416.z.lazy(() => CABSection)), import_v416.z.strictObject({}).transform(() => [])]).default(() => [CABDataSourceSection.parse({}), CABProductsSection.parse({})]),
1845
+ sectionType: import_v416.z.literal(SectionType.offers).default(SectionType.offers)
1846
+ }).shape
1847
+ )
1848
+ );
1849
+
1850
+ // src/schema/widgets/checkout-and-beyond/carousel.ts
1851
+ var CABCarouselSection = import_v417.z.lazy(
1756
1852
  () => CABLayoutSection.omit({ sections: true, sectionType: true }).extend(
1757
- import_v415.z.object({
1758
- sections: import_v415.z.union([import_v415.z.array(import_v415.z.lazy(() => CABSection)), import_v415.z.strictObject({}).transform(() => [])]).default(() => [CABDataSourceSection.parse({}), CABProductsSection.parse({})]),
1759
- sectionType: import_v415.z.literal(SectionType.offers).default(SectionType.offers)
1853
+ import_v417.z.object({
1854
+ autoAdvanceInterval: import_v417.z.number().default(0),
1855
+ itemsAtOnce: import_v417.z.number().min(1).default(1),
1856
+ sections: import_v417.z.union([import_v417.z.array(import_v417.z.lazy(() => CABSection)), import_v417.z.strictObject({}).transform(() => [])]).default(() => [CABOffersSection.parse({})]),
1857
+ sectionType: import_v417.z.literal(SectionType.carousel).default(SectionType.carousel)
1760
1858
  }).shape
1761
1859
  )
1762
1860
  );
1763
1861
 
1764
1862
  // src/schema/widgets/checkout-and-beyond/quantity.ts
1765
1863
  var import_uuid7 = require("uuid");
1766
- var import_v416 = require("zod/v4");
1767
- var CABQuantitySection = import_v416.z.object({
1768
- errorMessages: import_v416.z.record(
1769
- import_v416.z.string(),
1770
- import_v416.z.object({
1771
- max: import_v416.z.string().optional(),
1772
- min: import_v416.z.string().optional(),
1773
- neg: import_v416.z.string().optional()
1864
+ var import_v418 = require("zod/v4");
1865
+ var CABQuantitySection = import_v418.z.object({
1866
+ errorMessages: import_v418.z.record(
1867
+ import_v418.z.string(),
1868
+ import_v418.z.object({
1869
+ max: import_v418.z.string().optional(),
1870
+ min: import_v418.z.string().optional(),
1871
+ neg: import_v418.z.string().optional()
1774
1872
  })
1775
1873
  ).default({
1776
1874
  en: {
@@ -1779,67 +1877,73 @@ var CABQuantitySection = import_v416.z.object({
1779
1877
  neg: "Quantity cannot be negative"
1780
1878
  }
1781
1879
  }),
1782
- inputType: import_v416.z.enum(quantityInputs).default(QuantityInput.select),
1783
- max: import_v416.z.number().min(1).max(100).default(10),
1784
- min: import_v416.z.number().min(1).default(1),
1785
- name: import_v416.z.string().optional(),
1786
- sectionId: import_v416.z.uuid().default(() => (0, import_uuid7.v7)()),
1787
- sectionType: import_v416.z.literal(SectionType.quantity).default(SectionType.quantity)
1880
+ inputType: import_v418.z.enum(quantityInputs).default(QuantityInput.select),
1881
+ max: import_v418.z.number().min(1).max(100).default(10),
1882
+ min: import_v418.z.number().min(1).default(1),
1883
+ name: import_v418.z.string().optional(),
1884
+ rule: CABRule.optional(),
1885
+ sectionId: import_v418.z.uuid().default(() => (0, import_uuid7.v7)()),
1886
+ sectionType: import_v418.z.literal(SectionType.quantity).default(SectionType.quantity)
1788
1887
  });
1789
1888
 
1790
1889
  // src/schema/widgets/checkout-and-beyond/reviews.ts
1791
1890
  var import_uuid8 = require("uuid");
1792
- var import_v417 = require("zod/v4");
1793
- var CABReviewsSection = import_v417.z.object({
1794
- color: import_v417.z.string().default("#fadb14"),
1795
- name: import_v417.z.string().optional(),
1796
- sectionId: import_v417.z.uuid().default(() => (0, import_uuid8.v7)()),
1797
- sectionType: import_v417.z.literal(SectionType.reviews).default(SectionType.reviews),
1798
- size: import_v417.z.enum(reviewsSizes).default(ReviewsSize.default)
1891
+ var import_v419 = require("zod/v4");
1892
+ var CABReviewsSection = import_v419.z.object({
1893
+ color: import_v419.z.string().default("#fadb14"),
1894
+ name: import_v419.z.string().optional(),
1895
+ rule: CABRule.optional(),
1896
+ sectionId: import_v419.z.uuid().default(() => (0, import_uuid8.v7)()),
1897
+ sectionType: import_v419.z.literal(SectionType.reviews).default(SectionType.reviews),
1898
+ size: import_v419.z.enum(reviewsSizes).default(ReviewsSize.default)
1799
1899
  });
1800
1900
 
1801
1901
  // src/schema/widgets/checkout-and-beyond/subscription.ts
1802
1902
  var import_uuid9 = require("uuid");
1803
- var import_v418 = require("zod/v4");
1804
- var CABSubscriptionSection = import_v418.z.object({
1805
- name: import_v418.z.string().optional(),
1806
- sectionId: import_v418.z.uuid().default(() => (0, import_uuid9.v7)()),
1807
- sectionType: import_v418.z.literal(SectionType.subscription).default(SectionType.subscription)
1903
+ var import_v420 = require("zod/v4");
1904
+ var CABSubscriptionSection = import_v420.z.object({
1905
+ name: import_v420.z.string().optional(),
1906
+ rule: CABRule.optional(),
1907
+ sectionId: import_v420.z.uuid().default(() => (0, import_uuid9.v7)()),
1908
+ sectionType: import_v420.z.literal(SectionType.subscription).default(SectionType.subscription)
1808
1909
  });
1809
1910
 
1810
1911
  // src/schema/widgets/checkout-and-beyond/table.ts
1811
1912
  var import_uuid10 = require("uuid");
1812
- var import_v419 = require("zod/v4");
1813
- var CABTableSection = import_v419.z.object({
1814
- name: import_v419.z.string().optional(),
1815
- sectionId: import_v419.z.uuid().default(() => (0, import_uuid10.v7)()),
1816
- sectionType: import_v419.z.literal(SectionType.table).default(SectionType.table)
1913
+ var import_v421 = require("zod/v4");
1914
+ var CABTableSection = import_v421.z.object({
1915
+ name: import_v421.z.string().optional(),
1916
+ rule: CABRule.optional(),
1917
+ sectionId: import_v421.z.uuid().default(() => (0, import_uuid10.v7)()),
1918
+ sectionType: import_v421.z.literal(SectionType.table).default(SectionType.table)
1817
1919
  });
1818
1920
 
1819
1921
  // src/schema/widgets/checkout-and-beyond/variants.ts
1820
1922
  var import_lodash_es4 = require("lodash-es");
1821
1923
  var import_uuid11 = require("uuid");
1822
- var import_v420 = require("zod/v4");
1823
- var CABVariantsSection = import_v420.z.object({
1824
- name: import_v420.z.string().optional(),
1825
- sectionId: import_v420.z.uuid().default(() => (0, import_uuid11.v7)()),
1826
- sectionType: import_v420.z.literal(SectionType.variants).default(SectionType.variants),
1827
- selector: import_v420.z.enum((0, import_lodash_es4.slice)(variantSelectors, 0, 3)).default(VariantSelector.menu)
1924
+ var import_v422 = require("zod/v4");
1925
+ var CABVariantsSection = import_v422.z.object({
1926
+ name: import_v422.z.string().optional(),
1927
+ rule: CABRule.optional(),
1928
+ sectionId: import_v422.z.uuid().default(() => (0, import_uuid11.v7)()),
1929
+ sectionType: import_v422.z.literal(SectionType.variants).default(SectionType.variants),
1930
+ selector: import_v422.z.enum((0, import_lodash_es4.slice)(variantSelectors, 0, 3)).default(VariantSelector.menu)
1828
1931
  });
1829
1932
 
1830
1933
  // src/schema/widgets/checkout-and-beyond/shared.ts
1831
- var CABBorder = import_v421.z.object({
1832
- radius: import_v421.z.enum(borderRadii).default(BorderRadius.base),
1833
- style: import_v421.z.enum(borderStyles).default(BorderStyle.none),
1834
- width: import_v421.z.enum(borderWidths).default(BorderWidth.base)
1934
+ var CABBorder = import_v423.z.object({
1935
+ radius: import_v423.z.enum(borderRadii).default(BorderRadius.base),
1936
+ style: import_v423.z.enum(borderStyles).default(BorderStyle.none),
1937
+ width: import_v423.z.enum(borderWidths).default(BorderWidth.base)
1835
1938
  }).default({
1836
1939
  radius: BorderRadius.base,
1837
1940
  style: BorderStyle.none,
1838
1941
  width: BorderWidth.base
1839
1942
  });
1840
- var CABSection = import_v421.z.lazy(
1841
- () => import_v421.z.discriminatedUnion("sectionType", [
1943
+ var CABSection = import_v423.z.lazy(
1944
+ () => import_v423.z.discriminatedUnion("sectionType", [
1842
1945
  CABButtonSection,
1946
+ CABCarouselSection,
1843
1947
  CABDataSourceSection,
1844
1948
  CABImageSection,
1845
1949
  CABLayoutSection,
@@ -1856,121 +1960,122 @@ var CABSection = import_v421.z.lazy(
1856
1960
  );
1857
1961
 
1858
1962
  // src/schema/widgets/checkout-and-beyond/layout.ts
1859
- var GridItem = import_v422.z.union([import_v422.z.literal("auto"), import_v422.z.literal("fill"), import_v422.z.string().regex(/^\d+%$/), import_v422.z.number()]);
1860
- var CABLayoutSection = import_v422.z.object({
1861
- alignment: import_v422.z.object({
1862
- horizontal: import_v422.z.enum(horizontalAlignments).default(HorizontalAlignment.start),
1863
- vertical: import_v422.z.enum(verticalAlignments).default(VerticalAlignment.top)
1963
+ var GridItem = import_v424.z.union([import_v424.z.literal("auto"), import_v424.z.literal("fill"), import_v424.z.string().regex(/^\d+%$/), import_v424.z.number()]);
1964
+ var CABLayoutSection = import_v424.z.object({
1965
+ alignment: import_v424.z.object({
1966
+ horizontal: import_v424.z.enum(horizontalAlignments).default(HorizontalAlignment.start),
1967
+ vertical: import_v424.z.enum(verticalAlignments).default(VerticalAlignment.top)
1864
1968
  }).default({
1865
1969
  horizontal: HorizontalAlignment.start,
1866
1970
  vertical: VerticalAlignment.top
1867
1971
  }),
1868
- border: import_v422.z.lazy(() => CABBorder),
1869
- buttonField: import_v422.z.enum(buttonFields).optional(),
1870
- direction: import_v422.z.enum(directions).default(Direction.rows),
1871
- grid: import_v422.z.object({
1872
- columns: import_v422.z.union([import_v422.z.array(GridItem), import_v422.z.undefined()]).default(() => ["auto"]),
1873
- rows: import_v422.z.union([import_v422.z.array(GridItem), import_v422.z.undefined()]).default(() => ["auto"])
1972
+ border: import_v424.z.lazy(() => CABBorder),
1973
+ buttonField: import_v424.z.enum(buttonFields).optional(),
1974
+ direction: import_v424.z.enum(directions).default(Direction.rows),
1975
+ grid: import_v424.z.object({
1976
+ columns: import_v424.z.union([import_v424.z.array(GridItem), import_v424.z.undefined()]).default(() => ["auto"]),
1977
+ rows: import_v424.z.union([import_v424.z.array(GridItem), import_v424.z.undefined()]).default(() => ["auto"])
1874
1978
  }).default({ columns: ["auto"], rows: ["auto"] }).optional(),
1875
- name: import_v422.z.string().optional(),
1876
- padding: import_v422.z.enum(spacings).default(Spacing.none),
1877
- sectionId: import_v422.z.uuid().default(() => (0, import_uuid12.v7)()),
1878
- sections: import_v422.z.union([import_v422.z.array(import_v422.z.lazy(() => CABSection)), import_v422.z.strictObject({}).transform(() => [])]).default(() => []),
1879
- sectionType: import_v422.z.literal(SectionType.layout).default(SectionType.layout),
1880
- spacing: import_v422.z.enum(spacings).default(Spacing.base),
1881
- width: import_v422.z.number().default(100)
1979
+ name: import_v424.z.string().optional(),
1980
+ padding: import_v424.z.enum(spacings).default(Spacing.none),
1981
+ rule: CABRule.optional(),
1982
+ sectionId: import_v424.z.uuid().default(() => (0, import_uuid12.v7)()),
1983
+ sections: import_v424.z.union([import_v424.z.array(import_v424.z.lazy(() => CABSection)), import_v424.z.strictObject({}).transform(() => [])]).default(() => []),
1984
+ sectionType: import_v424.z.literal(SectionType.layout).default(SectionType.layout),
1985
+ spacing: import_v424.z.enum(spacings).default(Spacing.base),
1986
+ width: import_v424.z.number().default(100)
1882
1987
  });
1883
1988
 
1884
1989
  // src/schema/widgets/checkout-and-beyond/root.ts
1885
- var TargetArea = import_v423.z.object({
1886
- fill: import_v423.z.boolean().optional(),
1887
- flip: import_v423.z.enum(["both", "horizontal", "vertical"]).optional(),
1888
- icon: import_v423.z.string(),
1889
- label: import_v423.z.string(),
1890
- width: import_v423.z.string()
1990
+ var TargetArea = import_v425.z.object({
1991
+ fill: import_v425.z.boolean().optional(),
1992
+ flip: import_v425.z.enum(["both", "horizontal", "vertical"]).optional(),
1993
+ icon: import_v425.z.string(),
1994
+ label: import_v425.z.string(),
1995
+ width: import_v425.z.string()
1891
1996
  }).default(targetAreas[EditorMode.checkoutExtension][1]);
1892
1997
  var CABRootSection = CABLayoutSection.extend(
1893
- import_v423.z.object({
1894
- editorMode: import_v423.z.enum(editorModes).default(EditorMode.checkoutExtension),
1895
- previewMode: import_v423.z.boolean().default(false),
1896
- storeId: import_v423.z.number().nullable().default(null),
1998
+ import_v425.z.object({
1999
+ editorMode: import_v425.z.enum(editorModes).default(EditorMode.checkoutExtension),
2000
+ previewMode: import_v425.z.boolean().default(false),
2001
+ storeId: import_v425.z.number().nullable().default(null),
1897
2002
  targetArea: TargetArea.nullable(),
1898
- type: import_v423.z.enum(widgetTypes).default(WidgetType.ui_extension_content_block),
1899
- version: import_v423.z.literal(2).default(2),
1900
- widgetId: import_v423.z.number().nullable().default(null)
2003
+ type: import_v425.z.enum(widgetTypes).default(WidgetType.ui_extension_content_block),
2004
+ version: import_v425.z.literal(2).default(2),
2005
+ widgetId: import_v425.z.number().nullable().default(null)
1901
2006
  }).shape
1902
2007
  );
1903
2008
 
1904
2009
  // src/schema/widgets/contentBlock.ts
1905
- var ContentBlockV1 = import_v424.z.object({
1906
- blockSpacing: import_v424.z.enum(spacings).optional(),
1907
- imageBlocks: import_v424.z.union([
1908
- import_v424.z.array(
1909
- import_v424.z.object({
1910
- altText: import_v424.z.string().nullable(),
1911
- description: import_v424.z.string().nullable(),
1912
- id: import_v424.z.uuid(),
1913
- imagePlacement: import_v424.z.enum(["top", "right", "bottom", "left"]),
1914
- imageSize: import_v424.z.number(),
1915
- imageUrl: import_v424.z.url(),
1916
- textAlignment: import_v424.z.enum(["left", "center", "right"]),
1917
- textSize: import_v424.z.enum(textSizeNames)
2010
+ var ContentBlockV1 = import_v426.z.object({
2011
+ blockSpacing: import_v426.z.enum(spacings).optional(),
2012
+ imageBlocks: import_v426.z.union([
2013
+ import_v426.z.array(
2014
+ import_v426.z.object({
2015
+ altText: import_v426.z.string().nullable(),
2016
+ description: import_v426.z.string().nullable(),
2017
+ id: import_v426.z.uuid(),
2018
+ imagePlacement: import_v426.z.enum(["top", "right", "bottom", "left"]),
2019
+ imageSize: import_v426.z.number(),
2020
+ imageUrl: import_v426.z.url(),
2021
+ textAlignment: import_v426.z.enum(["left", "center", "right"]),
2022
+ textSize: import_v426.z.enum(textSizeNames)
1918
2023
  })
1919
2024
  ),
1920
- import_v424.z.strictObject({}).transform(() => [])
2025
+ import_v426.z.strictObject({}).transform(() => [])
1921
2026
  ]).optional(),
1922
- imageLayout: import_v424.z.enum(["row", "column"]).optional(),
1923
- language: import_v424.z.object({
1924
- description: import_v424.z.string(),
1925
- superTitle: import_v424.z.string(),
1926
- title: import_v424.z.string()
2027
+ imageLayout: import_v426.z.enum(["row", "column"]).optional(),
2028
+ language: import_v426.z.object({
2029
+ description: import_v426.z.string(),
2030
+ superTitle: import_v426.z.string(),
2031
+ title: import_v426.z.string()
1927
2032
  }),
1928
- previewMode: import_v424.z.boolean(),
1929
- type: import_v424.z.literal(WidgetType.ui_extension_content_block).default(WidgetType.ui_extension_content_block),
1930
- version: import_v424.z.literal(1)
2033
+ previewMode: import_v426.z.boolean(),
2034
+ type: import_v426.z.literal(WidgetType.ui_extension_content_block).default(WidgetType.ui_extension_content_block),
2035
+ version: import_v426.z.literal(1)
1931
2036
  });
1932
- var ContentBlock = import_v424.z.discriminatedUnion("version", [
2037
+ var ContentBlock = import_v426.z.discriminatedUnion("version", [
1933
2038
  ContentBlockV1,
1934
2039
  CABRootSection.extend({
1935
- type: import_v424.z.literal(WidgetType.ui_extension_content_block).default(WidgetType.ui_extension_content_block)
2040
+ type: import_v426.z.literal(WidgetType.ui_extension_content_block).default(WidgetType.ui_extension_content_block)
1936
2041
  })
1937
2042
  ]);
1938
2043
 
1939
2044
  // src/schema/widgets/giftWithPurchase.ts
1940
- var import_v425 = require("zod/v4");
1941
- var GiftWithPurchase = import_v425.z.looseObject({
1942
- type: import_v425.z.literal(WidgetType.gift_with_purchase).default(WidgetType.gift_with_purchase)
2045
+ var import_v427 = require("zod/v4");
2046
+ var GiftWithPurchase = import_v427.z.looseObject({
2047
+ type: import_v427.z.literal(WidgetType.gift_with_purchase).default(WidgetType.gift_with_purchase)
1943
2048
  });
1944
2049
 
1945
2050
  // src/schema/widgets/lineItemEditor.ts
1946
- var import_v426 = require("zod/v4");
1947
- var LineItemEditor = import_v426.z.looseObject({
1948
- type: import_v426.z.literal(WidgetType.ui_extension_line_item_editor).default(WidgetType.ui_extension_line_item_editor)
2051
+ var import_v428 = require("zod/v4");
2052
+ var LineItemEditor = import_v428.z.looseObject({
2053
+ type: import_v428.z.literal(WidgetType.ui_extension_line_item_editor).default(WidgetType.ui_extension_line_item_editor)
1949
2054
  });
1950
2055
 
1951
2056
  // src/schema/widgets/progressBar.ts
1952
- var import_v427 = require("zod/v4");
1953
- var ProgressBar = import_v427.z.looseObject({
1954
- type: import_v427.z.literal(WidgetType.ui_extension_progress_bar).default(WidgetType.ui_extension_progress_bar)
2057
+ var import_v429 = require("zod/v4");
2058
+ var ProgressBar = import_v429.z.looseObject({
2059
+ type: import_v429.z.literal(WidgetType.ui_extension_progress_bar).default(WidgetType.ui_extension_progress_bar)
1955
2060
  });
1956
2061
 
1957
2062
  // src/schema/widgets/rebuyButton.ts
1958
- var import_v428 = require("zod/v4");
1959
- var RebuyButtonV1 = import_v428.z.looseObject({
1960
- type: import_v428.z.literal(WidgetType.ui_extension_button).default(WidgetType.ui_extension_button),
1961
- version: import_v428.z.literal(1)
2063
+ var import_v430 = require("zod/v4");
2064
+ var RebuyButtonV1 = import_v430.z.looseObject({
2065
+ type: import_v430.z.literal(WidgetType.ui_extension_button).default(WidgetType.ui_extension_button),
2066
+ version: import_v430.z.literal(1)
1962
2067
  });
1963
- var RebuyButton = import_v428.z.discriminatedUnion("version", [
2068
+ var RebuyButton = import_v430.z.discriminatedUnion("version", [
1964
2069
  RebuyButtonV1,
1965
2070
  CABRootSection.extend({
1966
- type: import_v428.z.literal(WidgetType.ui_extension_button).default(WidgetType.ui_extension_button)
2071
+ type: import_v430.z.literal(WidgetType.ui_extension_button).default(WidgetType.ui_extension_button)
1967
2072
  })
1968
2073
  ]);
1969
2074
 
1970
2075
  // src/schema/widgets/rebuyMonetize.ts
1971
- var import_v429 = require("zod/v4");
1972
- var RebuyMonetize = import_v429.z.looseObject({
1973
- type: import_v429.z.literal(WidgetType.ui_extension_ad).default(WidgetType.ui_extension_ad)
2076
+ var import_v431 = require("zod/v4");
2077
+ var RebuyMonetize = import_v431.z.looseObject({
2078
+ type: import_v431.z.literal(WidgetType.ui_extension_ad).default(WidgetType.ui_extension_ad)
1974
2079
  });
1975
2080
 
1976
2081
  // src/schema/widgetData.ts
@@ -1984,7 +2089,7 @@ var extensionWidgetTypes = [
1984
2089
  WidgetType.ui_extension_line_item_editor,
1985
2090
  WidgetType.ui_extension_progress_bar
1986
2091
  ];
1987
- var WidgetData = import_v430.z.discriminatedUnion("type", [
2092
+ var WidgetData = import_v432.z.discriminatedUnion("type", [
1988
2093
  ABTestingPlaceholder,
1989
2094
  CheckoutExtension,
1990
2095
  ContentBlock,
@@ -1997,15 +2102,15 @@ var WidgetData = import_v430.z.discriminatedUnion("type", [
1997
2102
 
1998
2103
  // src/schema/widgets/post-purchase-offer/common.ts
1999
2104
  var import_lodash_es5 = require("lodash-es");
2000
- var import_v431 = require("zod/v4");
2001
- var strictNumber = import_v431.z.union([
2002
- import_v431.z.number(),
2003
- import_v431.z.string().transform((value) => (0, import_lodash_es5.toNumber)((0, import_lodash_es5.replace)((0, import_lodash_es5.toString)(value), /[^0-9.]/g, "")) || 0),
2004
- import_v431.z.unknown().transform(() => 0)
2105
+ var import_v433 = require("zod/v4");
2106
+ var strictNumber = import_v433.z.union([
2107
+ import_v433.z.number(),
2108
+ import_v433.z.string().transform((value) => (0, import_lodash_es5.toNumber)((0, import_lodash_es5.replace)((0, import_lodash_es5.toString)(value), /[^0-9.]/g, "")) || 0),
2109
+ import_v433.z.unknown().transform(() => 0)
2005
2110
  ]);
2006
2111
 
2007
2112
  // src/schema/widgets/post-purchase-offer/constants.ts
2008
- var import_v432 = require("zod/v4");
2113
+ var import_v434 = require("zod/v4");
2009
2114
  var blockTypes = [
2010
2115
  "callout_banner",
2011
2116
  "image",
@@ -2016,136 +2121,136 @@ var blockTypes = [
2016
2121
  "text",
2017
2122
  "timer"
2018
2123
  ];
2019
- var blockType = import_v432.z.enum(blockTypes);
2124
+ var blockType = import_v434.z.enum(blockTypes);
2020
2125
  var BlockType = blockType.enum;
2021
2126
 
2022
2127
  // src/schema/widgets/post-purchase-offer/postPurchaseBlocks.ts
2023
2128
  var import_lodash_es6 = require("lodash-es");
2024
2129
  var import_uuid13 = require("uuid");
2025
- var import_v433 = require("zod/v4");
2026
- var TextAlignment2 = import_v433.z.union([import_v433.z.enum(["leading", "center", "trailing"]), import_v433.z.unknown().transform(() => "leading")]);
2027
- var TextSize = import_v433.z.union([
2028
- import_v433.z.enum(["xsmall", "small", "base", "default", "medium", "large", "xlarge"]),
2029
- import_v433.z.unknown().transform(() => "medium")
2130
+ var import_v435 = require("zod/v4");
2131
+ var TextAlignment2 = import_v435.z.union([import_v435.z.enum(["leading", "center", "trailing"]), import_v435.z.unknown().transform(() => "leading")]);
2132
+ var TextSize = import_v435.z.union([
2133
+ import_v435.z.enum(["xsmall", "small", "base", "default", "medium", "large", "xlarge"]),
2134
+ import_v435.z.unknown().transform(() => "medium")
2030
2135
  ]);
2031
- var CalloutBannerBlock = import_v433.z.object({
2032
- id: import_v433.z.string().optional().default(() => (0, import_uuid13.v4)()),
2033
- settings: import_v433.z.object({
2034
- superTitle: import_v433.z.union([import_v433.z.string(), TiptapDocument]).default(() => "Limited-time Offer"),
2035
- title: import_v433.z.union([import_v433.z.string(), TiptapDocument]).default(() => "Add this customer favorite to your order")
2136
+ var CalloutBannerBlock = import_v435.z.object({
2137
+ id: import_v435.z.string().optional().default(() => (0, import_uuid13.v4)()),
2138
+ settings: import_v435.z.object({
2139
+ superTitle: import_v435.z.union([import_v435.z.string(), TiptapDocument]).default(() => "Limited-time Offer"),
2140
+ title: import_v435.z.union([import_v435.z.string(), TiptapDocument]).default(() => "Add this customer favorite to your order")
2036
2141
  }),
2037
- styles: import_v433.z.object({
2038
- superTitleEmphasized: import_v433.z.boolean().default(false),
2142
+ styles: import_v435.z.object({
2143
+ superTitleEmphasized: import_v435.z.boolean().default(false),
2039
2144
  superTitleSize: TextSize.default("large"),
2040
2145
  textAlignment: TextAlignment2.default("center"),
2041
- titleEmphasized: import_v433.z.boolean().default(true),
2146
+ titleEmphasized: import_v435.z.boolean().default(true),
2042
2147
  titleSize: TextSize.default("large")
2043
2148
  }),
2044
- type: import_v433.z.literal(BlockType.callout_banner).default(BlockType.callout_banner)
2149
+ type: import_v435.z.literal(BlockType.callout_banner).default(BlockType.callout_banner)
2045
2150
  });
2046
- var ImageBlock = import_v433.z.object({
2047
- id: import_v433.z.string().optional().default(() => (0, import_uuid13.v4)()),
2048
- settings: import_v433.z.union([
2049
- import_v433.z.object({
2151
+ var ImageBlock = import_v435.z.object({
2152
+ id: import_v435.z.string().optional().default(() => (0, import_uuid13.v4)()),
2153
+ settings: import_v435.z.union([
2154
+ import_v435.z.object({
2050
2155
  /** This isn't used in the post-purchase offer widget */
2051
- alt: import_v433.z.string().optional().default(""),
2052
- image: import_v433.z.union([import_v433.z.literal(""), import_v433.z.url()]).default(""),
2053
- imageSize: import_v433.z.number().default(20),
2054
- imageType: import_v433.z.enum(["URL", "UPLOAD"]).default("URL")
2156
+ alt: import_v435.z.string().optional().default(""),
2157
+ image: import_v435.z.union([import_v435.z.literal(""), import_v435.z.url()]).default(""),
2158
+ imageSize: import_v435.z.number().default(20),
2159
+ imageType: import_v435.z.enum(["URL", "UPLOAD"]).default("URL")
2055
2160
  }),
2056
- import_v433.z.array(import_v433.z.never()).transform(() => ({}))
2161
+ import_v435.z.array(import_v435.z.never()).transform(() => ({}))
2057
2162
  ]),
2058
- type: import_v433.z.literal(BlockType.image).default(BlockType.image)
2163
+ type: import_v435.z.literal(BlockType.image).default(BlockType.image)
2059
2164
  });
2060
- var ImageContentBlock = import_v433.z.object({
2061
- id: import_v433.z.string().optional().default(() => (0, import_uuid13.v4)()),
2062
- settings: import_v433.z.object({
2063
- /** This isn't used in the post-purchase offer widget */
2064
- alt: import_v433.z.string().optional().default(""),
2065
- description: import_v433.z.union([import_v433.z.string(), TiptapDocument, import_v433.z.null()]).default(
2165
+ var ImageContentBlock = import_v435.z.object({
2166
+ id: import_v435.z.string().optional().default(() => (0, import_uuid13.v4)()),
2167
+ settings: import_v435.z.object({
2168
+ alt: import_v435.z.string().optional().default(""),
2169
+ description: import_v435.z.union([import_v435.z.string(), TiptapDocument, import_v435.z.null()]).default(
2066
2170
  "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
2067
2171
  ),
2068
2172
  descriptionSize: TextSize.default("medium"),
2069
2173
  horizontalAlignment: TextAlignment2.default("leading"),
2070
- image: import_v433.z.union([import_v433.z.literal(""), import_v433.z.url()]).default(""),
2071
- imagePlacement: import_v433.z.enum(["bottom", "left", "right", "top"]).optional().default("left"),
2072
- imageSize: import_v433.z.number().default(20),
2073
- superTitle: import_v433.z.union([import_v433.z.string(), TiptapDocument]).default("Lorem Ipsum!"),
2174
+ image: import_v435.z.union([import_v435.z.literal(""), import_v435.z.url()]).default(""),
2175
+ imagePlacement: import_v435.z.enum(["bottom", "left", "right", "top"]).optional().default("left"),
2176
+ imageSize: import_v435.z.number().default(20),
2177
+ superTitle: import_v435.z.union([import_v435.z.string(), TiptapDocument]).default("Lorem Ipsum!"),
2074
2178
  superTitleSize: TextSize.default("medium"),
2075
- swapContent: import_v433.z.boolean().optional().default(false),
2076
- title: import_v433.z.union([import_v433.z.string(), TiptapDocument]).nullable().default("Lorem ipsum dolor sit amet"),
2179
+ /** This isn't configurable in the admin-nextjs editor */
2180
+ swapContent: import_v435.z.boolean().optional().default(false),
2181
+ title: import_v435.z.union([import_v435.z.string(), TiptapDocument]).nullable().default("Lorem ipsum dolor sit amet"),
2077
2182
  titleSize: TextSize.default("medium")
2078
2183
  }),
2079
- type: import_v433.z.literal(BlockType.image_content).default(BlockType.image_content)
2184
+ type: import_v435.z.literal(BlockType.image_content).default(BlockType.image_content)
2080
2185
  });
2081
- var PayButtonBlock = import_v433.z.object({
2082
- id: import_v433.z.string().optional().default(() => (0, import_uuid13.v4)()),
2083
- settings: import_v433.z.union([
2084
- import_v433.z.object({
2085
- label: import_v433.z.string().default("Pay Now")
2186
+ var PayButtonBlock = import_v435.z.object({
2187
+ id: import_v435.z.string().optional().default(() => (0, import_uuid13.v4)()),
2188
+ settings: import_v435.z.union([
2189
+ import_v435.z.object({
2190
+ label: import_v435.z.string().default("Pay Now")
2086
2191
  }),
2087
- import_v433.z.array(import_v433.z.never()).transform(() => ({
2192
+ import_v435.z.array(import_v435.z.never()).transform(() => ({
2088
2193
  label: "Pay Now"
2089
2194
  }))
2090
2195
  ]),
2091
- styles: import_v433.z.union([
2092
- import_v433.z.object({
2093
- buttonWidth: import_v433.z.number().min(10).max(100).default(50)
2196
+ styles: import_v435.z.union([
2197
+ import_v435.z.object({
2198
+ buttonWidth: import_v435.z.number().min(10).max(100).default(50)
2094
2199
  }),
2095
- import_v433.z.array(import_v433.z.never()).transform(() => ({
2200
+ import_v435.z.array(import_v435.z.never()).transform(() => ({
2096
2201
  buttonWidth: 50
2097
2202
  }))
2098
2203
  ]),
2099
- type: import_v433.z.literal(BlockType.pay_button).default(BlockType.pay_button)
2204
+ type: import_v435.z.literal(BlockType.pay_button).default(BlockType.pay_button)
2100
2205
  });
2101
- var ProductInformationBlock = import_v433.z.object({
2206
+ var ProductInformationBlock = import_v435.z.object({
2102
2207
  /** This isn't configurable in the admin-nextjs editor */
2103
- hideProductImage: import_v433.z.boolean().optional().default(false),
2104
- id: import_v433.z.string().optional().default(() => (0, import_uuid13.v4)()),
2105
- type: import_v433.z.literal(BlockType.product_information).default(BlockType.product_information)
2208
+ hideProductImage: import_v435.z.boolean().optional().default(false),
2209
+ id: import_v435.z.string().optional().default(() => (0, import_uuid13.v4)()),
2210
+ type: import_v435.z.literal(BlockType.product_information).default(BlockType.product_information)
2106
2211
  });
2107
- var SeparatorBlock = import_v433.z.object({
2108
- id: import_v433.z.string().optional().default(() => (0, import_uuid13.v4)()),
2109
- type: import_v433.z.literal(BlockType.separator).default(BlockType.separator)
2212
+ var SeparatorBlock = import_v435.z.object({
2213
+ id: import_v435.z.string().optional().default(() => (0, import_uuid13.v4)()),
2214
+ type: import_v435.z.literal(BlockType.separator).default(BlockType.separator)
2110
2215
  });
2111
- var TextBlock = import_v433.z.object({
2112
- id: import_v433.z.string().optional().default(() => (0, import_uuid13.v4)()),
2113
- settings: import_v433.z.object({
2114
- description: import_v433.z.union([import_v433.z.string(), TiptapDocument]).optional().default(
2216
+ var TextBlock = import_v435.z.object({
2217
+ id: import_v435.z.string().optional().default(() => (0, import_uuid13.v4)()),
2218
+ settings: import_v435.z.object({
2219
+ description: import_v435.z.union([import_v435.z.string(), TiptapDocument]).optional().default(
2115
2220
  "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
2116
2221
  ),
2117
2222
  /** This isn't used in the post-purchase offer widget */
2118
2223
  descriptionSize: TextSize.default("medium"),
2119
2224
  horizontalAlignment: TextAlignment2.default("leading"),
2120
- superTitle: import_v433.z.union([import_v433.z.string(), TiptapDocument]).default("Super Title"),
2225
+ superTitle: import_v435.z.union([import_v435.z.string(), TiptapDocument]).default("Super Title"),
2121
2226
  /** This isn't used in the post-purchase offer widget */
2122
2227
  superTitleSize: TextSize.default("medium"),
2123
- title: import_v433.z.union([import_v433.z.string(), TiptapDocument]).nullable().default("Lorem ipsum dolor sit amet."),
2228
+ title: import_v435.z.union([import_v435.z.string(), TiptapDocument]).nullable().default("Lorem ipsum dolor sit amet."),
2124
2229
  /** This isn't used in the post-purchase offer widget */
2125
2230
  titleSize: TextSize.default("medium")
2126
2231
  }),
2127
- type: import_v433.z.literal(BlockType.text).default(BlockType.text)
2232
+ type: import_v435.z.literal(BlockType.text).default(BlockType.text)
2128
2233
  });
2129
- var TimerBlock = import_v433.z.object({
2130
- id: import_v433.z.string().optional().default(() => (0, import_uuid13.v4)()),
2131
- settings: import_v433.z.object({
2132
- durationMinutes: import_v433.z.number().min(0).default(10),
2133
- durationSeconds: import_v433.z.union([import_v433.z.number().min(0), import_v433.z.unknown().transform(() => 0)]).default(0),
2134
- endOffer: import_v433.z.boolean().default(true),
2135
- title: import_v433.z.union([import_v433.z.string(), TiptapDocument]).default("Hurry \u2014 your special offer ends in:")
2234
+ var TimerBlock = import_v435.z.object({
2235
+ id: import_v435.z.string().optional().default(() => (0, import_uuid13.v4)()),
2236
+ settings: import_v435.z.object({
2237
+ durationMinutes: import_v435.z.number().min(0).default(10),
2238
+ durationSeconds: import_v435.z.union([import_v435.z.number().min(0), import_v435.z.unknown().transform(() => 0)]).default(0),
2239
+ endOffer: import_v435.z.boolean().default(true),
2240
+ title: import_v435.z.union([import_v435.z.string(), TiptapDocument]).default("Hurry \u2014 your special offer ends in:")
2136
2241
  }),
2137
- styles: import_v433.z.object({
2242
+ styles: import_v435.z.object({
2138
2243
  textAlignment: TextAlignment2.default("center"),
2139
- timerBackgroundColor: import_v433.z.enum(["info", "warning", "success", "critical"]).default("warning"),
2140
- timerEmphasized: import_v433.z.union([import_v433.z.boolean(), import_v433.z.unknown().transform(() => true)]).default(true),
2244
+ timerBackgroundColor: import_v435.z.enum(["info", "warning", "success", "critical"]).default("warning"),
2245
+ timerEmphasized: import_v435.z.union([import_v435.z.boolean(), import_v435.z.unknown().transform(() => true)]).default(true),
2141
2246
  timerSize: TextSize.default("medium"),
2142
- timerWidth: import_v433.z.number().min(10).max(100).optional().default(100),
2143
- titleEmphasized: import_v433.z.union([import_v433.z.boolean(), import_v433.z.unknown().transform(() => true)]).default(false),
2247
+ timerWidth: import_v435.z.number().min(10).max(100).optional().default(100),
2248
+ titleEmphasized: import_v435.z.union([import_v435.z.boolean(), import_v435.z.unknown().transform(() => true)]).default(false),
2144
2249
  titleSize: TextSize.default("medium")
2145
2250
  }),
2146
- type: import_v433.z.literal(BlockType.timer).default(BlockType.timer)
2251
+ type: import_v435.z.literal(BlockType.timer).default(BlockType.timer)
2147
2252
  });
2148
- var PostPurchaseBlock = import_v433.z.discriminatedUnion("type", [
2253
+ var PostPurchaseBlock = import_v435.z.discriminatedUnion("type", [
2149
2254
  CalloutBannerBlock,
2150
2255
  ImageBlock,
2151
2256
  ImageContentBlock,
@@ -2165,66 +2270,66 @@ var isTextBlock = (block) => (0, import_lodash_es6.isEqual)((0, import_lodash_es
2165
2270
  var isTimerBlock = (block) => (0, import_lodash_es6.isEqual)((0, import_lodash_es6.get)(block, "type"), BlockType.timer);
2166
2271
 
2167
2272
  // src/schema/widgets/post-purchase-offer/postPurchaseOffer.ts
2168
- var import_v436 = require("zod/v4");
2273
+ var import_v438 = require("zod/v4");
2169
2274
 
2170
2275
  // src/schema/widgets/post-purchase-offer/postPurchaseWidget.ts
2171
- var import_v435 = require("zod/v4");
2276
+ var import_v437 = require("zod/v4");
2172
2277
 
2173
2278
  // src/schema/widgets/post-purchase-offer/postPurchaseSettings.ts
2174
- var import_v434 = require("zod/v4");
2175
- var PostPurchaseSettings = import_v434.z.object({
2176
- advance: import_v434.z.object({ removePartialOrder: import_v434.z.boolean().default(true) }).optional().default(() => ({ removePartialOrder: true })),
2177
- blocks: import_v434.z.union([import_v434.z.array(PostPurchaseBlock), import_v434.z.unknown().transform(() => [])]).default(() => [
2279
+ var import_v436 = require("zod/v4");
2280
+ var PostPurchaseSettings = import_v436.z.object({
2281
+ advance: import_v436.z.object({ removePartialOrder: import_v436.z.boolean().default(true) }).optional().default(() => ({ removePartialOrder: true })),
2282
+ blocks: import_v436.z.union([import_v436.z.array(PostPurchaseBlock), import_v436.z.unknown().transform(() => [])]).default(() => [
2178
2283
  PostPurchaseBlock.parse({ settings: {}, styles: {}, type: BlockType.timer }),
2179
2284
  PostPurchaseBlock.parse({ settings: {}, styles: {}, type: BlockType.callout_banner }),
2180
2285
  PostPurchaseBlock.parse({ type: BlockType.product_information })
2181
2286
  ]),
2182
- columnLayout: import_v434.z.boolean().optional(),
2183
- discount: import_v434.z.object({
2287
+ columnLayout: import_v436.z.boolean().optional(),
2288
+ discount: import_v436.z.object({
2184
2289
  amount: strictNumber.default(30),
2185
- shouldShowSavingText: import_v434.z.boolean().optional().default(true),
2186
- type: import_v434.z.enum(["none", "fixed_amount", "percentage"]).default("none")
2290
+ shouldShowSavingText: import_v436.z.boolean().optional().default(true),
2291
+ type: import_v436.z.enum(["none", "fixed_amount", "percentage"]).default("none")
2187
2292
  }),
2188
- discountedFrom: import_v434.z.enum(["price", "compare_at_price"]).optional().default("price"),
2189
- endpoint: import_v434.z.string().optional(),
2190
- integrations: import_v434.z.object({
2191
- judgeme: import_v434.z.boolean().default(false),
2192
- junip: import_v434.z.boolean().optional().default(false),
2193
- klaviyo: import_v434.z.boolean().default(false),
2194
- loox: import_v434.z.boolean().default(false),
2195
- okendo: import_v434.z.boolean().default(false),
2196
- opinew: import_v434.z.boolean().optional().default(false),
2197
- reviewsio: import_v434.z.boolean().optional().default(false),
2198
- stamped: import_v434.z.boolean().default(false),
2199
- yotpo: import_v434.z.boolean().default(false)
2293
+ discountedFrom: import_v436.z.enum(["price", "compare_at_price"]).optional().default("price"),
2294
+ endpoint: import_v436.z.string().optional(),
2295
+ integrations: import_v436.z.object({
2296
+ judgeme: import_v436.z.boolean().default(false),
2297
+ junip: import_v436.z.boolean().optional().default(false),
2298
+ klaviyo: import_v436.z.boolean().default(false),
2299
+ loox: import_v436.z.boolean().default(false),
2300
+ okendo: import_v436.z.boolean().default(false),
2301
+ opinew: import_v436.z.boolean().optional().default(false),
2302
+ reviewsio: import_v436.z.boolean().optional().default(false),
2303
+ stamped: import_v436.z.boolean().default(false),
2304
+ yotpo: import_v436.z.boolean().default(false)
2200
2305
  }),
2201
- key: import_v434.z.string(),
2202
- language: import_v434.z.object({
2203
- description: import_v434.z.union([import_v434.z.string(), import_v434.z.unknown().transform(() => "")]).default(""),
2204
- descriptionEnabled: import_v434.z.boolean().optional().default(false),
2205
- descriptionRte: import_v434.z.object({
2206
- content: import_v434.z.array(import_v434.z.unknown()),
2207
- type: import_v434.z.string()
2306
+ key: import_v436.z.string(),
2307
+ language: import_v436.z.object({
2308
+ description: import_v436.z.union([import_v436.z.string(), import_v436.z.unknown().transform(() => "")]).default(""),
2309
+ descriptionEnabled: import_v436.z.boolean().optional().default(false),
2310
+ descriptionRte: import_v436.z.object({
2311
+ content: import_v436.z.array(import_v436.z.unknown()),
2312
+ type: import_v436.z.string()
2208
2313
  }).optional(),
2209
- descriptionSpacing: import_v434.z.enum(["none", "xtight", "tight", "default", "loose", "xloose"]).optional(),
2210
- displayCtaPrice: import_v434.z.boolean().default(true),
2211
- global: import_v434.z.object({
2212
- declineAll: import_v434.z.string().optional().default("Decline All"),
2213
- declineThisOffer: import_v434.z.string().default("Decline this offer"),
2214
- free: import_v434.z.string().optional().default("Free"),
2215
- notAvailable: import_v434.z.string().optional().default("Not available"),
2216
- payNow: import_v434.z.string().default("Pay Now"),
2217
- quantity: import_v434.z.string().default("Quantity"),
2314
+ descriptionSpacing: import_v436.z.enum(["none", "xtight", "tight", "default", "loose", "xloose"]).optional(),
2315
+ displayCtaPrice: import_v436.z.boolean().default(true),
2316
+ global: import_v436.z.object({
2317
+ declineAll: import_v436.z.string().optional().default("Decline All"),
2318
+ declineThisOffer: import_v436.z.string().default("Decline this offer"),
2319
+ free: import_v436.z.string().optional().default("Free"),
2320
+ notAvailable: import_v436.z.string().optional().default("Not available"),
2321
+ payNow: import_v436.z.string().default("Pay Now"),
2322
+ quantity: import_v436.z.string().default("Quantity"),
2218
2323
  /** This isn't configurable in the admin-nextjs editor */
2219
- recurringShipping: import_v434.z.string().optional().default("Recurring shipping"),
2220
- recurringSubtotal: import_v434.z.string().default("Recurring subtotal"),
2221
- reviewsPlural: import_v434.z.string().optional().default("Reviews"),
2222
- reviewsSingular: import_v434.z.string().optional().default("Review"),
2223
- save: import_v434.z.union([import_v434.z.string(), import_v434.z.unknown().transform(() => "Save")]).optional().default("Save"),
2224
- shipping: import_v434.z.string().default("Shipping"),
2225
- subtotal: import_v434.z.string().default("Subtotal"),
2226
- taxes: import_v434.z.string().default("Taxes"),
2227
- total: import_v434.z.string().default("Total")
2324
+ recurringShipping: import_v436.z.string().optional().default("Recurring shipping"),
2325
+ recurringSubtotal: import_v436.z.string().default("Recurring subtotal"),
2326
+ reviewsPlural: import_v436.z.string().optional().default("Reviews"),
2327
+ reviewsSingular: import_v436.z.string().optional().default("Review"),
2328
+ save: import_v436.z.union([import_v436.z.string(), import_v436.z.unknown().transform(() => "Save")]).optional().default("Save"),
2329
+ shipping: import_v436.z.string().default("Shipping"),
2330
+ subtotal: import_v436.z.string().default("Subtotal"),
2331
+ taxes: import_v436.z.string().default("Taxes"),
2332
+ total: import_v436.z.string().default("Total")
2228
2333
  }).optional().default(() => ({
2229
2334
  declineAll: "Decline All",
2230
2335
  declineThisOffer: "Decline this offer",
@@ -2243,67 +2348,70 @@ var PostPurchaseSettings = import_v434.z.object({
2243
2348
  taxes: "Taxes",
2244
2349
  total: "Total"
2245
2350
  })),
2246
- globalTranslation: import_v434.z.string().optional().default("english")
2351
+ globalTranslation: import_v436.z.string().optional().default("english")
2247
2352
  }),
2248
- metafields: import_v434.z.boolean().default(false),
2353
+ metafields: import_v436.z.boolean().default(false),
2249
2354
  /** This isn't configurable in the admin-nextjs editor */
2250
- offer: import_v434.z.object({
2251
- count: import_v434.z.number().default(1)
2355
+ offer: import_v436.z.object({
2356
+ count: import_v436.z.number().default(1)
2252
2357
  }),
2253
- offersLayout: import_v434.z.object({
2254
- itemsPerPage: import_v434.z.number().optional(),
2255
- type: import_v434.z.enum(["list", "grid", "carousel"]).default("list")
2358
+ offersLayout: import_v436.z.object({
2359
+ itemsPerPage: import_v436.z.number().optional(),
2360
+ type: import_v436.z.enum(["list", "grid", "carousel"]).default("list")
2256
2361
  }).optional().default({
2257
2362
  type: "list"
2258
2363
  }),
2259
2364
  /** This isn't configurable in the admin-nextjs editor */
2260
- previewMode: import_v434.z.boolean().default(false),
2261
- productLimit: import_v434.z.number().optional().default(1),
2262
- productOptions: import_v434.z.object({
2365
+ previewMode: import_v436.z.boolean().default(false),
2366
+ productLimit: import_v436.z.number().optional().default(1),
2367
+ productOptions: import_v436.z.object({
2263
2368
  /** This isn't configurable in the admin-nextjs editor */
2264
- hideOutOfStockVariants: import_v434.z.boolean().optional().default(false),
2265
- matchVariant: import_v434.z.boolean().optional().default(true),
2266
- showDeclineAll: import_v434.z.enum(["above", "below", "both", "none"]).optional(),
2267
- showShipping: import_v434.z.boolean().optional().default(true),
2268
- showSubtotal: import_v434.z.boolean().optional().default(true),
2269
- showTaxes: import_v434.z.boolean().optional().default(true),
2270
- showTotal: import_v434.z.boolean().optional().default(true),
2271
- showVariantSelectors: import_v434.z.boolean().optional().default(true),
2272
- variantSelectorDisplayMode: import_v434.z.enum(["separate", "single"]).optional().default("separate")
2369
+ hideOutOfStockVariants: import_v436.z.boolean().optional().default(false),
2370
+ matchVariant: import_v436.z.boolean().optional().default(true),
2371
+ showDeclineAll: import_v436.z.enum(["above", "below", "both", "none"]).optional(),
2372
+ showShipping: import_v436.z.boolean().optional().default(true),
2373
+ showSubtotal: import_v436.z.boolean().optional().default(true),
2374
+ showTaxes: import_v436.z.boolean().optional().default(true),
2375
+ showTotal: import_v436.z.boolean().optional().default(true),
2376
+ showVariantSelectors: import_v436.z.boolean().optional().default(true),
2377
+ variantSelectorDisplayMode: import_v436.z.enum(["separate", "single"]).optional().default("separate")
2273
2378
  }),
2274
- productType: import_v434.z.union([import_v434.z.enum(["one-time", "subscription", "both"]), import_v434.z.literal("").transform(() => "one-time")]).default("one-time"),
2275
- productTypeSelector: import_v434.z.enum(["dropdown", "radio"]).optional().default("radio"),
2276
- quantityInputs: import_v434.z.object({
2277
- defaultQuantity: import_v434.z.union([import_v434.z.number(), import_v434.z.null().transform(() => 1)]).default(1),
2278
- enabled: import_v434.z.boolean().default(true),
2279
- maxValue: import_v434.z.union([import_v434.z.number(), import_v434.z.null().transform(() => 15)]).default(15),
2280
- minValue: import_v434.z.union([import_v434.z.number().min(0), import_v434.z.unknown().transform(() => 0)]).default(1)
2379
+ productType: import_v436.z.union([import_v436.z.enum(["one-time", "subscription", "both"]), import_v436.z.literal("").transform(() => "one-time")]).default("one-time"),
2380
+ productTypeSelector: import_v436.z.enum(["dropdown", "radio"]).optional().default("radio"),
2381
+ quantityInputs: import_v436.z.object({
2382
+ defaultQuantity: import_v436.z.union([import_v436.z.number(), import_v436.z.null().transform(() => 1)]).default(1),
2383
+ enabled: import_v436.z.boolean().default(true),
2384
+ maxValue: import_v436.z.union([import_v436.z.number(), import_v436.z.null().transform(() => 15)]).default(15),
2385
+ minValue: import_v436.z.union([import_v436.z.number().min(0), import_v436.z.unknown().transform(() => 0)]).default(1)
2281
2386
  }),
2282
- shipping: import_v434.z.object({
2387
+ shipping: import_v436.z.object({
2283
2388
  amount: strictNumber.default(10),
2284
- enabled: import_v434.z.boolean().default(true),
2285
- title: import_v434.z.string().optional().default("Shipping Fees"),
2286
- type: import_v434.z.enum(["free", "fixed_amount"]).default("free")
2389
+ /** This isn't configurable in the admin-nextjs editor */
2390
+ enabled: import_v436.z.boolean().default(true),
2391
+ title: import_v436.z.string().optional().default("Shipping Fees"),
2392
+ type: import_v436.z.enum(["free", "fixed_amount"]).default("free")
2287
2393
  }),
2288
- styles: import_v434.z.object({
2289
- starColor: import_v434.z.string().optional().default("#fadb14"),
2290
- starSize: import_v434.z.union([import_v434.z.enum(["small", "medium", "large"]), import_v434.z.unknown().transform(() => "large")]).optional().default("large"),
2291
- starStrokeColor: import_v434.z.string().optional().default("#fadb14"),
2292
- strokeWidth: import_v434.z.string().optional().default("1")
2394
+ styles: import_v436.z.object({
2395
+ starColor: import_v436.z.string().optional().default("#fadb14"),
2396
+ starSize: import_v436.z.union([import_v436.z.enum(["small", "medium", "large"]), import_v436.z.unknown().transform(() => "large")]).optional().default("large"),
2397
+ starStrokeColor: import_v436.z.string().optional().default("#fadb14"),
2398
+ strokeWidth: import_v436.z.string().optional().default("1")
2293
2399
  }).optional(),
2294
- subImages: import_v434.z.number().nullish().default(8),
2295
- subscription: import_v434.z.object({
2296
- discount: import_v434.z.object({
2400
+ subImages: import_v436.z.number().nullish().default(8),
2401
+ subscription: import_v436.z.object({
2402
+ discount: import_v436.z.object({
2297
2403
  amount: strictNumber.default(30),
2298
- shouldShowSavingText: import_v434.z.boolean().optional().default(true),
2299
- type: import_v434.z.enum(["none", "fixed_amount", "percentage"]).default("none")
2404
+ shouldShowSavingText: import_v436.z.boolean().optional().default(true),
2405
+ type: import_v436.z.enum(["none", "fixed_amount", "percentage"]).default("none")
2300
2406
  }),
2301
- shipping: import_v434.z.object({
2407
+ shipping: import_v436.z.object({
2302
2408
  amount: strictNumber.default(1),
2303
- enabled: import_v434.z.boolean().default(true),
2409
+ /** This isn't configurable in the admin-nextjs editor */
2410
+ enabled: import_v436.z.boolean().default(true),
2411
+ /** This isn't configurable in the admin-nextjs editor */
2304
2412
  recurringAmount: strictNumber.default(2),
2305
- shippingTitle: import_v434.z.string().default("Shipping Fees"),
2306
- type: import_v434.z.enum(["free", "fixed_amount"]).default("free")
2413
+ shippingTitle: import_v436.z.string().default("Shipping Fees"),
2414
+ type: import_v436.z.enum(["free", "fixed_amount"]).default("free")
2307
2415
  })
2308
2416
  }).optional().default({
2309
2417
  discount: {
@@ -2313,39 +2421,42 @@ var PostPurchaseSettings = import_v434.z.object({
2313
2421
  },
2314
2422
  shipping: {
2315
2423
  amount: 1,
2424
+ /** This isn't configurable in the admin-nextjs editor */
2316
2425
  enabled: true,
2426
+ /** This isn't configurable in the admin-nextjs editor */
2317
2427
  recurringAmount: 2,
2318
2428
  shippingTitle: "Shipping Fees",
2319
2429
  type: "free"
2320
2430
  }
2321
2431
  }),
2322
- subscriptionIsDefault: import_v434.z.boolean().optional(),
2323
- template: import_v434.z.string().optional().default(""),
2324
- type: import_v434.z.literal("shopify_post_purchase_extension").default("shopify_post_purchase_extension")
2432
+ subscriptionIsDefault: import_v436.z.boolean().optional(),
2433
+ /** This isn't configurable in the admin-nextjs editor */
2434
+ template: import_v436.z.string().optional().default(""),
2435
+ type: import_v436.z.literal("shopify_post_purchase_extension").default("shopify_post_purchase_extension")
2325
2436
  });
2326
2437
 
2327
2438
  // src/schema/widgets/post-purchase-offer/postPurchaseWidget.ts
2328
- var PostPurchaseWidget = import_v435.z.object({
2329
- classification: import_v435.z.literal("post_purchase_offer_page").default("post_purchase_offer_page"),
2330
- createdAtTime: import_v435.z.iso.datetime({ offset: true }).optional(),
2331
- customEndpointName: import_v435.z.string().nullish(),
2332
- id: import_v435.z.number().default(0),
2333
- lastViewed: import_v435.z.iso.datetime({ offset: true }).nullish(),
2334
- linkedCustomEndpointId: import_v435.z.number().nullish(),
2335
- name: import_v435.z.string().default(""),
2336
- owner: import_v435.z.number().nullish(),
2439
+ var PostPurchaseWidget = import_v437.z.object({
2440
+ classification: import_v437.z.literal("post_purchase_offer_page").default("post_purchase_offer_page"),
2441
+ createdAtTime: import_v437.z.iso.datetime({ offset: true }).optional(),
2442
+ customEndpointName: import_v437.z.string().nullish(),
2443
+ id: import_v437.z.number().default(0),
2444
+ lastViewed: import_v437.z.iso.datetime({ offset: true }).nullish(),
2445
+ linkedCustomEndpointId: import_v437.z.number().nullish(),
2446
+ name: import_v437.z.string().default(""),
2447
+ owner: import_v437.z.number().nullish(),
2337
2448
  settings: PostPurchaseSettings
2338
2449
  });
2339
2450
 
2340
2451
  // src/schema/widgets/post-purchase-offer/postPurchaseOffer.ts
2341
- var PostPurchaseOffer = import_v436.z.discriminatedUnion("successful", [
2342
- import_v436.z.strictObject({
2343
- errors: import_v436.z.array(import_v436.z.object({ message: import_v436.z.string() })),
2344
- message: import_v436.z.string(),
2345
- successful: import_v436.z.literal(false)
2452
+ var PostPurchaseOffer = import_v438.z.discriminatedUnion("successful", [
2453
+ import_v438.z.strictObject({
2454
+ errors: import_v438.z.array(import_v438.z.object({ message: import_v438.z.string() })),
2455
+ message: import_v438.z.string(),
2456
+ successful: import_v438.z.literal(false)
2346
2457
  }),
2347
- import_v436.z.strictObject({
2348
- successful: import_v436.z.literal(true),
2458
+ import_v438.z.strictObject({
2459
+ successful: import_v438.z.literal(true),
2349
2460
  widget: PostPurchaseWidget
2350
2461
  })
2351
2462
  ]);