@rebuy/rebuy 2.23.0-rc.9 → 2.24.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 (80) hide show
  1. package/dist/index.js +382 -339
  2. package/dist/index.js.map +4 -4
  3. package/dist/index.mjs +381 -338
  4. package/dist/index.mjs.map +4 -4
  5. package/dist/schema/checkout-and-beyond/constants.js +10 -0
  6. package/dist/schema/checkout-and-beyond/constants.js.map +2 -2
  7. package/dist/schema/checkout-and-beyond/constants.mjs +10 -0
  8. package/dist/schema/checkout-and-beyond/constants.mjs.map +2 -2
  9. package/dist/schema/checkout-and-beyond/index.js +130 -89
  10. package/dist/schema/checkout-and-beyond/index.js.map +4 -4
  11. package/dist/schema/checkout-and-beyond/index.mjs +130 -89
  12. package/dist/schema/checkout-and-beyond/index.mjs.map +4 -4
  13. package/dist/schema/widget-data.js +157 -128
  14. package/dist/schema/widget-data.js.map +4 -4
  15. package/dist/schema/widget-data.mjs +157 -128
  16. package/dist/schema/widget-data.mjs.map +4 -4
  17. package/dist/schema/widgetData.d.ts +2 -0
  18. package/dist/schema/widgetData.d.ts.map +1 -1
  19. package/dist/schema/widgets/checkout-and-beyond/banner.d.ts +1 -0
  20. package/dist/schema/widgets/checkout-and-beyond/banner.d.ts.map +1 -1
  21. package/dist/schema/widgets/checkout-and-beyond/button.d.ts +2 -0
  22. package/dist/schema/widgets/checkout-and-beyond/button.d.ts.map +1 -1
  23. package/dist/schema/widgets/checkout-and-beyond/carousel.d.ts +1 -0
  24. package/dist/schema/widgets/checkout-and-beyond/carousel.d.ts.map +1 -1
  25. package/dist/schema/widgets/checkout-and-beyond/cartLine.d.ts +1 -0
  26. package/dist/schema/widgets/checkout-and-beyond/cartLine.d.ts.map +1 -1
  27. package/dist/schema/widgets/checkout-and-beyond/common.d.ts +18 -2
  28. package/dist/schema/widgets/checkout-and-beyond/common.d.ts.map +1 -1
  29. package/dist/schema/widgets/checkout-and-beyond/dataSource.d.ts +30 -0
  30. package/dist/schema/widgets/checkout-and-beyond/dataSource.d.ts.map +1 -1
  31. package/dist/schema/widgets/checkout-and-beyond/index.d.ts +1 -0
  32. package/dist/schema/widgets/checkout-and-beyond/index.d.ts.map +1 -1
  33. package/dist/schema/widgets/checkout-and-beyond/layout.d.ts +2 -0
  34. package/dist/schema/widgets/checkout-and-beyond/layout.d.ts.map +1 -1
  35. package/dist/schema/widgets/checkout-and-beyond/monetize.d.ts +59 -0
  36. package/dist/schema/widgets/checkout-and-beyond/monetize.d.ts.map +1 -0
  37. package/dist/schema/widgets/checkout-and-beyond/offers.d.ts +1 -0
  38. package/dist/schema/widgets/checkout-and-beyond/offers.d.ts.map +1 -1
  39. package/dist/schema/widgets/checkout-and-beyond/root.d.ts +1 -0
  40. package/dist/schema/widgets/checkout-and-beyond/root.d.ts.map +1 -1
  41. package/dist/schema/widgets/checkout-and-beyond/shared.d.ts +2 -1
  42. package/dist/schema/widgets/checkout-and-beyond/shared.d.ts.map +1 -1
  43. package/dist/schema/widgets/checkout-and-beyond/utils.d.ts +6 -0
  44. package/dist/schema/widgets/checkout-and-beyond/utils.d.ts.map +1 -1
  45. package/dist/schema/widgets/contentBlock.d.ts +1 -0
  46. package/dist/schema/widgets/contentBlock.d.ts.map +1 -1
  47. package/dist/schema/widgets/post-purchase-offer/postPurchaseOffer.d.ts +3 -2
  48. package/dist/schema/widgets/post-purchase-offer/postPurchaseOffer.d.ts.map +1 -1
  49. package/dist/schema/widgets/post-purchase-offer/postPurchaseSettings.d.ts +3 -2
  50. package/dist/schema/widgets/post-purchase-offer/postPurchaseSettings.d.ts.map +1 -1
  51. package/dist/schema/widgets/post-purchase-offer/postPurchaseWidget.d.ts +3 -2
  52. package/dist/schema/widgets/post-purchase-offer/postPurchaseWidget.d.ts.map +1 -1
  53. package/dist/schema/widgets/rebuyButton.d.ts +1 -0
  54. package/dist/schema/widgets/rebuyButton.d.ts.map +1 -1
  55. package/dist/transforms/index.d.ts +7 -14
  56. package/dist/transforms/index.d.ts.map +1 -1
  57. package/dist/transforms/index.js +886 -1211
  58. package/dist/transforms/index.js.map +4 -4
  59. package/dist/transforms/index.mjs +888 -1213
  60. package/dist/transforms/index.mjs.map +4 -4
  61. package/dist/transforms/isCABRootSection.d.ts +1 -2
  62. package/dist/transforms/isCABRootSection.d.ts.map +1 -1
  63. package/dist/transforms/normalizeTokens.d.ts.map +1 -1
  64. package/package.json +1 -1
  65. package/dist/transforms/lineItemEditorV1/convertLineItemEditorToV2.d.ts +0 -4
  66. package/dist/transforms/lineItemEditorV1/convertLineItemEditorToV2.d.ts.map +0 -1
  67. package/dist/transforms/lineItemEditorV1/switchLabels.d.ts +0 -93
  68. package/dist/transforms/lineItemEditorV1/switchLabels.d.ts.map +0 -1
  69. package/dist/transforms/lineItemEditorV1/types.d.ts +0 -25
  70. package/dist/transforms/lineItemEditorV1/types.d.ts.map +0 -1
  71. package/dist/transforms/offerV1/convertOfferToV2.d.ts +0 -16
  72. package/dist/transforms/offerV1/convertOfferToV2.d.ts.map +0 -1
  73. package/dist/transforms/offerV1/offerCard.d.ts +0 -17
  74. package/dist/transforms/offerV1/offerCard.d.ts.map +0 -1
  75. package/dist/transforms/offerV1/types.d.ts +0 -72
  76. package/dist/transforms/offerV1/types.d.ts.map +0 -1
  77. package/dist/transforms/progressBarV1/convertProgressBarToV2.d.ts +0 -25
  78. package/dist/transforms/progressBarV1/convertProgressBarToV2.d.ts.map +0 -1
  79. package/dist/transforms/progressBarV1/types.d.ts +0 -42
  80. package/dist/transforms/progressBarV1/types.d.ts.map +0 -1
