@rebuy/rebuy 2.6.0 → 2.7.0-rc.2

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
@@ -47,6 +47,7 @@ __export(index_exports, {
47
47
  CABTextSection: () => CABTextSection,
48
48
  CABVariantsSection: () => CABVariantsSection,
49
49
  COMBINED_ENDPOINTS: () => COMBINED_ENDPOINTS,
50
+ CacheInfo: () => CacheInfo,
50
51
  CheckoutExtension: () => CheckoutExtension,
51
52
  ContentBlock: () => ContentBlock,
52
53
  ContentBlockV1: () => ContentBlockV1,
@@ -56,14 +57,17 @@ __export(index_exports, {
56
57
  EditorMode: () => EditorMode,
57
58
  Geolocation: () => Geolocation,
58
59
  GiftWithPurchase: () => GiftWithPurchase,
60
+ GridItem: () => GridItem,
59
61
  HEX_COLOR_REGEX: () => HEX_COLOR_REGEX,
60
62
  HTML_TAGS_REGEX: () => HTML_TAGS_REGEX,
61
63
  HorizontalAlignment: () => HorizontalAlignment,
62
64
  Identity: () => Identity,
63
65
  LanguageKey: () => LanguageKey,
64
66
  LineItemEditor: () => LineItemEditor,
67
+ Metadata: () => Metadata,
65
68
  NO_HTML: () => NO_HTML,
66
69
  ObjectFit: () => ObjectFit,
70
+ Product: () => Product,
67
71
  ProductType: () => ProductType,
68
72
  ProgressBar: () => ProgressBar,
69
73
  QuantityInput: () => QuantityInput,
@@ -73,6 +77,7 @@ __export(index_exports, {
73
77
  RebuyMonetize: () => RebuyMonetize,
74
78
  STATIC_ENDPOINTS: () => STATIC_ENDPOINTS,
75
79
  SectionType: () => SectionType,
80
+ SellingPlanGroup: () => SellingPlanGroup,
76
81
  Session: () => Session,
77
82
  ShopConfig: () => ShopConfig,
78
83
  Spacing: () => Spacing,
@@ -94,7 +99,6 @@ __export(index_exports, {
94
99
  buttonActions: () => buttonActions,
95
100
  buttonFields: () => buttonFields,
96
101
  buttonStyles: () => buttonStyles,
97
- cacheInfoSchema: () => cacheInfoSchema,
98
102
  checkForHTML: () => checkForHTML,
99
103
  convertNumericObjects: () => convertNumericObjects,
100
104
  convertProductToStorefrontFormat: () => convertProductToStorefrontFormat,
@@ -129,16 +133,13 @@ __export(index_exports, {
129
133
  isTextType: () => isTextType,
130
134
  isVariantsType: () => isVariantsType,
131
135
  languageKeys: () => languageKeys,
132
- metadataSchema: () => metadataSchema,
133
136
  objectFits: () => objectFits,
134
137
  productImageObject: () => productImageObject,
135
- productSchema: () => productSchema,
136
138
  productTypes: () => productTypes,
137
139
  quantityInputs: () => quantityInputs,
138
140
  queryStringToObject: () => queryStringToObject,
139
141
  sectionTypes: () => sectionTypes,
140
142
  selectedVariantOptions: () => selectedVariantOptions,
141
- sellingPlanGroupSchema: () => sellingPlanGroupSchema,
142
143
  serialize: () => serialize,
143
144
  sessionId: () => sessionId,
144
145
  set: () => set,
@@ -902,7 +903,7 @@ var import_v42 = require("zod/v4");
902
903
  // src/schema/product.ts
903
904
  var import_v4 = require("zod/v4");
904
905
  var zDatetime = import_v4.z.iso.datetime({ offset: true });
905
- var cacheInfoSchema = import_v4.z.object({
906
+ var CacheInfo = import_v4.z.object({
906
907
  cachedAtTime: import_v4.z.union([import_v4.z.string(), import_v4.z.number()]),
907
908
  cacheExpires: import_v4.z.union([import_v4.z.string(), import_v4.z.number()]).optional(),
908
909
  cacheKey: import_v4.z.string(),
@@ -910,24 +911,24 @@ var cacheInfoSchema = import_v4.z.object({
910
911
  cacheType: import_v4.z.string().optional(),
911
912
  loadedOptions: import_v4.z.record(import_v4.z.string(), import_v4.z.boolean()).optional()
912
913
  });
913
- var categorySchema = import_v4.z.object({
914
+ var Category = import_v4.z.object({
914
915
  adminGraphqlApiId: import_v4.z.string(),
915
916
  fullName: import_v4.z.string(),
916
917
  name: import_v4.z.string()
917
918
  });
918
- var metafieldSchema = import_v4.z.object({
919
+ var Metafield = import_v4.z.object({
919
920
  key: import_v4.z.string(),
920
921
  namespace: import_v4.z.string(),
921
922
  type: import_v4.z.string(),
922
923
  value: import_v4.z.string()
923
924
  });
924
- var imageSchema = import_v4.z.object({
925
+ var Image = import_v4.z.object({
925
926
  adminGraphqlApiId: import_v4.z.string(),
926
927
  alt: import_v4.z.string().nullable(),
927
928
  createdAt: zDatetime.optional(),
928
929
  height: import_v4.z.number(),
929
930
  id: import_v4.z.number(),
930
- metafields: import_v4.z.array(metafieldSchema).optional(),
931
+ metafields: import_v4.z.array(Metafield).optional(),
931
932
  position: import_v4.z.number(),
932
933
  productId: import_v4.z.number(),
933
934
  src: import_v4.z.url(),
@@ -935,7 +936,7 @@ var imageSchema = import_v4.z.object({
935
936
  variantIds: import_v4.z.array(import_v4.z.number()),
936
937
  width: import_v4.z.number()
937
938
  });
938
- var mediaSchema = import_v4.z.object({
939
+ var Media = import_v4.z.object({
939
940
  adminGraphqlApiId: import_v4.z.string(),
940
941
  alt: import_v4.z.string().nullable(),
941
942
  createdAt: zDatetime,
@@ -948,20 +949,20 @@ var mediaSchema = import_v4.z.object({
948
949
  updatedAt: zDatetime,
949
950
  variantIds: import_v4.z.array(import_v4.z.number())
950
951
  });
951
- var optionSchema = import_v4.z.object({
952
+ var Option = import_v4.z.object({
952
953
  id: import_v4.z.number(),
953
954
  name: import_v4.z.string(),
954
955
  position: import_v4.z.number(),
955
956
  productId: import_v4.z.number(),
956
957
  values: import_v4.z.array(import_v4.z.string())
957
958
  });
958
- var priceAdjustmentSchema = import_v4.z.object({
959
+ var PriceAdjustment = import_v4.z.object({
959
960
  orderCount: import_v4.z.number().optional(),
960
961
  position: import_v4.z.number(),
961
962
  value: import_v4.z.string(),
962
963
  valueType: import_v4.z.string()
963
964
  });
964
- var ratingsSchema = import_v4.z.union([
965
+ var Ratings = import_v4.z.union([
965
966
  import_v4.z.object({ judgemeAverageStarRating: import_v4.z.number(), judgemeTotalReviews: import_v4.z.number() }),
966
967
  import_v4.z.object({ junipAverageStarRating: import_v4.z.number(), junipTotalReviews: import_v4.z.number() }),
967
968
  import_v4.z.object({ klaviyoAverageStarRating: import_v4.z.number(), klaviyoTotalReviews: import_v4.z.number() }),
@@ -973,7 +974,7 @@ var ratingsSchema = import_v4.z.union([
973
974
  import_v4.z.object({ stampedAverageStarRating: import_v4.z.number(), stampedTotalReviews: import_v4.z.number() }),
974
975
  import_v4.z.object({ yotpoAverageStarRating: import_v4.z.number(), yotpoTotalReviews: import_v4.z.number() })
975
976
  ]);
976
- var sellingPlanSchema = import_v4.z.object({
977
+ var SellingPlan = import_v4.z.object({
977
978
  description: import_v4.z.string().optional(),
978
979
  id: import_v4.z.number(),
979
980
  name: import_v4.z.string(),
@@ -981,30 +982,30 @@ var sellingPlanSchema = import_v4.z.object({
981
982
  orderIntervalFrequency: import_v4.z.string().optional(),
982
983
  orderIntervalUnitType: import_v4.z.string().optional(),
983
984
  position: import_v4.z.number().optional(),
984
- priceAdjustments: import_v4.z.array(priceAdjustmentSchema),
985
+ priceAdjustments: import_v4.z.array(PriceAdjustment),
985
986
  shopifyVariantId: import_v4.z.string().optional()
986
987
  });
987
- var sellingPlanAllocationSchema = import_v4.z.object({
988
+ var SellingPlanAllocation = import_v4.z.object({
988
989
  compareAtPrice: import_v4.z.number(),
989
990
  perDeliveryPrice: import_v4.z.number(),
990
991
  price: import_v4.z.number(),
991
- priceAdjustments: import_v4.z.array(priceAdjustmentSchema),
992
+ priceAdjustments: import_v4.z.array(PriceAdjustment),
992
993
  sellingPlanGroupId: import_v4.z.string(),
993
994
  sellingPlanId: import_v4.z.number()
994
995
  });
995
- var sellingPlanGroupSchema = import_v4.z.object({
996
+ var SellingPlanGroup = import_v4.z.object({
996
997
  appId: import_v4.z.string().optional(),
997
998
  description: import_v4.z.string().optional(),
998
999
  discountAmount: import_v4.z.number().optional(),
999
1000
  discountType: import_v4.z.string().optional(),
1000
1001
  id: import_v4.z.string(),
1001
1002
  name: import_v4.z.string(),
1002
- options: import_v4.z.array(optionSchema),
1003
+ options: import_v4.z.array(Option),
1003
1004
  requiresSellingPlan: import_v4.z.boolean().optional(),
1004
- sellingPlans: import_v4.z.array(sellingPlanSchema),
1005
+ sellingPlans: import_v4.z.array(SellingPlan),
1005
1006
  variants: import_v4.z.array(import_v4.z.number())
1006
1007
  });
1007
- var variantSchema = import_v4.z.object({
1008
+ var Variant = import_v4.z.object({
1008
1009
  adminGraphqlApiId: import_v4.z.string(),
1009
1010
  barcode: import_v4.z.string().nullable(),
1010
1011
  compareAtPrice: import_v4.z.string().nullable(),
@@ -1026,7 +1027,7 @@ var variantSchema = import_v4.z.object({
1026
1027
  price: import_v4.z.string(),
1027
1028
  productId: import_v4.z.number(),
1028
1029
  requiresShipping: import_v4.z.boolean(),
1029
- sellingPlanAllocations: import_v4.z.array(sellingPlanAllocationSchema).optional(),
1030
+ sellingPlanAllocations: import_v4.z.array(SellingPlanAllocation).optional(),
1030
1031
  sku: import_v4.z.string().nullable(),
1031
1032
  taxable: import_v4.z.boolean(),
1032
1033
  taxCode: import_v4.z.string().optional(),
@@ -1035,32 +1036,32 @@ var variantSchema = import_v4.z.object({
1035
1036
  weight: import_v4.z.number(),
1036
1037
  weightUnit: import_v4.z.string().optional()
1037
1038
  });
1038
- var productSchema = import_v4.z.object({
1039
+ var Product = import_v4.z.object({
1039
1040
  adminGraphqlApiId: import_v4.z.string(),
1040
1041
  bodyHtml: import_v4.z.string().nullable(),
1041
- cacheInfo: cacheInfoSchema,
1042
- category: categorySchema.nullish(),
1042
+ cacheInfo: CacheInfo,
1043
+ category: Category.nullish(),
1043
1044
  collectionIds: import_v4.z.array(import_v4.z.number()),
1044
1045
  createdAt: zDatetime,
1045
1046
  description: import_v4.z.string(),
1046
1047
  handle: import_v4.z.string(),
1047
1048
  hasVariantsThatRequiresComponents: import_v4.z.boolean().optional(),
1048
1049
  id: import_v4.z.number(),
1049
- image: imageSchema.nullable(),
1050
- images: import_v4.z.array(imageSchema).nullable(),
1050
+ image: Image.nullable(),
1051
+ images: import_v4.z.array(Image).nullable(),
1051
1052
  link: import_v4.z.url(),
1052
- media: import_v4.z.array(mediaSchema).optional(),
1053
- metafields: import_v4.z.array(metafieldSchema).optional(),
1054
- options: import_v4.z.array(optionSchema),
1053
+ media: import_v4.z.array(Media).optional(),
1054
+ metafields: import_v4.z.array(Metafield).optional(),
1055
+ options: import_v4.z.array(Option),
1055
1056
  owner: import_v4.z.union([import_v4.z.string(), import_v4.z.number()]),
1056
1057
  productType: import_v4.z.string(),
1057
1058
  publishedAt: zDatetime.nullable(),
1058
1059
  publishedScope: import_v4.z.string().optional(),
1059
1060
  purchaseOptions: import_v4.z.array(import_v4.z.object({ discountOptions: import_v4.z.array(import_v4.z.never()) })).optional(),
1060
- ratings: ratingsSchema.optional(),
1061
+ ratings: Ratings.optional(),
1061
1062
  selectedIndexPurchasedOption: import_v4.z.number().optional(),
1062
- sellingPlanAllocation: sellingPlanAllocationSchema.optional(),
1063
- sellingPlanGroups: import_v4.z.array(sellingPlanGroupSchema).optional(),
1063
+ sellingPlanAllocation: SellingPlanAllocation.optional(),
1064
+ sellingPlanGroups: import_v4.z.array(SellingPlanGroup).optional(),
1064
1065
  status: import_v4.z.string(),
1065
1066
  tags: import_v4.z.string(),
1066
1067
  templateSuffix: import_v4.z.string().nullable(),
@@ -1068,27 +1069,27 @@ var productSchema = import_v4.z.object({
1068
1069
  updatedAt: zDatetime,
1069
1070
  variantGids: import_v4.z.array(import_v4.z.object({ adminGraphqlApiId: import_v4.z.string(), updatedAt: zDatetime })).optional(),
1070
1071
  variantIds: import_v4.z.array(import_v4.z.object({ id: import_v4.z.number() })).optional(),
1071
- variants: import_v4.z.array(variantSchema),
1072
+ variants: import_v4.z.array(Variant),
1072
1073
  vendor: import_v4.z.string()
1073
1074
  });
1074
1075
 
1075
1076
  // src/schema/metadata.ts
1076
- var baseRuleSchema = import_v42.z.object({
1077
+ var BaseRule = import_v42.z.object({
1077
1078
  operator: import_v42.z.string(),
1078
1079
  type: import_v42.z.string(),
1079
1080
  value: import_v42.z.union([import_v42.z.string(), import_v42.z.number()])
1080
1081
  });
1081
- var ruleSchema = baseRuleSchema.extend({
1082
+ var Rule = BaseRule.extend({
1082
1083
  conditions: import_v42.z.array(import_v42.z.object({ type: import_v42.z.string(), value: import_v42.z.union([import_v42.z.string(), import_v42.z.number()]) })).optional(),
1083
1084
  products: import_v42.z.array(
1084
1085
  import_v42.z.object({
1085
1086
  productId: import_v42.z.number(),
1086
- subRules: import_v42.z.object({ logic: import_v42.z.array(import_v42.z.object({ rules: import_v42.z.array(baseRuleSchema) })) }).optional(),
1087
+ subRules: import_v42.z.object({ logic: import_v42.z.array(import_v42.z.object({ rules: import_v42.z.array(BaseRule) })) }).optional(),
1087
1088
  variantIds: import_v42.z.array(import_v42.z.number())
1088
1089
  })
1089
1090
  ).optional()
1090
1091
  });
1091
- var outputSchema = import_v42.z.object({
1092
+ var Output = import_v42.z.object({
1092
1093
  channel: import_v42.z.string().optional(),
1093
1094
  collectionId: import_v42.z.number().optional(),
1094
1095
  collectionSort: import_v42.z.string().optional(),
@@ -1105,25 +1106,25 @@ var outputSchema = import_v42.z.object({
1105
1106
  type: import_v42.z.string(),
1106
1107
  value: import_v42.z.union([import_v42.z.string(), import_v42.z.number(), import_v42.z.boolean()]).optional()
1107
1108
  });
1108
- var matchedRuleSchema = import_v42.z.object({
1109
+ var MatchedRule = import_v42.z.object({
1109
1110
  collapsed: import_v42.z.boolean().optional(),
1110
1111
  exitIfMatched: import_v42.z.boolean(),
1111
1112
  index: import_v42.z.number(),
1112
- logic: import_v42.z.array(import_v42.z.object({ rules: import_v42.z.array(ruleSchema) })),
1113
- output: import_v42.z.array(outputSchema)
1113
+ logic: import_v42.z.array(import_v42.z.object({ rules: import_v42.z.array(Rule) })),
1114
+ output: import_v42.z.array(Output)
1114
1115
  });
1115
- var metadataSchema = import_v42.z.object({
1116
- cacheInfo: cacheInfoSchema.optional(),
1116
+ var Metadata = import_v42.z.object({
1117
+ cacheInfo: CacheInfo.optional(),
1117
1118
  cartItems: import_v42.z.array(import_v42.z.never()).optional(),
1118
1119
  errors: import_v42.z.array(import_v42.z.never()).optional(),
1119
1120
  filteredInputProducts: import_v42.z.array(import_v42.z.never()).optional(),
1120
- filteredOosProducts: import_v42.z.array(productSchema).optional(),
1121
- globalExcludedProducts: import_v42.z.array(productSchema).optional(),
1121
+ filteredOosProducts: import_v42.z.array(Product).optional(),
1122
+ globalExcludedProducts: import_v42.z.array(Product).optional(),
1122
1123
  inputProducts: import_v42.z.array(import_v42.z.never()).optional(),
1123
- matchedRules: import_v42.z.array(matchedRuleSchema).optional(),
1124
+ matchedRules: import_v42.z.array(MatchedRule).optional(),
1124
1125
  topSellersFilled: import_v42.z.boolean().optional(),
1125
- unevaluatedRules: import_v42.z.array(matchedRuleSchema).optional(),
1126
- unmatchedRules: import_v42.z.array(matchedRuleSchema).optional(),
1126
+ unevaluatedRules: import_v42.z.array(MatchedRule).optional(),
1127
+ unmatchedRules: import_v42.z.array(MatchedRule).optional(),
1127
1128
  widget: import_v42.z.object({
1128
1129
  discount: import_v42.z.object({ amount: import_v42.z.string(), type: import_v42.z.string() }).optional(),
1129
1130
  language: import_v42.z.record(import_v42.z.string(), import_v42.z.string()).optional()
@@ -1283,7 +1284,7 @@ var ButtonField = buttonField.enum;
1283
1284
  var buttonStyles = ["primary", "secondary", "plain", "custom"];
1284
1285
  var buttonStyle = import_v46.z.enum(buttonStyles);
1285
1286
  var ButtonStyle = buttonStyle.enum;
1286
- var directions = ["columns", "rows"];
1287
+ var directions = ["columns", "rows", "grid"];
1287
1288
  var direction = import_v46.z.enum(directions);
1288
1289
  var Direction = direction.enum;
1289
1290
  var editorModes = [
@@ -1481,7 +1482,7 @@ var import_v49 = require("zod/v4");
1481
1482
  var ARRAY_INDEX_STRING = /^(0|[1-9]\d*)$/;
1482
1483
  var DYNAMIC_TOKEN_REGEX = /^\{\{\s*[A-Za-z]+\s*\}\}$/;
1483
1484
  var HEX_COLOR_REGEX = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/;
1484
- var HTML_TAGS_REGEX = /<[^>]*>/gi;
1485
+ var HTML_TAGS_REGEX = /<\/?[^>]+>/g;
1485
1486
 
1486
1487
  // src/schema/widgets/checkout-and-beyond/utils.ts
1487
1488
  var import_lodash_es2 = require("lodash-es");
@@ -1792,6 +1793,7 @@ var CABSection = import_v421.z.lazy(
1792
1793
  );
1793
1794
 
1794
1795
  // src/schema/widgets/checkout-and-beyond/layout.ts
1796
+ var GridItem = import_v422.z.union([import_v422.z.literal("auto"), import_v422.z.literal("fill"), import_v422.z.string().regex(/^\d+%$/), import_v422.z.number()]);
1795
1797
  var CABLayoutSection = import_v422.z.object({
1796
1798
  alignment: import_v422.z.object({
1797
1799
  horizontal: import_v422.z.enum(horizontalAlignments).default(HorizontalAlignment.start),
@@ -1803,6 +1805,7 @@ var CABLayoutSection = import_v422.z.object({
1803
1805
  border: import_v422.z.lazy(() => CABBorder),
1804
1806
  buttonField: import_v422.z.enum(buttonFields).optional(),
1805
1807
  direction: import_v422.z.enum(directions).default(Direction.rows),
1808
+ grid: import_v422.z.object({ columns: import_v422.z.array(GridItem), rows: import_v422.z.array(GridItem) }).optional(),
1806
1809
  name: import_v422.z.string().optional(),
1807
1810
  padding: import_v422.z.enum(spacings).default(Spacing.none),
1808
1811
  sectionId: import_v422.z.uuid().default(() => (0, import_uuid12.v7)()),