@rebuy/rebuy 2.7.1 → 2.7.2-rc.1

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 CHANGED
@@ -67,6 +67,9 @@ __export(index_exports, {
67
67
  Metadata: () => Metadata,
68
68
  NO_HTML: () => NO_HTML,
69
69
  ObjectFit: () => ObjectFit,
70
+ PostPurchaseBlock: () => PostPurchaseBlock,
71
+ PostPurchaseOffer: () => PostPurchaseOffer,
72
+ PostPurchaseSettings: () => PostPurchaseSettings,
70
73
  Product: () => Product,
71
74
  ProductType: () => ProductType,
72
75
  ProgressBar: () => ProgressBar,
@@ -1931,4 +1934,271 @@ var WidgetData = import_v430.z.discriminatedUnion("type", [
1931
1934
  RebuyButton,
1932
1935
  RebuyMonetize
1933
1936
  ]);
1937
+
1938
+ // src/schema/widgets/post-purchase-offer/postPurchaseBlocks.ts
1939
+ var import_uuid13 = require("uuid");
1940
+ var import_v431 = require("zod/v4");
1941
+ var TextAlignment2 = import_v431.z.union([import_v431.z.enum(["leading", "center", "trailing"]), import_v431.z.unknown().transform(() => "leading")]);
1942
+ var TextSize = import_v431.z.union([
1943
+ import_v431.z.enum(["xsmall", "small", "base", "default", "medium", "large", "xlarge"]),
1944
+ import_v431.z.unknown().transform(() => "medium")
1945
+ ]);
1946
+ var CalloutBannerBlock = import_v431.z.object({
1947
+ id: import_v431.z.string().optional().default(() => (0, import_uuid13.v4)()),
1948
+ settings: import_v431.z.object({
1949
+ superTitle: import_v431.z.union([import_v431.z.string(), TiptapDocument]).default(() => "Limited-time Offer"),
1950
+ title: import_v431.z.union([import_v431.z.string(), TiptapDocument]).default(() => "Add this customer favorite to your order")
1951
+ }),
1952
+ styles: import_v431.z.object({
1953
+ superTitleEmphasized: import_v431.z.boolean().default(false),
1954
+ superTitleSize: TextSize.default("large"),
1955
+ textAlignment: TextAlignment2.default("center"),
1956
+ titleEmphasized: import_v431.z.boolean().default(true),
1957
+ titleSize: TextSize.default("large")
1958
+ }),
1959
+ type: import_v431.z.literal("callout_banner").default("callout_banner")
1960
+ });
1961
+ var ImageBlock = import_v431.z.object({
1962
+ id: import_v431.z.string().optional().default(() => (0, import_uuid13.v4)()),
1963
+ settings: import_v431.z.union([
1964
+ import_v431.z.object({
1965
+ /** This isn't used in the post-purchase offer widget */
1966
+ alt: import_v431.z.string().optional().default(""),
1967
+ image: import_v431.z.union([import_v431.z.literal(""), import_v431.z.url()]).default(""),
1968
+ imageSize: import_v431.z.number().default(20),
1969
+ imageType: import_v431.z.enum(["URL", "UPLOAD"]).default("URL")
1970
+ }),
1971
+ import_v431.z.array(import_v431.z.never()).transform(() => ({}))
1972
+ ]),
1973
+ type: import_v431.z.literal("image").default("image")
1974
+ });
1975
+ var ImageContentBlock = import_v431.z.object({
1976
+ id: import_v431.z.string().optional().default(() => (0, import_uuid13.v4)()),
1977
+ settings: import_v431.z.object({
1978
+ /** This isn't used in the post-purchase offer widget */
1979
+ alt: import_v431.z.string().optional().default(""),
1980
+ description: import_v431.z.union([import_v431.z.string(), TiptapDocument, import_v431.z.null()]).default(
1981
+ "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."
1982
+ ),
1983
+ descriptionSize: TextSize.default("medium"),
1984
+ horizontalAlignment: TextAlignment2.default("leading"),
1985
+ image: import_v431.z.union([import_v431.z.literal(""), import_v431.z.url()]).default(""),
1986
+ imagePlacement: import_v431.z.enum(["bottom", "left", "right", "top"]).optional().default("left"),
1987
+ imageSize: import_v431.z.number().default(20),
1988
+ superTitle: import_v431.z.union([import_v431.z.string(), TiptapDocument]).default("Lorem Ipsum!"),
1989
+ superTitleSize: TextSize.default("medium"),
1990
+ swapContent: import_v431.z.boolean().optional().default(false),
1991
+ title: import_v431.z.union([import_v431.z.string(), TiptapDocument]).nullable().default("Lorem ipsum dolor sit amet"),
1992
+ titleSize: TextSize.default("medium")
1993
+ }),
1994
+ type: import_v431.z.literal("image_content").default("image_content")
1995
+ });
1996
+ var PayButtonBlock = import_v431.z.object({
1997
+ id: import_v431.z.string().optional().default(() => (0, import_uuid13.v4)()),
1998
+ settings: import_v431.z.union([
1999
+ import_v431.z.object({
2000
+ label: import_v431.z.string().default("Pay Now")
2001
+ }),
2002
+ import_v431.z.array(import_v431.z.never()).transform(() => ({
2003
+ label: "Pay Now"
2004
+ }))
2005
+ ]),
2006
+ styles: import_v431.z.union([
2007
+ import_v431.z.object({
2008
+ buttonWidth: import_v431.z.number().min(10).max(100).default(50)
2009
+ }),
2010
+ import_v431.z.array(import_v431.z.never()).transform(() => ({
2011
+ buttonWidth: 50
2012
+ }))
2013
+ ]),
2014
+ type: import_v431.z.literal("pay_button").default("pay_button")
2015
+ });
2016
+ var ProductInformationBlock = import_v431.z.object({
2017
+ /** This isn't available in the admin-nextjs editor */
2018
+ hideProductImage: import_v431.z.boolean().optional().default(false),
2019
+ id: import_v431.z.string().optional().default(() => (0, import_uuid13.v4)()),
2020
+ type: import_v431.z.literal("product_information").default("product_information")
2021
+ });
2022
+ var SeparatorBlock = import_v431.z.object({
2023
+ id: import_v431.z.string().optional().default(() => (0, import_uuid13.v4)()),
2024
+ type: import_v431.z.literal("separator").default("separator")
2025
+ });
2026
+ var TextBlock = import_v431.z.object({
2027
+ id: import_v431.z.string().optional().default(() => (0, import_uuid13.v4)()),
2028
+ settings: import_v431.z.object({
2029
+ description: import_v431.z.union([import_v431.z.string(), TiptapDocument]).optional().default(
2030
+ "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."
2031
+ ),
2032
+ /** This isn't used in the post-purchase offer widget */
2033
+ descriptionSize: TextSize.default("medium"),
2034
+ horizontalAlignment: TextAlignment2.default("leading"),
2035
+ superTitle: import_v431.z.union([import_v431.z.string(), TiptapDocument]).default("Super Title"),
2036
+ /** This isn't used in the post-purchase offer widget */
2037
+ superTitleSize: TextSize.default("medium"),
2038
+ title: import_v431.z.union([import_v431.z.string(), TiptapDocument]).nullable().default("Lorem ipsum dolor sit amet."),
2039
+ /** This isn't used in the post-purchase offer widget */
2040
+ titleSize: TextSize.default("medium")
2041
+ }),
2042
+ type: import_v431.z.literal("text").default("text")
2043
+ });
2044
+ var TimerBlock = import_v431.z.object({
2045
+ id: import_v431.z.string().optional().default(() => (0, import_uuid13.v4)()),
2046
+ settings: import_v431.z.object({
2047
+ durationMinutes: import_v431.z.number().min(0).default(10),
2048
+ durationSeconds: import_v431.z.union([import_v431.z.number().min(0), import_v431.z.unknown().transform(() => 0)]).default(0),
2049
+ endOffer: import_v431.z.boolean().default(true),
2050
+ title: import_v431.z.union([import_v431.z.string(), TiptapDocument]).default("Hurry -- your special offer ends in:")
2051
+ }),
2052
+ styles: import_v431.z.object({
2053
+ textAlignment: TextAlignment2.default("center"),
2054
+ timerBackgroundColor: import_v431.z.enum(["info", "warning", "success", "critical"]).default("warning"),
2055
+ timerEmphasized: import_v431.z.union([import_v431.z.boolean(), import_v431.z.unknown().transform(() => true)]).default(true),
2056
+ timerSize: TextSize.default("xlarge"),
2057
+ timerWidth: import_v431.z.number().min(10).max(100).optional().default(100),
2058
+ titleEmphasized: import_v431.z.union([import_v431.z.boolean(), import_v431.z.unknown().transform(() => true)]).default(true),
2059
+ titleSize: TextSize.default("xlarge")
2060
+ }),
2061
+ type: import_v431.z.literal("timer").default("timer")
2062
+ });
2063
+ var PostPurchaseBlock = import_v431.z.discriminatedUnion("type", [
2064
+ CalloutBannerBlock,
2065
+ ImageBlock,
2066
+ ImageContentBlock,
2067
+ PayButtonBlock,
2068
+ ProductInformationBlock,
2069
+ SeparatorBlock,
2070
+ TextBlock,
2071
+ TimerBlock
2072
+ ]);
2073
+
2074
+ // src/schema/widgets/post-purchase-offer/postPurchaseOffer.ts
2075
+ var import_v433 = require("zod/v4");
2076
+
2077
+ // src/schema/widgets/post-purchase-offer/postPurchaseSettings.ts
2078
+ var import_v432 = require("zod/v4");
2079
+ var PostPurchaseSettings = import_v432.z.object({
2080
+ advance: import_v432.z.object({
2081
+ removePartialOrder: import_v432.z.boolean()
2082
+ }).optional(),
2083
+ blocks: import_v432.z.union([import_v432.z.array(PostPurchaseBlock), import_v432.z.unknown().transform(() => [])]),
2084
+ columnLayout: import_v432.z.boolean().optional(),
2085
+ discount: import_v432.z.object({
2086
+ amount: import_v432.z.union([import_v432.z.string(), import_v432.z.number(), import_v432.z.null()]),
2087
+ shouldShowSavingText: import_v432.z.boolean().optional(),
2088
+ type: import_v432.z.enum(["none", "fixed_amount", "percentage"])
2089
+ }),
2090
+ discountedFrom: import_v432.z.enum(["price", "compare_at_price"]).optional(),
2091
+ endpoint: import_v432.z.string().optional(),
2092
+ integrations: import_v432.z.object({
2093
+ judgeme: import_v432.z.boolean(),
2094
+ junip: import_v432.z.boolean().optional(),
2095
+ klaviyo: import_v432.z.boolean(),
2096
+ loox: import_v432.z.boolean(),
2097
+ okendo: import_v432.z.boolean(),
2098
+ opinew: import_v432.z.boolean().optional(),
2099
+ recharge: import_v432.z.boolean(),
2100
+ reviewsio: import_v432.z.boolean().optional(),
2101
+ stamped: import_v432.z.boolean(),
2102
+ yotpo: import_v432.z.boolean()
2103
+ }),
2104
+ language: import_v432.z.object({
2105
+ description: import_v432.z.union([import_v432.z.string(), import_v432.z.unknown().transform(() => "")]),
2106
+ descriptionEnabled: import_v432.z.boolean().optional(),
2107
+ descriptionRte: import_v432.z.object({
2108
+ content: import_v432.z.array(import_v432.z.unknown()),
2109
+ type: import_v432.z.string()
2110
+ }).optional(),
2111
+ descriptionSpacing: import_v432.z.enum(["none", "xtight", "tight", "default", "loose", "xloose"]).optional(),
2112
+ displayCtaPrice: import_v432.z.boolean().default(true),
2113
+ global: import_v432.z.object({
2114
+ declineThisOffer: import_v432.z.string(),
2115
+ free: import_v432.z.string().optional(),
2116
+ notAvailable: import_v432.z.string().optional(),
2117
+ payNow: import_v432.z.string(),
2118
+ quantity: import_v432.z.string(),
2119
+ recurringSubtotal: import_v432.z.string(),
2120
+ reviewsPlural: import_v432.z.string().optional(),
2121
+ reviewsSingular: import_v432.z.string().optional(),
2122
+ save: import_v432.z.union([import_v432.z.string(), import_v432.z.unknown().transform(() => "Save")]).optional(),
2123
+ shipping: import_v432.z.string(),
2124
+ subtotal: import_v432.z.string(),
2125
+ taxes: import_v432.z.string(),
2126
+ total: import_v432.z.string()
2127
+ }).optional(),
2128
+ globalTranslation: import_v432.z.string().optional()
2129
+ }),
2130
+ metafields: import_v432.z.boolean(),
2131
+ offer: import_v432.z.object({
2132
+ count: import_v432.z.number()
2133
+ }),
2134
+ offersLayout: import_v432.z.object({
2135
+ itemsPerPage: import_v432.z.number().optional(),
2136
+ type: import_v432.z.enum(["list", "grid", "carousel"])
2137
+ }).optional(),
2138
+ previewMode: import_v432.z.boolean(),
2139
+ productLimit: import_v432.z.number().optional(),
2140
+ productOptions: import_v432.z.object({
2141
+ matchVariant: import_v432.z.boolean().optional(),
2142
+ showDeclineAll: import_v432.z.enum(["above", "below", "both", "none"]).optional(),
2143
+ showShipping: import_v432.z.boolean().optional().default(true),
2144
+ showSubtotal: import_v432.z.boolean().optional().default(true),
2145
+ showTaxes: import_v432.z.boolean().optional().default(true),
2146
+ showTotal: import_v432.z.boolean().optional().default(true),
2147
+ showVariantSelectors: import_v432.z.boolean().optional(),
2148
+ variantSelectorDisplayMode: import_v432.z.enum(["separate", "single"]).optional()
2149
+ }),
2150
+ productType: import_v432.z.union([import_v432.z.enum(["one-time", "subscription", "both"]), import_v432.z.literal("").transform(() => "one-time")]),
2151
+ productTypeSelector: import_v432.z.enum(["dropdown", "radio"]).optional(),
2152
+ quantityInputs: import_v432.z.object({
2153
+ defaultQuantity: import_v432.z.union([import_v432.z.number(), import_v432.z.null().transform(() => 1)]),
2154
+ enabled: import_v432.z.boolean(),
2155
+ maxValue: import_v432.z.union([import_v432.z.number(), import_v432.z.null().transform(() => 100)]),
2156
+ minValue: import_v432.z.union([import_v432.z.number().min(0), import_v432.z.unknown().transform(() => 0)])
2157
+ }),
2158
+ shipping: import_v432.z.object({
2159
+ amount: import_v432.z.union([import_v432.z.string(), import_v432.z.number(), import_v432.z.null()]),
2160
+ enabled: import_v432.z.boolean(),
2161
+ title: import_v432.z.string().optional(),
2162
+ type: import_v432.z.enum(["free", "fixed_amount"])
2163
+ }),
2164
+ styles: import_v432.z.object({
2165
+ starColor: import_v432.z.string().optional(),
2166
+ starSize: import_v432.z.union([import_v432.z.enum(["small", "medium", "large"]), import_v432.z.unknown().transform(() => "small")]).optional(),
2167
+ starStrokeColor: import_v432.z.string().optional(),
2168
+ strokeWidth: import_v432.z.string().optional()
2169
+ }).optional(),
2170
+ subImages: import_v432.z.number().nullish(),
2171
+ subscription: import_v432.z.object({
2172
+ discount: import_v432.z.object({
2173
+ amount: import_v432.z.union([import_v432.z.string(), import_v432.z.number()]),
2174
+ type: import_v432.z.enum(["none", "fixed_amount", "percentage"])
2175
+ }),
2176
+ shipping: import_v432.z.object({
2177
+ amount: import_v432.z.union([import_v432.z.string(), import_v432.z.number()]),
2178
+ enabled: import_v432.z.boolean(),
2179
+ recurringAmount: import_v432.z.union([import_v432.z.string(), import_v432.z.number()]),
2180
+ shippingTitle: import_v432.z.string(),
2181
+ type: import_v432.z.enum(["free", "fixed_amount"])
2182
+ })
2183
+ }).optional(),
2184
+ subscriptionIsDefault: import_v432.z.boolean().optional(),
2185
+ template: import_v432.z.string().optional()
2186
+ });
2187
+
2188
+ // src/schema/widgets/post-purchase-offer/postPurchaseOffer.ts
2189
+ var PostPurchaseOffer = import_v433.z.discriminatedUnion("successful", [
2190
+ import_v433.z.strictObject({
2191
+ errors: import_v433.z.array(import_v433.z.object({ message: import_v433.z.string() })),
2192
+ message: import_v433.z.string(),
2193
+ successful: import_v433.z.literal(false)
2194
+ }),
2195
+ import_v433.z.strictObject({
2196
+ successful: import_v433.z.literal(true),
2197
+ widget: import_v433.z.object({
2198
+ classification: import_v433.z.literal("post_purchase_offer_page"),
2199
+ id: import_v433.z.number(),
2200
+ settings: PostPurchaseSettings
2201
+ })
2202
+ })
2203
+ ]);
1934
2204
  //# sourceMappingURL=index.js.map