@rebuy/rebuy 2.5.0-rc.1 → 2.5.0-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/dist/index.d.ts +1 -4
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +635 -354
  4. package/dist/index.js.map +4 -4
  5. package/dist/index.mjs +635 -354
  6. package/dist/index.mjs.map +4 -4
  7. package/dist/schema/index.d.ts +14 -0
  8. package/dist/schema/index.d.ts.map +1 -0
  9. package/dist/schema/product.d.ts +382 -0
  10. package/dist/schema/product.d.ts.map +1 -0
  11. package/dist/schema/widgetData.d.ts +248 -0
  12. package/dist/schema/widgetData.d.ts.map +1 -0
  13. package/dist/schema/widgets/abTestingPlaceholder.d.ts +7 -0
  14. package/dist/schema/widgets/abTestingPlaceholder.d.ts.map +1 -0
  15. package/dist/schema/{cab → widgets/checkoutAndBeyond}/button.d.ts +17 -17
  16. package/dist/schema/widgets/checkoutAndBeyond/button.d.ts.map +1 -0
  17. package/dist/schema/{cab → widgets/checkoutAndBeyond}/common.d.ts +14 -14
  18. package/dist/schema/widgets/checkoutAndBeyond/common.d.ts.map +1 -0
  19. package/dist/schema/widgets/checkoutAndBeyond/constants.d.ts.map +1 -0
  20. package/dist/schema/{cab/data-source.d.ts → widgets/checkoutAndBeyond/dataSource.d.ts} +1 -1
  21. package/dist/schema/widgets/checkoutAndBeyond/dataSource.d.ts.map +1 -0
  22. package/dist/schema/widgets/checkoutAndBeyond/image.d.ts.map +1 -0
  23. package/dist/schema/{cab → widgets/checkoutAndBeyond}/index.d.ts +1 -1
  24. package/dist/schema/widgets/checkoutAndBeyond/index.d.ts.map +1 -0
  25. package/dist/schema/{cab → widgets/checkoutAndBeyond}/layout.d.ts +1 -1
  26. package/dist/schema/widgets/checkoutAndBeyond/layout.d.ts.map +1 -0
  27. package/dist/schema/{cab → widgets/checkoutAndBeyond}/offers.d.ts +18 -18
  28. package/dist/schema/widgets/checkoutAndBeyond/offers.d.ts.map +1 -0
  29. package/dist/schema/{cab → widgets/checkoutAndBeyond}/product.d.ts +8 -8
  30. package/dist/schema/widgets/checkoutAndBeyond/product.d.ts.map +1 -0
  31. package/dist/schema/{cab → widgets/checkoutAndBeyond}/products.d.ts +10 -10
  32. package/dist/schema/widgets/checkoutAndBeyond/products.d.ts.map +1 -0
  33. package/dist/schema/widgets/checkoutAndBeyond/quantity.d.ts.map +1 -0
  34. package/dist/schema/widgets/checkoutAndBeyond/regex.d.ts.map +1 -0
  35. package/dist/schema/widgets/checkoutAndBeyond/reviews.d.ts.map +1 -0
  36. package/dist/schema/{cab → widgets/checkoutAndBeyond}/root.d.ts +1 -1
  37. package/dist/schema/widgets/checkoutAndBeyond/root.d.ts.map +1 -0
  38. package/dist/schema/{cab → widgets/checkoutAndBeyond}/shared.d.ts +1 -1
  39. package/dist/schema/widgets/checkoutAndBeyond/shared.d.ts.map +1 -0
  40. package/dist/schema/widgets/checkoutAndBeyond/subscription.d.ts.map +1 -0
  41. package/dist/schema/widgets/checkoutAndBeyond/table.d.ts.map +1 -0
  42. package/dist/schema/{cab → widgets/checkoutAndBeyond}/text.d.ts +22 -22
  43. package/dist/schema/widgets/checkoutAndBeyond/text.d.ts.map +1 -0
  44. package/dist/schema/{cab → widgets/checkoutAndBeyond}/utils.d.ts +1 -1
  45. package/dist/schema/widgets/checkoutAndBeyond/utils.d.ts.map +1 -0
  46. package/dist/schema/{cab → widgets/checkoutAndBeyond}/variants.d.ts +1 -1
  47. package/dist/schema/widgets/checkoutAndBeyond/variants.d.ts.map +1 -0
  48. package/dist/schema/widgets/checkoutExtension.d.ts +7 -0
  49. package/dist/schema/widgets/checkoutExtension.d.ts.map +1 -0
  50. package/dist/schema/widgets/contentBlock.d.ts +51 -0
  51. package/dist/schema/widgets/contentBlock.d.ts.map +1 -0
  52. package/dist/schema/widgets/giftWithPurchase.d.ts +7 -0
  53. package/dist/schema/widgets/giftWithPurchase.d.ts.map +1 -0
  54. package/dist/schema/widgets/lineItemEditor.d.ts +7 -0
  55. package/dist/schema/widgets/lineItemEditor.d.ts.map +1 -0
  56. package/dist/schema/widgets/progressBar.d.ts +7 -0
  57. package/dist/schema/widgets/progressBar.d.ts.map +1 -0
  58. package/dist/schema/widgets/rebuyButton.d.ts +7 -0
  59. package/dist/schema/widgets/rebuyButton.d.ts.map +1 -0
  60. package/dist/schema/widgets/rebuyMonetize.d.ts +7 -0
  61. package/dist/schema/widgets/rebuyMonetize.d.ts.map +1 -0
  62. package/package.json +1 -1
  63. package/dist/schema/cab/button.d.ts.map +0 -1
  64. package/dist/schema/cab/common.d.ts.map +0 -1
  65. package/dist/schema/cab/constants.d.ts.map +0 -1
  66. package/dist/schema/cab/data-source.d.ts.map +0 -1
  67. package/dist/schema/cab/image.d.ts.map +0 -1
  68. package/dist/schema/cab/index.d.ts.map +0 -1
  69. package/dist/schema/cab/layout.d.ts.map +0 -1
  70. package/dist/schema/cab/offers.d.ts.map +0 -1
  71. package/dist/schema/cab/product.d.ts.map +0 -1
  72. package/dist/schema/cab/products.d.ts.map +0 -1
  73. package/dist/schema/cab/quantity.d.ts.map +0 -1
  74. package/dist/schema/cab/regex.d.ts.map +0 -1
  75. package/dist/schema/cab/reviews.d.ts.map +0 -1
  76. package/dist/schema/cab/root.d.ts.map +0 -1
  77. package/dist/schema/cab/shared.d.ts.map +0 -1
  78. package/dist/schema/cab/subscription.d.ts.map +0 -1
  79. package/dist/schema/cab/table.d.ts.map +0 -1
  80. package/dist/schema/cab/text.d.ts.map +0 -1
  81. package/dist/schema/cab/utils.d.ts.map +0 -1
  82. package/dist/schema/cab/variants.d.ts.map +0 -1
  83. package/dist/schema/widgetSettings.d.ts +0 -152
  84. package/dist/schema/widgetSettings.d.ts.map +0 -1
  85. /package/dist/schema/{cab → widgets/checkoutAndBeyond}/constants.d.ts +0 -0
  86. /package/dist/schema/{cab → widgets/checkoutAndBeyond}/image.d.ts +0 -0
  87. /package/dist/schema/{cab → widgets/checkoutAndBeyond}/quantity.d.ts +0 -0
  88. /package/dist/schema/{cab → widgets/checkoutAndBeyond}/regex.d.ts +0 -0
  89. /package/dist/schema/{cab → widgets/checkoutAndBeyond}/reviews.d.ts +0 -0
  90. /package/dist/schema/{cab → widgets/checkoutAndBeyond}/subscription.d.ts +0 -0
  91. /package/dist/schema/{cab → widgets/checkoutAndBeyond}/table.d.ts +0 -0
package/dist/index.js CHANGED
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/index.ts
21
21
  var index_exports = {};
