@rebuy/rebuy 2.25.0-rc.5 → 2.25.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.
- package/dist/index.js +536 -896
- package/dist/index.js.map +4 -4
- package/dist/index.mjs +535 -895
- package/dist/index.mjs.map +4 -4
- package/dist/schema/checkout-and-beyond/index.js +28 -340
- package/dist/schema/checkout-and-beyond/index.js.map +4 -4
- package/dist/schema/checkout-and-beyond/index.mjs +28 -340
- package/dist/schema/checkout-and-beyond/index.mjs.map +4 -4
- package/dist/schema/user-config.js +4 -50
- package/dist/schema/user-config.js.map +4 -4
- package/dist/schema/user-config.mjs +4 -50
- package/dist/schema/user-config.mjs.map +4 -4
- package/dist/schema/userConfig.d.ts +1 -47
- package/dist/schema/userConfig.d.ts.map +1 -1
- package/dist/schema/widget-data.js +29 -339
- package/dist/schema/widget-data.js.map +4 -4
- package/dist/schema/widget-data.mjs +29 -339
- package/dist/schema/widget-data.mjs.map +4 -4
- package/dist/schema/widgetData.d.ts +0 -12
- package/dist/schema/widgetData.d.ts.map +1 -1
- package/dist/schema/widgets/checkout-and-beyond/banner.d.ts +1 -2
- package/dist/schema/widgets/checkout-and-beyond/banner.d.ts.map +1 -1
- package/dist/schema/widgets/checkout-and-beyond/offers.d.ts.map +1 -1
- package/dist/schema/widgets/checkout-and-beyond/progressBar.d.ts +128 -136
- package/dist/schema/widgets/checkout-and-beyond/progressBar.d.ts.map +1 -1
- package/dist/schema/widgets/checkout-and-beyond/root.d.ts +0 -19
- package/dist/schema/widgets/checkout-and-beyond/root.d.ts.map +1 -1
- package/dist/schema/widgets/checkout-and-beyond/text.d.ts +23 -2
- package/dist/schema/widgets/checkout-and-beyond/text.d.ts.map +1 -1
- package/dist/schema/widgets/checkout-and-beyond/utils.d.ts.map +1 -1
- package/dist/schema/widgets/contentBlock.d.ts +0 -6
- package/dist/schema/widgets/contentBlock.d.ts.map +1 -1
- package/dist/schema/widgets/rebuyButton.d.ts +0 -6
- package/dist/schema/widgets/rebuyButton.d.ts.map +1 -1
- package/dist/transforms/contentBlockV1/convertContentBlockImageToV2.d.ts +3 -3
- package/dist/transforms/contentBlockV1/convertContentBlockTextToV2.d.ts +2 -2
- package/dist/transforms/contentBlockV1/convertContentBlockToV2.d.ts +2 -2
- package/dist/transforms/contentBlockV1/convertTextToTiptapParagraph.d.ts +1 -1
- package/dist/transforms/htmlToTiptap/buildDefaultTextStyleMark.d.ts +2 -2
- package/dist/transforms/htmlToTiptap/buildLinkMark.d.ts +1 -1
- package/dist/transforms/htmlToTiptap/closeTag.d.ts +1 -1
- package/dist/transforms/htmlToTiptap/flushParagraph.d.ts +1 -1
- package/dist/transforms/htmlToTiptap/htmlToTiptap.d.ts +2 -2
- package/dist/transforms/htmlToTiptap/isSkipping.d.ts +1 -1
- package/dist/transforms/htmlToTiptap/makeDoc.d.ts +2 -2
- package/dist/transforms/htmlToTiptap/makeParagraph.d.ts +1 -1
- package/dist/transforms/htmlToTiptap/openTag.d.ts +1 -1
- package/dist/transforms/htmlToTiptap/pushText.d.ts +1 -1
- package/dist/transforms/htmlToTiptap/types.d.ts +1 -1
- package/dist/transforms/index.d.ts +12 -22
- package/dist/transforms/index.d.ts.map +1 -1
- package/dist/transforms/index.js +309 -875
- package/dist/transforms/index.js.map +4 -4
- package/dist/transforms/index.mjs +309 -875
- package/dist/transforms/index.mjs.map +4 -4
- package/dist/transforms/isCABRootSection.d.ts +1 -2
- package/dist/transforms/isCABRootSection.d.ts.map +1 -1
- package/dist/transforms/normalizeTextContent.d.ts +6 -7
- package/dist/transforms/normalizeTextContent.d.ts.map +1 -1
- package/dist/transforms/normalizeTokens.d.ts.map +1 -1
- package/package.json +2 -23
- package/dist/gwp/getValidGwpProductIds.d.ts +0 -8
- package/dist/gwp/getValidGwpProductIds.d.ts.map +0 -1
- package/dist/gwp/hasUnsupportedRuleTypes.d.ts +0 -7
- package/dist/gwp/hasUnsupportedRuleTypes.d.ts.map +0 -1
- package/dist/gwp/index.d.ts +0 -5
- package/dist/gwp/index.d.ts.map +0 -1
- package/dist/gwp/index.js +0 -43
- package/dist/gwp/index.js.map +0 -7
- package/dist/gwp/index.mjs +0 -20
- package/dist/gwp/index.mjs.map +0 -7
- package/dist/gwp/shouldRemoveGift.d.ts +0 -9
- package/dist/gwp/shouldRemoveGift.d.ts.map +0 -1
- package/dist/gwp/types.d.ts +0 -35
- package/dist/gwp/types.d.ts.map +0 -1
- package/dist/pricing/amountToCents.d.ts +0 -7
- package/dist/pricing/amountToCents.d.ts.map +0 -1
- package/dist/pricing/computeCompareAtPrice.d.ts +0 -10
- package/dist/pricing/computeCompareAtPrice.d.ts.map +0 -1
- package/dist/pricing/computeDisplayPrice.d.ts +0 -10
- package/dist/pricing/computeDisplayPrice.d.ts.map +0 -1
- package/dist/pricing/index.d.ts +0 -6
- package/dist/pricing/index.d.ts.map +0 -1
- package/dist/pricing/index.js +0 -79
- package/dist/pricing/index.js.map +0 -7
- package/dist/pricing/index.mjs +0 -56
- package/dist/pricing/index.mjs.map +0 -7
- package/dist/pricing/priceVariant.d.ts +0 -8
- package/dist/pricing/priceVariant.d.ts.map +0 -1
- package/dist/pricing/types.d.ts +0 -27
- package/dist/pricing/types.d.ts.map +0 -1
- package/dist/routes.d.ts +0 -36
- package/dist/routes.d.ts.map +0 -1
- package/dist/routes.js +0 -41
- package/dist/routes.js.map +0 -7
- package/dist/routes.mjs +0 -20
- package/dist/routes.mjs.map +0 -7
- package/dist/schema/smartCart.d.ts +0 -201
- package/dist/schema/smartCart.d.ts.map +0 -1
- package/dist/server/adsEngine.d.ts +0 -31
- package/dist/server/adsEngine.d.ts.map +0 -1
- package/dist/server/analytics.d.ts +0 -26
- package/dist/server/analytics.d.ts.map +0 -1
- package/dist/server/composeOffer.d.ts +0 -11
- package/dist/server/composeOffer.d.ts.map +0 -1
- package/dist/server/dataSourceResults.d.ts +0 -17
- package/dist/server/dataSourceResults.d.ts.map +0 -1
- package/dist/server/giftValidation.d.ts +0 -11
- package/dist/server/giftValidation.d.ts.map +0 -1
- package/dist/server/index.d.ts +0 -10
- package/dist/server/index.d.ts.map +0 -1
- package/dist/server/index.js +0 -2378
- package/dist/server/index.js.map +0 -7
- package/dist/server/index.mjs +0 -2355
- package/dist/server/index.mjs.map +0 -7
- package/dist/server/monetizeOffers.d.ts +0 -11
- package/dist/server/monetizeOffers.d.ts.map +0 -1
- package/dist/server/shared.d.ts +0 -119
- package/dist/server/shared.d.ts.map +0 -1
- package/dist/server/userConfig.d.ts +0 -8
- package/dist/server/userConfig.d.ts.map +0 -1
- package/dist/server/widgetSettings.d.ts +0 -16
- package/dist/server/widgetSettings.d.ts.map +0 -1
- package/dist/transforms/experiments/resolveExperiment.d.ts +0 -20
- package/dist/transforms/experiments/resolveExperiment.d.ts.map +0 -1
- package/dist/transforms/lineItemEditorV1/convertLineItemEditorToV2.d.ts +0 -4
- package/dist/transforms/lineItemEditorV1/convertLineItemEditorToV2.d.ts.map +0 -1
- package/dist/transforms/lineItemEditorV1/switchLabels.d.ts +0 -93
- package/dist/transforms/lineItemEditorV1/switchLabels.d.ts.map +0 -1
- package/dist/transforms/lineItemEditorV1/types.d.ts +0 -25
- package/dist/transforms/lineItemEditorV1/types.d.ts.map +0 -1
- package/dist/transforms/offerV1/convertOfferToV2.d.ts +0 -16
- package/dist/transforms/offerV1/convertOfferToV2.d.ts.map +0 -1
- package/dist/transforms/offerV1/offerCard.d.ts +0 -17
- package/dist/transforms/offerV1/offerCard.d.ts.map +0 -1
- package/dist/transforms/offerV1/types.d.ts +0 -84
- package/dist/transforms/offerV1/types.d.ts.map +0 -1
- package/dist/transforms/progressBarV1/convertProgressBarToV2.d.ts +0 -24
- package/dist/transforms/progressBarV1/convertProgressBarToV2.d.ts.map +0 -1
- package/dist/transforms/progressBarV1/types.d.ts +0 -42
- package/dist/transforms/progressBarV1/types.d.ts.map +0 -1
- package/dist/transforms/smartCart/convertSmartCartProgressBarToV2.d.ts +0 -17
- package/dist/transforms/smartCart/convertSmartCartProgressBarToV2.d.ts.map +0 -1
- package/dist/transforms/smartCart/extractSmartCartBars.d.ts +0 -15
- package/dist/transforms/smartCart/extractSmartCartBars.d.ts.map +0 -1
package/dist/index.js
CHANGED
|
@@ -39,7 +39,6 @@ __export(src_exports, {
|
|
|
39
39
|
CABCartLineSection: () => CABCartLineSection,
|
|
40
40
|
CABDataSourceSection: () => CABDataSourceSection,
|
|
41
41
|
CABDiscount: () => CABDiscount,
|
|
42
|
-
CABExperiment: () => CABExperiment,
|
|
43
42
|
CABImageSection: () => CABImageSection,
|
|
44
43
|
CABIntegrations: () => CABIntegrations,
|
|
45
44
|
CABLayoutSection: () => CABLayoutSection,
|
|
@@ -1276,68 +1275,20 @@ var ShopConfig = import_v43.z.object({
|
|
|
1276
1275
|
});
|
|
1277
1276
|
|
|
1278
1277
|
// src/schema/userConfig.ts
|
|
1279
|
-
var import_v45 = require("zod/v4");
|
|
1280
|
-
|
|
1281
|
-
// src/schema/smartCart.ts
|
|
1282
1278
|
var import_v44 = require("zod/v4");
|
|
1283
|
-
var
|
|
1284
|
-
handle: import_v44.z.string().optional(),
|
|
1285
|
-
id: import_v44.z.coerce.number().optional(),
|
|
1286
|
-
productId: import_v44.z.coerce.number().optional(),
|
|
1287
|
-
title: import_v44.z.string().optional(),
|
|
1288
|
-
variantIds: import_v44.z.array(import_v44.z.coerce.number()).optional()
|
|
1289
|
-
});
|
|
1290
|
-
var SmartCartTier = import_v44.z.looseObject({
|
|
1291
|
-
allProducts: import_v44.z.array(SmartCartTierProduct).optional(),
|
|
1292
|
-
/** Merchant-set tier label (e.g. "Free gift", "$100 reward"), shown above the bar when enabled. */
|
|
1293
|
-
customTierLabel: import_v44.z.boolean().optional(),
|
|
1294
|
-
customTierLabelText: import_v44.z.string().optional(),
|
|
1295
|
-
filterOosVariants: import_v44.z.boolean().optional(),
|
|
1296
|
-
id: import_v44.z.string().optional(),
|
|
1297
|
-
minimum: import_v44.z.coerce.number().optional(),
|
|
1298
|
-
presentmentCurrencies: import_v44.z.looseObject({ enabled: import_v44.z.boolean().optional() }).optional(),
|
|
1299
|
-
products: import_v44.z.array(SmartCartTierProduct).optional(),
|
|
1300
|
-
type: import_v44.z.string().optional()
|
|
1301
|
-
});
|
|
1302
|
-
var SmartCartBar = import_v44.z.looseObject({
|
|
1303
|
-
countryCodes: import_v44.z.array(import_v44.z.string()).optional(),
|
|
1304
|
-
/** Products excluded from the progress subtotal; the client subtracts their variants' cart cost. */
|
|
1305
|
-
excludedProducts: import_v44.z.array(import_v44.z.looseObject({ variantIds: import_v44.z.array(import_v44.z.coerce.number()).optional() })).optional(),
|
|
1306
|
-
freeShippingOnSubscription: import_v44.z.boolean().optional(),
|
|
1307
|
-
geolocationEnabled: import_v44.z.boolean().optional(),
|
|
1308
|
-
id: import_v44.z.string().optional(),
|
|
1309
|
-
language: import_v44.z.looseObject({
|
|
1310
|
-
freeShippingReached: import_v44.z.string().optional(),
|
|
1311
|
-
freeShippingRemaining: import_v44.z.string().optional(),
|
|
1312
|
-
giftAreaTitle: import_v44.z.string().optional()
|
|
1313
|
-
}).optional(),
|
|
1314
|
-
name: import_v44.z.string().optional(),
|
|
1315
|
-
tiers: import_v44.z.array(SmartCartTier).optional()
|
|
1316
|
-
});
|
|
1317
|
-
var SmartCartComponent = import_v44.z.looseObject({
|
|
1318
|
-
settings: import_v44.z.looseObject({ bars: import_v44.z.array(SmartCartBar).optional() }).optional(),
|
|
1319
|
-
type: import_v44.z.string().optional()
|
|
1320
|
-
});
|
|
1321
|
-
var SmartCartConfig = import_v44.z.looseObject({
|
|
1322
|
-
components: import_v44.z.array(SmartCartComponent).optional()
|
|
1323
|
-
});
|
|
1324
|
-
|
|
1325
|
-
// src/schema/userConfig.ts
|
|
1326
|
-
var UserConfig = import_v45.z.object({
|
|
1279
|
+
var UserConfig = import_v44.z.object({
|
|
1327
1280
|
shop: ShopConfig,
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
smartCart: SmartCartConfig.nullish().catch(void 0),
|
|
1331
|
-
smartFlows: import_v45.z.array(import_v45.z.unknown())
|
|
1281
|
+
smartCart: import_v44.z.unknown(),
|
|
1282
|
+
smartFlows: import_v44.z.array(import_v44.z.unknown())
|
|
1332
1283
|
});
|
|
1333
1284
|
|
|
1334
1285
|
// src/schema/widgetData.ts
|
|
1335
|
-
var
|
|
1286
|
+
var import_v432 = require("zod/v4");
|
|
1336
1287
|
|
|
1337
1288
|
// src/schema/widgets/abTestingPlaceholder.ts
|
|
1338
|
-
var
|
|
1339
|
-
var ABTestingPlaceholder =
|
|
1340
|
-
type:
|
|
1289
|
+
var import_v45 = require("zod/v4");
|
|
1290
|
+
var ABTestingPlaceholder = import_v45.z.looseObject({
|
|
1291
|
+
type: import_v45.z.literal("placeholder")
|
|
1341
1292
|
});
|
|
1342
1293
|
|
|
1343
1294
|
// src/schema/widgets/checkout-and-beyond/constants.ts
|
|
@@ -1570,23 +1521,23 @@ var widgetTypes = [
|
|
|
1570
1521
|
var WidgetType = freezeEnum(widgetTypes);
|
|
1571
1522
|
|
|
1572
1523
|
// src/schema/widgets/checkoutExtension.ts
|
|
1573
|
-
var
|
|
1574
|
-
var CheckoutExtension =
|
|
1575
|
-
type:
|
|
1524
|
+
var import_v46 = require("zod/v4");
|
|
1525
|
+
var CheckoutExtension = import_v46.z.looseObject({
|
|
1526
|
+
type: import_v46.z.literal(WidgetType.shopify_checkout_extension).default(WidgetType.shopify_checkout_extension)
|
|
1576
1527
|
});
|
|
1577
1528
|
|
|
1578
1529
|
// src/schema/widgets/contentBlock.ts
|
|
1579
|
-
var
|
|
1530
|
+
var import_v426 = require("zod/v4");
|
|
1580
1531
|
|
|
1581
1532
|
// src/schema/widgets/checkout-and-beyond/root.ts
|
|
1582
|
-
var
|
|
1533
|
+
var import_v425 = require("zod/v4");
|
|
1583
1534
|
|
|
1584
1535
|
// src/schema/widgets/checkout-and-beyond/layout.ts
|
|
1585
|
-
var
|
|
1586
|
-
var
|
|
1536
|
+
var import_uuid12 = require("uuid");
|
|
1537
|
+
var import_v424 = require("zod/v4");
|
|
1587
1538
|
|
|
1588
1539
|
// src/schema/widgets/checkout-and-beyond/rule.ts
|
|
1589
|
-
var
|
|
1540
|
+
var import_v47 = require("zod/v4");
|
|
1590
1541
|
var ruleTypes = [
|
|
1591
1542
|
"cart",
|
|
1592
1543
|
"cart_count",
|
|
@@ -1605,7 +1556,7 @@ var ruleTypes = [
|
|
|
1605
1556
|
"product_type",
|
|
1606
1557
|
"product_vendor"
|
|
1607
1558
|
];
|
|
1608
|
-
var ruleType =
|
|
1559
|
+
var ruleType = import_v47.z.enum(ruleTypes);
|
|
1609
1560
|
var RuleType = ruleType.enum;
|
|
1610
1561
|
var ruleOperators = [
|
|
1611
1562
|
"after",
|
|
@@ -1620,59 +1571,59 @@ var ruleOperators = [
|
|
|
1620
1571
|
"greater_than",
|
|
1621
1572
|
"less_than"
|
|
1622
1573
|
];
|
|
1623
|
-
var ruleOperator =
|
|
1574
|
+
var ruleOperator = import_v47.z.enum(ruleOperators);
|
|
1624
1575
|
var RuleOperator = ruleOperator.enum;
|
|
1625
|
-
var RuleCondition =
|
|
1626
|
-
operator:
|
|
1627
|
-
products:
|
|
1628
|
-
type:
|
|
1629
|
-
value:
|
|
1630
|
-
});
|
|
1631
|
-
var RuleLogicBlock =
|
|
1632
|
-
rules:
|
|
1633
|
-
});
|
|
1634
|
-
var CABRule =
|
|
1635
|
-
dataSourceId:
|
|
1636
|
-
enabled:
|
|
1637
|
-
ruleset:
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
exitIfMatched:
|
|
1641
|
-
logic:
|
|
1642
|
-
output:
|
|
1643
|
-
|
|
1644
|
-
key:
|
|
1645
|
-
type:
|
|
1646
|
-
value:
|
|
1576
|
+
var RuleCondition = import_v47.z.object({
|
|
1577
|
+
operator: import_v47.z.enum(ruleOperators).default(RuleOperator.anything),
|
|
1578
|
+
products: import_v47.z.union([import_v47.z.array(import_v47.z.unknown()), import_v47.z.strictObject({}).transform(() => [])]).default(() => []),
|
|
1579
|
+
type: import_v47.z.enum(ruleTypes).default(RuleType.cart_subtotal),
|
|
1580
|
+
value: import_v47.z.coerce.string().default("")
|
|
1581
|
+
});
|
|
1582
|
+
var RuleLogicBlock = import_v47.z.object({
|
|
1583
|
+
rules: import_v47.z.array(RuleCondition).default(() => [])
|
|
1584
|
+
});
|
|
1585
|
+
var CABRule = import_v47.z.object({
|
|
1586
|
+
dataSourceId: import_v47.z.number().nullable().default(null),
|
|
1587
|
+
enabled: import_v47.z.boolean().default(false),
|
|
1588
|
+
ruleset: import_v47.z.union([
|
|
1589
|
+
import_v47.z.array(
|
|
1590
|
+
import_v47.z.object({
|
|
1591
|
+
exitIfMatched: import_v47.z.boolean().default(true),
|
|
1592
|
+
logic: import_v47.z.array(RuleLogicBlock).default(() => []),
|
|
1593
|
+
output: import_v47.z.array(
|
|
1594
|
+
import_v47.z.object({
|
|
1595
|
+
key: import_v47.z.string().default("should_show"),
|
|
1596
|
+
type: import_v47.z.literal("data_json").default("data_json"),
|
|
1597
|
+
value: import_v47.z.string().default("true")
|
|
1647
1598
|
})
|
|
1648
1599
|
).default(() => [{ key: "should_show", type: "data_json", value: "true" }])
|
|
1649
1600
|
})
|
|
1650
1601
|
),
|
|
1651
|
-
|
|
1602
|
+
import_v47.z.strictObject({}).transform(() => [])
|
|
1652
1603
|
]).default(() => [])
|
|
1653
1604
|
});
|
|
1654
1605
|
|
|
1655
1606
|
// src/schema/widgets/checkout-and-beyond/shared.ts
|
|
1656
|
-
var
|
|
1607
|
+
var import_v423 = require("zod/v4");
|
|
1657
1608
|
|
|
1658
1609
|
// src/schema/widgets/checkout-and-beyond/banner.ts
|
|
1659
|
-
var
|
|
1660
|
-
var CABBannerSection =
|
|
1610
|
+
var import_v48 = require("zod/v4");
|
|
1611
|
+
var CABBannerSection = import_v48.z.lazy(
|
|
1661
1612
|
() => CABLayoutSection.omit({ sectionType: true }).extend({
|
|
1662
|
-
buttonField:
|
|
1663
|
-
color:
|
|
1664
|
-
dismissible:
|
|
1665
|
-
sectionType:
|
|
1613
|
+
buttonField: import_v48.z.enum(buttonFields).optional(),
|
|
1614
|
+
color: import_v48.z.enum(bannerColors).default("info"),
|
|
1615
|
+
dismissible: import_v48.z.boolean().default(true),
|
|
1616
|
+
sectionType: import_v48.z.literal(SectionType.banner).default(SectionType.banner)
|
|
1666
1617
|
})
|
|
1667
1618
|
);
|
|
1668
1619
|
|
|
1669
1620
|
// src/schema/widgets/checkout-and-beyond/button.ts
|
|
1670
1621
|
var import_uuid3 = require("uuid");
|
|
1671
|
-
var
|
|
1622
|
+
var import_v411 = require("zod/v4");
|
|
1672
1623
|
|
|
1673
1624
|
// src/schema/widgets/checkout-and-beyond/image.ts
|
|
1674
1625
|
var import_uuid = require("uuid");
|
|
1675
|
-
var
|
|
1626
|
+
var import_v49 = require("zod/v4");
|
|
1676
1627
|
|
|
1677
1628
|
// src/schema/widgets/checkout-and-beyond/regex.ts
|
|
1678
1629
|
var ARRAY_INDEX_STRING = /^(0|[1-9]\d*)$/;
|
|
@@ -1690,7 +1641,7 @@ var isHTML = (html = "") => {
|
|
|
1690
1641
|
const hasHTML = (nodeList) => Array.from(nodeList).some((node) => node.nodeType === 1);
|
|
1691
1642
|
return hasHTML(doc.body.childNodes) || hasHTML(doc.head.childNodes);
|
|
1692
1643
|
}
|
|
1693
|
-
return
|
|
1644
|
+
return HTML_TAGS_REGEX.test(html);
|
|
1694
1645
|
};
|
|
1695
1646
|
var hasHTMLInDoc = (doc) => doc.content.some(({ content = [] }) => content.some(({ text }) => isHTML(text)));
|
|
1696
1647
|
var checkForHTML = (input) => !((0, import_compat.isString)(input) && isHTML(input) || (0, import_es_toolkit2.isPlainObject)(input) && hasHTMLInDoc(input));
|
|
@@ -1724,342 +1675,86 @@ var convertNumericObjects = (input) => {
|
|
|
1724
1675
|
};
|
|
1725
1676
|
|
|
1726
1677
|
// src/schema/widgets/checkout-and-beyond/image.ts
|
|
1727
|
-
var CABImageSection =
|
|
1728
|
-
altText:
|
|
1729
|
-
aspectRatio:
|
|
1730
|
-
border:
|
|
1731
|
-
buttonField:
|
|
1732
|
-
category:
|
|
1733
|
-
name:
|
|
1734
|
-
naturalHeight:
|
|
1735
|
-
naturalWidth:
|
|
1736
|
-
objectFit:
|
|
1678
|
+
var CABImageSection = import_v49.z.object({
|
|
1679
|
+
altText: import_v49.z.string().refine(checkForHTML, NO_HTML).default(""),
|
|
1680
|
+
aspectRatio: import_v49.z.literal(1).nullable().default(null),
|
|
1681
|
+
border: import_v49.z.lazy(() => CABBorder),
|
|
1682
|
+
buttonField: import_v49.z.enum(buttonFields).optional(),
|
|
1683
|
+
category: import_v49.z.enum(["gallery", "icons", "payment-methods", "secure-checkout"]).nullable().default(null),
|
|
1684
|
+
name: import_v49.z.string().optional(),
|
|
1685
|
+
naturalHeight: import_v49.z.number().default(0),
|
|
1686
|
+
naturalWidth: import_v49.z.number().default(0),
|
|
1687
|
+
objectFit: import_v49.z.enum(objectFits).default(ObjectFit.cover),
|
|
1737
1688
|
rule: CABRule.optional(),
|
|
1738
|
-
sectionId:
|
|
1739
|
-
sectionType:
|
|
1740
|
-
source:
|
|
1741
|
-
width:
|
|
1689
|
+
sectionId: import_v49.z.uuid().default(() => (0, import_uuid.v7)()),
|
|
1690
|
+
sectionType: import_v49.z.literal(SectionType.image).default(SectionType.image),
|
|
1691
|
+
source: import_v49.z.union([import_v49.z.url(), import_v49.z.literal(""), import_v49.z.string().regex(DYNAMIC_TOKEN_REGEX)]).default(""),
|
|
1692
|
+
width: import_v49.z.number().default(100)
|
|
1742
1693
|
});
|
|
1743
1694
|
|
|
1744
1695
|
// src/schema/widgets/checkout-and-beyond/text.ts
|
|
1745
1696
|
var import_compat2 = require("es-toolkit/compat");
|
|
1746
1697
|
var import_uuid2 = require("uuid");
|
|
1747
|
-
var
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
// src/transforms/htmlToTiptap/closeTag.ts
|
|
1762
|
-
var closeTag = (stack, name) => {
|
|
1763
|
-
for (let index = stack.length - 1; index >= 0; index--) {
|
|
1764
|
-
if (stack[index].tag === name) {
|
|
1765
|
-
stack.length = index;
|
|
1766
|
-
break;
|
|
1767
|
-
}
|
|
1768
|
-
}
|
|
1769
|
-
};
|
|
1770
|
-
|
|
1771
|
-
// src/transforms/htmlToTiptap/constants.ts
|
|
1772
|
-
var TAG_RE = /<(\/)?([a-zA-Z][a-zA-Z0-9]*)((?:\s+[^>]*?)?)\s*(\/)?>/g;
|
|
1773
|
-
var BLOCK_TAGS = /* @__PURE__ */ new Set([
|
|
1774
|
-
"article",
|
|
1775
|
-
"aside",
|
|
1776
|
-
"blockquote",
|
|
1777
|
-
"dd",
|
|
1778
|
-
"div",
|
|
1779
|
-
"dt",
|
|
1780
|
-
"figcaption",
|
|
1781
|
-
"figure",
|
|
1782
|
-
"footer",
|
|
1783
|
-
"h1",
|
|
1784
|
-
"h2",
|
|
1785
|
-
"h3",
|
|
1786
|
-
"h4",
|
|
1787
|
-
"h5",
|
|
1788
|
-
"h6",
|
|
1789
|
-
"header",
|
|
1790
|
-
"hr",
|
|
1791
|
-
"li",
|
|
1792
|
-
"main",
|
|
1793
|
-
"nav",
|
|
1794
|
-
"p",
|
|
1795
|
-
"pre",
|
|
1796
|
-
"section"
|
|
1797
|
-
]);
|
|
1798
|
-
|
|
1799
|
-
// src/transforms/htmlToTiptap/makeParagraph.ts
|
|
1800
|
-
var makeParagraph = (content) => TiptapParagraph.parse({ content });
|
|
1801
|
-
|
|
1802
|
-
// src/transforms/htmlToTiptap/flushParagraph.ts
|
|
1803
|
-
var flushParagraph = (state) => {
|
|
1804
|
-
state.paragraphs.push(makeParagraph(state.currentRuns));
|
|
1805
|
-
state.currentRuns = [];
|
|
1806
|
-
};
|
|
1807
|
-
|
|
1808
|
-
// src/transforms/htmlToTiptap/isSkipping.ts
|
|
1809
|
-
var isSkipping = (stack = []) => stack.some(({ skip }) => skip);
|
|
1810
|
-
|
|
1811
|
-
// src/transforms/htmlToTiptap/makeDoc.ts
|
|
1812
|
-
var makeDoc = (content, blockSpacing) => TiptapDocument.parse({ attrs: { blockSpacing }, content });
|
|
1813
|
-
|
|
1814
|
-
// src/transforms/htmlToTiptap/isValidHref.ts
|
|
1815
|
-
var DYNAMIC_TOKEN_REGEX2 = /^\{\{\s*[A-Za-z]+\s*\}\}$/;
|
|
1816
|
-
var ALLOWED_PROTOCOLS = /* @__PURE__ */ new Set(["http:", "https:", "mailto:", "tel:"]);
|
|
1817
|
-
var isValidHref = (href) => {
|
|
1818
|
-
if (!href) return false;
|
|
1819
|
-
if (href === "#") return true;
|
|
1820
|
-
if (DYNAMIC_TOKEN_REGEX2.test(href)) return true;
|
|
1821
|
-
try {
|
|
1822
|
-
const url = new URL(href);
|
|
1823
|
-
return ALLOWED_PROTOCOLS.has(url.protocol);
|
|
1824
|
-
} catch {
|
|
1825
|
-
return false;
|
|
1826
|
-
}
|
|
1827
|
-
};
|
|
1828
|
-
|
|
1829
|
-
// src/transforms/htmlToTiptap/buildLinkMark.ts
|
|
1830
|
-
var DEFAULT_TARGET = "_blank";
|
|
1831
|
-
var DEFAULT_REL = "noopener noreferrer nofollow";
|
|
1832
|
-
var ensureSafeRel = (rel, target) => {
|
|
1833
|
-
if (target !== "_blank") return rel;
|
|
1834
|
-
const sourceTokens = (rel ?? "").split(/\s+/).filter(Boolean);
|
|
1835
|
-
if (sourceTokens.length === 0) return DEFAULT_REL;
|
|
1836
|
-
const tokens = new Set(sourceTokens.filter((token) => token.toLowerCase() !== "opener"));
|
|
1837
|
-
tokens.add("noopener");
|
|
1838
|
-
tokens.add("noreferrer");
|
|
1839
|
-
return Array.from(tokens).join(" ");
|
|
1840
|
-
};
|
|
1841
|
-
var buildLinkMark = (attrs = {}) => {
|
|
1842
|
-
const { href } = attrs;
|
|
1843
|
-
if (!href || !isValidHref(href)) return null;
|
|
1844
|
-
const target = attrs.target ?? DEFAULT_TARGET;
|
|
1845
|
-
return {
|
|
1846
|
-
attrs: {
|
|
1847
|
-
class: null,
|
|
1848
|
-
href,
|
|
1849
|
-
rel: ensureSafeRel(attrs.rel, target),
|
|
1850
|
-
target
|
|
1851
|
-
},
|
|
1852
|
-
type: "link"
|
|
1853
|
-
};
|
|
1854
|
-
};
|
|
1855
|
-
|
|
1856
|
-
// src/transforms/htmlToTiptap/decodeEntities.ts
|
|
1857
|
-
var NAMED_ENTITIES = {
|
|
1858
|
-
amp: "&",
|
|
1859
|
-
apos: "'",
|
|
1860
|
-
copy: "\xA9",
|
|
1861
|
-
gt: ">",
|
|
1862
|
-
hellip: "\u2026",
|
|
1863
|
-
ldquo: "\u201C",
|
|
1864
|
-
lsquo: "\u2018",
|
|
1865
|
-
lt: "<",
|
|
1866
|
-
mdash: "\u2014",
|
|
1867
|
-
nbsp: " ",
|
|
1868
|
-
ndash: "\u2013",
|
|
1869
|
-
quot: '"',
|
|
1870
|
-
rdquo: "\u201D",
|
|
1871
|
-
reg: "\xAE",
|
|
1872
|
-
rsquo: "\u2019",
|
|
1873
|
-
trade: "\u2122"
|
|
1874
|
-
};
|
|
1875
|
-
var decodeEntities = (input = "") => input.replace(/&(#x[\da-f]+|#\d+|[a-z][a-z\d]*);/gi, (match, code) => {
|
|
1876
|
-
if (code[0] !== "#") return NAMED_ENTITIES[code.toLowerCase()] ?? match;
|
|
1877
|
-
const isHex = /^#x/i.test(code);
|
|
1878
|
-
const cp = parseInt(code.slice(isHex ? 2 : 1), isHex ? 16 : 10);
|
|
1879
|
-
return Number.isInteger(cp) && cp >= 0 && cp <= 1114111 ? String.fromCodePoint(cp) : match;
|
|
1880
|
-
});
|
|
1881
|
-
|
|
1882
|
-
// src/transforms/htmlToTiptap/parseAttribs.ts
|
|
1883
|
-
var ATTRIB_RE = /([a-zA-Z_:][\w:.-]*)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'`=<>]+)))?/g;
|
|
1884
|
-
var parseAttribs = (attrString) => {
|
|
1885
|
-
const result = {};
|
|
1886
|
-
let match;
|
|
1887
|
-
ATTRIB_RE.lastIndex = 0;
|
|
1888
|
-
while ((match = ATTRIB_RE.exec(attrString)) !== null) {
|
|
1889
|
-
result[match[1].toLowerCase()] = decodeEntities(match[2] ?? match[3] ?? match[4] ?? "");
|
|
1890
|
-
}
|
|
1891
|
-
return result;
|
|
1892
|
-
};
|
|
1893
|
-
|
|
1894
|
-
// src/transforms/htmlToTiptap/openTag.ts
|
|
1895
|
-
var INLINE_MARK_TAGS = {
|
|
1896
|
-
b: "bold",
|
|
1897
|
-
del: "strike",
|
|
1898
|
-
em: "italic",
|
|
1899
|
-
i: "italic",
|
|
1900
|
-
s: "strike",
|
|
1901
|
-
strike: "strike",
|
|
1902
|
-
strong: "bold"
|
|
1903
|
-
};
|
|
1904
|
-
var HEADING_FONT_SIZE = {
|
|
1905
|
-
h1: "extraLarge",
|
|
1906
|
-
h2: "large",
|
|
1907
|
-
h3: "medium",
|
|
1908
|
-
h4: "base",
|
|
1909
|
-
h5: "small",
|
|
1910
|
-
h6: "small"
|
|
1911
|
-
};
|
|
1912
|
-
var STRIPPED_TAGS = ["embed", "iframe", "noscript", "object", "script", "style", "template"];
|
|
1913
|
-
var marksForTag = (name, attrs) => {
|
|
1914
|
-
if (INLINE_MARK_TAGS[name]) return [{ type: INLINE_MARK_TAGS[name] }];
|
|
1915
|
-
if (HEADING_FONT_SIZE[name]) {
|
|
1916
|
-
return [{ type: "bold" }, { attrs: { color: "base", fontSize: HEADING_FONT_SIZE[name] }, type: "textStyle" }];
|
|
1917
|
-
}
|
|
1918
|
-
if (name === "a") {
|
|
1919
|
-
const link = buildLinkMark(parseAttribs(attrs));
|
|
1920
|
-
return link ? [link] : [];
|
|
1921
|
-
}
|
|
1922
|
-
return [];
|
|
1923
|
-
};
|
|
1924
|
-
var openTag = (stack, name, attrs) => {
|
|
1925
|
-
stack.push({
|
|
1926
|
-
marks: marksForTag(name, attrs),
|
|
1927
|
-
skip: STRIPPED_TAGS.includes(name),
|
|
1928
|
-
tag: name
|
|
1929
|
-
});
|
|
1930
|
-
};
|
|
1931
|
-
|
|
1932
|
-
// src/transforms/htmlToTiptap/pushText.ts
|
|
1933
|
-
var pushText = (state, rawText) => {
|
|
1934
|
-
if (!rawText || isSkipping(state.stack)) return;
|
|
1935
|
-
decodeEntities(rawText).split("\n").forEach((segment, index) => {
|
|
1936
|
-
if (index > 0) flushParagraph(state);
|
|
1937
|
-
if (!segment) return;
|
|
1938
|
-
const marks = state.stack.flatMap((entry) => entry.marks);
|
|
1939
|
-
if (state.defaultTextStyleMark && !marks.some((mark) => mark.type === "textStyle")) {
|
|
1940
|
-
marks.push(state.defaultTextStyleMark);
|
|
1941
|
-
}
|
|
1942
|
-
state.currentRuns.push(TiptapText.parse(marks.length > 0 ? { marks, text: segment } : { text: segment }));
|
|
1943
|
-
});
|
|
1944
|
-
};
|
|
1945
|
-
|
|
1946
|
-
// src/transforms/htmlToTiptap/stripHtmlComments.ts
|
|
1947
|
-
var HTML_COMMENT_RE = /<!--[\s\S]*?-->/g;
|
|
1948
|
-
var stripHtmlComments = (html = "") => html.replace(HTML_COMMENT_RE, "");
|
|
1949
|
-
|
|
1950
|
-
// src/transforms/htmlToTiptap/htmlToTiptap.ts
|
|
1951
|
-
var maybeFlushParagraph = (state) => {
|
|
1952
|
-
if (state.currentRuns.length > 0) flushParagraph(state);
|
|
1953
|
-
};
|
|
1954
|
-
var htmlToTiptap = (html, options = {}) => {
|
|
1955
|
-
const state = {
|
|
1956
|
-
currentRuns: [],
|
|
1957
|
-
defaultTextStyleMark: buildDefaultTextStyleMark(options.defaultTextStyle),
|
|
1958
|
-
listStack: [],
|
|
1959
|
-
paragraphs: [],
|
|
1960
|
-
stack: []
|
|
1961
|
-
};
|
|
1962
|
-
const blockSpacing = options.blockSpacing ?? "base";
|
|
1963
|
-
if (typeof html !== "string" || !html) return makeDoc([makeParagraph([])], blockSpacing);
|
|
1964
|
-
const htmlWithoutComments = stripHtmlComments(html);
|
|
1965
|
-
let lastIndex = 0;
|
|
1966
|
-
let match;
|
|
1967
|
-
TAG_RE.lastIndex = 0;
|
|
1968
|
-
while ((match = TAG_RE.exec(htmlWithoutComments)) !== null) {
|
|
1969
|
-
const [full, slash, rawName, attrs, selfClose] = match;
|
|
1970
|
-
if (match.index > lastIndex) pushText(state, htmlWithoutComments.slice(lastIndex, match.index));
|
|
1971
|
-
lastIndex = match.index + full.length;
|
|
1972
|
-
const name = rawName.toLowerCase();
|
|
1973
|
-
if (slash) {
|
|
1974
|
-
closeTag(state.stack, name);
|
|
1975
|
-
if (name === "ul" || name === "ol") state.listStack.pop();
|
|
1976
|
-
if (BLOCK_TAGS.has(name) && !isSkipping(state.stack)) maybeFlushParagraph(state);
|
|
1977
|
-
} else if (name === "br") {
|
|
1978
|
-
if (!isSkipping(state.stack)) flushParagraph(state);
|
|
1979
|
-
} else if (name === "hr") {
|
|
1980
|
-
if (!isSkipping(state.stack)) {
|
|
1981
|
-
maybeFlushParagraph(state);
|
|
1982
|
-
pushText(state, "\u2014\u2014\u2014");
|
|
1983
|
-
flushParagraph(state);
|
|
1984
|
-
}
|
|
1985
|
-
} else if (!selfClose) {
|
|
1986
|
-
if (BLOCK_TAGS.has(name) && !isSkipping(state.stack)) maybeFlushParagraph(state);
|
|
1987
|
-
if (name === "ul" || name === "ol") state.listStack.push({ counter: 0, ordered: name === "ol" });
|
|
1988
|
-
openTag(state.stack, name, attrs);
|
|
1989
|
-
if (name === "li" && state.listStack.length > 0) {
|
|
1990
|
-
const top = state.listStack[state.listStack.length - 1];
|
|
1991
|
-
if (top.ordered) top.counter += 1;
|
|
1992
|
-
pushText(state, top.ordered ? `${top.counter}. ` : "\u2022 ");
|
|
1993
|
-
}
|
|
1994
|
-
}
|
|
1995
|
-
}
|
|
1996
|
-
if (lastIndex < htmlWithoutComments.length) pushText(state, htmlWithoutComments.slice(lastIndex));
|
|
1997
|
-
maybeFlushParagraph(state);
|
|
1998
|
-
if (state.paragraphs.length === 0) flushParagraph(state);
|
|
1999
|
-
return makeDoc(state.paragraphs, blockSpacing);
|
|
2000
|
-
};
|
|
2001
|
-
|
|
2002
|
-
// src/schema/widgets/checkout-and-beyond/text.ts
|
|
2003
|
-
var enumOrOmit = (...vals) => import_v411.z.string().transform((val) => vals.includes(val) ? val : void 0).optional();
|
|
2004
|
-
var TiptapText = import_v411.z.object({
|
|
2005
|
-
marks: import_v411.z.union([
|
|
2006
|
-
import_v411.z.array(
|
|
2007
|
-
import_v411.z.discriminatedUnion("type", [
|
|
2008
|
-
import_v411.z.object({ type: import_v411.z.literal("bold") }),
|
|
2009
|
-
import_v411.z.object({ type: import_v411.z.literal("italic") }),
|
|
2010
|
-
import_v411.z.object({
|
|
2011
|
-
attrs: import_v411.z.object({
|
|
2012
|
-
class: import_v411.z.string().nullable(),
|
|
2013
|
-
href: import_v411.z.union([import_v411.z.url(), import_v411.z.literal("#"), import_v411.z.string().regex(DYNAMIC_TOKEN_REGEX)]),
|
|
2014
|
-
rel: import_v411.z.string().default("noopener noreferrer nofollow"),
|
|
2015
|
-
target: import_v411.z.string().default("_blank")
|
|
1698
|
+
var import_v410 = require("zod/v4");
|
|
1699
|
+
var enumOrOmit = (...vals) => import_v410.z.string().transform((val) => vals.includes(val) ? val : void 0).optional();
|
|
1700
|
+
var TiptapText = import_v410.z.object({
|
|
1701
|
+
marks: import_v410.z.union([
|
|
1702
|
+
import_v410.z.array(
|
|
1703
|
+
import_v410.z.discriminatedUnion("type", [
|
|
1704
|
+
import_v410.z.object({ type: import_v410.z.literal("bold") }),
|
|
1705
|
+
import_v410.z.object({ type: import_v410.z.literal("italic") }),
|
|
1706
|
+
import_v410.z.object({
|
|
1707
|
+
attrs: import_v410.z.object({
|
|
1708
|
+
class: import_v410.z.string().nullable(),
|
|
1709
|
+
href: import_v410.z.union([import_v410.z.url(), import_v410.z.literal("#"), import_v410.z.string().regex(DYNAMIC_TOKEN_REGEX)]),
|
|
1710
|
+
rel: import_v410.z.string().default("noopener noreferrer nofollow"),
|
|
1711
|
+
target: import_v410.z.string().default("_blank")
|
|
2016
1712
|
}),
|
|
2017
|
-
type:
|
|
1713
|
+
type: import_v410.z.literal("link")
|
|
2018
1714
|
}),
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
-
attrs:
|
|
1715
|
+
import_v410.z.object({ type: import_v410.z.literal("strike") }),
|
|
1716
|
+
import_v410.z.object({
|
|
1717
|
+
attrs: import_v410.z.object({
|
|
2022
1718
|
color: enumOrOmit(...textColorNames).default(TextColorName.base),
|
|
2023
1719
|
fontSize: enumOrOmit(...textSizeNames).default(TextSizeName.base)
|
|
2024
1720
|
}),
|
|
2025
|
-
type:
|
|
1721
|
+
type: import_v410.z.literal("textStyle")
|
|
2026
1722
|
})
|
|
2027
1723
|
])
|
|
2028
1724
|
),
|
|
2029
|
-
|
|
1725
|
+
import_v410.z.strictObject({}).transform(() => [])
|
|
2030
1726
|
]).optional(),
|
|
2031
|
-
text:
|
|
2032
|
-
type:
|
|
1727
|
+
text: import_v410.z.string().default(""),
|
|
1728
|
+
type: import_v410.z.literal("text").default("text")
|
|
2033
1729
|
});
|
|
2034
|
-
var TiptapParagraph =
|
|
2035
|
-
attrs:
|
|
1730
|
+
var TiptapParagraph = import_v410.z.object({
|
|
1731
|
+
attrs: import_v410.z.object({
|
|
2036
1732
|
textAlign: enumOrOmit(...textAlignments)
|
|
2037
1733
|
}).default({ textAlign: TextAlignment.start }),
|
|
2038
|
-
content:
|
|
2039
|
-
type:
|
|
1734
|
+
content: import_v410.z.union([import_v410.z.array(TiptapText), import_v410.z.strictObject({}).transform(() => [])]).default(() => []),
|
|
1735
|
+
type: import_v410.z.literal("paragraph").default("paragraph")
|
|
2040
1736
|
});
|
|
2041
|
-
var TiptapDocument =
|
|
2042
|
-
attrs:
|
|
1737
|
+
var TiptapDocument = import_v410.z.object({
|
|
1738
|
+
attrs: import_v410.z.object({
|
|
2043
1739
|
blockSpacing: enumOrOmit(...spacings)
|
|
2044
1740
|
}).default({ blockSpacing: Spacing.base }),
|
|
2045
|
-
content:
|
|
2046
|
-
type:
|
|
1741
|
+
content: import_v410.z.union([import_v410.z.array(TiptapParagraph), import_v410.z.strictObject({}).transform(() => [])]).default(() => [TiptapParagraph.parse({})]),
|
|
1742
|
+
type: import_v410.z.literal("doc").default("doc")
|
|
2047
1743
|
});
|
|
2048
|
-
var
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
name: import_v411.z.string().optional(),
|
|
2059
|
-
optionId: import_v411.z.number().optional(),
|
|
1744
|
+
var CABProgressTier = import_v410.z.object({
|
|
1745
|
+
threshold: import_v410.z.number().int().nonnegative(),
|
|
1746
|
+
thresholds: import_v410.z.record(import_v410.z.string(), import_v410.z.number().int().nonnegative()).default(() => ({})),
|
|
1747
|
+
tierType: import_v410.z.enum(progressTierTypes).default(ProgressTierType.shipping)
|
|
1748
|
+
});
|
|
1749
|
+
var CABTextSection = import_v410.z.object({
|
|
1750
|
+
buttonField: import_v410.z.enum(buttonFields).optional(),
|
|
1751
|
+
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(),
|
|
1752
|
+
name: import_v410.z.string().optional(),
|
|
1753
|
+
optionId: import_v410.z.number().optional(),
|
|
2060
1754
|
rule: CABRule.optional(),
|
|
2061
|
-
sectionId:
|
|
2062
|
-
sectionType:
|
|
1755
|
+
sectionId: import_v410.z.uuid().default(() => (0, import_uuid2.v7)()),
|
|
1756
|
+
sectionType: import_v410.z.literal(SectionType.text).default(SectionType.text),
|
|
1757
|
+
tier: CABProgressTier.optional()
|
|
2063
1758
|
}).superRefine(({ buttonField, content }, ctx) => {
|
|
2064
1759
|
if (buttonField === ButtonField.destinationUrl && content) {
|
|
2065
1760
|
(0, import_compat2.forEach)(content, (value, lang) => {
|
|
@@ -2080,116 +1775,117 @@ var CABTextSection = import_v411.z.object({
|
|
|
2080
1775
|
});
|
|
2081
1776
|
|
|
2082
1777
|
// src/schema/widgets/checkout-and-beyond/button.ts
|
|
2083
|
-
var CABButtonContent =
|
|
2084
|
-
() =>
|
|
1778
|
+
var CABButtonContent = import_v411.z.lazy(
|
|
1779
|
+
() => import_v411.z.discriminatedUnion("sectionType", [CABImageSection, CABLayoutSection, CABTextSection])
|
|
2085
1780
|
);
|
|
2086
|
-
var CABButtonSection =
|
|
2087
|
-
action:
|
|
2088
|
-
buttonStyle:
|
|
2089
|
-
custom:
|
|
2090
|
-
color:
|
|
2091
|
-
height:
|
|
2092
|
-
width:
|
|
1781
|
+
var CABButtonSection = import_v411.z.object({
|
|
1782
|
+
action: import_v411.z.union([import_v411.z.literal(""), import_v411.z.enum(buttonActions)]).default(""),
|
|
1783
|
+
buttonStyle: import_v411.z.enum(buttonStyles).default(ButtonStyle.primary),
|
|
1784
|
+
custom: import_v411.z.object({
|
|
1785
|
+
color: import_v411.z.string().regex(HEX_COLOR_REGEX).default("#005bd3"),
|
|
1786
|
+
height: import_v411.z.number().default(52),
|
|
1787
|
+
width: import_v411.z.number().default(300)
|
|
2093
1788
|
}).default({
|
|
2094
1789
|
color: "#005bd3",
|
|
2095
1790
|
height: 52,
|
|
2096
1791
|
width: 300
|
|
2097
1792
|
}),
|
|
2098
|
-
disableDowngrade:
|
|
2099
|
-
name:
|
|
2100
|
-
optionId:
|
|
2101
|
-
popover:
|
|
2102
|
-
alignment:
|
|
2103
|
-
position:
|
|
1793
|
+
disableDowngrade: import_v411.z.boolean().default(false),
|
|
1794
|
+
name: import_v411.z.string().optional(),
|
|
1795
|
+
optionId: import_v411.z.number().optional(),
|
|
1796
|
+
popover: import_v411.z.object({
|
|
1797
|
+
alignment: import_v411.z.enum(textAlignments).default(TextAlignment.center),
|
|
1798
|
+
position: import_v411.z.enum(popoverPositions).default(PopoverPosition.blockStart)
|
|
2104
1799
|
}).optional().default(() => ({
|
|
2105
1800
|
alignment: TextAlignment.center,
|
|
2106
1801
|
position: PopoverPosition.blockStart
|
|
2107
1802
|
})),
|
|
2108
1803
|
rule: CABRule.optional(),
|
|
2109
|
-
sectionId:
|
|
2110
|
-
sections:
|
|
2111
|
-
sectionType:
|
|
1804
|
+
sectionId: import_v411.z.uuid().default(() => (0, import_uuid3.v7)()),
|
|
1805
|
+
sections: import_v411.z.union([import_v411.z.array(CABButtonContent), import_v411.z.strictObject({}).transform(() => [])]).default(() => []),
|
|
1806
|
+
sectionType: import_v411.z.literal(SectionType.button).default(SectionType.button),
|
|
2112
1807
|
/** Fire-and-forget pixel POSTed when the button is clicked (e.g. a Monetize decline). */
|
|
2113
|
-
trackingUrl:
|
|
1808
|
+
trackingUrl: import_v411.z.string().optional()
|
|
2114
1809
|
});
|
|
2115
1810
|
|
|
2116
1811
|
// src/schema/widgets/checkout-and-beyond/carousel.ts
|
|
2117
|
-
var
|
|
1812
|
+
var import_v416 = require("zod/v4");
|
|
2118
1813
|
|
|
2119
1814
|
// src/schema/widgets/checkout-and-beyond/offers.ts
|
|
2120
|
-
var
|
|
1815
|
+
var import_v415 = require("zod/v4");
|
|
2121
1816
|
|
|
2122
1817
|
// src/schema/widgets/checkout-and-beyond/dataSource.ts
|
|
2123
1818
|
var import_uuid4 = require("uuid");
|
|
2124
|
-
var
|
|
2125
|
-
var CABDiscount =
|
|
2126
|
-
amount:
|
|
2127
|
-
discountedBy:
|
|
2128
|
-
discountedFrom:
|
|
2129
|
-
type:
|
|
2130
|
-
});
|
|
2131
|
-
var CABIntegrations =
|
|
2132
|
-
judgeme:
|
|
2133
|
-
junip:
|
|
2134
|
-
klaviyo:
|
|
2135
|
-
loox:
|
|
2136
|
-
okendo:
|
|
2137
|
-
opinew:
|
|
2138
|
-
reviewsio:
|
|
2139
|
-
stamped:
|
|
2140
|
-
yotpo:
|
|
2141
|
-
});
|
|
2142
|
-
var CABDataSourceSection =
|
|
2143
|
-
dataSourceId:
|
|
2144
|
-
dataSourcePath:
|
|
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
|
+
});
|
|
1826
|
+
var CABIntegrations = import_v412.z.object({
|
|
1827
|
+
judgeme: import_v412.z.boolean().default(false),
|
|
1828
|
+
junip: import_v412.z.boolean().default(false),
|
|
1829
|
+
klaviyo: import_v412.z.boolean().default(false),
|
|
1830
|
+
loox: import_v412.z.boolean().default(false),
|
|
1831
|
+
okendo: import_v412.z.boolean().default(false),
|
|
1832
|
+
opinew: import_v412.z.boolean().default(false),
|
|
1833
|
+
reviewsio: import_v412.z.boolean().default(false),
|
|
1834
|
+
stamped: import_v412.z.boolean().default(false),
|
|
1835
|
+
yotpo: import_v412.z.boolean().default(false)
|
|
1836
|
+
});
|
|
1837
|
+
var CABDataSourceSection = import_v412.z.object({
|
|
1838
|
+
dataSourceId: import_v412.z.number().nullable().default(null),
|
|
1839
|
+
dataSourcePath: import_v412.z.string().default(DEFAULT_ENDPOINTS[0].value),
|
|
2145
1840
|
discount: CABDiscount.optional(),
|
|
2146
1841
|
integrations: CABIntegrations.optional(),
|
|
2147
|
-
limit:
|
|
2148
|
-
matchVariant:
|
|
2149
|
-
matchVariantOutOfStock:
|
|
2150
|
-
name:
|
|
2151
|
-
productType:
|
|
2152
|
-
sectionId:
|
|
2153
|
-
sectionType:
|
|
2154
|
-
treatAsGwp:
|
|
1842
|
+
limit: import_v412.z.number().default(1),
|
|
1843
|
+
matchVariant: import_v412.z.boolean().default(false),
|
|
1844
|
+
matchVariantOutOfStock: import_v412.z.boolean().default(false),
|
|
1845
|
+
name: import_v412.z.string().default(DEFAULT_ENDPOINTS[0].label),
|
|
1846
|
+
productType: import_v412.z.enum(productTypes).optional(),
|
|
1847
|
+
sectionId: import_v412.z.uuid().default(() => (0, import_uuid4.v7)()),
|
|
1848
|
+
sectionType: import_v412.z.literal(SectionType.dataSource).default(SectionType.dataSource),
|
|
1849
|
+
treatAsGwp: import_v412.z.boolean().default(false)
|
|
2155
1850
|
});
|
|
2156
1851
|
|
|
2157
1852
|
// src/schema/widgets/checkout-and-beyond/products.ts
|
|
2158
1853
|
var import_uuid6 = require("uuid");
|
|
2159
|
-
var
|
|
1854
|
+
var import_v414 = require("zod/v4");
|
|
2160
1855
|
|
|
2161
1856
|
// src/schema/widgets/checkout-and-beyond/product.ts
|
|
2162
1857
|
var import_uuid5 = require("uuid");
|
|
2163
|
-
var
|
|
2164
|
-
var CABVariantContent =
|
|
2165
|
-
() =>
|
|
1858
|
+
var import_v413 = require("zod/v4");
|
|
1859
|
+
var CABVariantContent = import_v413.z.lazy(
|
|
1860
|
+
() => import_v413.z.discriminatedUnion("sectionType", [CABButtonSection, CABTextSection])
|
|
2166
1861
|
);
|
|
2167
|
-
var CABProductSection =
|
|
2168
|
-
name:
|
|
2169
|
-
productId:
|
|
2170
|
-
sectionId:
|
|
2171
|
-
sections:
|
|
2172
|
-
sectionType:
|
|
2173
|
-
selectors:
|
|
2174
|
-
variantMode:
|
|
1862
|
+
var CABProductSection = import_v413.z.object({
|
|
1863
|
+
name: import_v413.z.string().optional(),
|
|
1864
|
+
productId: import_v413.z.number().nullable().default(null),
|
|
1865
|
+
sectionId: import_v413.z.uuid().default(() => (0, import_uuid5.v7)()),
|
|
1866
|
+
sections: import_v413.z.union([import_v413.z.array(CABVariantContent), import_v413.z.strictObject({}).transform(() => [])]).default(() => []),
|
|
1867
|
+
sectionType: import_v413.z.literal(SectionType.product).default(SectionType.product),
|
|
1868
|
+
selectors: import_v413.z.record(import_v413.z.string(), import_v413.z.enum(variantSelectors).default(VariantSelector.menu)).default(() => ({})),
|
|
1869
|
+
variantMode: import_v413.z.enum(variantModes).default(VariantMode.multiple)
|
|
2175
1870
|
});
|
|
2176
1871
|
|
|
2177
1872
|
// src/schema/widgets/checkout-and-beyond/products.ts
|
|
2178
|
-
var CABProductsSection =
|
|
2179
|
-
name:
|
|
2180
|
-
sectionId:
|
|
2181
|
-
sections:
|
|
2182
|
-
sectionType:
|
|
1873
|
+
var CABProductsSection = import_v414.z.object({
|
|
1874
|
+
name: import_v414.z.string().optional(),
|
|
1875
|
+
sectionId: import_v414.z.uuid().default(() => (0, import_uuid6.v7)()),
|
|
1876
|
+
sections: import_v414.z.union([import_v414.z.array(import_v414.z.lazy(() => CABProductSection)), import_v414.z.strictObject({}).transform(() => [])]).default(() => []),
|
|
1877
|
+
sectionType: import_v414.z.literal(SectionType.products).default(SectionType.products)
|
|
2183
1878
|
});
|
|
2184
1879
|
|
|
2185
1880
|
// src/schema/widgets/checkout-and-beyond/offers.ts
|
|
2186
|
-
var CABOffersSection =
|
|
1881
|
+
var CABOffersSection = import_v415.z.lazy(
|
|
2187
1882
|
() => CABLayoutSection.omit({ sections: true, sectionType: true }).extend({
|
|
2188
|
-
sections:
|
|
1883
|
+
sections: import_v415.z.union([import_v415.z.array(import_v415.z.lazy(() => CABSection)), import_v415.z.strictObject({}).transform(() => [])]).default(() => [
|
|
2189
1884
|
CABBannerSection.parse({
|
|
2190
1885
|
buttonField: "undoAddToOrder",
|
|
2191
1886
|
color: "success",
|
|
2192
1887
|
dismissible: true,
|
|
1888
|
+
name: "Success Banner",
|
|
2193
1889
|
sections: [
|
|
2194
1890
|
CABTextSection.parse({ content: { en: "{{quantity}} {{productTitle}} added to cart." } }),
|
|
2195
1891
|
CABButtonSection.parse({ action: "undoAddToOrder", buttonStyle: ButtonStyle.plain })
|
|
@@ -2198,111 +1894,62 @@ var CABOffersSection = import_v416.z.lazy(
|
|
|
2198
1894
|
CABDataSourceSection.parse({}),
|
|
2199
1895
|
CABProductsSection.parse({})
|
|
2200
1896
|
]),
|
|
2201
|
-
sectionType:
|
|
1897
|
+
sectionType: import_v415.z.literal(SectionType.offers).default(SectionType.offers)
|
|
2202
1898
|
})
|
|
2203
1899
|
);
|
|
2204
1900
|
|
|
2205
1901
|
// src/schema/widgets/checkout-and-beyond/carousel.ts
|
|
2206
|
-
var CABCarouselSection =
|
|
1902
|
+
var CABCarouselSection = import_v416.z.lazy(
|
|
2207
1903
|
() => CABLayoutSection.omit({ sections: true, sectionType: true }).extend({
|
|
2208
|
-
autoAdvanceInterval:
|
|
2209
|
-
itemsAtOnce:
|
|
2210
|
-
sections:
|
|
2211
|
-
sectionType:
|
|
1904
|
+
autoAdvanceInterval: import_v416.z.number().default(0),
|
|
1905
|
+
itemsAtOnce: import_v416.z.number().min(1).default(1),
|
|
1906
|
+
sections: import_v416.z.union([import_v416.z.array(import_v416.z.lazy(() => CABSection)), import_v416.z.strictObject({}).transform(() => [])]).default(() => [CABOffersSection.parse({})]),
|
|
1907
|
+
sectionType: import_v416.z.literal(SectionType.carousel).default(SectionType.carousel)
|
|
2212
1908
|
})
|
|
2213
1909
|
);
|
|
2214
1910
|
|
|
2215
1911
|
// src/schema/widgets/checkout-and-beyond/cartLine.ts
|
|
2216
|
-
var
|
|
2217
|
-
var CABCartLineSection =
|
|
1912
|
+
var import_v417 = require("zod/v4");
|
|
1913
|
+
var CABCartLineSection = import_v417.z.lazy(
|
|
2218
1914
|
() => CABLayoutSection.omit({ sections: true, sectionType: true }).extend({
|
|
2219
|
-
sections:
|
|
2220
|
-
sectionType:
|
|
1915
|
+
sections: import_v417.z.union([import_v417.z.array(import_v417.z.lazy(() => CABSection)), import_v417.z.strictObject({}).transform(() => [])]).default(() => [CABButtonSection.parse({ action: ButtonAction.switchToSubscription })]),
|
|
1916
|
+
sectionType: import_v417.z.literal(SectionType.cartLine).default(SectionType.cartLine)
|
|
2221
1917
|
})
|
|
2222
1918
|
);
|
|
2223
1919
|
|
|
2224
1920
|
// src/schema/widgets/checkout-and-beyond/monetize.ts
|
|
2225
1921
|
var import_uuid7 = require("uuid");
|
|
2226
|
-
var
|
|
2227
|
-
var CABMonetizeSection =
|
|
2228
|
-
name:
|
|
1922
|
+
var import_v418 = require("zod/v4");
|
|
1923
|
+
var CABMonetizeSection = import_v418.z.object({
|
|
1924
|
+
name: import_v418.z.string().optional(),
|
|
2229
1925
|
rule: CABRule.optional(),
|
|
2230
|
-
sectionId:
|
|
2231
|
-
sectionType:
|
|
1926
|
+
sectionId: import_v418.z.uuid().default(() => (0, import_uuid7.v7)()),
|
|
1927
|
+
sectionType: import_v418.z.literal(SectionType.monetize).default(SectionType.monetize)
|
|
2232
1928
|
});
|
|
2233
1929
|
|
|
2234
1930
|
// src/schema/widgets/checkout-and-beyond/progressBar.ts
|
|
2235
|
-
var
|
|
2236
|
-
var
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
|
|
2240
|
-
|
|
2241
|
-
|
|
2242
|
-
|
|
2243
|
-
|
|
2244
|
-
|
|
2245
|
-
productId: import_v420.z.number().int().positive(),
|
|
2246
|
-
title: import_v420.z.string().optional(),
|
|
2247
|
-
variantIds: import_v420.z.array(import_v420.z.number().int().positive()).default(() => [])
|
|
2248
|
-
}).optional(),
|
|
2249
|
-
/**
|
|
2250
|
-
* The tier's goal in the SHOP's base currency, in cents. Always present — the canonical fallback:
|
|
2251
|
-
* when the buyer's presentment currency has no entry in `thresholds`, the client multiplies this by
|
|
2252
|
-
* the live FX rate. (Converter maps the v1 `unlock_price`, e.g. `75` → `7500`.)
|
|
2253
|
-
*/
|
|
2254
|
-
threshold: import_v420.z.number().int().nonnegative(),
|
|
2255
|
-
/**
|
|
2256
|
-
* Per-presentment-currency goal overrides — lowercased ISO currency code → cents (e.g. `{ cad: 9900 }`).
|
|
2257
|
-
* When the buyer's currency has an entry, the client uses it verbatim INSTEAD of FX-converting
|
|
2258
|
-
* `threshold`, so merchants show intentional, clean per-market amounts (Shopify Markets) rather than a
|
|
2259
|
-
* converted base. Defaults to `{}` — no overrides means always fall back to `threshold`.
|
|
2260
|
-
*/
|
|
2261
|
-
thresholds: import_v420.z.record(import_v420.z.string(), import_v420.z.number().int().nonnegative()).default(() => ({})),
|
|
2262
|
-
/**
|
|
2263
|
-
* Smart-cart tier identifier, mirrored onto the gift cart line's `_tier` attribute so the client can
|
|
2264
|
-
* match an in-cart gift back to its tier (add on reach, remove on downgrade/decline). Absent on the
|
|
2265
|
-
* shipping bar (single unlabeled tier, no gift).
|
|
2266
|
-
*/
|
|
2267
|
-
tierId: import_v420.z.string().optional(),
|
|
2268
|
-
tierType: import_v420.z.enum(progressTierTypes).default(ProgressTierType.shipping)
|
|
1931
|
+
var import_uuid8 = require("uuid");
|
|
1932
|
+
var import_v419 = require("zod/v4");
|
|
1933
|
+
var CABProgressBarSection = import_v419.z.object({
|
|
1934
|
+
/** Empty = shown everywhere; otherwise uppercase ISO country codes. */
|
|
1935
|
+
countryCodes: import_v419.z.array(import_v419.z.string()).default(() => []),
|
|
1936
|
+
name: import_v419.z.string().optional(),
|
|
1937
|
+
rule: CABRule.optional(),
|
|
1938
|
+
sectionId: import_v419.z.uuid().default(() => (0, import_uuid8.v7)()),
|
|
1939
|
+
sections: import_v419.z.union([import_v419.z.array(CABTextSection), import_v419.z.strictObject({}).transform(() => [])]).default(() => []),
|
|
1940
|
+
sectionType: import_v419.z.literal(SectionType.progressBar).default(SectionType.progressBar)
|
|
2269
1941
|
});
|
|
2270
|
-
var CABProgressBarSection = import_v420.z.lazy(
|
|
2271
|
-
() => CABLayoutSection.omit({ sectionType: true }).extend({
|
|
2272
|
-
/** Empty = shown everywhere; otherwise uppercase ISO country codes. */
|
|
2273
|
-
countryCodes: import_v420.z.array(import_v420.z.string().transform((code) => code.trim().toUpperCase())).default(() => []),
|
|
2274
|
-
/**
|
|
2275
|
-
* Uppercase ISO codes where a higher-precedence geo bar applies, so this (default, non-geo) bar is
|
|
2276
|
-
* hidden there — replicates React `getbar`'s geo-match-over-default precedence. Empty = never excluded.
|
|
2277
|
-
*/
|
|
2278
|
-
excludeCountryCodes: import_v420.z.array(import_v420.z.string().transform((code) => code.trim().toUpperCase())).default(() => []),
|
|
2279
|
-
/** Variant ids the client subtracts from the adjusted subtotal (React `bar.excluded_products`). */
|
|
2280
|
-
excludedVariantIds: import_v420.z.array(import_v420.z.number().int().positive()).default(() => []),
|
|
2281
|
-
/**
|
|
2282
|
-
* When the cart holds a subscription item, treat the bar as reached regardless of subtotal (React
|
|
2283
|
-
* `free_shipping_on_subscription(s)`). `freeShippingOnAll` is already a zero-threshold tier instead.
|
|
2284
|
-
*/
|
|
2285
|
-
freeShippingOnSubscription: import_v420.z.boolean().default(false),
|
|
2286
|
-
sectionType: import_v420.z.literal(SectionType.progressBar).default(SectionType.progressBar),
|
|
2287
|
-
/**
|
|
2288
|
-
* The bar's milestones, in any order — the renderer sorts by resolved threshold. Drives the fill
|
|
2289
|
-
* (even slot per tier) and, for smart-cart product tiers, the gift add/remove. The visual tier
|
|
2290
|
-
* display lives in `sections` (composable), NOT here.
|
|
2291
|
-
*/
|
|
2292
|
-
tiers: import_v420.z.union([import_v420.z.array(CABProgressTier), import_v420.z.strictObject({}).transform(() => [])]).default(() => [])
|
|
2293
|
-
})
|
|
2294
|
-
);
|
|
2295
1942
|
|
|
2296
1943
|
// src/schema/widgets/checkout-and-beyond/quantity.ts
|
|
2297
|
-
var
|
|
2298
|
-
var
|
|
2299
|
-
var CABQuantitySection =
|
|
2300
|
-
errorMessages:
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
max:
|
|
2304
|
-
min:
|
|
2305
|
-
neg:
|
|
1944
|
+
var import_uuid9 = require("uuid");
|
|
1945
|
+
var import_v420 = require("zod/v4");
|
|
1946
|
+
var CABQuantitySection = import_v420.z.object({
|
|
1947
|
+
errorMessages: import_v420.z.record(
|
|
1948
|
+
import_v420.z.string(),
|
|
1949
|
+
import_v420.z.object({
|
|
1950
|
+
max: import_v420.z.string().optional(),
|
|
1951
|
+
min: import_v420.z.string().optional(),
|
|
1952
|
+
neg: import_v420.z.string().optional()
|
|
2306
1953
|
})
|
|
2307
1954
|
).default({
|
|
2308
1955
|
en: {
|
|
@@ -2311,53 +1958,53 @@ var CABQuantitySection = import_v421.z.object({
|
|
|
2311
1958
|
neg: "Quantity cannot be negative"
|
|
2312
1959
|
}
|
|
2313
1960
|
}),
|
|
2314
|
-
inputType:
|
|
2315
|
-
max:
|
|
2316
|
-
min:
|
|
2317
|
-
name:
|
|
1961
|
+
inputType: import_v420.z.enum(quantityInputs).default(QuantityInput.select),
|
|
1962
|
+
max: import_v420.z.number().min(1).max(100).default(10),
|
|
1963
|
+
min: import_v420.z.number().min(1).default(1),
|
|
1964
|
+
name: import_v420.z.string().optional(),
|
|
2318
1965
|
rule: CABRule.optional(),
|
|
2319
|
-
sectionId:
|
|
2320
|
-
sectionType:
|
|
1966
|
+
sectionId: import_v420.z.uuid().default(() => (0, import_uuid9.v7)()),
|
|
1967
|
+
sectionType: import_v420.z.literal(SectionType.quantity).default(SectionType.quantity)
|
|
2321
1968
|
});
|
|
2322
1969
|
|
|
2323
1970
|
// src/schema/widgets/checkout-and-beyond/reviews.ts
|
|
2324
|
-
var
|
|
2325
|
-
var
|
|
2326
|
-
var CABReviewsSection =
|
|
2327
|
-
color:
|
|
2328
|
-
name:
|
|
1971
|
+
var import_uuid10 = require("uuid");
|
|
1972
|
+
var import_v421 = require("zod/v4");
|
|
1973
|
+
var CABReviewsSection = import_v421.z.object({
|
|
1974
|
+
color: import_v421.z.string().default("#fadb14"),
|
|
1975
|
+
name: import_v421.z.string().optional(),
|
|
2329
1976
|
rule: CABRule.optional(),
|
|
2330
|
-
sectionId:
|
|
2331
|
-
sectionType:
|
|
2332
|
-
size:
|
|
1977
|
+
sectionId: import_v421.z.uuid().default(() => (0, import_uuid10.v7)()),
|
|
1978
|
+
sectionType: import_v421.z.literal(SectionType.reviews).default(SectionType.reviews),
|
|
1979
|
+
size: import_v421.z.enum(reviewsSizes).default(ReviewsSize.default)
|
|
2333
1980
|
});
|
|
2334
1981
|
|
|
2335
1982
|
// src/schema/widgets/checkout-and-beyond/variants.ts
|
|
2336
1983
|
var import_compat3 = require("es-toolkit/compat");
|
|
2337
|
-
var
|
|
2338
|
-
var
|
|
2339
|
-
var CABVariantsSection =
|
|
2340
|
-
hideOutOfStockVariants:
|
|
2341
|
-
name:
|
|
1984
|
+
var import_uuid11 = require("uuid");
|
|
1985
|
+
var import_v422 = require("zod/v4");
|
|
1986
|
+
var CABVariantsSection = import_v422.z.object({
|
|
1987
|
+
hideOutOfStockVariants: import_v422.z.boolean().default(false),
|
|
1988
|
+
name: import_v422.z.string().optional(),
|
|
2342
1989
|
rule: CABRule.optional(),
|
|
2343
|
-
sectionId:
|
|
2344
|
-
sectionType:
|
|
2345
|
-
selector:
|
|
2346
|
-
variantMode:
|
|
1990
|
+
sectionId: import_v422.z.uuid().default(() => (0, import_uuid11.v7)()),
|
|
1991
|
+
sectionType: import_v422.z.literal(SectionType.variants).default(SectionType.variants),
|
|
1992
|
+
selector: import_v422.z.enum((0, import_compat3.slice)(variantSelectors, 0, 3)).default(VariantSelector.menu),
|
|
1993
|
+
variantMode: import_v422.z.enum(variantModes).default(VariantMode.multiple)
|
|
2347
1994
|
});
|
|
2348
1995
|
|
|
2349
1996
|
// src/schema/widgets/checkout-and-beyond/shared.ts
|
|
2350
|
-
var CABBorder =
|
|
2351
|
-
radius:
|
|
2352
|
-
style:
|
|
2353
|
-
width:
|
|
1997
|
+
var CABBorder = import_v423.z.object({
|
|
1998
|
+
radius: import_v423.z.enum(borderRadii).default(BorderRadius.base),
|
|
1999
|
+
style: import_v423.z.enum(borderStyles).default(BorderStyle.none),
|
|
2000
|
+
width: import_v423.z.enum(borderWidths).default(BorderWidth.base)
|
|
2354
2001
|
}).default({
|
|
2355
2002
|
radius: BorderRadius.base,
|
|
2356
2003
|
style: BorderStyle.none,
|
|
2357
2004
|
width: BorderWidth.base
|
|
2358
2005
|
});
|
|
2359
|
-
var CABSection =
|
|
2360
|
-
() =>
|
|
2006
|
+
var CABSection = import_v423.z.lazy(
|
|
2007
|
+
() => import_v423.z.discriminatedUnion("sectionType", [
|
|
2361
2008
|
CABBannerSection,
|
|
2362
2009
|
CABButtonSection,
|
|
2363
2010
|
CABCarouselSection,
|
|
@@ -2378,135 +2025,128 @@ var CABSection = import_v424.z.lazy(
|
|
|
2378
2025
|
);
|
|
2379
2026
|
|
|
2380
2027
|
// src/schema/widgets/checkout-and-beyond/layout.ts
|
|
2381
|
-
var GridItem =
|
|
2382
|
-
var CABLayoutSection =
|
|
2383
|
-
alignment:
|
|
2384
|
-
horizontal:
|
|
2385
|
-
vertical:
|
|
2028
|
+
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()]);
|
|
2029
|
+
var CABLayoutSection = import_v424.z.object({
|
|
2030
|
+
alignment: import_v424.z.object({
|
|
2031
|
+
horizontal: import_v424.z.enum(horizontalAlignments).default(HorizontalAlignment.start),
|
|
2032
|
+
vertical: import_v424.z.enum(verticalAlignments).default(VerticalAlignment.top)
|
|
2386
2033
|
}).default({
|
|
2387
2034
|
horizontal: HorizontalAlignment.start,
|
|
2388
2035
|
vertical: VerticalAlignment.top
|
|
2389
2036
|
}),
|
|
2390
|
-
border:
|
|
2391
|
-
buttonField:
|
|
2392
|
-
direction:
|
|
2393
|
-
grid:
|
|
2394
|
-
columns:
|
|
2395
|
-
rows:
|
|
2037
|
+
border: import_v424.z.lazy(() => CABBorder),
|
|
2038
|
+
buttonField: import_v424.z.enum(buttonFields).optional(),
|
|
2039
|
+
direction: import_v424.z.enum(directions).default(Direction.rows),
|
|
2040
|
+
grid: import_v424.z.object({
|
|
2041
|
+
columns: import_v424.z.union([import_v424.z.array(GridItem), import_v424.z.undefined()]).default(() => ["auto"]),
|
|
2042
|
+
rows: import_v424.z.union([import_v424.z.array(GridItem), import_v424.z.undefined()]).default(() => ["auto"])
|
|
2396
2043
|
}).default({ columns: ["auto"], rows: ["auto"] }).optional(),
|
|
2397
|
-
name:
|
|
2398
|
-
padding:
|
|
2044
|
+
name: import_v424.z.string().optional(),
|
|
2045
|
+
padding: import_v424.z.enum(spacings).default(Spacing.none),
|
|
2399
2046
|
rule: CABRule.optional(),
|
|
2400
|
-
sectionId:
|
|
2401
|
-
sections:
|
|
2402
|
-
sectionType:
|
|
2403
|
-
spacing:
|
|
2047
|
+
sectionId: import_v424.z.uuid().default(() => (0, import_uuid12.v7)()),
|
|
2048
|
+
sections: import_v424.z.union([import_v424.z.array(import_v424.z.lazy(() => CABSection)), import_v424.z.strictObject({}).transform(() => [])]).default(() => []),
|
|
2049
|
+
sectionType: import_v424.z.literal(SectionType.layout).default(SectionType.layout),
|
|
2050
|
+
spacing: import_v424.z.enum(spacings).default(Spacing.base),
|
|
2404
2051
|
/** Fire-and-forget impression pixel POSTed once when the section is shown (e.g. a Monetize offer view). */
|
|
2405
|
-
viewUrl:
|
|
2406
|
-
width:
|
|
2052
|
+
viewUrl: import_v424.z.string().optional(),
|
|
2053
|
+
width: import_v424.z.number().default(100)
|
|
2407
2054
|
});
|
|
2408
2055
|
|
|
2409
2056
|
// src/schema/widgets/checkout-and-beyond/root.ts
|
|
2410
|
-
var TargetArea =
|
|
2411
|
-
fill:
|
|
2412
|
-
flip:
|
|
2413
|
-
icon:
|
|
2414
|
-
label:
|
|
2415
|
-
width:
|
|
2057
|
+
var TargetArea = import_v425.z.object({
|
|
2058
|
+
fill: import_v425.z.boolean().optional(),
|
|
2059
|
+
flip: import_v425.z.enum(["both", "horizontal", "vertical"]).optional(),
|
|
2060
|
+
icon: import_v425.z.string(),
|
|
2061
|
+
label: import_v425.z.string(),
|
|
2062
|
+
width: import_v425.z.string()
|
|
2416
2063
|
}).default(targetAreas[EditorMode.checkoutExtension][1]);
|
|
2417
|
-
var CABTracking =
|
|
2418
|
-
enableAttribution:
|
|
2419
|
-
enableSource:
|
|
2420
|
-
enableWidget:
|
|
2064
|
+
var CABTracking = import_v425.z.object({
|
|
2065
|
+
enableAttribution: import_v425.z.boolean().default(true),
|
|
2066
|
+
enableSource: import_v425.z.boolean().default(true),
|
|
2067
|
+
enableWidget: import_v425.z.boolean().default(true)
|
|
2421
2068
|
}).default({ enableAttribution: true, enableSource: true, enableWidget: true });
|
|
2422
|
-
var CABExperiment = import_v426.z.object({
|
|
2423
|
-
elementId: import_v426.z.number(),
|
|
2424
|
-
experimentId: import_v426.z.number(),
|
|
2425
|
-
experimentType: import_v426.z.string(),
|
|
2426
|
-
selectedId: import_v426.z.number()
|
|
2427
|
-
});
|
|
2428
2069
|
var CABRootSection = CABLayoutSection.extend({
|
|
2429
|
-
editorMode:
|
|
2430
|
-
|
|
2431
|
-
|
|
2432
|
-
storeId: import_v426.z.number().nullable().default(null),
|
|
2070
|
+
editorMode: import_v425.z.enum(editorModes).default(EditorMode.checkoutExtension),
|
|
2071
|
+
previewMode: import_v425.z.boolean().default(false),
|
|
2072
|
+
storeId: import_v425.z.number().nullable().default(null),
|
|
2433
2073
|
targetArea: TargetArea.nullable(),
|
|
2434
2074
|
tracking: CABTracking,
|
|
2435
|
-
type:
|
|
2436
|
-
version:
|
|
2437
|
-
widgetId:
|
|
2075
|
+
type: import_v425.z.enum(widgetTypes).default(WidgetType.ui_extension_content_block),
|
|
2076
|
+
version: import_v425.z.literal(2).default(2),
|
|
2077
|
+
widgetId: import_v425.z.number().nullable().default(null)
|
|
2438
2078
|
});
|
|
2439
2079
|
|
|
2440
2080
|
// src/schema/widgets/contentBlock.ts
|
|
2441
|
-
var ContentBlockV1 =
|
|
2442
|
-
blockSpacing:
|
|
2443
|
-
imageBlocks:
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
-
altText:
|
|
2447
|
-
description:
|
|
2448
|
-
id:
|
|
2449
|
-
imagePlacement:
|
|
2450
|
-
imageSize:
|
|
2451
|
-
imageUrl:
|
|
2452
|
-
textAlignment:
|
|
2453
|
-
textSize:
|
|
2081
|
+
var ContentBlockV1 = import_v426.z.object({
|
|
2082
|
+
blockSpacing: import_v426.z.enum(spacings).optional(),
|
|
2083
|
+
imageBlocks: import_v426.z.union([
|
|
2084
|
+
import_v426.z.array(
|
|
2085
|
+
import_v426.z.object({
|
|
2086
|
+
altText: import_v426.z.string().nullable(),
|
|
2087
|
+
description: import_v426.z.string().nullable(),
|
|
2088
|
+
id: import_v426.z.uuid(),
|
|
2089
|
+
imagePlacement: import_v426.z.enum(["top", "right", "bottom", "left"]),
|
|
2090
|
+
imageSize: import_v426.z.number(),
|
|
2091
|
+
imageUrl: import_v426.z.url(),
|
|
2092
|
+
textAlignment: import_v426.z.enum(["left", "center", "right"]),
|
|
2093
|
+
textSize: import_v426.z.enum(textSizeNames)
|
|
2454
2094
|
})
|
|
2455
2095
|
),
|
|
2456
|
-
|
|
2096
|
+
import_v426.z.strictObject({}).transform(() => [])
|
|
2457
2097
|
]).optional(),
|
|
2458
|
-
imageLayout:
|
|
2459
|
-
language:
|
|
2460
|
-
description:
|
|
2461
|
-
superTitle:
|
|
2462
|
-
title:
|
|
2098
|
+
imageLayout: import_v426.z.enum(["row", "column"]).optional(),
|
|
2099
|
+
language: import_v426.z.object({
|
|
2100
|
+
description: import_v426.z.string(),
|
|
2101
|
+
superTitle: import_v426.z.string(),
|
|
2102
|
+
title: import_v426.z.string()
|
|
2463
2103
|
}),
|
|
2464
|
-
previewMode:
|
|
2465
|
-
type:
|
|
2466
|
-
version:
|
|
2104
|
+
previewMode: import_v426.z.boolean(),
|
|
2105
|
+
type: import_v426.z.literal(WidgetType.ui_extension_content_block).default(WidgetType.ui_extension_content_block),
|
|
2106
|
+
version: import_v426.z.literal(1)
|
|
2467
2107
|
});
|
|
2468
|
-
var ContentBlock =
|
|
2108
|
+
var ContentBlock = import_v426.z.discriminatedUnion("version", [
|
|
2469
2109
|
ContentBlockV1,
|
|
2470
2110
|
CABRootSection.extend({
|
|
2471
|
-
type:
|
|
2111
|
+
type: import_v426.z.literal(WidgetType.ui_extension_content_block).default(WidgetType.ui_extension_content_block)
|
|
2472
2112
|
})
|
|
2473
2113
|
]);
|
|
2474
2114
|
|
|
2475
2115
|
// src/schema/widgets/giftWithPurchase.ts
|
|
2476
|
-
var
|
|
2477
|
-
var GiftWithPurchase =
|
|
2478
|
-
type:
|
|
2116
|
+
var import_v427 = require("zod/v4");
|
|
2117
|
+
var GiftWithPurchase = import_v427.z.looseObject({
|
|
2118
|
+
type: import_v427.z.literal(WidgetType.gift_with_purchase).default(WidgetType.gift_with_purchase)
|
|
2479
2119
|
});
|
|
2480
2120
|
|
|
2481
2121
|
// src/schema/widgets/lineItemEditor.ts
|
|
2482
|
-
var
|
|
2483
|
-
var LineItemEditor =
|
|
2484
|
-
type:
|
|
2122
|
+
var import_v428 = require("zod/v4");
|
|
2123
|
+
var LineItemEditor = import_v428.z.looseObject({
|
|
2124
|
+
type: import_v428.z.literal(WidgetType.ui_extension_line_item_editor).default(WidgetType.ui_extension_line_item_editor)
|
|
2485
2125
|
});
|
|
2486
2126
|
|
|
2487
2127
|
// src/schema/widgets/progressBar.ts
|
|
2488
|
-
var
|
|
2489
|
-
var ProgressBar =
|
|
2490
|
-
type:
|
|
2128
|
+
var import_v429 = require("zod/v4");
|
|
2129
|
+
var ProgressBar = import_v429.z.looseObject({
|
|
2130
|
+
type: import_v429.z.literal(WidgetType.ui_extension_progress_bar).default(WidgetType.ui_extension_progress_bar)
|
|
2491
2131
|
});
|
|
2492
2132
|
|
|
2493
2133
|
// src/schema/widgets/rebuyButton.ts
|
|
2494
|
-
var
|
|
2495
|
-
var RebuyButtonV1 =
|
|
2496
|
-
type:
|
|
2497
|
-
version:
|
|
2134
|
+
var import_v430 = require("zod/v4");
|
|
2135
|
+
var RebuyButtonV1 = import_v430.z.looseObject({
|
|
2136
|
+
type: import_v430.z.literal(WidgetType.ui_extension_button).default(WidgetType.ui_extension_button),
|
|
2137
|
+
version: import_v430.z.literal(1)
|
|
2498
2138
|
});
|
|
2499
|
-
var RebuyButton =
|
|
2139
|
+
var RebuyButton = import_v430.z.discriminatedUnion("version", [
|
|
2500
2140
|
RebuyButtonV1,
|
|
2501
2141
|
CABRootSection.extend({
|
|
2502
|
-
type:
|
|
2142
|
+
type: import_v430.z.literal(WidgetType.ui_extension_button).default(WidgetType.ui_extension_button)
|
|
2503
2143
|
})
|
|
2504
2144
|
]);
|
|
2505
2145
|
|
|
2506
2146
|
// src/schema/widgets/rebuyMonetize.ts
|
|
2507
|
-
var
|
|
2508
|
-
var RebuyMonetize =
|
|
2509
|
-
type:
|
|
2147
|
+
var import_v431 = require("zod/v4");
|
|
2148
|
+
var RebuyMonetize = import_v431.z.looseObject({
|
|
2149
|
+
type: import_v431.z.literal(WidgetType.ui_extension_ad).default(WidgetType.ui_extension_ad)
|
|
2510
2150
|
});
|
|
2511
2151
|
|
|
2512
2152
|
// src/schema/widgetData.ts
|
|
@@ -2520,7 +2160,7 @@ var extensionWidgetTypes = [
|
|
|
2520
2160
|
WidgetType.ui_extension_line_item_editor,
|
|
2521
2161
|
WidgetType.ui_extension_progress_bar
|
|
2522
2162
|
];
|
|
2523
|
-
var WidgetData =
|
|
2163
|
+
var WidgetData = import_v432.z.discriminatedUnion("type", [
|
|
2524
2164
|
ABTestingPlaceholder,
|
|
2525
2165
|
CheckoutExtension,
|
|
2526
2166
|
ContentBlock,
|
|
@@ -2533,15 +2173,15 @@ var WidgetData = import_v433.z.discriminatedUnion("type", [
|
|
|
2533
2173
|
|
|
2534
2174
|
// src/schema/widgets/post-purchase-offer/common.ts
|
|
2535
2175
|
var import_compat4 = require("es-toolkit/compat");
|
|
2536
|
-
var
|
|
2537
|
-
var strictNumber =
|
|
2538
|
-
|
|
2539
|
-
|
|
2540
|
-
|
|
2176
|
+
var import_v433 = require("zod/v4");
|
|
2177
|
+
var strictNumber = import_v433.z.union([
|
|
2178
|
+
import_v433.z.number(),
|
|
2179
|
+
import_v433.z.string().transform((value) => (0, import_compat4.toNumber)((0, import_compat4.replace)((0, import_compat4.toString)(value), /[^0-9.]/g, "")) || 0),
|
|
2180
|
+
import_v433.z.unknown().transform(() => 0)
|
|
2541
2181
|
]);
|
|
2542
2182
|
|
|
2543
2183
|
// src/schema/widgets/post-purchase-offer/constants.ts
|
|
2544
|
-
var
|
|
2184
|
+
var import_v434 = require("zod/v4");
|
|
2545
2185
|
var blockTypes = [
|
|
2546
2186
|
"callout_banner",
|
|
2547
2187
|
"image",
|
|
@@ -2552,144 +2192,144 @@ var blockTypes = [
|
|
|
2552
2192
|
"text",
|
|
2553
2193
|
"timer"
|
|
2554
2194
|
];
|
|
2555
|
-
var blockType =
|
|
2195
|
+
var blockType = import_v434.z.enum(blockTypes);
|
|
2556
2196
|
var BlockType = blockType.enum;
|
|
2557
2197
|
|
|
2558
2198
|
// src/schema/widgets/post-purchase-offer/postPurchaseBlocks.ts
|
|
2559
2199
|
var import_compat5 = require("es-toolkit/compat");
|
|
2560
|
-
var
|
|
2561
|
-
var
|
|
2562
|
-
var TextAlignment2 =
|
|
2563
|
-
var TextSize =
|
|
2564
|
-
|
|
2565
|
-
|
|
2200
|
+
var import_uuid13 = require("uuid");
|
|
2201
|
+
var import_v435 = require("zod/v4");
|
|
2202
|
+
var TextAlignment2 = import_v435.z.union([import_v435.z.enum(["leading", "center", "trailing"]), import_v435.z.unknown().transform(() => "leading")]);
|
|
2203
|
+
var TextSize = import_v435.z.union([
|
|
2204
|
+
import_v435.z.enum(["xsmall", "small", "base", "default", "medium", "large", "xlarge"]),
|
|
2205
|
+
import_v435.z.unknown().transform(() => "medium")
|
|
2566
2206
|
]);
|
|
2567
|
-
var CalloutBannerBlock =
|
|
2568
|
-
id:
|
|
2569
|
-
name:
|
|
2570
|
-
settings:
|
|
2571
|
-
superTitle:
|
|
2572
|
-
title:
|
|
2207
|
+
var CalloutBannerBlock = import_v435.z.object({
|
|
2208
|
+
id: import_v435.z.string().optional().default(() => (0, import_uuid13.v4)()),
|
|
2209
|
+
name: import_v435.z.string().optional(),
|
|
2210
|
+
settings: import_v435.z.object({
|
|
2211
|
+
superTitle: import_v435.z.union([import_v435.z.string(), TiptapDocument]).default(() => "Limited-time Offer"),
|
|
2212
|
+
title: import_v435.z.union([import_v435.z.string(), TiptapDocument]).default(() => "Add this customer favorite to your order")
|
|
2573
2213
|
}),
|
|
2574
|
-
styles:
|
|
2575
|
-
superTitleEmphasized:
|
|
2214
|
+
styles: import_v435.z.object({
|
|
2215
|
+
superTitleEmphasized: import_v435.z.boolean().default(false),
|
|
2576
2216
|
superTitleSize: TextSize.default("large"),
|
|
2577
2217
|
textAlignment: TextAlignment2.default("center"),
|
|
2578
|
-
titleEmphasized:
|
|
2218
|
+
titleEmphasized: import_v435.z.boolean().default(true),
|
|
2579
2219
|
titleSize: TextSize.default("large")
|
|
2580
2220
|
}),
|
|
2581
|
-
type:
|
|
2221
|
+
type: import_v435.z.literal(BlockType.callout_banner).default(BlockType.callout_banner)
|
|
2582
2222
|
});
|
|
2583
|
-
var ImageBlock =
|
|
2584
|
-
id:
|
|
2585
|
-
name:
|
|
2586
|
-
settings:
|
|
2587
|
-
|
|
2223
|
+
var ImageBlock = import_v435.z.object({
|
|
2224
|
+
id: import_v435.z.string().optional().default(() => (0, import_uuid13.v4)()),
|
|
2225
|
+
name: import_v435.z.string().optional(),
|
|
2226
|
+
settings: import_v435.z.union([
|
|
2227
|
+
import_v435.z.object({
|
|
2588
2228
|
/** This isn't used in the post-purchase offer widget */
|
|
2589
|
-
alt:
|
|
2590
|
-
image:
|
|
2591
|
-
imageSize:
|
|
2592
|
-
imageType:
|
|
2229
|
+
alt: import_v435.z.string().optional().default(""),
|
|
2230
|
+
image: import_v435.z.union([import_v435.z.literal(""), import_v435.z.url()]).default(""),
|
|
2231
|
+
imageSize: import_v435.z.number().default(20),
|
|
2232
|
+
imageType: import_v435.z.enum(["URL", "UPLOAD"]).default("URL")
|
|
2593
2233
|
}),
|
|
2594
|
-
|
|
2234
|
+
import_v435.z.array(import_v435.z.never()).transform(() => ({}))
|
|
2595
2235
|
]),
|
|
2596
|
-
type:
|
|
2597
|
-
});
|
|
2598
|
-
var ImageContentBlock =
|
|
2599
|
-
id:
|
|
2600
|
-
name:
|
|
2601
|
-
settings:
|
|
2602
|
-
alt:
|
|
2603
|
-
description:
|
|
2236
|
+
type: import_v435.z.literal(BlockType.image).default(BlockType.image)
|
|
2237
|
+
});
|
|
2238
|
+
var ImageContentBlock = import_v435.z.object({
|
|
2239
|
+
id: import_v435.z.string().optional().default(() => (0, import_uuid13.v4)()),
|
|
2240
|
+
name: import_v435.z.string().optional(),
|
|
2241
|
+
settings: import_v435.z.object({
|
|
2242
|
+
alt: import_v435.z.string().optional().default(""),
|
|
2243
|
+
description: import_v435.z.union([import_v435.z.string(), TiptapDocument, import_v435.z.null()]).default(
|
|
2604
2244
|
"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."
|
|
2605
2245
|
),
|
|
2606
2246
|
descriptionSize: TextSize.default("medium"),
|
|
2607
2247
|
horizontalAlignment: TextAlignment2.default("leading"),
|
|
2608
|
-
image:
|
|
2609
|
-
imagePlacement:
|
|
2610
|
-
imageSize:
|
|
2611
|
-
superTitle:
|
|
2248
|
+
image: import_v435.z.union([import_v435.z.literal(""), import_v435.z.url()]).default(""),
|
|
2249
|
+
imagePlacement: import_v435.z.enum(["bottom", "left", "right", "top"]).optional().default("left"),
|
|
2250
|
+
imageSize: import_v435.z.number().default(20),
|
|
2251
|
+
superTitle: import_v435.z.union([import_v435.z.string(), TiptapDocument]).default("Lorem Ipsum!"),
|
|
2612
2252
|
superTitleSize: TextSize.default("medium"),
|
|
2613
2253
|
/** This isn't configurable in the admin-nextjs editor */
|
|
2614
|
-
swapContent:
|
|
2615
|
-
title:
|
|
2254
|
+
swapContent: import_v435.z.boolean().optional().default(false),
|
|
2255
|
+
title: import_v435.z.union([import_v435.z.string(), TiptapDocument]).nullable().default("Lorem ipsum dolor sit amet"),
|
|
2616
2256
|
titleSize: TextSize.default("medium")
|
|
2617
2257
|
}),
|
|
2618
|
-
type:
|
|
2619
|
-
});
|
|
2620
|
-
var PayButtonBlock =
|
|
2621
|
-
id:
|
|
2622
|
-
name:
|
|
2623
|
-
settings:
|
|
2624
|
-
|
|
2625
|
-
label:
|
|
2258
|
+
type: import_v435.z.literal(BlockType.image_content).default(BlockType.image_content)
|
|
2259
|
+
});
|
|
2260
|
+
var PayButtonBlock = import_v435.z.object({
|
|
2261
|
+
id: import_v435.z.string().optional().default(() => (0, import_uuid13.v4)()),
|
|
2262
|
+
name: import_v435.z.string().optional(),
|
|
2263
|
+
settings: import_v435.z.union([
|
|
2264
|
+
import_v435.z.object({
|
|
2265
|
+
label: import_v435.z.string().default("Pay Now")
|
|
2626
2266
|
}),
|
|
2627
|
-
|
|
2267
|
+
import_v435.z.array(import_v435.z.never()).transform(() => ({
|
|
2628
2268
|
label: "Pay Now"
|
|
2629
2269
|
}))
|
|
2630
2270
|
]),
|
|
2631
|
-
styles:
|
|
2632
|
-
|
|
2633
|
-
buttonWidth:
|
|
2271
|
+
styles: import_v435.z.union([
|
|
2272
|
+
import_v435.z.object({
|
|
2273
|
+
buttonWidth: import_v435.z.number().min(10).max(100).default(50)
|
|
2634
2274
|
}),
|
|
2635
|
-
|
|
2275
|
+
import_v435.z.array(import_v435.z.never()).transform(() => ({
|
|
2636
2276
|
buttonWidth: 50
|
|
2637
2277
|
}))
|
|
2638
2278
|
]),
|
|
2639
|
-
type:
|
|
2279
|
+
type: import_v435.z.literal(BlockType.pay_button).default(BlockType.pay_button)
|
|
2640
2280
|
});
|
|
2641
|
-
var ProductInformationBlock =
|
|
2281
|
+
var ProductInformationBlock = import_v435.z.object({
|
|
2642
2282
|
/** This isn't configurable in the admin-nextjs editor */
|
|
2643
|
-
hideProductImage:
|
|
2644
|
-
id:
|
|
2645
|
-
name:
|
|
2646
|
-
type:
|
|
2647
|
-
});
|
|
2648
|
-
var SeparatorBlock =
|
|
2649
|
-
id:
|
|
2650
|
-
name:
|
|
2651
|
-
type:
|
|
2652
|
-
});
|
|
2653
|
-
var TextBlock =
|
|
2654
|
-
id:
|
|
2655
|
-
name:
|
|
2656
|
-
settings:
|
|
2657
|
-
description:
|
|
2283
|
+
hideProductImage: import_v435.z.boolean().optional().default(false),
|
|
2284
|
+
id: import_v435.z.string().optional().default(() => (0, import_uuid13.v4)()),
|
|
2285
|
+
name: import_v435.z.string().optional(),
|
|
2286
|
+
type: import_v435.z.literal(BlockType.product_information).default(BlockType.product_information)
|
|
2287
|
+
});
|
|
2288
|
+
var SeparatorBlock = import_v435.z.object({
|
|
2289
|
+
id: import_v435.z.string().optional().default(() => (0, import_uuid13.v4)()),
|
|
2290
|
+
name: import_v435.z.string().optional(),
|
|
2291
|
+
type: import_v435.z.literal(BlockType.separator).default(BlockType.separator)
|
|
2292
|
+
});
|
|
2293
|
+
var TextBlock = import_v435.z.object({
|
|
2294
|
+
id: import_v435.z.string().optional().default(() => (0, import_uuid13.v4)()),
|
|
2295
|
+
name: import_v435.z.string().optional(),
|
|
2296
|
+
settings: import_v435.z.object({
|
|
2297
|
+
description: import_v435.z.union([import_v435.z.string(), TiptapDocument]).optional().default(
|
|
2658
2298
|
"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."
|
|
2659
2299
|
),
|
|
2660
2300
|
/** This isn't used in the post-purchase offer widget */
|
|
2661
2301
|
descriptionSize: TextSize.default("medium"),
|
|
2662
2302
|
horizontalAlignment: TextAlignment2.default("leading"),
|
|
2663
|
-
superTitle:
|
|
2303
|
+
superTitle: import_v435.z.union([import_v435.z.string(), TiptapDocument]).default("Super Title"),
|
|
2664
2304
|
/** This isn't used in the post-purchase offer widget */
|
|
2665
2305
|
superTitleSize: TextSize.default("medium"),
|
|
2666
|
-
title:
|
|
2306
|
+
title: import_v435.z.union([import_v435.z.string(), TiptapDocument]).nullable().default("Lorem ipsum dolor sit amet."),
|
|
2667
2307
|
/** This isn't used in the post-purchase offer widget */
|
|
2668
2308
|
titleSize: TextSize.default("medium")
|
|
2669
2309
|
}),
|
|
2670
|
-
type:
|
|
2671
|
-
});
|
|
2672
|
-
var TimerBlock =
|
|
2673
|
-
id:
|
|
2674
|
-
name:
|
|
2675
|
-
settings:
|
|
2676
|
-
durationMinutes:
|
|
2677
|
-
durationSeconds:
|
|
2678
|
-
endOffer:
|
|
2679
|
-
title:
|
|
2310
|
+
type: import_v435.z.literal(BlockType.text).default(BlockType.text)
|
|
2311
|
+
});
|
|
2312
|
+
var TimerBlock = import_v435.z.object({
|
|
2313
|
+
id: import_v435.z.string().optional().default(() => (0, import_uuid13.v4)()),
|
|
2314
|
+
name: import_v435.z.string().optional(),
|
|
2315
|
+
settings: import_v435.z.object({
|
|
2316
|
+
durationMinutes: import_v435.z.number().min(0).default(10),
|
|
2317
|
+
durationSeconds: import_v435.z.union([import_v435.z.number().min(0), import_v435.z.unknown().transform(() => 0)]).default(0),
|
|
2318
|
+
endOffer: import_v435.z.boolean().default(true),
|
|
2319
|
+
title: import_v435.z.union([import_v435.z.string(), TiptapDocument]).default("Hurry \u2014 your special offer ends in:")
|
|
2680
2320
|
}),
|
|
2681
|
-
styles:
|
|
2321
|
+
styles: import_v435.z.object({
|
|
2682
2322
|
textAlignment: TextAlignment2.default("center"),
|
|
2683
|
-
timerBackgroundColor:
|
|
2684
|
-
timerEmphasized:
|
|
2323
|
+
timerBackgroundColor: import_v435.z.enum(["info", "warning", "success", "critical"]).default("warning"),
|
|
2324
|
+
timerEmphasized: import_v435.z.union([import_v435.z.boolean(), import_v435.z.unknown().transform(() => true)]).default(true),
|
|
2685
2325
|
timerSize: TextSize.default("medium"),
|
|
2686
|
-
timerWidth:
|
|
2687
|
-
titleEmphasized:
|
|
2326
|
+
timerWidth: import_v435.z.number().min(10).max(100).optional().default(100),
|
|
2327
|
+
titleEmphasized: import_v435.z.union([import_v435.z.boolean(), import_v435.z.unknown().transform(() => true)]).default(false),
|
|
2688
2328
|
titleSize: TextSize.default("medium")
|
|
2689
2329
|
}),
|
|
2690
|
-
type:
|
|
2330
|
+
type: import_v435.z.literal(BlockType.timer).default(BlockType.timer)
|
|
2691
2331
|
});
|
|
2692
|
-
var PostPurchaseBlock =
|
|
2332
|
+
var PostPurchaseBlock = import_v435.z.discriminatedUnion("type", [
|
|
2693
2333
|
CalloutBannerBlock,
|
|
2694
2334
|
ImageBlock,
|
|
2695
2335
|
ImageContentBlock,
|
|
@@ -2709,68 +2349,68 @@ var isTextBlock = (block) => (0, import_compat5.isEqual)((0, import_compat5.get)
|
|
|
2709
2349
|
var isTimerBlock = (block) => (0, import_compat5.isEqual)((0, import_compat5.get)(block, "type"), BlockType.timer);
|
|
2710
2350
|
|
|
2711
2351
|
// src/schema/widgets/post-purchase-offer/postPurchaseOffer.ts
|
|
2712
|
-
var
|
|
2352
|
+
var import_v438 = require("zod/v4");
|
|
2713
2353
|
|
|
2714
2354
|
// src/schema/widgets/post-purchase-offer/postPurchaseWidget.ts
|
|
2715
|
-
var
|
|
2355
|
+
var import_v437 = require("zod/v4");
|
|
2716
2356
|
|
|
2717
2357
|
// src/schema/widgets/post-purchase-offer/postPurchaseSettings.ts
|
|
2718
|
-
var
|
|
2719
|
-
var PostPurchaseSettings =
|
|
2720
|
-
advance:
|
|
2721
|
-
blocks:
|
|
2358
|
+
var import_v436 = require("zod/v4");
|
|
2359
|
+
var PostPurchaseSettings = import_v436.z.object({
|
|
2360
|
+
advance: import_v436.z.object({ removePartialOrder: import_v436.z.boolean().default(true) }).optional().default(() => ({ removePartialOrder: true })),
|
|
2361
|
+
blocks: import_v436.z.union([import_v436.z.array(PostPurchaseBlock), import_v436.z.unknown().transform(() => [])]).default(() => [
|
|
2722
2362
|
PostPurchaseBlock.parse({ settings: {}, styles: {}, type: BlockType.timer }),
|
|
2723
2363
|
PostPurchaseBlock.parse({ settings: {}, styles: {}, type: BlockType.callout_banner }),
|
|
2724
2364
|
PostPurchaseBlock.parse({ type: BlockType.product_information })
|
|
2725
2365
|
]),
|
|
2726
|
-
columnLayout:
|
|
2727
|
-
discount:
|
|
2366
|
+
columnLayout: import_v436.z.boolean().optional(),
|
|
2367
|
+
discount: import_v436.z.object({
|
|
2728
2368
|
amount: strictNumber.default(30),
|
|
2729
|
-
shouldShowSavingText:
|
|
2730
|
-
type:
|
|
2369
|
+
shouldShowSavingText: import_v436.z.boolean().optional().default(true),
|
|
2370
|
+
type: import_v436.z.enum(["none", "fixed_amount", "percentage"]).default("none")
|
|
2731
2371
|
}),
|
|
2732
|
-
discountedFrom:
|
|
2733
|
-
endpoint:
|
|
2734
|
-
integrations:
|
|
2735
|
-
judgeme:
|
|
2736
|
-
junip:
|
|
2737
|
-
klaviyo:
|
|
2738
|
-
loox:
|
|
2739
|
-
okendo:
|
|
2740
|
-
opinew:
|
|
2741
|
-
reviewsio:
|
|
2742
|
-
stamped:
|
|
2743
|
-
yotpo:
|
|
2372
|
+
discountedFrom: import_v436.z.enum(["price", "compare_at_price"]).optional().default("price"),
|
|
2373
|
+
endpoint: import_v436.z.string().optional(),
|
|
2374
|
+
integrations: import_v436.z.object({
|
|
2375
|
+
judgeme: import_v436.z.boolean().default(false),
|
|
2376
|
+
junip: import_v436.z.boolean().optional().default(false),
|
|
2377
|
+
klaviyo: import_v436.z.boolean().default(false),
|
|
2378
|
+
loox: import_v436.z.boolean().default(false),
|
|
2379
|
+
okendo: import_v436.z.boolean().default(false),
|
|
2380
|
+
opinew: import_v436.z.boolean().optional().default(false),
|
|
2381
|
+
reviewsio: import_v436.z.boolean().optional().default(false),
|
|
2382
|
+
stamped: import_v436.z.boolean().default(false),
|
|
2383
|
+
yotpo: import_v436.z.boolean().default(false)
|
|
2744
2384
|
}),
|
|
2745
|
-
key:
|
|
2746
|
-
language:
|
|
2747
|
-
description:
|
|
2748
|
-
descriptionEnabled:
|
|
2749
|
-
descriptionRte:
|
|
2750
|
-
content:
|
|
2751
|
-
type:
|
|
2385
|
+
key: import_v436.z.string().optional(),
|
|
2386
|
+
language: import_v436.z.object({
|
|
2387
|
+
description: import_v436.z.union([import_v436.z.string(), import_v436.z.unknown().transform(() => "")]).default(""),
|
|
2388
|
+
descriptionEnabled: import_v436.z.boolean().optional().default(false),
|
|
2389
|
+
descriptionRte: import_v436.z.object({
|
|
2390
|
+
content: import_v436.z.array(import_v436.z.unknown()),
|
|
2391
|
+
type: import_v436.z.string()
|
|
2752
2392
|
}).optional(),
|
|
2753
|
-
descriptionSpacing:
|
|
2754
|
-
displayCtaPrice:
|
|
2755
|
-
global:
|
|
2756
|
-
declineAll:
|
|
2757
|
-
declineThisOffer:
|
|
2758
|
-
free:
|
|
2759
|
-
notAvailable:
|
|
2760
|
-
payNow:
|
|
2761
|
-
payNowUpgradeToSubscription:
|
|
2762
|
-
quantity:
|
|
2393
|
+
descriptionSpacing: import_v436.z.enum(["none", "xtight", "tight", "default", "loose", "xloose"]).optional(),
|
|
2394
|
+
displayCtaPrice: import_v436.z.boolean().default(true),
|
|
2395
|
+
global: import_v436.z.object({
|
|
2396
|
+
declineAll: import_v436.z.string().optional().default("Decline All"),
|
|
2397
|
+
declineThisOffer: import_v436.z.string().default("Decline this offer"),
|
|
2398
|
+
free: import_v436.z.string().optional().default("Free"),
|
|
2399
|
+
notAvailable: import_v436.z.string().optional().default("Not available"),
|
|
2400
|
+
payNow: import_v436.z.string().default("Pay Now"),
|
|
2401
|
+
payNowUpgradeToSubscription: import_v436.z.string().optional().default("Upgrade to Subscription"),
|
|
2402
|
+
quantity: import_v436.z.string().default("Quantity"),
|
|
2763
2403
|
/** This isn't configurable in the admin-nextjs editor */
|
|
2764
|
-
recurringShipping:
|
|
2765
|
-
recurringSubtotal:
|
|
2766
|
-
reviewsPlural:
|
|
2767
|
-
reviewsSingular:
|
|
2768
|
-
save:
|
|
2769
|
-
shipping:
|
|
2770
|
-
subscriptionOption:
|
|
2771
|
-
subtotal:
|
|
2772
|
-
taxes:
|
|
2773
|
-
total:
|
|
2404
|
+
recurringShipping: import_v436.z.string().optional().default("Recurring shipping"),
|
|
2405
|
+
recurringSubtotal: import_v436.z.string().default("Recurring subtotal"),
|
|
2406
|
+
reviewsPlural: import_v436.z.string().optional().default("Reviews"),
|
|
2407
|
+
reviewsSingular: import_v436.z.string().optional().default("Review"),
|
|
2408
|
+
save: import_v436.z.union([import_v436.z.string(), import_v436.z.unknown().transform(() => "Save")]).optional().default("Save"),
|
|
2409
|
+
shipping: import_v436.z.string().default("Shipping"),
|
|
2410
|
+
subscriptionOption: import_v436.z.string().optional().default("Subscribe and Save"),
|
|
2411
|
+
subtotal: import_v436.z.string().default("Subtotal"),
|
|
2412
|
+
taxes: import_v436.z.string().default("Taxes"),
|
|
2413
|
+
total: import_v436.z.string().default("Total")
|
|
2774
2414
|
}).optional().default(() => ({
|
|
2775
2415
|
declineAll: "Decline All",
|
|
2776
2416
|
declineThisOffer: "Decline this offer",
|
|
@@ -2791,70 +2431,70 @@ var PostPurchaseSettings = import_v437.z.object({
|
|
|
2791
2431
|
taxes: "Taxes",
|
|
2792
2432
|
total: "Total"
|
|
2793
2433
|
})),
|
|
2794
|
-
globalTranslation:
|
|
2434
|
+
globalTranslation: import_v436.z.string().optional().default("english")
|
|
2795
2435
|
}),
|
|
2796
|
-
metafields:
|
|
2436
|
+
metafields: import_v436.z.boolean().default(false),
|
|
2797
2437
|
/** This isn't configurable in the admin-nextjs editor */
|
|
2798
|
-
offer:
|
|
2799
|
-
count:
|
|
2438
|
+
offer: import_v436.z.object({
|
|
2439
|
+
count: import_v436.z.number().default(1)
|
|
2800
2440
|
}),
|
|
2801
|
-
offersLayout:
|
|
2802
|
-
itemsPerPage:
|
|
2803
|
-
type:
|
|
2441
|
+
offersLayout: import_v436.z.object({
|
|
2442
|
+
itemsPerPage: import_v436.z.number().optional(),
|
|
2443
|
+
type: import_v436.z.enum(["list", "grid", "carousel"]).default("list")
|
|
2804
2444
|
}).optional().default({
|
|
2805
2445
|
type: "list"
|
|
2806
2446
|
}),
|
|
2807
2447
|
/** This isn't configurable in the admin-nextjs editor */
|
|
2808
|
-
previewMode:
|
|
2809
|
-
productLimit:
|
|
2810
|
-
productOptions:
|
|
2448
|
+
previewMode: import_v436.z.boolean().default(false),
|
|
2449
|
+
productLimit: import_v436.z.number().optional().default(1),
|
|
2450
|
+
productOptions: import_v436.z.object({
|
|
2811
2451
|
/** This isn't configurable in the admin-nextjs editor */
|
|
2812
|
-
hideOutOfStockVariants:
|
|
2813
|
-
matchVariant:
|
|
2814
|
-
showDeclineAll:
|
|
2815
|
-
showShipping:
|
|
2816
|
-
showSubtotal:
|
|
2817
|
-
showTaxes:
|
|
2818
|
-
showTotal:
|
|
2819
|
-
showVariantSelectors:
|
|
2820
|
-
variantSelectorDisplayMode:
|
|
2452
|
+
hideOutOfStockVariants: import_v436.z.boolean().optional().default(false),
|
|
2453
|
+
matchVariant: import_v436.z.boolean().optional().default(true),
|
|
2454
|
+
showDeclineAll: import_v436.z.enum(["above", "below", "both", "none"]).optional(),
|
|
2455
|
+
showShipping: import_v436.z.boolean().optional().default(true),
|
|
2456
|
+
showSubtotal: import_v436.z.boolean().optional().default(true),
|
|
2457
|
+
showTaxes: import_v436.z.boolean().optional().default(true),
|
|
2458
|
+
showTotal: import_v436.z.boolean().optional().default(true),
|
|
2459
|
+
showVariantSelectors: import_v436.z.boolean().optional().default(true),
|
|
2460
|
+
variantSelectorDisplayMode: import_v436.z.enum(["separate", "single"]).optional().default("separate")
|
|
2821
2461
|
}),
|
|
2822
|
-
productType:
|
|
2823
|
-
productTypeSelector:
|
|
2824
|
-
quantityInputs:
|
|
2825
|
-
defaultQuantity:
|
|
2826
|
-
enabled:
|
|
2827
|
-
maxValue:
|
|
2828
|
-
minValue:
|
|
2462
|
+
productType: import_v436.z.union([import_v436.z.enum(["one-time", "subscription", "both"]), import_v436.z.literal("").transform(() => "one-time")]).default("one-time"),
|
|
2463
|
+
productTypeSelector: import_v436.z.enum(["dropdown", "radio"]).optional().default("radio"),
|
|
2464
|
+
quantityInputs: import_v436.z.object({
|
|
2465
|
+
defaultQuantity: import_v436.z.union([import_v436.z.number(), import_v436.z.null().transform(() => 1)]).default(1),
|
|
2466
|
+
enabled: import_v436.z.boolean().default(true),
|
|
2467
|
+
maxValue: import_v436.z.union([import_v436.z.number(), import_v436.z.null().transform(() => 15)]).default(15),
|
|
2468
|
+
minValue: import_v436.z.union([import_v436.z.number().min(0), import_v436.z.unknown().transform(() => 0)]).default(1)
|
|
2829
2469
|
}),
|
|
2830
|
-
shipping:
|
|
2470
|
+
shipping: import_v436.z.object({
|
|
2831
2471
|
amount: strictNumber.default(10),
|
|
2832
2472
|
/** This isn't configurable in the admin-nextjs editor */
|
|
2833
|
-
enabled:
|
|
2834
|
-
title:
|
|
2835
|
-
type:
|
|
2473
|
+
enabled: import_v436.z.boolean().default(true),
|
|
2474
|
+
title: import_v436.z.string().optional().default("Shipping Fees"),
|
|
2475
|
+
type: import_v436.z.enum(["free", "fixed_amount"]).default("free")
|
|
2836
2476
|
}),
|
|
2837
|
-
styles:
|
|
2838
|
-
starColor:
|
|
2839
|
-
starSize:
|
|
2840
|
-
starStrokeColor:
|
|
2841
|
-
strokeWidth:
|
|
2477
|
+
styles: import_v436.z.object({
|
|
2478
|
+
starColor: import_v436.z.string().optional().default("#fadb14"),
|
|
2479
|
+
starSize: import_v436.z.union([import_v436.z.enum(["small", "medium", "large"]), import_v436.z.unknown().transform(() => "large")]).optional().default("large"),
|
|
2480
|
+
starStrokeColor: import_v436.z.string().optional().default("#fadb14"),
|
|
2481
|
+
strokeWidth: import_v436.z.string().optional().default("1")
|
|
2842
2482
|
}).optional(),
|
|
2843
|
-
subImages:
|
|
2844
|
-
subscription:
|
|
2845
|
-
discount:
|
|
2483
|
+
subImages: import_v436.z.number().nullish().default(8),
|
|
2484
|
+
subscription: import_v436.z.object({
|
|
2485
|
+
discount: import_v436.z.object({
|
|
2846
2486
|
amount: strictNumber.default(30),
|
|
2847
|
-
shouldShowSavingText:
|
|
2848
|
-
type:
|
|
2487
|
+
shouldShowSavingText: import_v436.z.boolean().optional().default(true),
|
|
2488
|
+
type: import_v436.z.enum(["none", "fixed_amount", "percentage"]).default("none")
|
|
2849
2489
|
}),
|
|
2850
|
-
shipping:
|
|
2490
|
+
shipping: import_v436.z.object({
|
|
2851
2491
|
amount: strictNumber.default(1),
|
|
2852
2492
|
/** This isn't configurable in the admin-nextjs editor */
|
|
2853
|
-
enabled:
|
|
2493
|
+
enabled: import_v436.z.boolean().default(true),
|
|
2854
2494
|
/** This isn't configurable in the admin-nextjs editor */
|
|
2855
2495
|
recurringAmount: strictNumber.default(2),
|
|
2856
|
-
shippingTitle:
|
|
2857
|
-
type:
|
|
2496
|
+
shippingTitle: import_v436.z.string().default("Shipping Fees"),
|
|
2497
|
+
type: import_v436.z.enum(["free", "fixed_amount"]).default("free")
|
|
2858
2498
|
})
|
|
2859
2499
|
}).optional().default({
|
|
2860
2500
|
discount: {
|
|
@@ -2872,15 +2512,15 @@ var PostPurchaseSettings = import_v437.z.object({
|
|
|
2872
2512
|
type: "free"
|
|
2873
2513
|
}
|
|
2874
2514
|
}),
|
|
2875
|
-
subscriptionIsDefault:
|
|
2515
|
+
subscriptionIsDefault: import_v436.z.boolean().optional(),
|
|
2876
2516
|
/** This isn't configurable in the admin-nextjs editor */
|
|
2877
|
-
template:
|
|
2878
|
-
type:
|
|
2879
|
-
upgradeToSubscription:
|
|
2880
|
-
acceptButtonText:
|
|
2881
|
-
allow:
|
|
2882
|
-
emailRefundNotice:
|
|
2883
|
-
errorBannerText:
|
|
2517
|
+
template: import_v436.z.string().optional().default(""),
|
|
2518
|
+
type: import_v436.z.literal("shopify_post_purchase_extension").default("shopify_post_purchase_extension"),
|
|
2519
|
+
upgradeToSubscription: import_v436.z.object({
|
|
2520
|
+
acceptButtonText: import_v436.z.string().optional().default("Upgrade"),
|
|
2521
|
+
allow: import_v436.z.boolean().optional().default(false),
|
|
2522
|
+
emailRefundNotice: import_v436.z.boolean().optional().default(false),
|
|
2523
|
+
errorBannerText: import_v436.z.string().optional().default("This subscription cannot be added - limit one per order")
|
|
2884
2524
|
}).optional().default(() => ({
|
|
2885
2525
|
acceptButtonText: "Upgrade",
|
|
2886
2526
|
allow: false,
|
|
@@ -2890,32 +2530,32 @@ var PostPurchaseSettings = import_v437.z.object({
|
|
|
2890
2530
|
});
|
|
2891
2531
|
|
|
2892
2532
|
// src/schema/widgets/post-purchase-offer/postPurchaseWidget.ts
|
|
2893
|
-
var PostPurchaseWidgetLinkedFlow =
|
|
2894
|
-
id:
|
|
2895
|
-
name:
|
|
2896
|
-
});
|
|
2897
|
-
var PostPurchaseWidget =
|
|
2898
|
-
classification:
|
|
2899
|
-
createdAtTime:
|
|
2900
|
-
customEndpointName:
|
|
2901
|
-
id:
|
|
2902
|
-
lastViewed:
|
|
2903
|
-
linkedCustomEndpointId:
|
|
2904
|
-
linkedFlows:
|
|
2905
|
-
name:
|
|
2906
|
-
owner:
|
|
2533
|
+
var PostPurchaseWidgetLinkedFlow = import_v437.z.object({
|
|
2534
|
+
id: import_v437.z.number(),
|
|
2535
|
+
name: import_v437.z.string()
|
|
2536
|
+
});
|
|
2537
|
+
var PostPurchaseWidget = import_v437.z.object({
|
|
2538
|
+
classification: import_v437.z.literal("post_purchase_offer_page").default("post_purchase_offer_page"),
|
|
2539
|
+
createdAtTime: import_v437.z.iso.datetime({ offset: true }).optional(),
|
|
2540
|
+
customEndpointName: import_v437.z.string().nullish(),
|
|
2541
|
+
id: import_v437.z.number().default(0),
|
|
2542
|
+
lastViewed: import_v437.z.iso.datetime({ offset: true }).nullish(),
|
|
2543
|
+
linkedCustomEndpointId: import_v437.z.number().nullish(),
|
|
2544
|
+
linkedFlows: import_v437.z.array(PostPurchaseWidgetLinkedFlow).optional(),
|
|
2545
|
+
name: import_v437.z.string().default(""),
|
|
2546
|
+
owner: import_v437.z.number().nullish(),
|
|
2907
2547
|
settings: PostPurchaseSettings
|
|
2908
2548
|
});
|
|
2909
2549
|
|
|
2910
2550
|
// src/schema/widgets/post-purchase-offer/postPurchaseOffer.ts
|
|
2911
|
-
var PostPurchaseOffer =
|
|
2912
|
-
|
|
2913
|
-
errors:
|
|
2914
|
-
message:
|
|
2915
|
-
successful:
|
|
2551
|
+
var PostPurchaseOffer = import_v438.z.discriminatedUnion("successful", [
|
|
2552
|
+
import_v438.z.strictObject({
|
|
2553
|
+
errors: import_v438.z.array(import_v438.z.object({ message: import_v438.z.string() })),
|
|
2554
|
+
message: import_v438.z.string(),
|
|
2555
|
+
successful: import_v438.z.literal(false)
|
|
2916
2556
|
}),
|
|
2917
|
-
|
|
2918
|
-
successful:
|
|
2557
|
+
import_v438.z.strictObject({
|
|
2558
|
+
successful: import_v438.z.literal(true),
|
|
2919
2559
|
widget: PostPurchaseWidget
|
|
2920
2560
|
})
|
|
2921
2561
|
]);
|