package/dist/index.js CHANGED
@@ -38,9 +38,11 @@ __export(src_exports, {
38
38
  CABCarouselSection: () => CABCarouselSection,
39
39
  CABCartLineSection: () => CABCartLineSection,
40
40
  CABDataSourceSection: () => CABDataSourceSection,
41
+ CABDiscount: () => CABDiscount,
41
42
  CABImageSection: () => CABImageSection,
42
43
  CABIntegrations: () => CABIntegrations,
43
44
  CABLayoutSection: () => CABLayoutSection,
45
+ CABMonetizeSection: () => CABMonetizeSection,
44
46
  CABOffersSection: () => CABOffersSection,
45
47
  CABProductSection: () => CABProductSection,
46
48
  CABProductsSection: () => CABProductsSection,
@@ -64,6 +66,8 @@ __export(src_exports, {
64
66
  DEFAULT_ENDPOINTS: () => DEFAULT_ENDPOINTS,
65
67
  DYNAMIC_TOKEN_REGEX: () => DYNAMIC_TOKEN_REGEX,
66
68
  Direction: () => Direction,
69
+ DiscountSource: () => DiscountSource,
70
+ DiscountType: () => DiscountType,
67
71
  EditorMode: () => EditorMode,
68
72
  Geolocation: () => Geolocation,
69
73
  GiftWithPurchase: () => GiftWithPurchase,
@@ -139,6 +143,8 @@ __export(src_exports, {
139
143
  dataToString: () => dataToString,
140
144
  destroy: () => destroy,
141
145
  directions: () => directions,
146
+ discountSources: () => discountSources,
147
+ discountTypes: () => discountTypes,
142
148
  editorModes: () => editorModes,
143
149
  enabled: () => enabled,
144
150
  extensionWidgetTypes: () => extensionWidgetTypes,
@@ -150,6 +156,7 @@ __export(src_exports, {
150
156
  getIdFromGraphUrl: () => getIdFromGraphUrl,
151
157
  hasHTMLInDoc: () => hasHTMLInDoc,
152
158
  horizontalAlignments: () => horizontalAlignments,
159
+ isBannerType: () => isBannerType,
153
160
  isBase64Encoded: () => isBase64Encoded,
154
161
  isButtonType: () => isButtonType,
155
162
  isCalloutBannerBlock: () => isCalloutBannerBlock,
@@ -161,12 +168,14 @@ __export(src_exports, {
161
168
  isImageContentBlock: () => isImageContentBlock,
162
169
  isImageType: () => isImageType,
163
170
  isLayoutType: () => isLayoutType,
171
+ isMonetizeType: () => isMonetizeType,
164
172
  isOffersType: () => isOffersType,
165
173
  isOverlayType: () => isOverlayType,
166
174
  isPayButtonBlock: () => isPayButtonBlock,
167
175
  isProductInformationBlock: () => isProductInformationBlock,
168
176
  isProductType: () => isProductType,
169
177
  isProductsType: () => isProductsType,
178
+ isProgressBarType: () => isProgressBarType,
170
179
  isQuantityType: () => isQuantityType,
171
180
  isReviewsType: () => isReviewsType,
172
181
  isSeparatorBlock: () => isSeparatorBlock,
@@ -1274,7 +1283,7 @@ var UserConfig = import_v44.z.object({
1274
1283
  });
1275
1284
 
1276
1285
  // src/schema/widgetData.ts
1277
- var import_v431 = require("zod/v4");
1286
+ var import_v432 = require("zod/v4");
1278
1287
 
1279
1288
  // src/schema/widgets/abTestingPlaceholder.ts
1280
1289
  var import_v45 = require("zod/v4");
@@ -1296,6 +1305,7 @@ var BorderStyle = freezeEnum(borderStyles);
1296
1305
  var borderWidths = ["base", "medium", "thick"];
1297
1306
  var BorderWidth = freezeEnum(borderWidths);
1298
1307
  var buttonActions = [
1308
+ "acceptOffer",
1299
1309
  "addToOrder",
1300
1310
  "declineAllOffers",
1301
1311
  "declineOffer",
@@ -1339,6 +1349,10 @@ var buttonStyles = ["primary", "secondary", "plain", "custom"];
1339
1349
  var ButtonStyle = freezeEnum(buttonStyles);
1340
1350
  var directions = ["columns", "rows", "grid"];
1341
1351
  var Direction = freezeEnum(directions);
1352
+ var discountSources = ["price", "compare_at_price"];
1353
+ var DiscountSource = freezeEnum(discountSources);
1354
+ var discountTypes = ["none", "percentage", "fixed", "fixed_amount"];
1355
+ var DiscountType = freezeEnum(discountTypes);
1342
1356
  var editorModes = [
1343
1357
  "checkoutExtension",
1344
1358
  "postPurchaseOffer",
@@ -1405,6 +1419,7 @@ var sectionTypes = [
1405
1419
  "dataSource",
1406
1420
  "image",
1407
1421
  "layout",
1422
+ "monetize",
1408
1423
  "offers",
1409
1424
  "product",
1410
1425
  "products",
@@ -1512,14 +1527,14 @@ var CheckoutExtension = import_v46.z.looseObject({
1512
1527
  });
1513
1528
 
1514
1529
  // src/schema/widgets/contentBlock.ts
1515
- var import_v425 = require("zod/v4");
1530
+ var import_v426 = require("zod/v4");
1516
1531
 
1517
1532
  // src/schema/widgets/checkout-and-beyond/root.ts
1518
- var import_v424 = require("zod/v4");
1533
+ var import_v425 = require("zod/v4");
1519
1534
 
1520
1535
  // src/schema/widgets/checkout-and-beyond/layout.ts
1521
- var import_uuid11 = require("uuid");
1522
- var import_v423 = require("zod/v4");
1536
+ var import_uuid12 = require("uuid");
1537
+ var import_v424 = require("zod/v4");
1523
1538
 
1524
1539
  // src/schema/widgets/checkout-and-beyond/rule.ts
1525
1540
  var import_v47 = require("zod/v4");
@@ -1589,7 +1604,7 @@ var CABRule = import_v47.z.object({
1589
1604
  });
1590
1605
 
1591
1606
  // src/schema/widgets/checkout-and-beyond/shared.ts
1592
- var import_v422 = require("zod/v4");
1607
+ var import_v423 = require("zod/v4");
1593
1608
 
1594
1609
  // src/schema/widgets/checkout-and-beyond/banner.ts
1595
1610
  var import_v48 = require("zod/v4");
@@ -1631,16 +1646,19 @@ var isHTML = (html = "") => {
1631
1646
  var hasHTMLInDoc = (doc) => doc.content.some(({ content = [] }) => content.some(({ text }) => isHTML(text)));
1632
1647
  var checkForHTML = (input) => !((0, import_compat.isString)(input) && isHTML(input) || (0, import_es_toolkit2.isPlainObject)(input) && hasHTMLInDoc(input));
1633
1648
  var NO_HTML = { message: "HTML is not supported" };
1649
+ var isBannerType = (section) => (0, import_compat.get)(section, "sectionType") === SectionType.banner;
1634
1650
  var isButtonType = (section) => (0, import_compat.get)(section, "sectionType") === SectionType.button;
1635
1651
  var isCarouselType = (section) => (0, import_compat.get)(section, "sectionType") === SectionType.carousel;
1636
1652
  var isCartLineType = (section) => (0, import_compat.get)(section, "sectionType") === SectionType.cartLine;
1637
1653
  var isDataSourceType = (section) => (0, import_compat.get)(section, "sectionType") === SectionType.dataSource;
1638
1654
  var isImageType = (section) => (0, import_compat.get)(section, "sectionType") === SectionType.image;
1639
1655
  var isLayoutType = (section) => (0, import_compat.get)(section, "sectionType") === SectionType.layout;
1656
+ var isMonetizeType = (section) => (0, import_compat.get)(section, "sectionType") === SectionType.monetize;
1640
1657
  var isOffersType = (section) => (0, import_compat.get)(section, "sectionType") === SectionType.offers;
1641
1658
  var isOverlayType = (section) => isLayoutType(section) && (0, import_compat.get)(section, "buttonField") === ButtonField.overlayContent;
1642
1659
  var isProductType = (section) => (0, import_compat.get)(section, "sectionType") === SectionType.product;
1643
1660
  var isProductsType = (section) => (0, import_compat.get)(section, "sectionType") === SectionType.products;
1661
+ var isProgressBarType = (section) => (0, import_compat.get)(section, "sectionType") === SectionType.progressBar;
1644
1662
  var isQuantityType = (section) => (0, import_compat.get)(section, "sectionType") === SectionType.quantity;
1645
1663
  var isReviewsType = (section) => (0, import_compat.get)(section, "sectionType") === SectionType.reviews;
1646
1664
  var isTextType = (section) => (0, import_compat.get)(section, "sectionType") === SectionType.text;
@@ -1785,7 +1803,9 @@ var CABButtonSection = import_v411.z.object({
1785
1803
  rule: CABRule.optional(),
1786
1804
  sectionId: import_v411.z.uuid().default(() => (0, import_uuid3.v7)()),
1787
1805
  sections: import_v411.z.union([import_v411.z.array(CABButtonContent), import_v411.z.strictObject({}).transform(() => [])]).default(() => []),
1788
- sectionType: import_v411.z.literal(SectionType.button).default(SectionType.button)
1806
+ sectionType: import_v411.z.literal(SectionType.button).default(SectionType.button),
1807
+ /** Fire-and-forget pixel POSTed when the button is clicked (e.g. a Monetize decline). */
1808
+ trackingUrl: import_v411.z.string().optional()
1789
1809
  });
1790
1810
 
1791
1811
  // src/schema/widgets/checkout-and-beyond/carousel.ts
@@ -1797,6 +1817,12 @@ var import_v415 = require("zod/v4");
1797
1817
  // src/schema/widgets/checkout-and-beyond/dataSource.ts
1798
1818
  var import_uuid4 = require("uuid");
1799
1819
  var import_v412 = require("zod/v4");
1820
+ var CABDiscount = import_v412.z.object({
1821
+ amount: import_v412.z.union([import_v412.z.number(), import_v412.z.string()]).catch(0),
1822
+ discountedBy: import_v412.z.string().optional(),
1823
+ discountedFrom: import_v412.z.enum(discountSources).optional().catch(void 0),
1824
+ type: import_v412.z.enum(discountTypes).catch("none")
1825
+ });
1800
1826
  var CABIntegrations = import_v412.z.object({
1801
1827
  judgeme: import_v412.z.boolean().default(false),
1802
1828
  junip: import_v412.z.boolean().default(false),
@@ -1811,6 +1837,7 @@ var CABIntegrations = import_v412.z.object({
1811
1837
  var CABDataSourceSection = import_v412.z.object({
1812
1838
  dataSourceId: import_v412.z.number().nullable().default(null),
1813
1839
  dataSourcePath: import_v412.z.string().default(DEFAULT_ENDPOINTS[0].value),
1840
+ discount: CABDiscount.optional(),
1814
1841
  integrations: CABIntegrations.optional(),
1815
1842
  limit: import_v412.z.number().default(1),
1816
1843
  matchVariant: import_v412.z.boolean().default(false),
@@ -1818,7 +1845,8 @@ var CABDataSourceSection = import_v412.z.object({
1818
1845
  name: import_v412.z.string().default(DEFAULT_ENDPOINTS[0].label),
1819
1846
  productType: import_v412.z.enum(productTypes).optional(),
1820
1847
  sectionId: import_v412.z.uuid().default(() => (0, import_uuid4.v7)()),
1821
- sectionType: import_v412.z.literal(SectionType.dataSource).default(SectionType.dataSource)
1848
+ sectionType: import_v412.z.literal(SectionType.dataSource).default(SectionType.dataSource),
1849
+ treatAsGwp: import_v412.z.boolean().default(false)
1822
1850
  });
1823
1851
 
1824
1852
  // src/schema/widgets/checkout-and-beyond/products.ts
@@ -1888,29 +1916,39 @@ var CABCartLineSection = import_v417.z.lazy(
1888
1916
  })
1889
1917
  );
1890
1918
 
1891
- // src/schema/widgets/checkout-and-beyond/progressBar.ts
1919
+ // src/schema/widgets/checkout-and-beyond/monetize.ts
1892
1920
  var import_uuid7 = require("uuid");
1893
1921
  var import_v418 = require("zod/v4");
1894
- var CABProgressBarSection = import_v418.z.object({
1895
- /** Empty = shown everywhere; otherwise uppercase ISO country codes. */
1896
- countryCodes: import_v418.z.array(import_v418.z.string()).default(() => []),
1922
+ var CABMonetizeSection = import_v418.z.object({
1897
1923
  name: import_v418.z.string().optional(),
1898
1924
  rule: CABRule.optional(),
1899
1925
  sectionId: import_v418.z.uuid().default(() => (0, import_uuid7.v7)()),
1900
- sections: import_v418.z.union([import_v418.z.array(CABTextSection), import_v418.z.strictObject({}).transform(() => [])]).default(() => []),
1901
- sectionType: import_v418.z.literal(SectionType.progressBar).default(SectionType.progressBar)
1926
+ sectionType: import_v418.z.literal(SectionType.monetize).default(SectionType.monetize)
1902
1927
  });
1903
1928
 
1904
- // src/schema/widgets/checkout-and-beyond/quantity.ts
1929
+ // src/schema/widgets/checkout-and-beyond/progressBar.ts
1905
1930
  var import_uuid8 = require("uuid");
1906
1931
  var import_v419 = require("zod/v4");
1907
- var CABQuantitySection = import_v419.z.object({
1908
- errorMessages: import_v419.z.record(
1909
- import_v419.z.string(),
1910
- import_v419.z.object({
1911
- max: import_v419.z.string().optional(),
1912
- min: import_v419.z.string().optional(),
1913
- neg: import_v419.z.string().optional()
1932
+ var CABProgressBarSection = import_v419.z.object({
1933
+ /** Empty = shown everywhere; otherwise uppercase ISO country codes. */
1934
+ countryCodes: import_v419.z.array(import_v419.z.string()).default(() => []),
1935
+ name: import_v419.z.string().optional(),
1936
+ rule: CABRule.optional(),
1937
+ sectionId: import_v419.z.uuid().default(() => (0, import_uuid8.v7)()),
1938
+ sections: import_v419.z.union([import_v419.z.array(CABTextSection), import_v419.z.strictObject({}).transform(() => [])]).default(() => []),
1939
+ sectionType: import_v419.z.literal(SectionType.progressBar).default(SectionType.progressBar)
1940
+ });
1941
+
1942
+ // src/schema/widgets/checkout-and-beyond/quantity.ts
1943
+ var import_uuid9 = require("uuid");
1944
+ var import_v420 = require("zod/v4");
1945
+ var CABQuantitySection = import_v420.z.object({
1946
+ errorMessages: import_v420.z.record(
1947
+ import_v420.z.string(),
1948
+ import_v420.z.object({
1949
+ max: import_v420.z.string().optional(),
1950
+ min: import_v420.z.string().optional(),
1951
+ neg: import_v420.z.string().optional()
1914
1952
  })
1915
1953
  ).default({
1916
1954
  en: {
@@ -1919,53 +1957,53 @@ var CABQuantitySection = import_v419.z.object({
1919
1957
  neg: "Quantity cannot be negative"
1920
1958
  }
1921
1959
  }),
1922
- inputType: import_v419.z.enum(quantityInputs).default(QuantityInput.select),
1923
- max: import_v419.z.number().min(1).max(100).default(10),
1924
- min: import_v419.z.number().min(1).default(1),
1925
- name: import_v419.z.string().optional(),
1926
- rule: CABRule.optional(),
1927
- sectionId: import_v419.z.uuid().default(() => (0, import_uuid8.v7)()),
1928
- sectionType: import_v419.z.literal(SectionType.quantity).default(SectionType.quantity)
1929
- });
1930
-
1931
- // src/schema/widgets/checkout-and-beyond/reviews.ts
1932
- var import_uuid9 = require("uuid");
1933
- var import_v420 = require("zod/v4");
1934
- var CABReviewsSection = import_v420.z.object({
1935
- color: import_v420.z.string().default("#fadb14"),
1960
+ inputType: import_v420.z.enum(quantityInputs).default(QuantityInput.select),
1961
+ max: import_v420.z.number().min(1).max(100).default(10),
1962
+ min: import_v420.z.number().min(1).default(1),
1936
1963
  name: import_v420.z.string().optional(),
1937
1964
  rule: CABRule.optional(),
1938
1965
  sectionId: import_v420.z.uuid().default(() => (0, import_uuid9.v7)()),
1939
- sectionType: import_v420.z.literal(SectionType.reviews).default(SectionType.reviews),
1940
- size: import_v420.z.enum(reviewsSizes).default(ReviewsSize.default)
1966
+ sectionType: import_v420.z.literal(SectionType.quantity).default(SectionType.quantity)
1941
1967
  });
1942
1968
 
1943
- // src/schema/widgets/checkout-and-beyond/variants.ts
1944
- var import_compat3 = require("es-toolkit/compat");
1969
+ // src/schema/widgets/checkout-and-beyond/reviews.ts
1945
1970
  var import_uuid10 = require("uuid");
1946
1971
  var import_v421 = require("zod/v4");
1947
- var CABVariantsSection = import_v421.z.object({
1948
- hideOutOfStockVariants: import_v421.z.boolean().default(false),
1972
+ var CABReviewsSection = import_v421.z.object({
1973
+ color: import_v421.z.string().default("#fadb14"),
1949
1974
  name: import_v421.z.string().optional(),
1950
1975
  rule: CABRule.optional(),
1951
1976
  sectionId: import_v421.z.uuid().default(() => (0, import_uuid10.v7)()),
1952
- sectionType: import_v421.z.literal(SectionType.variants).default(SectionType.variants),
1953
- selector: import_v421.z.enum((0, import_compat3.slice)(variantSelectors, 0, 3)).default(VariantSelector.menu),
1954
- variantMode: import_v421.z.enum(variantModes).default(VariantMode.multiple)
1977
+ sectionType: import_v421.z.literal(SectionType.reviews).default(SectionType.reviews),
1978
+ size: import_v421.z.enum(reviewsSizes).default(ReviewsSize.default)
1979
+ });
1980
+
1981
+ // src/schema/widgets/checkout-and-beyond/variants.ts
1982
+ var import_compat3 = require("es-toolkit/compat");
1983
+ var import_uuid11 = require("uuid");
1984
+ var import_v422 = require("zod/v4");
1985
+ var CABVariantsSection = import_v422.z.object({
1986
+ hideOutOfStockVariants: import_v422.z.boolean().default(false),
1987
+ name: import_v422.z.string().optional(),
1988
+ rule: CABRule.optional(),
1989
+ sectionId: import_v422.z.uuid().default(() => (0, import_uuid11.v7)()),
1990
+ sectionType: import_v422.z.literal(SectionType.variants).default(SectionType.variants),
1991
+ selector: import_v422.z.enum((0, import_compat3.slice)(variantSelectors, 0, 3)).default(VariantSelector.menu),
1992
+ variantMode: import_v422.z.enum(variantModes).default(VariantMode.multiple)
1955
1993
  });
1956
1994
 
1957
1995
  // src/schema/widgets/checkout-and-beyond/shared.ts
1958
- var CABBorder = import_v422.z.object({
1959
- radius: import_v422.z.enum(borderRadii).default(BorderRadius.base),
1960
- style: import_v422.z.enum(borderStyles).default(BorderStyle.none),
1961
- width: import_v422.z.enum(borderWidths).default(BorderWidth.base)
1996
+ var CABBorder = import_v423.z.object({
1997
+ radius: import_v423.z.enum(borderRadii).default(BorderRadius.base),
1998
+ style: import_v423.z.enum(borderStyles).default(BorderStyle.none),
1999
+ width: import_v423.z.enum(borderWidths).default(BorderWidth.base)
1962
2000
  }).default({
1963
2001
  radius: BorderRadius.base,
1964
2002
  style: BorderStyle.none,
1965
2003
  width: BorderWidth.base
1966
2004
  });
1967
- var CABSection = import_v422.z.lazy(
1968
- () => import_v422.z.discriminatedUnion("sectionType", [
2005
+ var CABSection = import_v423.z.lazy(
2006
+ () => import_v423.z.discriminatedUnion("sectionType", [
1969
2007
  CABBannerSection,
1970
2008
  CABButtonSection,
1971
2009
  CABCarouselSection,
@@ -1973,6 +2011,7 @@ var CABSection = import_v422.z.lazy(
1973
2011
  CABDataSourceSection,
1974
2012
  CABImageSection,
1975
2013
  CABLayoutSection,
2014
+ CABMonetizeSection,
1976
2015
  CABOffersSection,
1977
2016
  CABProductSection,
1978
2017
  CABProductsSection,
@@ -1985,126 +2024,128 @@ var CABSection = import_v422.z.lazy(
1985
2024
  );
1986
2025
 
1987
2026
  // src/schema/widgets/checkout-and-beyond/layout.ts
1988
- var GridItem = import_v423.z.union([import_v423.z.literal("auto"), import_v423.z.literal("fill"), import_v423.z.string().regex(/^\d+%$/), import_v423.z.number()]);
1989
- var CABLayoutSection = import_v423.z.object({
1990
- alignment: import_v423.z.object({
1991
- horizontal: import_v423.z.enum(horizontalAlignments).default(HorizontalAlignment.start),
1992
- vertical: import_v423.z.enum(verticalAlignments).default(VerticalAlignment.top)
2027
+ 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()]);
2028
+ var CABLayoutSection = import_v424.z.object({
2029
+ alignment: import_v424.z.object({
2030
+ horizontal: import_v424.z.enum(horizontalAlignments).default(HorizontalAlignment.start),
2031
+ vertical: import_v424.z.enum(verticalAlignments).default(VerticalAlignment.top)
1993
2032
  }).default({
1994
2033
  horizontal: HorizontalAlignment.start,
1995
2034
  vertical: VerticalAlignment.top
1996
2035
  }),
1997
- border: import_v423.z.lazy(() => CABBorder),
1998
- buttonField: import_v423.z.enum(buttonFields).optional(),
1999
- direction: import_v423.z.enum(directions).default(Direction.rows),
2000
- grid: import_v423.z.object({
2001
- columns: import_v423.z.union([import_v423.z.array(GridItem), import_v423.z.undefined()]).default(() => ["auto"]),
2002
- rows: import_v423.z.union([import_v423.z.array(GridItem), import_v423.z.undefined()]).default(() => ["auto"])
2036
+ border: import_v424.z.lazy(() => CABBorder),
2037
+ buttonField: import_v424.z.enum(buttonFields).optional(),
2038
+ direction: import_v424.z.enum(directions).default(Direction.rows),
2039
+ grid: import_v424.z.object({
2040
+ columns: import_v424.z.union([import_v424.z.array(GridItem), import_v424.z.undefined()]).default(() => ["auto"]),
2041
+ rows: import_v424.z.union([import_v424.z.array(GridItem), import_v424.z.undefined()]).default(() => ["auto"])
2003
2042
  }).default({ columns: ["auto"], rows: ["auto"] }).optional(),
2004
- name: import_v423.z.string().optional(),
2005
- padding: import_v423.z.enum(spacings).default(Spacing.none),
2043
+ name: import_v424.z.string().optional(),
2044
+ padding: import_v424.z.enum(spacings).default(Spacing.none),
2006
2045
  rule: CABRule.optional(),
2007
- sectionId: import_v423.z.uuid().default(() => (0, import_uuid11.v7)()),
2008
- sections: import_v423.z.union([import_v423.z.array(import_v423.z.lazy(() => CABSection)), import_v423.z.strictObject({}).transform(() => [])]).default(() => []),
2009
- sectionType: import_v423.z.literal(SectionType.layout).default(SectionType.layout),
2010
- spacing: import_v423.z.enum(spacings).default(Spacing.base),
2011
- width: import_v423.z.number().default(100)
2046
+ sectionId: import_v424.z.uuid().default(() => (0, import_uuid12.v7)()),
2047
+ sections: import_v424.z.union([import_v424.z.array(import_v424.z.lazy(() => CABSection)), import_v424.z.strictObject({}).transform(() => [])]).default(() => []),
2048
+ sectionType: import_v424.z.literal(SectionType.layout).default(SectionType.layout),
2049
+ spacing: import_v424.z.enum(spacings).default(Spacing.base),
2050
+ /** Fire-and-forget impression pixel POSTed once when the section is shown (e.g. a Monetize offer view). */
2051
+ viewUrl: import_v424.z.string().optional(),
2052
+ width: import_v424.z.number().default(100)
2012
2053
  });
2013
2054
 
2014
2055
  // src/schema/widgets/checkout-and-beyond/root.ts
2015
- var TargetArea = import_v424.z.object({
2016
- fill: import_v424.z.boolean().optional(),
2017
- flip: import_v424.z.enum(["both", "horizontal", "vertical"]).optional(),
2018
- icon: import_v424.z.string(),
2019
- label: import_v424.z.string(),
2020
- width: import_v424.z.string()
2056
+ var TargetArea = import_v425.z.object({
2057
+ fill: import_v425.z.boolean().optional(),
2058
+ flip: import_v425.z.enum(["both", "horizontal", "vertical"]).optional(),
2059
+ icon: import_v425.z.string(),
2060
+ label: import_v425.z.string(),
2061
+ width: import_v425.z.string()
2021
2062
  }).default(targetAreas[EditorMode.checkoutExtension][1]);
2022
- var CABTracking = import_v424.z.object({
2023
- enableAttribution: import_v424.z.boolean().default(true),
2024
- enableSource: import_v424.z.boolean().default(true),
2025
- enableWidget: import_v424.z.boolean().default(true)
2063
+ var CABTracking = import_v425.z.object({
2064
+ enableAttribution: import_v425.z.boolean().default(true),
2065
+ enableSource: import_v425.z.boolean().default(true),
2066
+ enableWidget: import_v425.z.boolean().default(true)
2026
2067
  }).default({ enableAttribution: true, enableSource: true, enableWidget: true });
2027
2068
  var CABRootSection = CABLayoutSection.extend({
2028
- editorMode: import_v424.z.enum(editorModes).default(EditorMode.checkoutExtension),
2029
- previewMode: import_v424.z.boolean().default(false),
2030
- storeId: import_v424.z.number().nullable().default(null),
2069
+ editorMode: import_v425.z.enum(editorModes).default(EditorMode.checkoutExtension),
2070
+ previewMode: import_v425.z.boolean().default(false),
2071
+ storeId: import_v425.z.number().nullable().default(null),
2031
2072
  targetArea: TargetArea.nullable(),
2032
2073
  tracking: CABTracking,
2033
- type: import_v424.z.enum(widgetTypes).default(WidgetType.ui_extension_content_block),
2034
- version: import_v424.z.literal(2).default(2),
2035
- widgetId: import_v424.z.number().nullable().default(null)
2074
+ type: import_v425.z.enum(widgetTypes).default(WidgetType.ui_extension_content_block),
2075
+ version: import_v425.z.literal(2).default(2),
2076
+ widgetId: import_v425.z.number().nullable().default(null)
2036
2077
  });
2037
2078
 
2038
2079
  // src/schema/widgets/contentBlock.ts
2039
- var ContentBlockV1 = import_v425.z.object({
2040
- blockSpacing: import_v425.z.enum(spacings).optional(),
2041
- imageBlocks: import_v425.z.union([
2042
- import_v425.z.array(
2043
- import_v425.z.object({
2044
- altText: import_v425.z.string().nullable(),
2045
- description: import_v425.z.string().nullable(),
2046
- id: import_v425.z.uuid(),
2047
- imagePlacement: import_v425.z.enum(["top", "right", "bottom", "left"]),
2048
- imageSize: import_v425.z.number(),
2049
- imageUrl: import_v425.z.url(),
2050
- textAlignment: import_v425.z.enum(["left", "center", "right"]),
2051
- textSize: import_v425.z.enum(textSizeNames)
2080
+ var ContentBlockV1 = import_v426.z.object({
2081
+ blockSpacing: import_v426.z.enum(spacings).optional(),
2082
+ imageBlocks: import_v426.z.union([
2083
+ import_v426.z.array(
2084
+ import_v426.z.object({
2085
+ altText: import_v426.z.string().nullable(),
2086
+ description: import_v426.z.string().nullable(),
2087
+ id: import_v426.z.uuid(),
2088
+ imagePlacement: import_v426.z.enum(["top", "right", "bottom", "left"]),
2089
+ imageSize: import_v426.z.number(),
2090
+ imageUrl: import_v426.z.url(),
2091
+ textAlignment: import_v426.z.enum(["left", "center", "right"]),
2092
+ textSize: import_v426.z.enum(textSizeNames)
2052
2093
  })
2053
2094
  ),
2054
- import_v425.z.strictObject({}).transform(() => [])
2095
+ import_v426.z.strictObject({}).transform(() => [])
2055
2096
  ]).optional(),
2056
- imageLayout: import_v425.z.enum(["row", "column"]).optional(),
2057
- language: import_v425.z.object({
2058
- description: import_v425.z.string(),
2059
- superTitle: import_v425.z.string(),
2060
- title: import_v425.z.string()
2097
+ imageLayout: import_v426.z.enum(["row", "column"]).optional(),
2098
+ language: import_v426.z.object({
2099
+ description: import_v426.z.string(),
2100
+ superTitle: import_v426.z.string(),
2101
+ title: import_v426.z.string()
2061
2102
  }),
2062
- previewMode: import_v425.z.boolean(),
2063
- type: import_v425.z.literal(WidgetType.ui_extension_content_block).default(WidgetType.ui_extension_content_block),
2064
- version: import_v425.z.literal(1)
2103
+ previewMode: import_v426.z.boolean(),
2104
+ type: import_v426.z.literal(WidgetType.ui_extension_content_block).default(WidgetType.ui_extension_content_block),
2105
+ version: import_v426.z.literal(1)
2065
2106
  });
2066
- var ContentBlock = import_v425.z.discriminatedUnion("version", [
2107
+ var ContentBlock = import_v426.z.discriminatedUnion("version", [
2067
2108
  ContentBlockV1,
2068
2109
  CABRootSection.extend({
2069
- type: import_v425.z.literal(WidgetType.ui_extension_content_block).default(WidgetType.ui_extension_content_block)
2110
+ type: import_v426.z.literal(WidgetType.ui_extension_content_block).default(WidgetType.ui_extension_content_block)
2070
2111
  })
2071
2112
  ]);
2072
2113
 
2073
2114
  // src/schema/widgets/giftWithPurchase.ts
2074
- var import_v426 = require("zod/v4");
2075
- var GiftWithPurchase = import_v426.z.looseObject({
2076
- type: import_v426.z.literal(WidgetType.gift_with_purchase).default(WidgetType.gift_with_purchase)
2115
+ var import_v427 = require("zod/v4");
2116
+ var GiftWithPurchase = import_v427.z.looseObject({
2117
+ type: import_v427.z.literal(WidgetType.gift_with_purchase).default(WidgetType.gift_with_purchase)
2077
2118
  });
2078
2119
 
2079
2120
  // src/schema/widgets/lineItemEditor.ts
2080
- var import_v427 = require("zod/v4");
2081
- var LineItemEditor = import_v427.z.looseObject({
2082
- type: import_v427.z.literal(WidgetType.ui_extension_line_item_editor).default(WidgetType.ui_extension_line_item_editor)
2121
+ var import_v428 = require("zod/v4");
2122
+ var LineItemEditor = import_v428.z.looseObject({
2123
+ type: import_v428.z.literal(WidgetType.ui_extension_line_item_editor).default(WidgetType.ui_extension_line_item_editor)
2083
2124
  });
2084
2125
 
2085
2126
  // src/schema/widgets/progressBar.ts
2086
- var import_v428 = require("zod/v4");
2087
- var ProgressBar = import_v428.z.looseObject({
2088
- type: import_v428.z.literal(WidgetType.ui_extension_progress_bar).default(WidgetType.ui_extension_progress_bar)
2127
+ var import_v429 = require("zod/v4");
2128
+ var ProgressBar = import_v429.z.looseObject({
2129
+ type: import_v429.z.literal(WidgetType.ui_extension_progress_bar).default(WidgetType.ui_extension_progress_bar)
2089
2130
  });
2090
2131
 
2091
2132
  // src/schema/widgets/rebuyButton.ts
2092
- var import_v429 = require("zod/v4");
2093
- var RebuyButtonV1 = import_v429.z.looseObject({
2094
- type: import_v429.z.literal(WidgetType.ui_extension_button).default(WidgetType.ui_extension_button),
2095
- version: import_v429.z.literal(1)
2133
+ var import_v430 = require("zod/v4");
2134
+ var RebuyButtonV1 = import_v430.z.looseObject({
2135
+ type: import_v430.z.literal(WidgetType.ui_extension_button).default(WidgetType.ui_extension_button),
2136
+ version: import_v430.z.literal(1)
2096
2137
  });
2097
- var RebuyButton = import_v429.z.discriminatedUnion("version", [
2138
+ var RebuyButton = import_v430.z.discriminatedUnion("version", [
2098
2139
  RebuyButtonV1,
2099
2140
  CABRootSection.extend({
2100
- type: import_v429.z.literal(WidgetType.ui_extension_button).default(WidgetType.ui_extension_button)
2141
+ type: import_v430.z.literal(WidgetType.ui_extension_button).default(WidgetType.ui_extension_button)
2101
2142
  })
2102
2143
  ]);
2103
2144
 
2104
2145
  // src/schema/widgets/rebuyMonetize.ts
2105
- var import_v430 = require("zod/v4");
2106
- var RebuyMonetize = import_v430.z.looseObject({
2107
- type: import_v430.z.literal(WidgetType.ui_extension_ad).default(WidgetType.ui_extension_ad)
2146
+ var import_v431 = require("zod/v4");
2147
+ var RebuyMonetize = import_v431.z.looseObject({
2148
+ type: import_v431.z.literal(WidgetType.ui_extension_ad).default(WidgetType.ui_extension_ad)
2108
2149
  });
2109
2150
 
2110
2151
  // src/schema/widgetData.ts
@@ -2118,7 +2159,7 @@ var extensionWidgetTypes = [
2118
2159
  WidgetType.ui_extension_line_item_editor,
2119
2160
  WidgetType.ui_extension_progress_bar
2120
2161
  ];
2121
- var WidgetData = import_v431.z.discriminatedUnion("type", [
2162
+ var WidgetData = import_v432.z.discriminatedUnion("type", [
2122
2163
  ABTestingPlaceholder,
2123
2164
  CheckoutExtension,
2124
2165
  ContentBlock,
@@ -2131,15 +2172,15 @@ var WidgetData = import_v431.z.discriminatedUnion("type", [
2131
2172
 
2132
2173
  // src/schema/widgets/post-purchase-offer/common.ts
2133
2174
  var import_compat4 = require("es-toolkit/compat");
2134
- var import_v432 = require("zod/v4");
2135
- var strictNumber = import_v432.z.union([
2136
- import_v432.z.number(),
2137
- import_v432.z.string().transform((value) => (0, import_compat4.toNumber)((0, import_compat4.replace)((0, import_compat4.toString)(value), /[^0-9.]/g, "")) || 0),
2138
- import_v432.z.unknown().transform(() => 0)
2175
+ var import_v433 = require("zod/v4");
2176
+ var strictNumber = import_v433.z.union([
2177
+ import_v433.z.number(),
2178
+ import_v433.z.string().transform((value) => (0, import_compat4.toNumber)((0, import_compat4.replace)((0, import_compat4.toString)(value), /[^0-9.]/g, "")) || 0),
2179
+ import_v433.z.unknown().transform(() => 0)
2139
2180
  ]);
2140
2181
 
2141
2182
  // src/schema/widgets/post-purchase-offer/constants.ts
2142
- var import_v433 = require("zod/v4");
2183
+ var import_v434 = require("zod/v4");
2143
2184
  var blockTypes = [
2144
2185
  "callout_banner",
2145
2186
  "image",
@@ -2150,144 +2191,144 @@ var blockTypes = [
2150
2191
  "text",
2151
2192
  "timer"
2152
2193
  ];
2153
- var blockType = import_v433.z.enum(blockTypes);
2194
+ var blockType = import_v434.z.enum(blockTypes);
2154
2195
  var BlockType = blockType.enum;
2155
2196
 
2156
2197
  // src/schema/widgets/post-purchase-offer/postPurchaseBlocks.ts
2157
2198
  var import_compat5 = require("es-toolkit/compat");
2158
- var import_uuid12 = require("uuid");
2159
- var import_v434 = require("zod/v4");
2160
- var TextAlignment2 = import_v434.z.union([import_v434.z.enum(["leading", "center", "trailing"]), import_v434.z.unknown().transform(() => "leading")]);
2161
- var TextSize = import_v434.z.union([
2162
- import_v434.z.enum(["xsmall", "small", "base", "default", "medium", "large", "xlarge"]),
2163
- import_v434.z.unknown().transform(() => "medium")
2199
+ var import_uuid13 = require("uuid");
2200
+ var import_v435 = require("zod/v4");
2201
+ var TextAlignment2 = import_v435.z.union([import_v435.z.enum(["leading", "center", "trailing"]), import_v435.z.unknown().transform(() => "leading")]);
2202
+ var TextSize = import_v435.z.union([
2203
+ import_v435.z.enum(["xsmall", "small", "base", "default", "medium", "large", "xlarge"]),
2204
+ import_v435.z.unknown().transform(() => "medium")
2164
2205
  ]);
2165
- var CalloutBannerBlock = import_v434.z.object({
2166
- id: import_v434.z.string().optional().default(() => (0, import_uuid12.v4)()),
2167
- name: import_v434.z.string().optional(),
2168
- settings: import_v434.z.object({
2169
- superTitle: import_v434.z.union([import_v434.z.string(), TiptapDocument]).default(() => "Limited-time Offer"),
2170
- title: import_v434.z.union([import_v434.z.string(), TiptapDocument]).default(() => "Add this customer favorite to your order")
2206
+ var CalloutBannerBlock = import_v435.z.object({
2207
+ id: import_v435.z.string().optional().default(() => (0, import_uuid13.v4)()),
2208
+ name: import_v435.z.string().optional(),
2209
+ settings: import_v435.z.object({
2210
+ superTitle: import_v435.z.union([import_v435.z.string(), TiptapDocument]).default(() => "Limited-time Offer"),
2211
+ title: import_v435.z.union([import_v435.z.string(), TiptapDocument]).default(() => "Add this customer favorite to your order")
2171
2212
  }),
2172
- styles: import_v434.z.object({
2173
- superTitleEmphasized: import_v434.z.boolean().default(false),
2213
+ styles: import_v435.z.object({
2214
+ superTitleEmphasized: import_v435.z.boolean().default(false),
2174
2215
  superTitleSize: TextSize.default("large"),
2175
2216
  textAlignment: TextAlignment2.default("center"),
2176
- titleEmphasized: import_v434.z.boolean().default(true),
2217
+ titleEmphasized: import_v435.z.boolean().default(true),
2177
2218
  titleSize: TextSize.default("large")
2178
2219
  }),
2179
- type: import_v434.z.literal(BlockType.callout_banner).default(BlockType.callout_banner)
2220
+ type: import_v435.z.literal(BlockType.callout_banner).default(BlockType.callout_banner)
2180
2221
  });
2181
- var ImageBlock = import_v434.z.object({
2182
- id: import_v434.z.string().optional().default(() => (0, import_uuid12.v4)()),
2183
- name: import_v434.z.string().optional(),
2184
- settings: import_v434.z.union([
2185
- import_v434.z.object({
2222
+ var ImageBlock = import_v435.z.object({
2223
+ id: import_v435.z.string().optional().default(() => (0, import_uuid13.v4)()),
2224
+ name: import_v435.z.string().optional(),
2225
+ settings: import_v435.z.union([
2226
+ import_v435.z.object({
2186
2227
  /** This isn't used in the post-purchase offer widget */
2187
- alt: import_v434.z.string().optional().default(""),
2188
- image: import_v434.z.union([import_v434.z.literal(""), import_v434.z.url()]).default(""),
2189
- imageSize: import_v434.z.number().default(20),
2190
- imageType: import_v434.z.enum(["URL", "UPLOAD"]).default("URL")
2228
+ alt: import_v435.z.string().optional().default(""),
2229
+ image: import_v435.z.union([import_v435.z.literal(""), import_v435.z.url()]).default(""),
2230
+ imageSize: import_v435.z.number().default(20),
2231
+ imageType: import_v435.z.enum(["URL", "UPLOAD"]).default("URL")
2191
2232
  }),
2192
- import_v434.z.array(import_v434.z.never()).transform(() => ({}))
2233
+ import_v435.z.array(import_v435.z.never()).transform(() => ({}))
2193
2234
  ]),
2194
- type: import_v434.z.literal(BlockType.image).default(BlockType.image)
2235
+ type: import_v435.z.literal(BlockType.image).default(BlockType.image)
2195
2236
  });
2196
- var ImageContentBlock = import_v434.z.object({
2197
- id: import_v434.z.string().optional().default(() => (0, import_uuid12.v4)()),
2198
- name: import_v434.z.string().optional(),
2199
- settings: import_v434.z.object({
2200
- alt: import_v434.z.string().optional().default(""),
2201
- description: import_v434.z.union([import_v434.z.string(), TiptapDocument, import_v434.z.null()]).default(
2237
+ var ImageContentBlock = import_v435.z.object({
2238
+ id: import_v435.z.string().optional().default(() => (0, import_uuid13.v4)()),
2239
+ name: import_v435.z.string().optional(),
2240
+ settings: import_v435.z.object({
2241
+ alt: import_v435.z.string().optional().default(""),
2242
+ description: import_v435.z.union([import_v435.z.string(), TiptapDocument, import_v435.z.null()]).default(
2202
2243
  "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."
2203
2244
  ),
2204
2245
  descriptionSize: TextSize.default("medium"),
2205
2246
  horizontalAlignment: TextAlignment2.default("leading"),
2206
- image: import_v434.z.union([import_v434.z.literal(""), import_v434.z.url()]).default(""),
2207
- imagePlacement: import_v434.z.enum(["bottom", "left", "right", "top"]).optional().default("left"),
2208
- imageSize: import_v434.z.number().default(20),
2209
- superTitle: import_v434.z.union([import_v434.z.string(), TiptapDocument]).default("Lorem Ipsum!"),
2247
+ image: import_v435.z.union([import_v435.z.literal(""), import_v435.z.url()]).default(""),
2248
+ imagePlacement: import_v435.z.enum(["bottom", "left", "right", "top"]).optional().default("left"),
2249
+ imageSize: import_v435.z.number().default(20),
2250
+ superTitle: import_v435.z.union([import_v435.z.string(), TiptapDocument]).default("Lorem Ipsum!"),
2210
2251
  superTitleSize: TextSize.default("medium"),
2211
2252
  /** This isn't configurable in the admin-nextjs editor */
2212
- swapContent: import_v434.z.boolean().optional().default(false),
2213
- title: import_v434.z.union([import_v434.z.string(), TiptapDocument]).nullable().default("Lorem ipsum dolor sit amet"),
2253
+ swapContent: import_v435.z.boolean().optional().default(false),
2254
+ title: import_v435.z.union([import_v435.z.string(), TiptapDocument]).nullable().default("Lorem ipsum dolor sit amet"),
2214
2255
  titleSize: TextSize.default("medium")
2215
2256
  }),
2216
- type: import_v434.z.literal(BlockType.image_content).default(BlockType.image_content)
2257
+ type: import_v435.z.literal(BlockType.image_content).default(BlockType.image_content)
2217
2258
  });
2218
- var PayButtonBlock = import_v434.z.object({
2219
- id: import_v434.z.string().optional().default(() => (0, import_uuid12.v4)()),
2220
- name: import_v434.z.string().optional(),
2221
- settings: import_v434.z.union([
2222
- import_v434.z.object({
2223
- label: import_v434.z.string().default("Pay Now")
2259
+ var PayButtonBlock = import_v435.z.object({
2260
+ id: import_v435.z.string().optional().default(() => (0, import_uuid13.v4)()),
2261
+ name: import_v435.z.string().optional(),
2262
+ settings: import_v435.z.union([
2263
+ import_v435.z.object({
2264
+ label: import_v435.z.string().default("Pay Now")
2224
2265
  }),
2225
- import_v434.z.array(import_v434.z.never()).transform(() => ({
2266
+ import_v435.z.array(import_v435.z.never()).transform(() => ({
2226
2267
  label: "Pay Now"
2227
2268
  }))
2228
2269
  ]),
2229
- styles: import_v434.z.union([
2230
- import_v434.z.object({
2231
- buttonWidth: import_v434.z.number().min(10).max(100).default(50)
2270
+ styles: import_v435.z.union([
2271
+ import_v435.z.object({
2272
+ buttonWidth: import_v435.z.number().min(10).max(100).default(50)
2232
2273
  }),
2233
- import_v434.z.array(import_v434.z.never()).transform(() => ({
2274
+ import_v435.z.array(import_v435.z.never()).transform(() => ({
2234
2275
  buttonWidth: 50
2235
2276
  }))
2236
2277
  ]),
2237
- type: import_v434.z.literal(BlockType.pay_button).default(BlockType.pay_button)
2278
+ type: import_v435.z.literal(BlockType.pay_button).default(BlockType.pay_button)
2238
2279
  });
2239
- var ProductInformationBlock = import_v434.z.object({
2280
+ var ProductInformationBlock = import_v435.z.object({
2240
2281
  /** This isn't configurable in the admin-nextjs editor */
2241
- hideProductImage: import_v434.z.boolean().optional().default(false),
2242
- id: import_v434.z.string().optional().default(() => (0, import_uuid12.v4)()),
2243
- name: import_v434.z.string().optional(),
2244
- type: import_v434.z.literal(BlockType.product_information).default(BlockType.product_information)
2282
+ hideProductImage: import_v435.z.boolean().optional().default(false),
2283
+ id: import_v435.z.string().optional().default(() => (0, import_uuid13.v4)()),
2284
+ name: import_v435.z.string().optional(),
2285
+ type: import_v435.z.literal(BlockType.product_information).default(BlockType.product_information)
2245
2286
  });
2246
- var SeparatorBlock = import_v434.z.object({
2247
- id: import_v434.z.string().optional().default(() => (0, import_uuid12.v4)()),
2248
- name: import_v434.z.string().optional(),
2249
- type: import_v434.z.literal(BlockType.separator).default(BlockType.separator)
2287
+ var SeparatorBlock = import_v435.z.object({
2288
+ id: import_v435.z.string().optional().default(() => (0, import_uuid13.v4)()),
2289
+ name: import_v435.z.string().optional(),
2290
+ type: import_v435.z.literal(BlockType.separator).default(BlockType.separator)
2250
2291
  });
2251
- var TextBlock = import_v434.z.object({
2252
- id: import_v434.z.string().optional().default(() => (0, import_uuid12.v4)()),
2253
- name: import_v434.z.string().optional(),
2254
- settings: import_v434.z.object({
2255
- description: import_v434.z.union([import_v434.z.string(), TiptapDocument]).optional().default(
2292
+ var TextBlock = import_v435.z.object({
2293
+ id: import_v435.z.string().optional().default(() => (0, import_uuid13.v4)()),
2294
+ name: import_v435.z.string().optional(),
2295
+ settings: import_v435.z.object({
2296
+ description: import_v435.z.union([import_v435.z.string(), TiptapDocument]).optional().default(
2256
2297
  "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."
2257
2298
  ),
2258
2299
  /** This isn't used in the post-purchase offer widget */
2259
2300
  descriptionSize: TextSize.default("medium"),
2260
2301
  horizontalAlignment: TextAlignment2.default("leading"),
2261
- superTitle: import_v434.z.union([import_v434.z.string(), TiptapDocument]).default("Super Title"),
2302
+ superTitle: import_v435.z.union([import_v435.z.string(), TiptapDocument]).default("Super Title"),
2262
2303
  /** This isn't used in the post-purchase offer widget */
2263
2304
  superTitleSize: TextSize.default("medium"),
2264
- title: import_v434.z.union([import_v434.z.string(), TiptapDocument]).nullable().default("Lorem ipsum dolor sit amet."),
2305
+ title: import_v435.z.union([import_v435.z.string(), TiptapDocument]).nullable().default("Lorem ipsum dolor sit amet."),
2265
2306
  /** This isn't used in the post-purchase offer widget */
2266
2307
  titleSize: TextSize.default("medium")
2267
2308
  }),
2268
- type: import_v434.z.literal(BlockType.text).default(BlockType.text)
2309
+ type: import_v435.z.literal(BlockType.text).default(BlockType.text)
2269
2310
  });
2270
- var TimerBlock = import_v434.z.object({
2271
- id: import_v434.z.string().optional().default(() => (0, import_uuid12.v4)()),
2272
- name: import_v434.z.string().optional(),
2273
- settings: import_v434.z.object({
2274
- durationMinutes: import_v434.z.number().min(0).default(10),
2275
- durationSeconds: import_v434.z.union([import_v434.z.number().min(0), import_v434.z.unknown().transform(() => 0)]).default(0),
2276
- endOffer: import_v434.z.boolean().default(true),
2277
- title: import_v434.z.union([import_v434.z.string(), TiptapDocument]).default("Hurry \u2014 your special offer ends in:")
2311
+ var TimerBlock = import_v435.z.object({
2312
+ id: import_v435.z.string().optional().default(() => (0, import_uuid13.v4)()),
2313
+ name: import_v435.z.string().optional(),
2314
+ settings: import_v435.z.object({
2315
+ durationMinutes: import_v435.z.number().min(0).default(10),
2316
+ durationSeconds: import_v435.z.union([import_v435.z.number().min(0), import_v435.z.unknown().transform(() => 0)]).default(0),
2317
+ endOffer: import_v435.z.boolean().default(true),
2318
+ title: import_v435.z.union([import_v435.z.string(), TiptapDocument]).default("Hurry \u2014 your special offer ends in:")
2278
2319
  }),
2279
- styles: import_v434.z.object({
2320
+ styles: import_v435.z.object({
2280
2321
  textAlignment: TextAlignment2.default("center"),
2281
- timerBackgroundColor: import_v434.z.enum(["info", "warning", "success", "critical"]).default("warning"),
2282
- timerEmphasized: import_v434.z.union([import_v434.z.boolean(), import_v434.z.unknown().transform(() => true)]).default(true),
2322
+ timerBackgroundColor: import_v435.z.enum(["info", "warning", "success", "critical"]).default("warning"),
2323
+ timerEmphasized: import_v435.z.union([import_v435.z.boolean(), import_v435.z.unknown().transform(() => true)]).default(true),
2283
2324
  timerSize: TextSize.default("medium"),
2284
- timerWidth: import_v434.z.number().min(10).max(100).optional().default(100),
2285
- titleEmphasized: import_v434.z.union([import_v434.z.boolean(), import_v434.z.unknown().transform(() => true)]).default(false),
2325
+ timerWidth: import_v435.z.number().min(10).max(100).optional().default(100),
2326
+ titleEmphasized: import_v435.z.union([import_v435.z.boolean(), import_v435.z.unknown().transform(() => true)]).default(false),
2286
2327
  titleSize: TextSize.default("medium")
2287
2328
  }),
2288
- type: import_v434.z.literal(BlockType.timer).default(BlockType.timer)
2329
+ type: import_v435.z.literal(BlockType.timer).default(BlockType.timer)
2289
2330
  });
2290
- var PostPurchaseBlock = import_v434.z.discriminatedUnion("type", [
2331
+ var PostPurchaseBlock = import_v435.z.discriminatedUnion("type", [
2291
2332
  CalloutBannerBlock,
2292
2333
  ImageBlock,
2293
2334
  ImageContentBlock,
@@ -2307,67 +2348,68 @@ var isTextBlock = (block) => (0, import_compat5.isEqual)((0, import_compat5.get)
2307
2348
  var isTimerBlock = (block) => (0, import_compat5.isEqual)((0, import_compat5.get)(block, "type"), BlockType.timer);
2308
2349
 
2309
2350
  // src/schema/widgets/post-purchase-offer/postPurchaseOffer.ts
2310
- var import_v437 = require("zod/v4");
2351
+ var import_v438 = require("zod/v4");
2311
2352
 
2312
2353
  // src/schema/widgets/post-purchase-offer/postPurchaseWidget.ts
2313
- var import_v436 = require("zod/v4");
2354
+ var import_v437 = require("zod/v4");
2314
2355
 
2315
2356
  // src/schema/widgets/post-purchase-offer/postPurchaseSettings.ts
2316
- var import_v435 = require("zod/v4");
2317
- var PostPurchaseSettings = import_v435.z.object({
2318
- advance: import_v435.z.object({ removePartialOrder: import_v435.z.boolean().default(true) }).optional().default(() => ({ removePartialOrder: true })),
2319
- blocks: import_v435.z.union([import_v435.z.array(PostPurchaseBlock), import_v435.z.unknown().transform(() => [])]).default(() => [
2357
+ var import_v436 = require("zod/v4");
2358
+ var PostPurchaseSettings = import_v436.z.object({
2359
+ advance: import_v436.z.object({ removePartialOrder: import_v436.z.boolean().default(true) }).optional().default(() => ({ removePartialOrder: true })),
2360
+ blocks: import_v436.z.union([import_v436.z.array(PostPurchaseBlock), import_v436.z.unknown().transform(() => [])]).default(() => [
2320
2361
  PostPurchaseBlock.parse({ settings: {}, styles: {}, type: BlockType.timer }),
2321
2362
  PostPurchaseBlock.parse({ settings: {}, styles: {}, type: BlockType.callout_banner }),
2322
2363
  PostPurchaseBlock.parse({ type: BlockType.product_information })
2323
2364
  ]),
2324
- columnLayout: import_v435.z.boolean().optional(),
2325
- discount: import_v435.z.object({
2365
+ columnLayout: import_v436.z.boolean().optional(),
2366
+ discount: import_v436.z.object({
2326
2367
  amount: strictNumber.default(30),
2327
- shouldShowSavingText: import_v435.z.boolean().optional().default(true),
2328
- type: import_v435.z.enum(["none", "fixed_amount", "percentage"]).default("none")
2368
+ shouldShowSavingText: import_v436.z.boolean().optional().default(true),
2369
+ type: import_v436.z.enum(["none", "fixed_amount", "percentage"]).default("none")
2329
2370
  }),
2330
- discountedFrom: import_v435.z.enum(["price", "compare_at_price"]).optional().default("price"),
2331
- endpoint: import_v435.z.string().optional(),
2332
- integrations: import_v435.z.object({
2333
- judgeme: import_v435.z.boolean().default(false),
2334
- junip: import_v435.z.boolean().optional().default(false),
2335
- klaviyo: import_v435.z.boolean().default(false),
2336
- loox: import_v435.z.boolean().default(false),
2337
- okendo: import_v435.z.boolean().default(false),
2338
- opinew: import_v435.z.boolean().optional().default(false),
2339
- reviewsio: import_v435.z.boolean().optional().default(false),
2340
- stamped: import_v435.z.boolean().default(false),
2341
- yotpo: import_v435.z.boolean().default(false)
2371
+ discountedFrom: import_v436.z.enum(["price", "compare_at_price"]).optional().default("price"),
2372
+ endpoint: import_v436.z.string().optional(),
2373
+ integrations: import_v436.z.object({
2374
+ judgeme: import_v436.z.boolean().default(false),
2375
+ junip: import_v436.z.boolean().optional().default(false),
2376
+ klaviyo: import_v436.z.boolean().default(false),
2377
+ loox: import_v436.z.boolean().default(false),
2378
+ okendo: import_v436.z.boolean().default(false),
2379
+ opinew: import_v436.z.boolean().optional().default(false),
2380
+ reviewsio: import_v436.z.boolean().optional().default(false),
2381
+ stamped: import_v436.z.boolean().default(false),
2382
+ yotpo: import_v436.z.boolean().default(false)
2342
2383
  }),
2343
- key: import_v435.z.string().optional(),
2344
- language: import_v435.z.object({
2345
- description: import_v435.z.union([import_v435.z.string(), import_v435.z.unknown().transform(() => "")]).default(""),
2346
- descriptionEnabled: import_v435.z.boolean().optional().default(false),
2347
- descriptionRte: import_v435.z.object({
2348
- content: import_v435.z.array(import_v435.z.unknown()),
2349
- type: import_v435.z.string()
2384
+ key: import_v436.z.string().optional(),
2385
+ language: import_v436.z.object({
2386
+ description: import_v436.z.union([import_v436.z.string(), import_v436.z.unknown().transform(() => "")]).default(""),
2387
+ descriptionEnabled: import_v436.z.boolean().optional().default(false),
2388
+ descriptionRte: import_v436.z.object({
2389
+ content: import_v436.z.array(import_v436.z.unknown()),
2390
+ type: import_v436.z.string()
2350
2391
  }).optional(),
2351
- descriptionSpacing: import_v435.z.enum(["none", "xtight", "tight", "default", "loose", "xloose"]).optional(),
2352
- displayCtaPrice: import_v435.z.boolean().default(true),
2353
- global: import_v435.z.object({
2354
- declineAll: import_v435.z.string().optional().default("Decline All"),
2355
- declineThisOffer: import_v435.z.string().default("Decline this offer"),
2356
- free: import_v435.z.string().optional().default("Free"),
2357
- notAvailable: import_v435.z.string().optional().default("Not available"),
2358
- payNow: import_v435.z.string().default("Pay Now"),
2359
- payNowUpgradeToSubscription: import_v435.z.string().optional().default("Upgrade to Subscription"),
2360
- quantity: import_v435.z.string().default("Quantity"),
2392
+ descriptionSpacing: import_v436.z.enum(["none", "xtight", "tight", "default", "loose", "xloose"]).optional(),
2393
+ displayCtaPrice: import_v436.z.boolean().default(true),
2394
+ global: import_v436.z.object({
2395
+ declineAll: import_v436.z.string().optional().default("Decline All"),
2396
+ declineThisOffer: import_v436.z.string().default("Decline this offer"),
2397
+ free: import_v436.z.string().optional().default("Free"),
2398
+ notAvailable: import_v436.z.string().optional().default("Not available"),
2399
+ payNow: import_v436.z.string().default("Pay Now"),
2400
+ payNowUpgradeToSubscription: import_v436.z.string().optional().default("Upgrade to Subscription"),
2401
+ quantity: import_v436.z.string().default("Quantity"),
2361
2402
  /** This isn't configurable in the admin-nextjs editor */
2362
- recurringShipping: import_v435.z.string().optional().default("Recurring shipping"),
2363
- recurringSubtotal: import_v435.z.string().default("Recurring subtotal"),
2364
- reviewsPlural: import_v435.z.string().optional().default("Reviews"),
2365
- reviewsSingular: import_v435.z.string().optional().default("Review"),
2366
- save: import_v435.z.union([import_v435.z.string(), import_v435.z.unknown().transform(() => "Save")]).optional().default("Save"),
2367
- shipping: import_v435.z.string().default("Shipping"),
2368
- subtotal: import_v435.z.string().default("Subtotal"),
2369
- taxes: import_v435.z.string().default("Taxes"),
2370
- total: import_v435.z.string().default("Total")
2403
+ recurringShipping: import_v436.z.string().optional().default("Recurring shipping"),
2404
+ recurringSubtotal: import_v436.z.string().default("Recurring subtotal"),
2405
+ reviewsPlural: import_v436.z.string().optional().default("Reviews"),
2406
+ reviewsSingular: import_v436.z.string().optional().default("Review"),
2407
+ save: import_v436.z.union([import_v436.z.string(), import_v436.z.unknown().transform(() => "Save")]).optional().default("Save"),
2408
+ shipping: import_v436.z.string().default("Shipping"),
2409
+ subscriptionOption: import_v436.z.string().optional().default("Subscribe and Save"),
2410
+ subtotal: import_v436.z.string().default("Subtotal"),
2411
+ taxes: import_v436.z.string().default("Taxes"),
2412
+ total: import_v436.z.string().default("Total")
2371
2413
  }).optional().default(() => ({
2372
2414
  declineAll: "Decline All",
2373
2415
  declineThisOffer: "Decline this offer",
@@ -2383,74 +2425,75 @@ var PostPurchaseSettings = import_v435.z.object({
2383
2425
  reviewsSingular: "Review",
2384
2426
  save: "Save",
2385
2427
  shipping: "Shipping",
2428
+ subscriptionOption: "Subscribe and Save",
2386
2429
  subtotal: "Subtotal",
2387
2430
  taxes: "Taxes",
2388
2431
  total: "Total"
2389
2432
  })),
2390
- globalTranslation: import_v435.z.string().optional().default("english")
2433
+ globalTranslation: import_v436.z.string().optional().default("english")
2391
2434
  }),
2392
- metafields: import_v435.z.boolean().default(false),
2435
+ metafields: import_v436.z.boolean().default(false),
2393
2436
  /** This isn't configurable in the admin-nextjs editor */
2394
- offer: import_v435.z.object({
2395
- count: import_v435.z.number().default(1)
2437
+ offer: import_v436.z.object({
2438
+ count: import_v436.z.number().default(1)
2396
2439
  }),
2397
- offersLayout: import_v435.z.object({
2398
- itemsPerPage: import_v435.z.number().optional(),
2399
- type: import_v435.z.enum(["list", "grid", "carousel"]).default("list")
2440
+ offersLayout: import_v436.z.object({
2441
+ itemsPerPage: import_v436.z.number().optional(),
2442
+ type: import_v436.z.enum(["list", "grid", "carousel"]).default("list")
2400
2443
  }).optional().default({
2401
2444
  type: "list"
2402
2445
  }),
2403
2446
  /** This isn't configurable in the admin-nextjs editor */
2404
- previewMode: import_v435.z.boolean().default(false),
2405
- productLimit: import_v435.z.number().optional().default(1),
2406
- productOptions: import_v435.z.object({
2447
+ previewMode: import_v436.z.boolean().default(false),
2448
+ productLimit: import_v436.z.number().optional().default(1),
2449
+ productOptions: import_v436.z.object({
2407
2450
  /** This isn't configurable in the admin-nextjs editor */
2408
- hideOutOfStockVariants: import_v435.z.boolean().optional().default(false),
2409
- matchVariant: import_v435.z.boolean().optional().default(true),
2410
- showDeclineAll: import_v435.z.enum(["above", "below", "both", "none"]).optional(),
2411
- showShipping: import_v435.z.boolean().optional().default(true),
2412
- showSubtotal: import_v435.z.boolean().optional().default(true),
2413
- showTaxes: import_v435.z.boolean().optional().default(true),
2414
- showTotal: import_v435.z.boolean().optional().default(true),
2415
- showVariantSelectors: import_v435.z.boolean().optional().default(true),
2416
- variantSelectorDisplayMode: import_v435.z.enum(["separate", "single"]).optional().default("separate")
2451
+ hideOutOfStockVariants: import_v436.z.boolean().optional().default(false),
2452
+ matchVariant: import_v436.z.boolean().optional().default(true),
2453
+ showDeclineAll: import_v436.z.enum(["above", "below", "both", "none"]).optional(),
2454
+ showShipping: import_v436.z.boolean().optional().default(true),
2455
+ showSubtotal: import_v436.z.boolean().optional().default(true),
2456
+ showTaxes: import_v436.z.boolean().optional().default(true),
2457
+ showTotal: import_v436.z.boolean().optional().default(true),
2458
+ showVariantSelectors: import_v436.z.boolean().optional().default(true),
2459
+ variantSelectorDisplayMode: import_v436.z.enum(["separate", "single"]).optional().default("separate")
2417
2460
  }),
2418
- productType: import_v435.z.union([import_v435.z.enum(["one-time", "subscription", "both"]), import_v435.z.literal("").transform(() => "one-time")]).default("one-time"),
2419
- productTypeSelector: import_v435.z.enum(["dropdown", "radio"]).optional().default("radio"),
2420
- quantityInputs: import_v435.z.object({
2421
- defaultQuantity: import_v435.z.union([import_v435.z.number(), import_v435.z.null().transform(() => 1)]).default(1),
2422
- enabled: import_v435.z.boolean().default(true),
2423
- maxValue: import_v435.z.union([import_v435.z.number(), import_v435.z.null().transform(() => 15)]).default(15),
2424
- minValue: import_v435.z.union([import_v435.z.number().min(0), import_v435.z.unknown().transform(() => 0)]).default(1)
2461
+ productType: import_v436.z.union([import_v436.z.enum(["one-time", "subscription", "both"]), import_v436.z.literal("").transform(() => "one-time")]).default("one-time"),
2462
+ productTypeSelector: import_v436.z.enum(["dropdown", "radio"]).optional().default("radio"),
2463
+ quantityInputs: import_v436.z.object({
2464
+ defaultQuantity: import_v436.z.union([import_v436.z.number(), import_v436.z.null().transform(() => 1)]).default(1),
2465
+ enabled: import_v436.z.boolean().default(true),
2466
+ maxValue: import_v436.z.union([import_v436.z.number(), import_v436.z.null().transform(() => 15)]).default(15),
2467
+ minValue: import_v436.z.union([import_v436.z.number().min(0), import_v436.z.unknown().transform(() => 0)]).default(1)
2425
2468
  }),
2426
- shipping: import_v435.z.object({
2469
+ shipping: import_v436.z.object({
2427
2470
  amount: strictNumber.default(10),
2428
2471
  /** This isn't configurable in the admin-nextjs editor */
2429
- enabled: import_v435.z.boolean().default(true),
2430
- title: import_v435.z.string().optional().default("Shipping Fees"),
2431
- type: import_v435.z.enum(["free", "fixed_amount"]).default("free")
2472
+ enabled: import_v436.z.boolean().default(true),
2473
+ title: import_v436.z.string().optional().default("Shipping Fees"),
2474
+ type: import_v436.z.enum(["free", "fixed_amount"]).default("free")
2432
2475
  }),
2433
- styles: import_v435.z.object({
2434
- starColor: import_v435.z.string().optional().default("#fadb14"),
2435
- starSize: import_v435.z.union([import_v435.z.enum(["small", "medium", "large"]), import_v435.z.unknown().transform(() => "large")]).optional().default("large"),
2436
- starStrokeColor: import_v435.z.string().optional().default("#fadb14"),
2437
- strokeWidth: import_v435.z.string().optional().default("1")
2476
+ styles: import_v436.z.object({
2477
+ starColor: import_v436.z.string().optional().default("#fadb14"),
2478
+ starSize: import_v436.z.union([import_v436.z.enum(["small", "medium", "large"]), import_v436.z.unknown().transform(() => "large")]).optional().default("large"),
2479
+ starStrokeColor: import_v436.z.string().optional().default("#fadb14"),
2480
+ strokeWidth: import_v436.z.string().optional().default("1")
2438
2481
  }).optional(),
2439
- subImages: import_v435.z.number().nullish().default(8),
2440
- subscription: import_v435.z.object({
2441
- discount: import_v435.z.object({
2482
+ subImages: import_v436.z.number().nullish().default(8),
2483
+ subscription: import_v436.z.object({
2484
+ discount: import_v436.z.object({
2442
2485
  amount: strictNumber.default(30),
2443
- shouldShowSavingText: import_v435.z.boolean().optional().default(true),
2444
- type: import_v435.z.enum(["none", "fixed_amount", "percentage"]).default("none")
2486
+ shouldShowSavingText: import_v436.z.boolean().optional().default(true),
2487
+ type: import_v436.z.enum(["none", "fixed_amount", "percentage"]).default("none")
2445
2488
  }),
2446
- shipping: import_v435.z.object({
2489
+ shipping: import_v436.z.object({
2447
2490
  amount: strictNumber.default(1),
2448
2491
  /** This isn't configurable in the admin-nextjs editor */
2449
- enabled: import_v435.z.boolean().default(true),
2492
+ enabled: import_v436.z.boolean().default(true),
2450
2493
  /** This isn't configurable in the admin-nextjs editor */
2451
2494
  recurringAmount: strictNumber.default(2),
2452
- shippingTitle: import_v435.z.string().default("Shipping Fees"),
2453
- type: import_v435.z.enum(["free", "fixed_amount"]).default("free")
2495
+ shippingTitle: import_v436.z.string().default("Shipping Fees"),
2496
+ type: import_v436.z.enum(["free", "fixed_amount"]).default("free")
2454
2497
  })
2455
2498
  }).optional().default({
2456
2499
  discount: {
@@ -2468,15 +2511,15 @@ var PostPurchaseSettings = import_v435.z.object({
2468
2511
  type: "free"
2469
2512
  }
2470
2513
  }),
2471
- subscriptionIsDefault: import_v435.z.boolean().optional(),
2514
+ subscriptionIsDefault: import_v436.z.boolean().optional(),
2472
2515
  /** This isn't configurable in the admin-nextjs editor */
2473
- template: import_v435.z.string().optional().default(""),
2474
- type: import_v435.z.literal("shopify_post_purchase_extension").default("shopify_post_purchase_extension"),
2475
- upgradeToSubscription: import_v435.z.object({
2476
- acceptButtonText: import_v435.z.string().optional().default("Upgrade"),
2477
- allow: import_v435.z.boolean().optional().default(false),
2478
- emailRefundNotice: import_v435.z.boolean().optional().default(false),
2479
- errorBannerText: import_v435.z.string().optional().default("This subscription cannot be added - limit one per order")
2516
+ template: import_v436.z.string().optional().default(""),
2517
+ type: import_v436.z.literal("shopify_post_purchase_extension").default("shopify_post_purchase_extension"),
2518
+ upgradeToSubscription: import_v436.z.object({
2519
+ acceptButtonText: import_v436.z.string().optional().default("Upgrade"),
2520
+ allow: import_v436.z.boolean().optional().default(false),
2521
+ emailRefundNotice: import_v436.z.boolean().optional().default(false),
2522
+ errorBannerText: import_v436.z.string().optional().default("This subscription cannot be added - limit one per order")
2480
2523
  }).optional().default(() => ({
2481
2524
  acceptButtonText: "Upgrade",
2482
2525
  allow: false,
@@ -2486,32 +2529,32 @@ var PostPurchaseSettings = import_v435.z.object({
2486
2529
  });
2487
2530
 
2488
2531
  // src/schema/widgets/post-purchase-offer/postPurchaseWidget.ts
2489
- var PostPurchaseWidgetLinkedFlow = import_v436.z.object({
2490
- id: import_v436.z.number(),
2491
- name: import_v436.z.string()
2532
+ var PostPurchaseWidgetLinkedFlow = import_v437.z.object({
2533
+ id: import_v437.z.number(),
2534
+ name: import_v437.z.string()
2492
2535
  });
2493
- var PostPurchaseWidget = import_v436.z.object({
2494
- classification: import_v436.z.literal("post_purchase_offer_page").default("post_purchase_offer_page"),
2495
- createdAtTime: import_v436.z.iso.datetime({ offset: true }).optional(),
2496
- customEndpointName: import_v436.z.string().nullish(),
2497
- id: import_v436.z.number().default(0),
2498
- lastViewed: import_v436.z.iso.datetime({ offset: true }).nullish(),
2499
- linkedCustomEndpointId: import_v436.z.number().nullish(),
2500
- linkedFlows: import_v436.z.array(PostPurchaseWidgetLinkedFlow).optional(),
2501
- name: import_v436.z.string().default(""),
2502
- owner: import_v436.z.number().nullish(),
2536
+ var PostPurchaseWidget = import_v437.z.object({
2537
+ classification: import_v437.z.literal("post_purchase_offer_page").default("post_purchase_offer_page"),
2538
+ createdAtTime: import_v437.z.iso.datetime({ offset: true }).optional(),
2539
+ customEndpointName: import_v437.z.string().nullish(),
2540
+ id: import_v437.z.number().default(0),
2541
+ lastViewed: import_v437.z.iso.datetime({ offset: true }).nullish(),
2542
+ linkedCustomEndpointId: import_v437.z.number().nullish(),
2543
+ linkedFlows: import_v437.z.array(PostPurchaseWidgetLinkedFlow).optional(),
2544
+ name: import_v437.z.string().default(""),
2545
+ owner: import_v437.z.number().nullish(),
2503
2546
  settings: PostPurchaseSettings
2504
2547
  });
2505
2548
 
2506
2549
  // src/schema/widgets/post-purchase-offer/postPurchaseOffer.ts
2507
- var PostPurchaseOffer = import_v437.z.discriminatedUnion("successful", [
2508
- import_v437.z.strictObject({
2509
- errors: import_v437.z.array(import_v437.z.object({ message: import_v437.z.string() })),
2510
- message: import_v437.z.string(),
2511
- successful: import_v437.z.literal(false)
2550
+ var PostPurchaseOffer = import_v438.z.discriminatedUnion("successful", [
2551
+ import_v438.z.strictObject({
2552
+ errors: import_v438.z.array(import_v438.z.object({ message: import_v438.z.string() })),
2553
+ message: import_v438.z.string(),
2554
+ successful: import_v438.z.literal(false)
2512
2555
  }),
2513
- import_v437.z.strictObject({
2514
- successful: import_v437.z.literal(true),
2556
+ import_v438.z.strictObject({
2557
+ successful: import_v438.z.literal(true),
2515
2558
  widget: PostPurchaseWidget
2516
2559
  })
2517
2560
  ]);