22
22
  __export(index_exports, {
23
+ ABTestingPlaceholder: () => ABTestingPlaceholder,
23
24
  ARRAY_INDEX_STRING: () => ARRAY_INDEX_STRING,
24
25
  Api: () => Api,
25
26
  BorderRadius: () => BorderRadius,
@@ -46,21 +47,29 @@ __export(index_exports, {
46
47
  CABTextSection: () => CABTextSection,
47
48
  CABVariantsSection: () => CABVariantsSection,
48
49
  COMBINED_ENDPOINTS: () => COMBINED_ENDPOINTS,
50
+ CheckoutExtension: () => CheckoutExtension,
51
+ ContentBlock: () => ContentBlock,
49
52
  DEFAULT_ENDPOINTS: () => DEFAULT_ENDPOINTS,
50
53
  DYNAMIC_TOKEN_REGEX: () => DYNAMIC_TOKEN_REGEX,
51
54
  Direction: () => Direction,
52
55
  EditorMode: () => EditorMode,
53
56
  Geolocation: () => Geolocation,
57
+ GiftWithPurchase: () => GiftWithPurchase,
54
58
  HEX_COLOR_REGEX: () => HEX_COLOR_REGEX,
55
59
  HTML_TAGS_REGEX: () => HTML_TAGS_REGEX,
56
60
  HorizontalAlignment: () => HorizontalAlignment,
57
61
  Identity: () => Identity,
58
62
  LanguageKey: () => LanguageKey,
63
+ LegacyV0Widget: () => LegacyV0Widget,
59
64
  LegacyV1Widget: () => LegacyV1Widget,
65
+ LineItemEditor: () => LineItemEditor,
60
66
  NO_HTML: () => NO_HTML,
61
67
  ObjectFit: () => ObjectFit,
68
+ ProgressBar: () => ProgressBar,
62
69
  QuantityInput: () => QuantityInput,
70
+ RebuyButton: () => RebuyButton,
63
71
  RebuyClient: () => RebuyClient,
72
+ RebuyMonetize: () => RebuyMonetize,
64
73
  STATIC_ENDPOINTS: () => STATIC_ENDPOINTS,
65
74
  SectionType: () => SectionType,
66
75
  Session: () => Session,
@@ -75,7 +84,7 @@ __export(index_exports, {
75
84
  UserConfig: () => UserConfig,
76
85
  VariantSelector: () => VariantSelector,
77
86
  VerticalAlignment: () => VerticalAlignment,
78
- WidgetSettings: () => WidgetSettings,
87
+ WidgetData: () => WidgetData,
79
88
  WidgetType: () => WidgetType,
80
89
  amountToCents: () => amountToCents,
81
90
  borderRadii: () => borderRadii,
@@ -84,6 +93,7 @@ __export(index_exports, {
84
93
  buttonActions: () => buttonActions,
85
94
  buttonFields: () => buttonFields,
86
95
  buttonStyles: () => buttonStyles,
96
+ cacheInfoSchema: () => cacheInfoSchema,
87
97
  checkForHTML: () => checkForHTML,
88
98
  convertNumericObjects: () => convertNumericObjects,
89
99
  convertProductToStorefrontFormat: () => convertProductToStorefrontFormat,
@@ -94,6 +104,7 @@ __export(index_exports, {
94
104
  directions: () => directions,
95
105
  editorModes: () => editorModes,
96
106
  enabled: () => enabled,
107
+ extensionWidgetTypes: () => extensionWidgetTypes,
97
108
  find: () => find,
98
109
  firstAvailableVariant: () => firstAvailableVariant,
99
110
  get: () => get,
@@ -119,10 +130,12 @@ __export(index_exports, {
119
130
  languageKeys: () => languageKeys,
120
131
  objectFits: () => objectFits,
121
132
  productImageObject: () => productImageObject,
133
+ productSchema: () => productSchema,
122
134
  quantityInputs: () => quantityInputs,
123
135
  queryStringToObject: () => queryStringToObject,
124
136
  sectionTypes: () => sectionTypes,
125
137
  selectedVariantOptions: () => selectedVariantOptions,
138
+ sellingPlanGroupSchema: () => sellingPlanGroupSchema,
126
139
  serialize: () => serialize,
127
140
  sessionId: () => sessionId,
128
141
  set: () => set,
@@ -880,20 +893,292 @@ var RebuyClient = class {
880
893
  }
881
894
  };
882
895
 
883
- // src/schema/cab/button.ts
884
- var import_uuid12 = require("uuid");
885
- var import_v416 = require("zod/v4");
886
-
887
- // src/schema/cab/common.ts
896
+ // src/schema/product.ts
888
897
  var import_v4 = require("zod/v4");
898
+ var zDatetime = import_v4.z.iso.datetime({ offset: true });
899
+ var cacheInfoSchema = import_v4.z.strictObject({
900
+ cachedAtTime: import_v4.z.union([import_v4.z.string(), import_v4.z.number()]),
901
+ cacheExpires: import_v4.z.union([import_v4.z.string(), import_v4.z.number()]).optional(),
902
+ cacheKey: import_v4.z.string(),
903
+ cacheKeyReadable: import_v4.z.string(),
904
+ cacheType: import_v4.z.string().optional(),
905
+ loadedOptions: import_v4.z.record(import_v4.z.string(), import_v4.z.boolean()).optional()
906
+ });
907
+ var categorySchema = import_v4.z.strictObject({
908
+ adminGraphqlApiId: import_v4.z.string(),
909
+ fullName: import_v4.z.string(),
910
+ name: import_v4.z.string()
911
+ });
912
+ var metafieldSchema = import_v4.z.strictObject({
913
+ key: import_v4.z.string(),
914
+ namespace: import_v4.z.string(),
915
+ type: import_v4.z.string(),
916
+ value: import_v4.z.string()
917
+ });
918
+ var imageSchema = import_v4.z.strictObject({
919
+ adminGraphqlApiId: import_v4.z.string(),
920
+ alt: import_v4.z.string().nullable(),
921
+ createdAt: zDatetime.optional(),
922
+ height: import_v4.z.number(),
923
+ id: import_v4.z.number(),
924
+ metafields: import_v4.z.array(metafieldSchema).optional(),
925
+ position: import_v4.z.number(),
926
+ productId: import_v4.z.number(),
927
+ src: import_v4.z.url(),
928
+ updatedAt: zDatetime.optional(),
929
+ variantIds: import_v4.z.array(import_v4.z.number()),
930
+ width: import_v4.z.number()
931
+ });
932
+ var mediaSchema = import_v4.z.strictObject({
933
+ adminGraphqlApiId: import_v4.z.string(),
934
+ alt: import_v4.z.string().nullable(),
935
+ createdAt: zDatetime,
936
+ id: import_v4.z.number(),
937
+ mediaContentType: import_v4.z.string(),
938
+ position: import_v4.z.number(),
939
+ previewImage: import_v4.z.strictObject({ height: import_v4.z.number(), src: import_v4.z.url(), status: import_v4.z.string(), width: import_v4.z.number() }),
940
+ productId: import_v4.z.number(),
941
+ status: import_v4.z.string(),
942
+ updatedAt: zDatetime,
943
+ variantIds: import_v4.z.array(import_v4.z.number())
944
+ });
945
+ var optionSchema = import_v4.z.strictObject({
946
+ id: import_v4.z.number(),
947
+ name: import_v4.z.string(),
948
+ position: import_v4.z.number(),
949
+ productId: import_v4.z.number(),
950
+ values: import_v4.z.array(import_v4.z.string())
951
+ });
952
+ var priceAdjustmentSchema = import_v4.z.strictObject({
953
+ orderCount: import_v4.z.number().optional(),
954
+ position: import_v4.z.number(),
955
+ value: import_v4.z.string(),
956
+ valueType: import_v4.z.string()
957
+ });
958
+ var ratingsSchema = import_v4.z.union([
959
+ import_v4.z.strictObject({ judgemeAverageStarRating: import_v4.z.number(), judgemeTotalReviews: import_v4.z.number() }),
960
+ import_v4.z.strictObject({ junipAverageStarRating: import_v4.z.number(), junipTotalReviews: import_v4.z.number() }),
961
+ import_v4.z.strictObject({ klaviyoAverageStarRating: import_v4.z.number(), klaviyoTotalReviews: import_v4.z.number() }),
962
+ import_v4.z.strictObject({ looxAverageStarRating: import_v4.z.number(), looxTotalReviews: import_v4.z.number() }),
963
+ import_v4.z.strictObject({ okendoAverageStarRating: import_v4.z.number(), okendoTotalReviews: import_v4.z.number() }),
964
+ import_v4.z.strictObject({ opinewAverageStarRating: import_v4.z.number(), opinewTotalReviews: import_v4.z.number() }),
965
+ import_v4.z.strictObject({ rechargeAverageStarRating: import_v4.z.number(), rechargeTotalReviews: import_v4.z.number() }),
966
+ import_v4.z.strictObject({ reviewsioAverageStarRating: import_v4.z.number(), reviewsioTotalReviews: import_v4.z.number() }),
967
+ import_v4.z.strictObject({ stampedAverageStarRating: import_v4.z.number(), stampedTotalReviews: import_v4.z.number() }),
968
+ import_v4.z.strictObject({ yotpoAverageStarRating: import_v4.z.number(), yotpoTotalReviews: import_v4.z.number() })
969
+ ]);
970
+ var sellingPlanSchema = import_v4.z.strictObject({
971
+ description: import_v4.z.string().optional(),
972
+ id: import_v4.z.number(),
973
+ name: import_v4.z.string(),
974
+ options: import_v4.z.array(import_v4.z.strictObject({ name: import_v4.z.string(), position: import_v4.z.number(), value: import_v4.z.string() })),
975
+ orderIntervalFrequency: import_v4.z.string().optional(),
976
+ orderIntervalUnitType: import_v4.z.string().optional(),
977
+ position: import_v4.z.number().optional(),
978
+ priceAdjustments: import_v4.z.array(priceAdjustmentSchema),
979
+ shopifyVariantId: import_v4.z.string().optional()
980
+ });
981
+ var sellingPlanAllocationSchema = import_v4.z.strictObject({
982
+ compareAtPrice: import_v4.z.number(),
983
+ perDeliveryPrice: import_v4.z.number(),
984
+ price: import_v4.z.number(),
985
+ priceAdjustments: import_v4.z.array(priceAdjustmentSchema),
986
+ sellingPlanGroupId: import_v4.z.string(),
987
+ sellingPlanId: import_v4.z.number()
988
+ });
989
+ var sellingPlanGroupSchema = import_v4.z.strictObject({
990
+ appId: import_v4.z.string().optional(),
991
+ description: import_v4.z.string().optional(),
992
+ discountAmount: import_v4.z.number().optional(),
993
+ discountType: import_v4.z.string().optional(),
994
+ id: import_v4.z.string(),
995
+ name: import_v4.z.string(),
996
+ options: import_v4.z.array(optionSchema),
997
+ requiresSellingPlan: import_v4.z.boolean().optional(),
998
+ sellingPlans: import_v4.z.array(sellingPlanSchema),
999
+ variants: import_v4.z.array(import_v4.z.number())
1000
+ });
1001
+ var variantSchema = import_v4.z.strictObject({
1002
+ adminGraphqlApiId: import_v4.z.string(),
1003
+ barcode: import_v4.z.string().nullable(),
1004
+ compareAtPrice: import_v4.z.string().nullable(),
1005
+ createdAt: zDatetime,
1006
+ fulfillmentService: import_v4.z.string().nullish(),
1007
+ grams: import_v4.z.number(),
1008
+ id: import_v4.z.number(),
1009
+ imageId: import_v4.z.number().nullable(),
1010
+ inventoryItemId: import_v4.z.number().optional(),
1011
+ inventoryManagement: import_v4.z.string().nullable(),
1012
+ inventoryPolicy: import_v4.z.string(),
1013
+ inventoryQuantity: import_v4.z.number(),
1014
+ link: import_v4.z.url(),
1015
+ oldInventoryQuantity: import_v4.z.number().optional(),
1016
+ option1: import_v4.z.string(),
1017
+ option2: import_v4.z.string().nullable(),
1018
+ option3: import_v4.z.string().nullable(),
1019
+ position: import_v4.z.number(),
1020
+ price: import_v4.z.string(),
1021
+ productId: import_v4.z.number(),
1022
+ requiresShipping: import_v4.z.boolean(),
1023
+ sellingPlanAllocations: import_v4.z.array(sellingPlanAllocationSchema).optional(),
1024
+ sku: import_v4.z.string().nullable(),
1025
+ taxable: import_v4.z.boolean(),
1026
+ taxCode: import_v4.z.string().optional(),
1027
+ title: import_v4.z.string(),
1028
+ updatedAt: zDatetime,
1029
+ weight: import_v4.z.number(),
1030
+ weightUnit: import_v4.z.string().optional()
1031
+ });
1032
+ var productSchema = import_v4.z.strictObject({
1033
+ adminGraphqlApiId: import_v4.z.string(),
1034
+ bodyHtml: import_v4.z.string().nullable(),
1035
+ cacheInfo: cacheInfoSchema,
1036
+ category: categorySchema.nullish(),
1037
+ collectionIds: import_v4.z.array(import_v4.z.number()),
1038
+ createdAt: zDatetime,
1039
+ description: import_v4.z.string(),
1040
+ handle: import_v4.z.string(),
1041
+ hasVariantsThatRequiresComponents: import_v4.z.boolean().optional(),
1042
+ id: import_v4.z.number(),
1043
+ image: imageSchema.nullable(),
1044
+ images: import_v4.z.array(imageSchema).nullable(),
1045
+ link: import_v4.z.url(),
1046
+ media: import_v4.z.array(mediaSchema).optional(),
1047
+ metafields: import_v4.z.array(metafieldSchema).optional(),
1048
+ options: import_v4.z.array(optionSchema),
1049
+ owner: import_v4.z.union([import_v4.z.string(), import_v4.z.number()]),
1050
+ productType: import_v4.z.string(),
1051
+ publishedAt: zDatetime.nullable(),
1052
+ publishedScope: import_v4.z.string().optional(),
1053
+ purchaseOptions: import_v4.z.array(import_v4.z.strictObject({ discountOptions: import_v4.z.array(import_v4.z.never()) })).optional(),
1054
+ ratings: ratingsSchema.optional(),
1055
+ selectedIndexPurchasedOption: import_v4.z.number().optional(),
1056
+ sellingPlanAllocation: sellingPlanAllocationSchema.optional(),
1057
+ sellingPlanGroups: import_v4.z.array(sellingPlanGroupSchema).optional(),
1058
+ status: import_v4.z.string(),
1059
+ tags: import_v4.z.string(),
1060
+ templateSuffix: import_v4.z.string().nullable(),
1061
+ title: import_v4.z.string(),
1062
+ updatedAt: zDatetime,
1063
+ variantGids: import_v4.z.array(import_v4.z.strictObject({ adminGraphqlApiId: import_v4.z.string(), updatedAt: zDatetime })).optional(),
1064
+ variantIds: import_v4.z.array(import_v4.z.strictObject({ id: import_v4.z.number() })).optional(),
1065
+ variants: import_v4.z.array(variantSchema),
1066
+ vendor: import_v4.z.string()
1067
+ });
1068
+
1069
+ // src/schema/shopConfig.ts
1070
+ var import_v42 = require("zod/v4");
1071
+ var ShopConfig = import_v42.z.strictObject({
1072
+ activeExperiments: import_v42.z.array(
1073
+ import_v42.z.strictObject({
1074
+ data: import_v42.z.array(
1075
+ import_v42.z.strictObject({
1076
+ aliasName: import_v42.z.string(),
1077
+ cssInput: import_v42.z.string().nullish(),
1078
+ elementId: import_v42.z.coerce.number(),
1079
+ id: import_v42.z.coerce.number(),
1080
+ javascriptInput: import_v42.z.string().nullish(),
1081
+ traffic: import_v42.z.coerce.number()
1082
+ })
1083
+ ),
1084
+ id: import_v42.z.coerce.number(),
1085
+ name: import_v42.z.string(),
1086
+ pageTarget: import_v42.z.string().nullable(),
1087
+ pageTargetUrl: import_v42.z.string().nullable(),
1088
+ placeholderId: import_v42.z.coerce.number().nullable(),
1089
+ type: import_v42.z.string()
1090
+ })
1091
+ ),
1092
+ activePackages: import_v42.z.array(
1093
+ import_v42.z.strictObject({
1094
+ cancelledAt: import_v42.z.string().nullable(),
1095
+ id: import_v42.z.number(),
1096
+ installedAt: import_v42.z.string().nullable(),
1097
+ isActive: import_v42.z.boolean(),
1098
+ isBillable: import_v42.z.boolean(),
1099
+ packageId: import_v42.z.number(),
1100
+ packageName: import_v42.z.string(),
1101
+ shortName: import_v42.z.string(),
1102
+ trialDays: import_v42.z.number(),
1103
+ uninstalledAt: import_v42.z.string().nullable()
1104
+ })
1105
+ ),
1106
+ apiKey: import_v42.z.string(),
1107
+ billingVersion: import_v42.z.string(),
1108
+ cacheKey: import_v42.z.coerce.number(),
1109
+ carousel: import_v42.z.enum(["flickity", "splide"]),
1110
+ currency: import_v42.z.string(),
1111
+ currencySymbol: import_v42.z.string(),
1112
+ domain: import_v42.z.string(),
1113
+ enabledJquery: import_v42.z.boolean(),
1114
+ enabledPresentmentCurrencies: import_v42.z.array(import_v42.z.string()),
1115
+ hasSmartCollectionsEnabled: import_v42.z.boolean(),
1116
+ hasSmartSearchEnabled: import_v42.z.boolean(),
1117
+ id: import_v42.z.coerce.number(),
1118
+ integrations: import_v42.z.record(
1119
+ import_v42.z.enum([
1120
+ "attentive",
1121
+ "judgeme",
1122
+ "junip",
1123
+ "klaviyo",
1124
+ "loox",
1125
+ "okendo",
1126
+ "opinew",
1127
+ "recharge",
1128
+ "reviewsio",
1129
+ "stamped",
1130
+ "yotpo"
1131
+ ]),
1132
+ import_v42.z.boolean()
1133
+ ),
1134
+ markets: import_v42.z.strictObject({
1135
+ enabled: import_v42.z.boolean()
1136
+ }),
1137
+ moneyFormat: import_v42.z.string(),
1138
+ myshopifyDomain: import_v42.z.string(),
1139
+ primaryLocale: import_v42.z.string(),
1140
+ productGroupsEnabled: import_v42.z.enum(["no", "yes"]).transform((value) => value === "yes"),
1141
+ rechargeCustomDomain: import_v42.z.string().nullable(),
1142
+ sellingPlansEnabled: import_v42.z.boolean(),
1143
+ shopId: import_v42.z.number(),
1144
+ shopifySellingPlansEnabled: import_v42.z.boolean(),
1145
+ shopName: import_v42.z.string(),
1146
+ storefrontAccessToken: import_v42.z.string().nullable(),
1147
+ useRebuyIcons: import_v42.z.boolean()
1148
+ });
1149
+
1150
+ // src/schema/userConfig.ts
1151
+ var import_v43 = require("zod/v4");
1152
+ var UserConfig = import_v43.z.strictObject({
1153
+ shop: ShopConfig,
1154
+ smartCart: import_v43.z.unknown(),
1155
+ smartFlows: import_v43.z.array(import_v43.z.unknown())
1156
+ });
1157
+
1158
+ // src/schema/widgetData.ts
1159
+ var import_v429 = require("zod/v4");
1160
+
1161
+ // src/schema/widgets/abTestingPlaceholder.ts
1162
+ var import_v44 = require("zod/v4");
1163
+ var ABTestingPlaceholder = import_v44.z.looseObject({
1164
+ type: import_v44.z.literal("placeholder"),
1165
+ version: import_v44.z.undefined()
1166
+ });
1167
+
1168
+ // src/schema/widgets/checkoutAndBeyond/constants.ts
1169
+ var import_lodash_es = require("lodash-es");
1170
+ var import_v46 = require("zod/v4");
1171
+
1172
+ // src/schema/widgets/checkoutAndBeyond/common.ts
1173
+ var import_v45 = require("zod/v4");
889
1174
  var borderRadii = ["none", "small", "base", "large", "fullyRounded"];
890
- var borderRadius = import_v4.z.enum(borderRadii);
1175
+ var borderRadius = import_v45.z.enum(borderRadii);
891
1176
  var BorderRadius = borderRadius.enum;
892
1177
  var borderStyles = ["none", "base", "dotted", "dashed"];
893
- var borderStyle = import_v4.z.enum(borderStyles);
1178
+ var borderStyle = import_v45.z.enum(borderStyles);
894
1179
  var BorderStyle = borderStyle.enum;
895
1180
  var borderWidths = ["base", "medium", "thick"];
896
- var borderWidth = import_v4.z.enum(borderWidths);
1181
+ var borderWidth = import_v45.z.enum(borderWidths);
897
1182
  var BorderWidth = borderWidth.enum;
898
1183
  var buttonActions = [
899
1184
  "addToOrder",
@@ -906,7 +1191,7 @@ var buttonActions = [
906
1191
  "showVariants",
907
1192
  "switchToSubscription"
908
1193
  ];
909
- var buttonAction = import_v4.z.enum(buttonActions);
1194
+ var buttonAction = import_v45.z.enum(buttonActions);
910
1195
  var ButtonAction = buttonAction.enum;
911
1196
  var buttonFields = [
912
1197
  "addedToCart",
@@ -927,13 +1212,13 @@ var buttonFields = [
927
1212
  "switchToSubscriptionNoDiscount",
928
1213
  "switchToSubscriptionWithDiscount"
929
1214
  ];
930
- var buttonField = import_v4.z.enum(buttonFields);
1215
+ var buttonField = import_v45.z.enum(buttonFields);
931
1216
  var ButtonField = buttonField.enum;
932
1217
  var buttonStyles = ["primary", "secondary", "plain", "custom"];
933
- var buttonStyle = import_v4.z.enum(buttonStyles);
1218
+ var buttonStyle = import_v45.z.enum(buttonStyles);
934
1219
  var ButtonStyle = buttonStyle.enum;
935
1220
  var directions = ["columns", "rows"];
936
- var direction = import_v4.z.enum(directions);
1221
+ var direction = import_v45.z.enum(directions);
937
1222
  var Direction = direction.enum;
938
1223
  var editorModes = [
939
1224
  "checkoutExtension",
@@ -943,10 +1228,10 @@ var editorModes = [
943
1228
  "ordersIndexPage",
944
1229
  "customerProfilePage"
945
1230
  ];
946
- var editorMode = import_v4.z.enum(editorModes);
1231
+ var editorMode = import_v45.z.enum(editorModes);
947
1232
  var EditorMode = editorMode.enum;
948
1233
  var horizontalAlignments = ["start", "center", "end"];
949
- var horizontalAlignment = import_v4.z.enum(horizontalAlignments);
1234
+ var horizontalAlignment = import_v45.z.enum(horizontalAlignments);
950
1235
  var HorizontalAlignment = horizontalAlignment.enum;
951
1236
  var languageKeys = [
952
1237
  "ar",
@@ -976,13 +1261,13 @@ var languageKeys = [
976
1261
  "vi",
977
1262
  "zh"
978
1263
  ];
979
- var languageKey = import_v4.z.enum(languageKeys);
1264
+ var languageKey = import_v45.z.enum(languageKeys);
980
1265
  var LanguageKey = languageKey.enum;
981
1266
  var objectFits = ["cover", "contain"];
982
- var objectFit = import_v4.z.enum(objectFits);
1267
+ var objectFit = import_v45.z.enum(objectFits);
983
1268
  var ObjectFit = objectFit.enum;
984
1269
  var quantityInputs = ["select", "number"];
985
- var quantityInput = import_v4.z.enum(quantityInputs);
1270
+ var quantityInput = import_v45.z.enum(quantityInputs);
986
1271
  var QuantityInput = quantityInput.enum;
987
1272
  var sectionTypes = [
988
1273
  "button",
@@ -999,47 +1284,28 @@ var sectionTypes = [
999
1284
  "text",
1000
1285
  "variants"
1001
1286
  ];
1002
- var sectionType = import_v4.z.enum(sectionTypes);
1287
+ var sectionType = import_v45.z.enum(sectionTypes);
1003
1288
  var SectionType = sectionType.enum;
1004
1289
  var spacings = ["none", "extraTight", "tight", "base", "loose", "extraLoose"];
1005
- var spacing = import_v4.z.enum(spacings);
1290
+ var spacing = import_v45.z.enum(spacings);
1006
1291
  var Spacing = spacing.enum;
1007
1292
  var textAlignments = ["start", "center", "end"];
1008
- var textAlignment = import_v4.z.enum(textAlignments);
1293
+ var textAlignment = import_v45.z.enum(textAlignments);
1009
1294
  var TextAlignment = textAlignment.enum;
1010
1295
  var textColorNames = ["base", "subdued", "accent", "decorative", "success", "warning", "critical"];
1011
- var textColorName = import_v4.z.enum(textColorNames);
1296
+ var textColorName = import_v45.z.enum(textColorNames);
1012
1297
  var TextColorName = textColorName.enum;
1013
1298
  var textSizeNames = ["extraSmall", "small", "base", "medium", "large", "extraLarge"];
1014
- var textSizeName = import_v4.z.enum(textSizeNames);
1299
+ var textSizeName = import_v45.z.enum(textSizeNames);
1015
1300
  var TextSizeName = textSizeName.enum;
1016
1301
  var variantSelectors = ["menu", "button", "radio", "color", "image"];
1017
- var variantSelector = import_v4.z.enum(variantSelectors);
1302
+ var variantSelector = import_v45.z.enum(variantSelectors);
1018
1303
  var VariantSelector = variantSelector.enum;
1019
1304
  var verticalAlignments = ["top", "middle", "bottom"];
1020
- var verticalAlignment = import_v4.z.enum(verticalAlignments);
1305
+ var verticalAlignment = import_v45.z.enum(verticalAlignments);
1021
1306
  var VerticalAlignment = verticalAlignment.enum;
1022
1307
 
1023
- // src/schema/cab/image.ts
1024
- var import_uuid11 = require("uuid");
1025
- var import_v415 = require("zod/v4");
1026
-
1027
- // src/schema/cab/regex.ts
1028
- var ARRAY_INDEX_STRING = /^(0|[1-9]\d*)$/;
1029
- var DYNAMIC_TOKEN_REGEX = /^\{\{\s*[A-Za-z]+\s*\}\}$/;
1030
- var HEX_COLOR_REGEX = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/;
1031
- var HTML_TAGS_REGEX = /<[^>]*>/gi;
1032
-
1033
- // src/schema/cab/shared.ts
1034
- var import_v414 = require("zod/v4");
1035
-
1036
- // src/schema/cab/data-source.ts
1037
- var import_uuid = require("uuid");
1038
- var import_v43 = require("zod/v4");
1039
-
1040
- // src/schema/cab/constants.ts
1041
- var import_lodash_es = require("lodash-es");
1042
- var import_v42 = require("zod/v4");
1308
+ // src/schema/widgets/checkoutAndBeyond/constants.ts
1043
1309
  var DEFAULT_ENDPOINTS = [
1044
1310
  { label: "Recommended (AI)", value: "/products/recommended" },
1045
1311
  { label: "Top Sellers", value: "/products/top_sellers" },
@@ -1112,58 +1378,34 @@ var widgetTypes = [
1112
1378
  "ui_extension_line_item_editor",
1113
1379
  "ui_extension_progress_bar"
1114
1380
  ];
1115
- var widgetType = import_v42.z.enum(widgetTypes);
1381
+ var widgetType = import_v46.z.enum(widgetTypes);
1116
1382
  var WidgetType = widgetType.enum;
1117
1383
 
1118
- // src/schema/cab/data-source.ts
1119
- var CABDataSourceSection = import_v43.z.object({
1120
- dataSourceId: import_v43.z.number().nullable().default(null),
1121
- dataSourcePath: import_v43.z.string().default(DEFAULT_ENDPOINTS[0].value),
1122
- limit: import_v43.z.number().default(1),
1123
- name: import_v43.z.string().default(DEFAULT_ENDPOINTS[0].label),
1124
- sectionId: import_v43.z.uuid().default(() => (0, import_uuid.v7)()),
1125
- sectionType: import_v43.z.literal(SectionType.dataSource).default(SectionType.dataSource)
1126
- });
1384
+ // src/schema/widgets/checkoutAndBeyond/root.ts
1385
+ var import_v421 = require("zod/v4");
1127
1386
 
1128
- // src/schema/cab/layout.ts
1129
- var import_uuid2 = require("uuid");
1130
- var import_v44 = require("zod/v4");
1131
- var CABLayoutSection = import_v44.z.object({
1132
- alignment: import_v44.z.object({
1133
- horizontal: import_v44.z.enum(horizontalAlignments).default(HorizontalAlignment.start),
1134
- vertical: import_v44.z.enum(verticalAlignments).default(VerticalAlignment.top)
1135
- }).default({
1136
- horizontal: HorizontalAlignment.start,
1137
- vertical: VerticalAlignment.top
1138
- }),
1139
- border: import_v44.z.lazy(() => CABBorder),
1140
- direction: import_v44.z.enum(directions).default(Direction.rows),
1141
- name: import_v44.z.string().optional(),
1142
- padding: import_v44.z.enum(spacings).default(Spacing.none),
1143
- sectionId: import_v44.z.uuid().default(() => (0, import_uuid2.v7)()),
1144
- sections: import_v44.z.array(import_v44.z.lazy(() => CABSection)).default(() => []),
1145
- sectionType: import_v44.z.literal(SectionType.layout).default(SectionType.layout),
1146
- spacing: import_v44.z.enum(spacings).default(Spacing.base),
1147
- width: import_v44.z.number().default(100)
1148
- });
1387
+ // src/schema/widgets/checkoutAndBeyond/layout.ts
1388
+ var import_uuid12 = require("uuid");
1389
+ var import_v420 = require("zod/v4");
1149
1390
 
1150
- // src/schema/cab/offers.ts
1151
- var import_v48 = require("zod/v4");
1391
+ // src/schema/widgets/checkoutAndBeyond/shared.ts
1392
+ var import_v419 = require("zod/v4");
1152
1393
 
1153
- // src/schema/cab/products.ts
1154
- var import_uuid5 = require("uuid");
1155
- var import_v47 = require("zod/v4");
1394
+ // src/schema/widgets/checkoutAndBeyond/button.ts
1395
+ var import_uuid3 = require("uuid");
1396
+ var import_v49 = require("zod/v4");
1156
1397
 
1157
- // src/schema/cab/product.ts
1158
- var import_uuid4 = require("uuid");
1159
- var import_v46 = require("zod/v4");
1398
+ // src/schema/widgets/checkoutAndBeyond/image.ts
1399
+ var import_uuid = require("uuid");
1400
+ var import_v47 = require("zod/v4");
1160
1401
 
1161
- // src/schema/cab/text.ts
1162
- var import_lodash_es3 = require("lodash-es");
1163
- var import_uuid3 = require("uuid");
1164
- var import_v45 = require("zod/v4");
1402
+ // src/schema/widgets/checkoutAndBeyond/regex.ts
1403
+ var ARRAY_INDEX_STRING = /^(0|[1-9]\d*)$/;
1404
+ var DYNAMIC_TOKEN_REGEX = /^\{\{\s*[A-Za-z]+\s*\}\}$/;
1405
+ var HEX_COLOR_REGEX = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/;
1406
+ var HTML_TAGS_REGEX = /<[^>]*>/gi;
1165
1407
 
1166
- // src/schema/cab/utils.ts
1408
+ // src/schema/widgets/checkoutAndBeyond/utils.ts
1167
1409
  var import_lodash_es2 = require("lodash-es");
1168
1410
  var isHTML = (html = "") => {
1169
1411
  if (typeof window !== "undefined") {
@@ -1201,55 +1443,78 @@ var convertNumericObjects = (input) => {
1201
1443
  return input;
1202
1444
  };
1203
1445
 
1204
- // src/schema/cab/text.ts
1205
- var enumOrOmit = (...vals) => import_v45.z.string().transform((val) => vals.includes(val) ? val : void 0).optional();
1206
- var TiptapText = import_v45.z.object({
1207
- marks: import_v45.z.array(
1208
- import_v45.z.discriminatedUnion("type", [
1209
- import_v45.z.object({ type: import_v45.z.literal("bold") }),
1210
- import_v45.z.object({ type: import_v45.z.literal("italic") }),
1211
- import_v45.z.object({
1212
- attrs: import_v45.z.object({
1213
- class: import_v45.z.string().nullable(),
1214
- href: import_v45.z.union([import_v45.z.url(), import_v45.z.string().regex(DYNAMIC_TOKEN_REGEX)]),
1215
- rel: import_v45.z.string().default("noopener noreferrer nofollow"),
1216
- target: import_v45.z.string().default("_blank")
1217
- }),
1218
- type: import_v45.z.literal("link")
1219
- }),
1220
- import_v45.z.object({ type: import_v45.z.literal("strike") }),
1221
- import_v45.z.object({
1222
- attrs: import_v45.z.object({
1223
- color: enumOrOmit(...textColorNames).default(TextColorName.base),
1224
- fontSize: enumOrOmit(...textSizeNames).default(TextSizeName.base)
1446
+ // src/schema/widgets/checkoutAndBeyond/image.ts
1447
+ var CABImageSection = import_v47.z.object({
1448
+ altText: import_v47.z.string().refine(checkForHTML, NO_HTML).default(""),
1449
+ aspectRatio: import_v47.z.literal(1).nullable().default(null),
1450
+ border: import_v47.z.lazy(() => CABBorder),
1451
+ buttonField: import_v47.z.enum(buttonFields).optional(),
1452
+ category: import_v47.z.enum(["gallery", "icons", "payment-methods", "secure-checkout"]).nullable().default(null),
1453
+ name: import_v47.z.string().optional(),
1454
+ naturalHeight: import_v47.z.number().default(0),
1455
+ naturalWidth: import_v47.z.number().default(0),
1456
+ objectFit: import_v47.z.enum(objectFits).default(ObjectFit.cover),
1457
+ sectionId: import_v47.z.uuid().default(() => (0, import_uuid.v7)()),
1458
+ sectionType: import_v47.z.literal(SectionType.image).default(SectionType.image),
1459
+ source: import_v47.z.union([import_v47.z.url(), import_v47.z.literal(""), import_v47.z.string().regex(DYNAMIC_TOKEN_REGEX)]).default(""),
1460
+ width: import_v47.z.number().default(100)
1461
+ });
1462
+
1463
+ // src/schema/widgets/checkoutAndBeyond/text.ts
1464
+ var import_lodash_es3 = require("lodash-es");
1465
+ var import_uuid2 = require("uuid");
1466
+ var import_v48 = require("zod/v4");
1467
+ var enumOrOmit = (...vals) => import_v48.z.string().transform((val) => vals.includes(val) ? val : void 0).optional();
1468
+ var TiptapText = import_v48.z.object({
1469
+ marks: import_v48.z.union([
1470
+ import_v48.z.array(
1471
+ import_v48.z.discriminatedUnion("type", [
1472
+ import_v48.z.object({ type: import_v48.z.literal("bold") }),
1473
+ import_v48.z.object({ type: import_v48.z.literal("italic") }),
1474
+ import_v48.z.object({
1475
+ attrs: import_v48.z.object({
1476
+ class: import_v48.z.string().nullable(),
1477
+ href: import_v48.z.union([import_v48.z.url(), import_v48.z.string().regex(DYNAMIC_TOKEN_REGEX)]),
1478
+ rel: import_v48.z.string().default("noopener noreferrer nofollow"),
1479
+ target: import_v48.z.string().default("_blank")
1480
+ }),
1481
+ type: import_v48.z.literal("link")
1225
1482
  }),
1226
- type: import_v45.z.literal("textStyle")
1227
- })
1228
- ])
1229
- ).optional(),
1230
- text: import_v45.z.string().default(""),
1231
- type: import_v45.z.literal("text").default("text")
1483
+ import_v48.z.object({ type: import_v48.z.literal("strike") }),
1484
+ import_v48.z.object({
1485
+ attrs: import_v48.z.object({
1486
+ color: enumOrOmit(...textColorNames).default(TextColorName.base),
1487
+ fontSize: enumOrOmit(...textSizeNames).default(TextSizeName.base)
1488
+ }),
1489
+ type: import_v48.z.literal("textStyle")
1490
+ })
1491
+ ])
1492
+ ),
1493
+ import_v48.z.strictObject({}).transform(() => [])
1494
+ ]).optional(),
1495
+ text: import_v48.z.string().default(""),
1496
+ type: import_v48.z.literal("text").default("text")
1232
1497
  });
1233
- var TiptapParagraph = import_v45.z.object({
1234
- attrs: import_v45.z.object({
1498
+ var TiptapParagraph = import_v48.z.object({
1499
+ attrs: import_v48.z.object({
1235
1500
  textAlign: enumOrOmit(...textAlignments)
1236
1501
  }).default({ textAlign: TextAlignment.start }),
1237
- content: import_v45.z.array(TiptapText).default([]),
1238
- type: import_v45.z.literal("paragraph").default("paragraph")
1502
+ content: import_v48.z.union([import_v48.z.array(TiptapText), import_v48.z.strictObject({}).transform(() => [])]).default(() => []),
1503
+ type: import_v48.z.literal("paragraph").default("paragraph")
1239
1504
  });
1240
- var TiptapDocument = import_v45.z.object({
1241
- attrs: import_v45.z.object({
1505
+ var TiptapDocument = import_v48.z.object({
1506
+ attrs: import_v48.z.object({
1242
1507
  blockSpacing: enumOrOmit(...spacings)
1243
1508
  }).default({ blockSpacing: Spacing.base }),
1244
- content: import_v45.z.array(TiptapParagraph).default([TiptapParagraph.parse({})]),
1245
- type: import_v45.z.literal("doc").default("doc")
1509
+ content: import_v48.z.union([import_v48.z.array(TiptapParagraph), import_v48.z.strictObject({}).transform(() => [])]).default(() => [TiptapParagraph.parse({})]),
1510
+ type: import_v48.z.literal("doc").default("doc")
1246
1511
  });
1247
- var CABTextSection = import_v45.z.object({
1248
- buttonField: import_v45.z.enum(buttonFields).optional(),
1249
- content: import_v45.z.record(import_v45.z.string(), import_v45.z.union([import_v45.z.string(), TiptapDocument]).refine(checkForHTML, NO_HTML).optional()).default({ en: TiptapDocument.parse({}) }).optional(),
1250
- name: import_v45.z.string().optional(),
1251
- sectionId: import_v45.z.uuid().default(() => (0, import_uuid3.v7)()),
1252
- sectionType: import_v45.z.literal(SectionType.text).default(SectionType.text)
1512
+ var CABTextSection = import_v48.z.object({
1513
+ buttonField: import_v48.z.enum(buttonFields).optional(),
1514
+ content: import_v48.z.record(import_v48.z.string(), import_v48.z.union([import_v48.z.string(), TiptapDocument]).refine(checkForHTML, NO_HTML).optional()).default({ en: TiptapDocument.parse({}) }).optional(),
1515
+ name: import_v48.z.string().optional(),
1516
+ sectionId: import_v48.z.uuid().default(() => (0, import_uuid2.v7)()),
1517
+ sectionType: import_v48.z.literal(SectionType.text).default(SectionType.text)
1253
1518
  }).superRefine(({ buttonField: buttonField2, content }, ctx) => {
1254
1519
  if (buttonField2 === ButtonField.destinationUrl && content) {
1255
1520
  (0, import_lodash_es3.forEach)(content, (value, lang) => {
@@ -1269,57 +1534,100 @@ var CABTextSection = import_v45.z.object({
1269
1534
  }
1270
1535
  });
1271
1536
 
1272
- // src/schema/cab/product.ts
1273
- var CABProductSection = import_v46.z.object({
1274
- name: import_v46.z.string().optional(),
1275
- options: import_v46.z.array(
1276
- import_v46.z.object({
1537
+ // src/schema/widgets/checkoutAndBeyond/button.ts
1538
+ var CABButtonContent = import_v49.z.lazy(() => import_v49.z.discriminatedUnion("sectionType", [CABImageSection, CABTextSection]));
1539
+ var CABButtonSection = import_v49.z.object({
1540
+ action: import_v49.z.union([import_v49.z.literal(""), import_v49.z.enum(buttonActions)]).default(""),
1541
+ buttonStyle: import_v49.z.enum(buttonStyles).default(ButtonStyle.primary),
1542
+ custom: import_v49.z.object({
1543
+ color: import_v49.z.string().regex(HEX_COLOR_REGEX).default("#005bd3"),
1544
+ height: import_v49.z.number().default(52),
1545
+ width: import_v49.z.number().default(300)
1546
+ }).default({
1547
+ color: "#005bd3",
1548
+ height: 52,
1549
+ width: 300
1550
+ }),
1551
+ name: import_v49.z.string().optional(),
1552
+ sectionId: import_v49.z.uuid().default(() => (0, import_uuid3.v7)()),
1553
+ sections: import_v49.z.union([import_v49.z.array(CABButtonContent), import_v49.z.strictObject({}).transform(() => [])]).default(() => []),
1554
+ sectionType: import_v49.z.literal(SectionType.button).default(SectionType.button)
1555
+ });
1556
+
1557
+ // src/schema/widgets/checkoutAndBeyond/dataSource.ts
1558
+ var import_uuid4 = require("uuid");
1559
+ var import_v410 = require("zod/v4");
1560
+ var CABDataSourceSection = import_v410.z.object({
1561
+ dataSourceId: import_v410.z.number().nullable().default(null),
1562
+ dataSourcePath: import_v410.z.string().default(DEFAULT_ENDPOINTS[0].value),
1563
+ limit: import_v410.z.number().default(1),
1564
+ name: import_v410.z.string().default(DEFAULT_ENDPOINTS[0].label),
1565
+ sectionId: import_v410.z.uuid().default(() => (0, import_uuid4.v7)()),
1566
+ sectionType: import_v410.z.literal(SectionType.dataSource).default(SectionType.dataSource)
1567
+ });
1568
+
1569
+ // src/schema/widgets/checkoutAndBeyond/offers.ts
1570
+ var import_v413 = require("zod/v4");
1571
+
1572
+ // src/schema/widgets/checkoutAndBeyond/products.ts
1573
+ var import_uuid6 = require("uuid");
1574
+ var import_v412 = require("zod/v4");
1575
+
1576
+ // src/schema/widgets/checkoutAndBeyond/product.ts
1577
+ var import_uuid5 = require("uuid");
1578
+ var import_v411 = require("zod/v4");
1579
+ var CABProductSection = import_v411.z.object({
1580
+ name: import_v411.z.string().optional(),
1581
+ options: import_v411.z.array(
1582
+ import_v411.z.object({
1277
1583
  /** `name` represents `Color`, `Size`, etc. */
1278
- name: import_v46.z.string(),
1279
- optionId: import_v46.z.number(),
1280
- selector: import_v46.z.enum(variantSelectors).default(VariantSelector.menu),
1281
- values: import_v46.z.array(
1282
- import_v46.z.object({
1283
- color: import_v46.z.string().optional(),
1284
- image: import_v46.z.lazy(() => CABImageSection).optional(),
1584
+ name: import_v411.z.string(),
1585
+ optionId: import_v411.z.number(),
1586
+ selector: import_v411.z.enum(variantSelectors).default(VariantSelector.menu),
1587
+ values: import_v411.z.array(
1588
+ import_v411.z.object({
1589
+ color: import_v411.z.string().optional(),
1590
+ image: import_v411.z.lazy(() => CABImageSection).optional(),
1285
1591
  /** `name` represents `Red`, `Blue`, etc. */
1286
- name: import_v46.z.string(),
1287
- text: import_v46.z.lazy(() => CABTextSection).optional()
1592
+ name: import_v411.z.string(),
1593
+ text: import_v411.z.lazy(() => CABTextSection).optional()
1288
1594
  })
1289
1595
  )
1290
1596
  })
1291
1597
  ).default(() => []),
1292
- productId: import_v46.z.number().nullable().default(null),
1293
- sectionId: import_v46.z.uuid().default(() => (0, import_uuid4.v7)()),
1294
- sectionType: import_v46.z.literal(SectionType.product).default(SectionType.product)
1598
+ productId: import_v411.z.number().nullable().default(null),
1599
+ sectionId: import_v411.z.uuid().default(() => (0, import_uuid5.v7)()),
1600
+ sectionType: import_v411.z.literal(SectionType.product).default(SectionType.product)
1295
1601
  });
1296
1602
 
1297
- // src/schema/cab/products.ts
1298
- var CABProductsSection = import_v47.z.object({
1299
- name: import_v47.z.string().optional(),
1300
- sectionId: import_v47.z.uuid().default(() => (0, import_uuid5.v7)()),
1301
- sections: import_v47.z.array(import_v47.z.lazy(() => CABProductSection)).default(() => []),
1302
- sectionType: import_v47.z.literal(SectionType.products).default(SectionType.products)
1603
+ // src/schema/widgets/checkoutAndBeyond/products.ts
1604
+ var CABProductsSection = import_v412.z.object({
1605
+ name: import_v412.z.string().optional(),
1606
+ sectionId: import_v412.z.uuid().default(() => (0, import_uuid6.v7)()),
1607
+ sections: import_v412.z.union([import_v412.z.array(import_v412.z.lazy(() => CABProductSection)), import_v412.z.strictObject({}).transform(() => [])]).default(() => []),
1608
+ sectionType: import_v412.z.literal(SectionType.products).default(SectionType.products)
1303
1609
  });
1304
1610
 
1305
- // src/schema/cab/offers.ts
1306
- var CABOffersSection = CABLayoutSection.omit({ sections: true, sectionType: true }).extend(
1307
- import_v48.z.object({
1308
- sections: import_v48.z.array(import_v48.z.lazy(() => CABSection)).default(() => [CABDataSourceSection.parse({}), CABProductsSection.parse({})]),
1309
- sectionType: import_v48.z.literal(SectionType.offers).default(SectionType.offers)
1310
- }).shape
1611
+ // src/schema/widgets/checkoutAndBeyond/offers.ts
1612
+ var CABOffersSection = import_v413.z.lazy(
1613
+ () => CABLayoutSection.omit({ sections: true, sectionType: true }).extend(
1614
+ import_v413.z.object({
1615
+ sections: import_v413.z.union([import_v413.z.array(import_v413.z.lazy(() => CABSection)), import_v413.z.strictObject({}).transform(() => [])]).default(() => [CABDataSourceSection.parse({}), CABProductsSection.parse({})]),
1616
+ sectionType: import_v413.z.literal(SectionType.offers).default(SectionType.offers)
1617
+ }).shape
1618
+ )
1311
1619
  );
1312
1620
 
1313
- // src/schema/cab/quantity.ts
1314
- var import_uuid6 = require("uuid");
1315
- var import_v49 = require("zod/v4");
1316
- var CABQuantitySection = import_v49.z.object({
1317
- errorMessages: import_v49.z.record(
1318
- import_v49.z.string(),
1319
- import_v49.z.object({
1320
- max: import_v49.z.string().optional(),
1321
- min: import_v49.z.string().optional(),
1322
- neg: import_v49.z.string().optional()
1621
+ // src/schema/widgets/checkoutAndBeyond/quantity.ts
1622
+ var import_uuid7 = require("uuid");
1623
+ var import_v414 = require("zod/v4");
1624
+ var CABQuantitySection = import_v414.z.object({
1625
+ errorMessages: import_v414.z.record(
1626
+ import_v414.z.string(),
1627
+ import_v414.z.object({
1628
+ max: import_v414.z.string().optional(),
1629
+ min: import_v414.z.string().optional(),
1630
+ neg: import_v414.z.string().optional()
1323
1631
  })
1324
1632
  ).default({
1325
1633
  en: {
@@ -1328,64 +1636,64 @@ var CABQuantitySection = import_v49.z.object({
1328
1636
  neg: "Quantity cannot be negative"
1329
1637
  }
1330
1638
  }),
1331
- inputType: import_v49.z.enum(quantityInputs).default(QuantityInput.select),
1332
- max: import_v49.z.number().min(1).max(100).default(10),
1333
- min: import_v49.z.number().min(1).default(1),
1334
- name: import_v49.z.string().optional(),
1335
- sectionId: import_v49.z.uuid().default(() => (0, import_uuid6.v7)()),
1336
- sectionType: import_v49.z.literal(SectionType.quantity).default(SectionType.quantity)
1337
- });
1338
-
1339
- // src/schema/cab/reviews.ts
1340
- var import_uuid7 = require("uuid");
1341
- var import_v410 = require("zod/v4");
1342
- var CABReviewsSection = import_v410.z.object({
1343
- name: import_v410.z.string().optional(),
1344
- sectionId: import_v410.z.uuid().default(() => (0, import_uuid7.v7)()),
1345
- sectionType: import_v410.z.literal(SectionType.reviews).default(SectionType.reviews)
1639
+ inputType: import_v414.z.enum(quantityInputs).default(QuantityInput.select),
1640
+ max: import_v414.z.number().min(1).max(100).default(10),
1641
+ min: import_v414.z.number().min(1).default(1),
1642
+ name: import_v414.z.string().optional(),
1643
+ sectionId: import_v414.z.uuid().default(() => (0, import_uuid7.v7)()),
1644
+ sectionType: import_v414.z.literal(SectionType.quantity).default(SectionType.quantity)
1346
1645
  });
1347
1646
 
1348
- // src/schema/cab/subscription.ts
1647
+ // src/schema/widgets/checkoutAndBeyond/reviews.ts
1349
1648
  var import_uuid8 = require("uuid");
1350
- var import_v411 = require("zod/v4");
1351
- var CABSubscriptionSection = import_v411.z.object({
1352
- name: import_v411.z.string().optional(),
1353
- sectionId: import_v411.z.uuid().default(() => (0, import_uuid8.v7)()),
1354
- sectionType: import_v411.z.literal(SectionType.subscription).default(SectionType.subscription)
1649
+ var import_v415 = require("zod/v4");
1650
+ var CABReviewsSection = import_v415.z.object({
1651
+ name: import_v415.z.string().optional(),
1652
+ sectionId: import_v415.z.uuid().default(() => (0, import_uuid8.v7)()),
1653
+ sectionType: import_v415.z.literal(SectionType.reviews).default(SectionType.reviews)
1355
1654
  });
1356
1655
 
1357
- // src/schema/cab/table.ts
1656
+ // src/schema/widgets/checkoutAndBeyond/subscription.ts
1358
1657
  var import_uuid9 = require("uuid");
1359
- var import_v412 = require("zod/v4");
1360
- var CABTableSection = import_v412.z.object({
1361
- name: import_v412.z.string().optional(),
1362
- sectionId: import_v412.z.uuid().default(() => (0, import_uuid9.v7)()),
1363
- sectionType: import_v412.z.literal(SectionType.table).default(SectionType.table)
1658
+ var import_v416 = require("zod/v4");
1659
+ var CABSubscriptionSection = import_v416.z.object({
1660
+ name: import_v416.z.string().optional(),
1661
+ sectionId: import_v416.z.uuid().default(() => (0, import_uuid9.v7)()),
1662
+ sectionType: import_v416.z.literal(SectionType.subscription).default(SectionType.subscription)
1364
1663
  });
1365
1664
 
1366
- // src/schema/cab/variants.ts
1367
- var import_lodash_es4 = require("lodash-es");
1665
+ // src/schema/widgets/checkoutAndBeyond/table.ts
1368
1666
  var import_uuid10 = require("uuid");
1369
- var import_v413 = require("zod/v4");
1370
- var CABVariantsSection = import_v413.z.object({
1371
- name: import_v413.z.string().optional(),
1372
- sectionId: import_v413.z.uuid().default(() => (0, import_uuid10.v7)()),
1373
- sectionType: import_v413.z.literal(SectionType.variants).default(SectionType.variants),
1374
- selector: import_v413.z.enum((0, import_lodash_es4.slice)(variantSelectors, 0, 3)).default(VariantSelector.menu)
1667
+ var import_v417 = require("zod/v4");
1668
+ var CABTableSection = import_v417.z.object({
1669
+ name: import_v417.z.string().optional(),
1670
+ sectionId: import_v417.z.uuid().default(() => (0, import_uuid10.v7)()),
1671
+ sectionType: import_v417.z.literal(SectionType.table).default(SectionType.table)
1672
+ });
1673
+
1674
+ // src/schema/widgets/checkoutAndBeyond/variants.ts
1675
+ var import_lodash_es4 = require("lodash-es");
1676
+ var import_uuid11 = require("uuid");
1677
+ var import_v418 = require("zod/v4");
1678
+ var CABVariantsSection = import_v418.z.object({
1679
+ name: import_v418.z.string().optional(),
1680
+ sectionId: import_v418.z.uuid().default(() => (0, import_uuid11.v7)()),
1681
+ sectionType: import_v418.z.literal(SectionType.variants).default(SectionType.variants),
1682
+ selector: import_v418.z.enum((0, import_lodash_es4.slice)(variantSelectors, 0, 3)).default(VariantSelector.menu)
1375
1683
  });
1376
1684
 
1377
- // src/schema/cab/shared.ts
1378
- var CABBorder = import_v414.z.object({
1379
- radius: import_v414.z.enum(borderRadii).default(BorderRadius.base),
1380
- style: import_v414.z.enum(borderStyles).default(BorderStyle.none),
1381
- width: import_v414.z.enum(borderWidths).default(BorderWidth.base)
1685
+ // src/schema/widgets/checkoutAndBeyond/shared.ts
1686
+ var CABBorder = import_v419.z.object({
1687
+ radius: import_v419.z.enum(borderRadii).default(BorderRadius.base),
1688
+ style: import_v419.z.enum(borderStyles).default(BorderStyle.none),
1689
+ width: import_v419.z.enum(borderWidths).default(BorderWidth.base)
1382
1690
  }).default({
1383
1691
  radius: BorderRadius.base,
1384
1692
  style: BorderStyle.none,
1385
1693
  width: BorderWidth.base
1386
1694
  });
1387
- var CABSection = import_v414.z.lazy(
1388
- () => import_v414.z.discriminatedUnion("sectionType", [
1695
+ var CABSection = import_v419.z.lazy(
1696
+ () => import_v419.z.discriminatedUnion("sectionType", [
1389
1697
  CABButtonSection,
1390
1698
  CABDataSourceSection,
1391
1699
  CABImageSection,
@@ -1402,163 +1710,136 @@ var CABSection = import_v414.z.lazy(
1402
1710
  ])
1403
1711
  );
1404
1712
 
1405
- // src/schema/cab/image.ts
1406
- var CABImageSection = import_v415.z.object({
1407
- altText: import_v415.z.string().refine(checkForHTML, NO_HTML).default(""),
1408
- aspectRatio: import_v415.z.literal(1).nullable().default(null),
1409
- border: import_v415.z.lazy(() => CABBorder),
1410
- buttonField: import_v415.z.enum(buttonFields).optional(),
1411
- category: import_v415.z.enum(["gallery", "icons", "payment-methods", "secure-checkout"]).nullable().default(null),
1412
- name: import_v415.z.string().optional(),
1413
- naturalHeight: import_v415.z.number().default(0),
1414
- naturalWidth: import_v415.z.number().default(0),
1415
- objectFit: import_v415.z.enum(objectFits).default(ObjectFit.cover),
1416
- sectionId: import_v415.z.uuid().default(() => (0, import_uuid11.v7)()),
1417
- sectionType: import_v415.z.literal(SectionType.image).default(SectionType.image),
1418
- source: import_v415.z.union([import_v415.z.url(), import_v415.z.literal(""), import_v415.z.string().regex(DYNAMIC_TOKEN_REGEX)]).default(""),
1419
- width: import_v415.z.number().default(100)
1420
- });
1421
-
1422
- // src/schema/cab/button.ts
1423
- var CABButtonContent = import_v416.z.lazy(() => import_v416.z.discriminatedUnion("sectionType", [CABImageSection, CABTextSection]));
1424
- var CABButtonSection = import_v416.z.object({
1425
- action: import_v416.z.union([import_v416.z.literal(""), import_v416.z.enum(buttonActions)]).default(""),
1426
- buttonStyle: import_v416.z.enum(buttonStyles).default(ButtonStyle.primary),
1427
- custom: import_v416.z.object({
1428
- color: import_v416.z.string().regex(HEX_COLOR_REGEX).default("#005bd3"),
1429
- height: import_v416.z.number().default(52),
1430
- width: import_v416.z.number().default(300)
1713
+ // src/schema/widgets/checkoutAndBeyond/layout.ts
1714
+ var CABLayoutSection = import_v420.z.object({
1715
+ alignment: import_v420.z.object({
1716
+ horizontal: import_v420.z.enum(horizontalAlignments).default(HorizontalAlignment.start),
1717
+ vertical: import_v420.z.enum(verticalAlignments).default(VerticalAlignment.top)
1431
1718
  }).default({
1432
- color: "#005bd3",
1433
- height: 52,
1434
- width: 300
1719
+ horizontal: HorizontalAlignment.start,
1720
+ vertical: VerticalAlignment.top
1435
1721
  }),
1436
- name: import_v416.z.string().optional(),
1437
- sectionId: import_v416.z.uuid().default(() => (0, import_uuid12.v7)()),
1438
- sections: import_v416.z.array(CABButtonContent).default(() => []),
1439
- sectionType: import_v416.z.literal(SectionType.button).default(SectionType.button)
1722
+ border: import_v420.z.lazy(() => CABBorder),
1723
+ direction: import_v420.z.enum(directions).default(Direction.rows),
1724
+ name: import_v420.z.string().optional(),
1725
+ padding: import_v420.z.enum(spacings).default(Spacing.none),
1726
+ sectionId: import_v420.z.uuid().default(() => (0, import_uuid12.v7)()),
1727
+ sections: import_v420.z.union([import_v420.z.array(import_v420.z.lazy(() => CABSection)), import_v420.z.strictObject({}).transform(() => [])]).default(() => []),
1728
+ sectionType: import_v420.z.literal(SectionType.layout).default(SectionType.layout),
1729
+ spacing: import_v420.z.enum(spacings).default(Spacing.base),
1730
+ width: import_v420.z.number().default(100)
1440
1731
  });
1441
1732
 
1442
- // src/schema/cab/root.ts
1443
- var import_v417 = require("zod/v4");
1444
- var TargetArea = import_v417.z.object({
1445
- fill: import_v417.z.boolean().optional(),
1446
- flip: import_v417.z.enum(["both", "horizontal", "vertical"]).optional(),
1447
- icon: import_v417.z.string(),
1448
- label: import_v417.z.string(),
1449
- width: import_v417.z.string()
1733
+ // src/schema/widgets/checkoutAndBeyond/root.ts
1734
+ var TargetArea = import_v421.z.object({
1735
+ fill: import_v421.z.boolean().optional(),
1736
+ flip: import_v421.z.enum(["both", "horizontal", "vertical"]).optional(),
1737
+ icon: import_v421.z.string(),
1738
+ label: import_v421.z.string(),
1739
+ width: import_v421.z.string()
1450
1740
  }).default(targetAreas[EditorMode.checkoutExtension][1]);
1451
1741
  var CABRootSection = CABLayoutSection.extend(
1452
- import_v417.z.object({
1453
- editorMode: import_v417.z.enum(editorModes).default(EditorMode.checkoutExtension),
1454
- previewMode: import_v417.z.boolean().default(false),
1455
- storeId: import_v417.z.number().nullable().default(null),
1742
+ import_v421.z.object({
1743
+ editorMode: import_v421.z.enum(editorModes).default(EditorMode.checkoutExtension),
1744
+ previewMode: import_v421.z.boolean().default(false),
1745
+ storeId: import_v421.z.number().nullable().default(null),
1456
1746
  targetArea: TargetArea.nullable(),
1457
- type: import_v417.z.enum(widgetTypes).default(WidgetType.ui_extension_content_block),
1458
- version: import_v417.z.literal(2).default(2),
1459
- widgetId: import_v417.z.number().nullable().default(null)
1747
+ type: import_v421.z.enum(widgetTypes).default(WidgetType.ui_extension_content_block),
1748
+ version: import_v421.z.literal(2).default(2),
1749
+ widgetId: import_v421.z.number().nullable().default(null)
1460
1750
  }).shape
1461
1751
  );
1462
1752
 
1463
- // src/schema/shopConfig.ts
1464
- var import_v418 = require("zod/v4");
1465
- var ShopConfig = import_v418.z.strictObject({
1466
- activeExperiments: import_v418.z.array(
1467
- import_v418.z.strictObject({
1468
- data: import_v418.z.array(
1469
- import_v418.z.strictObject({
1470
- aliasName: import_v418.z.string(),
1471
- cssInput: import_v418.z.string().nullish(),
1472
- elementId: import_v418.z.coerce.number(),
1473
- id: import_v418.z.coerce.number(),
1474
- javascriptInput: import_v418.z.string().nullish(),
1475
- traffic: import_v418.z.coerce.number()
1476
- })
1477
- ),
1478
- id: import_v418.z.coerce.number(),
1479
- name: import_v418.z.string(),
1480
- pageTarget: import_v418.z.string().nullable(),
1481
- pageTargetUrl: import_v418.z.string().nullable(),
1482
- placeholderId: import_v418.z.coerce.number().nullable(),
1483
- type: import_v418.z.string()
1484
- })
1485
- ),
1486
- activePackages: import_v418.z.array(
1487
- import_v418.z.strictObject({
1488
- cancelledAt: import_v418.z.string().nullable(),
1489
- id: import_v418.z.number(),
1490
- installedAt: import_v418.z.string().nullable(),
1491
- isActive: import_v418.z.boolean(),
1492
- isBillable: import_v418.z.boolean(),
1493
- packageId: import_v418.z.number(),
1494
- packageName: import_v418.z.string(),
1495
- shortName: import_v418.z.string(),
1496
- trialDays: import_v418.z.number(),
1497
- uninstalledAt: import_v418.z.string().nullable()
1498
- })
1499
- ),
1500
- apiKey: import_v418.z.string(),
1501
- billingVersion: import_v418.z.string(),
1502
- cacheKey: import_v418.z.coerce.number(),
1503
- carousel: import_v418.z.enum(["flickity", "splide"]),
1504
- currency: import_v418.z.string(),
1505
- currencySymbol: import_v418.z.string(),
1506
- domain: import_v418.z.string(),
1507
- enabledJquery: import_v418.z.boolean(),
1508
- enabledPresentmentCurrencies: import_v418.z.array(import_v418.z.string()),
1509
- hasSmartCollectionsEnabled: import_v418.z.boolean(),
1510
- hasSmartSearchEnabled: import_v418.z.boolean(),
1511
- id: import_v418.z.coerce.number(),
1512
- integrations: import_v418.z.record(
1513
- import_v418.z.enum([
1514
- "attentive",
1515
- "judgeme",
1516
- "junip",
1517
- "klaviyo",
1518
- "loox",
1519
- "okendo",
1520
- "opinew",
1521
- "recharge",
1522
- "reviewsio",
1523
- "stamped",
1524
- "yotpo"
1525
- ]),
1526
- import_v418.z.boolean()
1527
- ),
1528
- markets: import_v418.z.strictObject({
1529
- enabled: import_v418.z.boolean()
1753
+ // src/schema/widgets/checkoutExtension.ts
1754
+ var import_v422 = require("zod/v4");
1755
+ var CheckoutExtension = import_v422.z.looseObject({
1756
+ type: import_v422.z.literal(WidgetType.shopify_checkout_extension).default(WidgetType.shopify_checkout_extension),
1757
+ version: import_v422.z.undefined()
1758
+ });
1759
+
1760
+ // src/schema/widgets/contentBlock.ts
1761
+ var import_v423 = require("zod/v4");
1762
+ var ContentBlock = import_v423.z.object({
1763
+ blockSpacing: import_v423.z.enum(spacings),
1764
+ imageBlocks: import_v423.z.union([
1765
+ import_v423.z.array(
1766
+ import_v423.z.object({
1767
+ altText: import_v423.z.string().nullable(),
1768
+ description: import_v423.z.string().nullable(),
1769
+ id: import_v423.z.uuid(),
1770
+ imagePlacement: import_v423.z.enum(["top", "right", "bottom", "left"]),
1771
+ imageSize: import_v423.z.number(),
1772
+ imageUrl: import_v423.z.url(),
1773
+ textAlignment: import_v423.z.enum(["left", "center", "right"]),
1774
+ textSize: import_v423.z.enum(textSizeNames)
1775
+ })
1776
+ ),
1777
+ import_v423.z.strictObject({}).transform(() => [])
1778
+ ]),
1779
+ imageLayout: import_v423.z.enum(["row", "column"]),
1780
+ language: import_v423.z.object({
1781
+ description: import_v423.z.string(),
1782
+ superTitle: import_v423.z.string(),
1783
+ title: import_v423.z.string()
1530
1784
  }),
1531
- moneyFormat: import_v418.z.string(),
1532
- myshopifyDomain: import_v418.z.string(),
1533
- primaryLocale: import_v418.z.string(),
1534
- productGroupsEnabled: import_v418.z.enum(["no", "yes"]).transform((value) => value === "yes"),
1535
- rechargeCustomDomain: import_v418.z.string().nullable(),
1536
- sellingPlansEnabled: import_v418.z.boolean(),
1537
- shopId: import_v418.z.number(),
1538
- shopifySellingPlansEnabled: import_v418.z.boolean(),
1539
- shopName: import_v418.z.string(),
1540
- storefrontAccessToken: import_v418.z.string().nullable(),
1541
- useRebuyIcons: import_v418.z.boolean()
1785
+ previewMode: import_v423.z.boolean(),
1786
+ type: import_v423.z.literal(WidgetType.ui_extension_content_block).default(WidgetType.ui_extension_content_block),
1787
+ version: import_v423.z.literal(1)
1542
1788
  });
1543
1789
 
1544
- // src/schema/userConfig.ts
1545
- var import_v419 = require("zod/v4");
1546
- var UserConfig = import_v419.z.strictObject({
1547
- shop: ShopConfig,
1548
- smartCart: import_v419.z.unknown(),
1549
- smartFlows: import_v419.z.array(import_v419.z.unknown())
1790
+ // src/schema/widgets/giftWithPurchase.ts
1791
+ var import_v424 = require("zod/v4");
1792
+ var GiftWithPurchase = import_v424.z.looseObject({
1793
+ type: import_v424.z.literal(WidgetType.gift_with_purchase).default(WidgetType.gift_with_purchase),
1794
+ version: import_v424.z.undefined()
1550
1795
  });
1551
1796
 
1552
- // src/schema/widgetSettings.ts
1553
- var import_v420 = require("zod/v4");
1554
- var LegacyV1Widget = import_v420.z.discriminatedUnion("type", [
1555
- import_v420.z.object({ type: import_v420.z.literal(WidgetType.gift_with_purchase), version: import_v420.z.literal(1) }),
1556
- import_v420.z.object({ type: import_v420.z.literal(WidgetType.shopify_checkout_extension), version: import_v420.z.literal(1) }),
1557
- import_v420.z.object({ type: import_v420.z.literal(WidgetType.ui_extension_ad), version: import_v420.z.literal(1) }),
1558
- import_v420.z.object({ type: import_v420.z.literal(WidgetType.ui_extension_button), version: import_v420.z.literal(1) }),
1559
- import_v420.z.object({ type: import_v420.z.literal(WidgetType.ui_extension_content_block), version: import_v420.z.literal(1) }),
1560
- import_v420.z.object({ type: import_v420.z.literal(WidgetType.ui_extension_line_item_editor), version: import_v420.z.literal(1) }),
1561
- import_v420.z.object({ type: import_v420.z.literal(WidgetType.ui_extension_progress_bar), version: import_v420.z.literal(1) })
1797
+ // src/schema/widgets/lineItemEditor.ts
1798
+ var import_v425 = require("zod/v4");
1799
+ var LineItemEditor = import_v425.z.looseObject({
1800
+ type: import_v425.z.literal(WidgetType.ui_extension_line_item_editor).default(WidgetType.ui_extension_line_item_editor),
1801
+ version: import_v425.z.literal(1)
1802
+ });
1803
+
1804
+ // src/schema/widgets/progressBar.ts
1805
+ var import_v426 = require("zod/v4");
1806
+ var ProgressBar = import_v426.z.looseObject({
1807
+ type: import_v426.z.literal(WidgetType.ui_extension_progress_bar).default(WidgetType.ui_extension_progress_bar),
1808
+ version: import_v426.z.literal(1)
1809
+ });
1810
+
1811
+ // src/schema/widgets/rebuyButton.ts
1812
+ var import_v427 = require("zod/v4");
1813
+ var RebuyButton = import_v427.z.looseObject({
1814
+ type: import_v427.z.literal(WidgetType.ui_extension_button).default(WidgetType.ui_extension_button),
1815
+ version: import_v427.z.literal(1)
1816
+ });
1817
+
1818
+ // src/schema/widgets/rebuyMonetize.ts
1819
+ var import_v428 = require("zod/v4");
1820
+ var RebuyMonetize = import_v428.z.looseObject({
1821
+ type: import_v428.z.literal(WidgetType.ui_extension_ad).default(WidgetType.ui_extension_ad),
1822
+ version: import_v428.z.literal(1)
1823
+ });
1824
+
1825
+ // src/schema/widgetData.ts
1826
+ var extensionWidgetTypes = [
1827
+ "placeholder",
1828
+ WidgetType.gift_with_purchase,
1829
+ WidgetType.shopify_checkout_extension,
1830
+ WidgetType.ui_extension_ad,
1831
+ WidgetType.ui_extension_button,
1832
+ WidgetType.ui_extension_content_block,
1833
+ WidgetType.ui_extension_line_item_editor,
1834
+ WidgetType.ui_extension_progress_bar
1835
+ ];
1836
+ var LegacyV0Widget = import_v429.z.discriminatedUnion("type", [ABTestingPlaceholder, CheckoutExtension, GiftWithPurchase]);
1837
+ var LegacyV1Widget = import_v429.z.discriminatedUnion("type", [
1838
+ ContentBlock,
1839
+ LineItemEditor,
1840
+ ProgressBar,
1841
+ RebuyButton,
1842
+ RebuyMonetize
1562
1843
  ]);
1563
- var WidgetSettings = import_v420.z.discriminatedUnion("version", [LegacyV1Widget, CABRootSection]);
1844
+ var WidgetData = import_v429.z.discriminatedUnion("version", [LegacyV0Widget, LegacyV1Widget, CABRootSection]);
1564
1845
  //# sourceMappingURL=index.js.map