@rebuy/rebuy 2.5.0-rc.2 → 2.5.0-rc.4

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 (90) hide show
  1. package/dist/index.js +526 -341
  2. package/dist/index.js.map +4 -4
  3. package/dist/index.mjs +526 -341
  4. package/dist/index.mjs.map +4 -4
  5. package/dist/schema/index.d.ts +2 -1
  6. package/dist/schema/index.d.ts.map +1 -1
  7. package/dist/schema/product.d.ts +382 -0
  8. package/dist/schema/product.d.ts.map +1 -0
  9. package/dist/schema/shopConfig.d.ts +5 -5
  10. package/dist/schema/shopConfig.d.ts.map +1 -1
  11. package/dist/schema/userConfig.d.ts +5 -5
  12. package/dist/schema/widgetData.d.ts +84 -101
  13. package/dist/schema/widgetData.d.ts.map +1 -1
  14. package/dist/schema/widgets/abTestingPlaceholder.d.ts +0 -1
  15. package/dist/schema/widgets/abTestingPlaceholder.d.ts.map +1 -1
  16. package/dist/schema/widgets/checkout-and-beyond/button.d.ts.map +1 -0
  17. package/dist/schema/widgets/{checkoutAndBeyond → checkout-and-beyond}/common.d.ts +6 -6
  18. package/dist/schema/widgets/checkout-and-beyond/common.d.ts.map +1 -0
  19. package/dist/schema/widgets/checkout-and-beyond/constants.d.ts.map +1 -0
  20. package/dist/schema/widgets/checkout-and-beyond/dataSource.d.ts.map +1 -0
  21. package/dist/schema/widgets/checkout-and-beyond/image.d.ts.map +1 -0
  22. package/dist/schema/widgets/checkout-and-beyond/index.d.ts.map +1 -0
  23. package/dist/schema/widgets/checkout-and-beyond/layout.d.ts.map +1 -0
  24. package/dist/schema/widgets/{checkoutAndBeyond → checkout-and-beyond}/offers.d.ts +1 -1
  25. package/dist/schema/widgets/checkout-and-beyond/offers.d.ts.map +1 -0
  26. package/dist/schema/widgets/{checkoutAndBeyond → checkout-and-beyond}/product.d.ts +1 -1
  27. package/dist/schema/widgets/checkout-and-beyond/product.d.ts.map +1 -0
  28. package/dist/schema/widgets/{checkoutAndBeyond → checkout-and-beyond}/products.d.ts +1 -1
  29. package/dist/schema/widgets/checkout-and-beyond/products.d.ts.map +1 -0
  30. package/dist/schema/widgets/checkout-and-beyond/quantity.d.ts.map +1 -0
  31. package/dist/schema/widgets/checkout-and-beyond/regex.d.ts.map +1 -0
  32. package/dist/schema/widgets/checkout-and-beyond/reviews.d.ts.map +1 -0
  33. package/dist/schema/widgets/checkout-and-beyond/root.d.ts.map +1 -0
  34. package/dist/schema/widgets/checkout-and-beyond/shared.d.ts.map +1 -0
  35. package/dist/schema/widgets/checkout-and-beyond/subscription.d.ts.map +1 -0
  36. package/dist/schema/widgets/checkout-and-beyond/table.d.ts.map +1 -0
  37. package/dist/schema/widgets/checkout-and-beyond/text.d.ts.map +1 -0
  38. package/dist/schema/widgets/checkout-and-beyond/utils.d.ts.map +1 -0
  39. package/dist/schema/widgets/{checkoutAndBeyond → checkout-and-beyond}/variants.d.ts +1 -1
  40. package/dist/schema/widgets/checkout-and-beyond/variants.d.ts.map +1 -0
  41. package/dist/schema/widgets/checkoutExtension.d.ts +0 -1
  42. package/dist/schema/widgets/checkoutExtension.d.ts.map +1 -1
  43. package/dist/schema/widgets/contentBlock.d.ts +132 -1
  44. package/dist/schema/widgets/contentBlock.d.ts.map +1 -1
  45. package/dist/schema/widgets/giftWithPurchase.d.ts +0 -1
  46. package/dist/schema/widgets/giftWithPurchase.d.ts.map +1 -1
  47. package/dist/schema/widgets/lineItemEditor.d.ts +0 -1
  48. package/dist/schema/widgets/lineItemEditor.d.ts.map +1 -1
  49. package/dist/schema/widgets/progressBar.d.ts +0 -1
  50. package/dist/schema/widgets/progressBar.d.ts.map +1 -1
  51. package/dist/schema/widgets/rebuyButton.d.ts +87 -1
  52. package/dist/schema/widgets/rebuyButton.d.ts.map +1 -1
  53. package/dist/schema/widgets/rebuyMonetize.d.ts +0 -1
  54. package/dist/schema/widgets/rebuyMonetize.d.ts.map +1 -1
  55. package/package.json +1 -1
  56. package/dist/schema/widgets/checkoutAndBeyond/button.d.ts.map +0 -1
  57. package/dist/schema/widgets/checkoutAndBeyond/common.d.ts.map +0 -1
  58. package/dist/schema/widgets/checkoutAndBeyond/constants.d.ts.map +0 -1
  59. package/dist/schema/widgets/checkoutAndBeyond/dataSource.d.ts.map +0 -1
  60. package/dist/schema/widgets/checkoutAndBeyond/image.d.ts.map +0 -1
  61. package/dist/schema/widgets/checkoutAndBeyond/index.d.ts.map +0 -1
  62. package/dist/schema/widgets/checkoutAndBeyond/layout.d.ts.map +0 -1
  63. package/dist/schema/widgets/checkoutAndBeyond/offers.d.ts.map +0 -1
  64. package/dist/schema/widgets/checkoutAndBeyond/product.d.ts.map +0 -1
  65. package/dist/schema/widgets/checkoutAndBeyond/products.d.ts.map +0 -1
  66. package/dist/schema/widgets/checkoutAndBeyond/quantity.d.ts.map +0 -1
  67. package/dist/schema/widgets/checkoutAndBeyond/regex.d.ts.map +0 -1
  68. package/dist/schema/widgets/checkoutAndBeyond/reviews.d.ts.map +0 -1
  69. package/dist/schema/widgets/checkoutAndBeyond/root.d.ts.map +0 -1
  70. package/dist/schema/widgets/checkoutAndBeyond/shared.d.ts.map +0 -1
  71. package/dist/schema/widgets/checkoutAndBeyond/subscription.d.ts.map +0 -1
  72. package/dist/schema/widgets/checkoutAndBeyond/table.d.ts.map +0 -1
  73. package/dist/schema/widgets/checkoutAndBeyond/text.d.ts.map +0 -1
  74. package/dist/schema/widgets/checkoutAndBeyond/utils.d.ts.map +0 -1
  75. package/dist/schema/widgets/checkoutAndBeyond/variants.d.ts.map +0 -1
  76. /package/dist/schema/widgets/{checkoutAndBeyond → checkout-and-beyond}/button.d.ts +0 -0
  77. /package/dist/schema/widgets/{checkoutAndBeyond → checkout-and-beyond}/constants.d.ts +0 -0
  78. /package/dist/schema/widgets/{checkoutAndBeyond → checkout-and-beyond}/dataSource.d.ts +0 -0
  79. /package/dist/schema/widgets/{checkoutAndBeyond → checkout-and-beyond}/image.d.ts +0 -0
  80. /package/dist/schema/widgets/{checkoutAndBeyond → checkout-and-beyond}/index.d.ts +0 -0
  81. /package/dist/schema/widgets/{checkoutAndBeyond → checkout-and-beyond}/layout.d.ts +0 -0
  82. /package/dist/schema/widgets/{checkoutAndBeyond → checkout-and-beyond}/quantity.d.ts +0 -0
  83. /package/dist/schema/widgets/{checkoutAndBeyond → checkout-and-beyond}/regex.d.ts +0 -0
  84. /package/dist/schema/widgets/{checkoutAndBeyond → checkout-and-beyond}/reviews.d.ts +0 -0
  85. /package/dist/schema/widgets/{checkoutAndBeyond → checkout-and-beyond}/root.d.ts +0 -0
  86. /package/dist/schema/widgets/{checkoutAndBeyond → checkout-and-beyond}/shared.d.ts +0 -0
  87. /package/dist/schema/widgets/{checkoutAndBeyond → checkout-and-beyond}/subscription.d.ts +0 -0
  88. /package/dist/schema/widgets/{checkoutAndBeyond → checkout-and-beyond}/table.d.ts +0 -0
  89. /package/dist/schema/widgets/{checkoutAndBeyond → checkout-and-beyond}/text.d.ts +0 -0
  90. /package/dist/schema/widgets/{checkoutAndBeyond → checkout-and-beyond}/utils.d.ts +0 -0
package/dist/index.mjs CHANGED
@@ -734,57 +734,230 @@ var RebuyClient = class {
734
734
  }
735
735
  };
736
736
 
737
- // src/schema/shopConfig.ts
737
+ // src/schema/product.ts
738
738
  import { z } from "zod/v4";
739
- var ShopConfig = z.strictObject({
740
- activeExperiments: z.array(
741
- z.strictObject({
742
- data: z.array(
743
- z.strictObject({
744
- aliasName: z.string(),
745
- cssInput: z.string().nullish(),
746
- elementId: z.coerce.number(),
747
- id: z.coerce.number(),
748
- javascriptInput: z.string().nullish(),
749
- traffic: z.coerce.number()
739
+ var zDatetime = z.iso.datetime({ offset: true });
740
+ var cacheInfoSchema = z.object({
741
+ cachedAtTime: z.union([z.string(), z.number()]),
742
+ cacheExpires: z.union([z.string(), z.number()]).optional(),
743
+ cacheKey: z.string(),
744
+ cacheKeyReadable: z.string(),
745
+ cacheType: z.string().optional(),
746
+ loadedOptions: z.record(z.string(), z.boolean()).optional()
747
+ });
748
+ var categorySchema = z.object({
749
+ adminGraphqlApiId: z.string(),
750
+ fullName: z.string(),
751
+ name: z.string()
752
+ });
753
+ var metafieldSchema = z.object({
754
+ key: z.string(),
755
+ namespace: z.string(),
756
+ type: z.string(),
757
+ value: z.string()
758
+ });
759
+ var imageSchema = z.object({
760
+ adminGraphqlApiId: z.string(),
761
+ alt: z.string().nullable(),
762
+ createdAt: zDatetime.optional(),
763
+ height: z.number(),
764
+ id: z.number(),
765
+ metafields: z.array(metafieldSchema).optional(),
766
+ position: z.number(),
767
+ productId: z.number(),
768
+ src: z.url(),
769
+ updatedAt: zDatetime.optional(),
770
+ variantIds: z.array(z.number()),
771
+ width: z.number()
772
+ });
773
+ var mediaSchema = z.object({
774
+ adminGraphqlApiId: z.string(),
775
+ alt: z.string().nullable(),
776
+ createdAt: zDatetime,
777
+ id: z.number(),
778
+ mediaContentType: z.string(),
779
+ position: z.number(),
780
+ previewImage: z.object({ height: z.number(), src: z.url(), status: z.string(), width: z.number() }),
781
+ productId: z.number(),
782
+ status: z.string(),
783
+ updatedAt: zDatetime,
784
+ variantIds: z.array(z.number())
785
+ });
786
+ var optionSchema = z.object({
787
+ id: z.number(),
788
+ name: z.string(),
789
+ position: z.number(),
790
+ productId: z.number(),
791
+ values: z.array(z.string())
792
+ });
793
+ var priceAdjustmentSchema = z.object({
794
+ orderCount: z.number().optional(),
795
+ position: z.number(),
796
+ value: z.string(),
797
+ valueType: z.string()
798
+ });
799
+ var ratingsSchema = z.union([
800
+ z.object({ judgemeAverageStarRating: z.number(), judgemeTotalReviews: z.number() }),
801
+ z.object({ junipAverageStarRating: z.number(), junipTotalReviews: z.number() }),
802
+ z.object({ klaviyoAverageStarRating: z.number(), klaviyoTotalReviews: z.number() }),
803
+ z.object({ looxAverageStarRating: z.number(), looxTotalReviews: z.number() }),
804
+ z.object({ okendoAverageStarRating: z.number(), okendoTotalReviews: z.number() }),
805
+ z.object({ opinewAverageStarRating: z.number(), opinewTotalReviews: z.number() }),
806
+ z.object({ rechargeAverageStarRating: z.number(), rechargeTotalReviews: z.number() }),
807
+ z.object({ reviewsioAverageStarRating: z.number(), reviewsioTotalReviews: z.number() }),
808
+ z.object({ stampedAverageStarRating: z.number(), stampedTotalReviews: z.number() }),
809
+ z.object({ yotpoAverageStarRating: z.number(), yotpoTotalReviews: z.number() })
810
+ ]);
811
+ var sellingPlanSchema = z.object({
812
+ description: z.string().optional(),
813
+ id: z.number(),
814
+ name: z.string(),
815
+ options: z.array(z.object({ name: z.string(), position: z.number(), value: z.string() })),
816
+ orderIntervalFrequency: z.string().optional(),
817
+ orderIntervalUnitType: z.string().optional(),
818
+ position: z.number().optional(),
819
+ priceAdjustments: z.array(priceAdjustmentSchema),
820
+ shopifyVariantId: z.string().optional()
821
+ });
822
+ var sellingPlanAllocationSchema = z.object({
823
+ compareAtPrice: z.number(),
824
+ perDeliveryPrice: z.number(),
825
+ price: z.number(),
826
+ priceAdjustments: z.array(priceAdjustmentSchema),
827
+ sellingPlanGroupId: z.string(),
828
+ sellingPlanId: z.number()
829
+ });
830
+ var sellingPlanGroupSchema = z.object({
831
+ appId: z.string().optional(),
832
+ description: z.string().optional(),
833
+ discountAmount: z.number().optional(),
834
+ discountType: z.string().optional(),
835
+ id: z.string(),
836
+ name: z.string(),
837
+ options: z.array(optionSchema),
838
+ requiresSellingPlan: z.boolean().optional(),
839
+ sellingPlans: z.array(sellingPlanSchema),
840
+ variants: z.array(z.number())
841
+ });
842
+ var variantSchema = z.object({
843
+ adminGraphqlApiId: z.string(),
844
+ barcode: z.string().nullable(),
845
+ compareAtPrice: z.string().nullable(),
846
+ createdAt: zDatetime,
847
+ fulfillmentService: z.string().nullish(),
848
+ grams: z.number(),
849
+ id: z.number(),
850
+ imageId: z.number().nullable(),
851
+ inventoryItemId: z.number().optional(),
852
+ inventoryManagement: z.string().nullable(),
853
+ inventoryPolicy: z.string(),
854
+ inventoryQuantity: z.number(),
855
+ link: z.url(),
856
+ oldInventoryQuantity: z.number().optional(),
857
+ option1: z.string(),
858
+ option2: z.string().nullable(),
859
+ option3: z.string().nullable(),
860
+ position: z.number(),
861
+ price: z.string(),
862
+ productId: z.number(),
863
+ requiresShipping: z.boolean(),
864
+ sellingPlanAllocations: z.array(sellingPlanAllocationSchema).optional(),
865
+ sku: z.string().nullable(),
866
+ taxable: z.boolean(),
867
+ taxCode: z.string().optional(),
868
+ title: z.string(),
869
+ updatedAt: zDatetime,
870
+ weight: z.number(),
871
+ weightUnit: z.string().optional()
872
+ });
873
+ var productSchema = z.object({
874
+ adminGraphqlApiId: z.string(),
875
+ bodyHtml: z.string().nullable(),
876
+ cacheInfo: cacheInfoSchema,
877
+ category: categorySchema.nullish(),
878
+ collectionIds: z.array(z.number()),
879
+ createdAt: zDatetime,
880
+ description: z.string(),
881
+ handle: z.string(),
882
+ hasVariantsThatRequiresComponents: z.boolean().optional(),
883
+ id: z.number(),
884
+ image: imageSchema.nullable(),
885
+ images: z.array(imageSchema).nullable(),
886
+ link: z.url(),
887
+ media: z.array(mediaSchema).optional(),
888
+ metafields: z.array(metafieldSchema).optional(),
889
+ options: z.array(optionSchema),
890
+ owner: z.union([z.string(), z.number()]),
891
+ productType: z.string(),
892
+ publishedAt: zDatetime.nullable(),
893
+ publishedScope: z.string().optional(),
894
+ purchaseOptions: z.array(z.object({ discountOptions: z.array(z.never()) })).optional(),
895
+ ratings: ratingsSchema.optional(),
896
+ selectedIndexPurchasedOption: z.number().optional(),
897
+ sellingPlanAllocation: sellingPlanAllocationSchema.optional(),
898
+ sellingPlanGroups: z.array(sellingPlanGroupSchema).optional(),
899
+ status: z.string(),
900
+ tags: z.string(),
901
+ templateSuffix: z.string().nullable(),
902
+ title: z.string(),
903
+ updatedAt: zDatetime,
904
+ variantGids: z.array(z.object({ adminGraphqlApiId: z.string(), updatedAt: zDatetime })).optional(),
905
+ variantIds: z.array(z.object({ id: z.number() })).optional(),
906
+ variants: z.array(variantSchema),
907
+ vendor: z.string()
908
+ });
909
+
910
+ // src/schema/shopConfig.ts
911
+ import { z as z2 } from "zod/v4";
912
+ var ShopConfig = z2.object({
913
+ activeExperiments: z2.array(
914
+ z2.object({
915
+ data: z2.array(
916
+ z2.object({
917
+ aliasName: z2.string(),
918
+ cssInput: z2.string().nullish(),
919
+ elementId: z2.coerce.number(),
920
+ id: z2.coerce.number(),
921
+ javascriptInput: z2.string().nullish(),
922
+ traffic: z2.coerce.number()
750
923
  })
751
924
  ),
752
- id: z.coerce.number(),
753
- name: z.string(),
754
- pageTarget: z.string().nullable(),
755
- pageTargetUrl: z.string().nullable(),
756
- placeholderId: z.coerce.number().nullable(),
757
- type: z.string()
925
+ id: z2.coerce.number(),
926
+ name: z2.string(),
927
+ pageTarget: z2.string().nullable(),
928
+ pageTargetUrl: z2.string().nullable(),
929
+ placeholderId: z2.coerce.number().nullable(),
930
+ type: z2.string()
758
931
  })
759
932
  ),
760
- activePackages: z.array(
761
- z.strictObject({
762
- cancelledAt: z.string().nullable(),
763
- id: z.number(),
764
- installedAt: z.string().nullable(),
765
- isActive: z.boolean(),
766
- isBillable: z.boolean(),
767
- packageId: z.number(),
768
- packageName: z.string(),
769
- shortName: z.string(),
770
- trialDays: z.number(),
771
- uninstalledAt: z.string().nullable()
933
+ activePackages: z2.array(
934
+ z2.object({
935
+ cancelledAt: z2.string().nullable(),
936
+ id: z2.number(),
937
+ installedAt: z2.string().nullable(),
938
+ isActive: z2.boolean(),
939
+ isBillable: z2.boolean(),
940
+ packageId: z2.number(),
941
+ packageName: z2.string(),
942
+ shortName: z2.string(),
943
+ trialDays: z2.number(),
944
+ uninstalledAt: z2.string().nullable()
772
945
  })
773
946
  ),
774
- apiKey: z.string(),
775
- billingVersion: z.string(),
776
- cacheKey: z.coerce.number(),
777
- carousel: z.enum(["flickity", "splide"]),
778
- currency: z.string(),
779
- currencySymbol: z.string(),
780
- domain: z.string(),
781
- enabledJquery: z.boolean(),
782
- enabledPresentmentCurrencies: z.array(z.string()),
783
- hasSmartCollectionsEnabled: z.boolean(),
784
- hasSmartSearchEnabled: z.boolean(),
785
- id: z.coerce.number(),
786
- integrations: z.record(
787
- z.enum([
947
+ apiKey: z2.string(),
948
+ billingVersion: z2.string(),
949
+ cacheKey: z2.coerce.number(),
950
+ carousel: z2.enum(["flickity", "splide"]),
951
+ currency: z2.string(),
952
+ currencySymbol: z2.string(),
953
+ domain: z2.string(),
954
+ enabledJquery: z2.boolean(),
955
+ enabledPresentmentCurrencies: z2.array(z2.string()),
956
+ hasSmartCollectionsEnabled: z2.boolean(),
957
+ hasSmartSearchEnabled: z2.boolean(),
958
+ id: z2.coerce.number(),
959
+ integrations: z2.record(
960
+ z2.enum([
788
961
  "attentive",
789
962
  "judgeme",
790
963
  "junip",
@@ -797,56 +970,55 @@ var ShopConfig = z.strictObject({
797
970
  "stamped",
798
971
  "yotpo"
799
972
  ]),
800
- z.boolean()
973
+ z2.boolean()
801
974
  ),
802
- markets: z.strictObject({
803
- enabled: z.boolean()
975
+ markets: z2.object({
976
+ enabled: z2.boolean()
804
977
  }),
805
- moneyFormat: z.string(),
806
- myshopifyDomain: z.string(),
807
- primaryLocale: z.string(),
808
- productGroupsEnabled: z.enum(["no", "yes"]).transform((value) => value === "yes"),
809
- rechargeCustomDomain: z.string().nullable(),
810
- sellingPlansEnabled: z.boolean(),
811
- shopId: z.number(),
812
- shopifySellingPlansEnabled: z.boolean(),
813
- shopName: z.string(),
814
- storefrontAccessToken: z.string().nullable(),
815
- useRebuyIcons: z.boolean()
978
+ moneyFormat: z2.string(),
979
+ myshopifyDomain: z2.string(),
980
+ primaryLocale: z2.string(),
981
+ productGroupsEnabled: z2.enum(["no", "yes"]).transform((value) => value === "yes"),
982
+ rechargeCustomDomain: z2.string().nullable(),
983
+ sellingPlansEnabled: z2.boolean(),
984
+ shopId: z2.number(),
985
+ shopifySellingPlansEnabled: z2.boolean(),
986
+ shopName: z2.string(),
987
+ storefrontAccessToken: z2.string().nullable(),
988
+ useRebuyIcons: z2.boolean()
816
989
  });
817
990
 
818
991
  // src/schema/userConfig.ts
819
- import { z as z2 } from "zod/v4";
820
- var UserConfig = z2.strictObject({
992
+ import { z as z3 } from "zod/v4";
993
+ var UserConfig = z3.strictObject({
821
994
  shop: ShopConfig,
822
- smartCart: z2.unknown(),
823
- smartFlows: z2.array(z2.unknown())
995
+ smartCart: z3.unknown(),
996
+ smartFlows: z3.array(z3.unknown())
824
997
  });
825
998
 
826
999
  // src/schema/widgetData.ts
827
- import { z as z28 } from "zod/v4";
1000
+ import { z as z29 } from "zod/v4";
828
1001
 
829
1002
  // src/schema/widgets/abTestingPlaceholder.ts
830
- import { z as z3 } from "zod/v4";
831
- var ABTestingPlaceholder = z3.looseObject({
832
- type: z3.literal("placeholder"),
833
- version: z3.undefined()
1003
+ import { z as z4 } from "zod/v4";
1004
+ var ABTestingPlaceholder = z4.looseObject({
1005
+ type: z4.literal("placeholder")
834
1006
  });
835
1007
 
836
- // src/schema/widgets/checkoutAndBeyond/constants.ts
1008
+ // src/schema/widgets/checkout-and-beyond/constants.ts
837
1009
  import { uniqBy } from "lodash-es";
838
- import { z as z5 } from "zod/v4";
1010
+ import { z as z6 } from "zod/v4";
839
1011
 
840
- // src/schema/widgets/checkoutAndBeyond/common.ts
841
- import { z as z4 } from "zod/v4";
1012
+ // src/schema/widgets/checkout-and-beyond/common.ts
1013
+ import { z as z5 } from "zod/v4";
842
1014
  var borderRadii = ["none", "small", "base", "large", "fullyRounded"];
843
- var borderRadius = z4.enum(borderRadii);
1015
+ var borderRadius = z5.enum(borderRadii);
844
1016
  var BorderRadius = borderRadius.enum;
845
1017
  var borderStyles = ["none", "base", "dotted", "dashed"];
846
- var borderStyle = z4.enum(borderStyles);
1018
+ var borderStyle = z5.enum(borderStyles);
847
1019
  var BorderStyle = borderStyle.enum;
848
1020
  var borderWidths = ["base", "medium", "thick"];
849
- var borderWidth = z4.enum(borderWidths);
1021
+ var borderWidth = z5.enum(borderWidths);
850
1022
  var BorderWidth = borderWidth.enum;
851
1023
  var buttonActions = [
852
1024
  "addToOrder",
@@ -859,7 +1031,7 @@ var buttonActions = [
859
1031
  "showVariants",
860
1032
  "switchToSubscription"
861
1033
  ];
862
- var buttonAction = z4.enum(buttonActions);
1034
+ var buttonAction = z5.enum(buttonActions);
863
1035
  var ButtonAction = buttonAction.enum;
864
1036
  var buttonFields = [
865
1037
  "addedToCart",
@@ -880,13 +1052,13 @@ var buttonFields = [
880
1052
  "switchToSubscriptionNoDiscount",
881
1053
  "switchToSubscriptionWithDiscount"
882
1054
  ];
883
- var buttonField = z4.enum(buttonFields);
1055
+ var buttonField = z5.enum(buttonFields);
884
1056
  var ButtonField = buttonField.enum;
885
1057
  var buttonStyles = ["primary", "secondary", "plain", "custom"];
886
- var buttonStyle = z4.enum(buttonStyles);
1058
+ var buttonStyle = z5.enum(buttonStyles);
887
1059
  var ButtonStyle = buttonStyle.enum;
888
1060
  var directions = ["columns", "rows"];
889
- var direction = z4.enum(directions);
1061
+ var direction = z5.enum(directions);
890
1062
  var Direction = direction.enum;
891
1063
  var editorModes = [
892
1064
  "checkoutExtension",
@@ -896,10 +1068,10 @@ var editorModes = [
896
1068
  "ordersIndexPage",
897
1069
  "customerProfilePage"
898
1070
  ];
899
- var editorMode = z4.enum(editorModes);
1071
+ var editorMode = z5.enum(editorModes);
900
1072
  var EditorMode = editorMode.enum;
901
1073
  var horizontalAlignments = ["start", "center", "end"];
902
- var horizontalAlignment = z4.enum(horizontalAlignments);
1074
+ var horizontalAlignment = z5.enum(horizontalAlignments);
903
1075
  var HorizontalAlignment = horizontalAlignment.enum;
904
1076
  var languageKeys = [
905
1077
  "ar",
@@ -929,13 +1101,13 @@ var languageKeys = [
929
1101
  "vi",
930
1102
  "zh"
931
1103
  ];
932
- var languageKey = z4.enum(languageKeys);
1104
+ var languageKey = z5.enum(languageKeys);
933
1105
  var LanguageKey = languageKey.enum;
934
1106
  var objectFits = ["cover", "contain"];
935
- var objectFit = z4.enum(objectFits);
1107
+ var objectFit = z5.enum(objectFits);
936
1108
  var ObjectFit = objectFit.enum;
937
1109
  var quantityInputs = ["select", "number"];
938
- var quantityInput = z4.enum(quantityInputs);
1110
+ var quantityInput = z5.enum(quantityInputs);
939
1111
  var QuantityInput = quantityInput.enum;
940
1112
  var sectionTypes = [
941
1113
  "button",
@@ -952,28 +1124,28 @@ var sectionTypes = [
952
1124
  "text",
953
1125
  "variants"
954
1126
  ];
955
- var sectionType = z4.enum(sectionTypes);
1127
+ var sectionType = z5.enum(sectionTypes);
956
1128
  var SectionType = sectionType.enum;
957
1129
  var spacings = ["none", "extraTight", "tight", "base", "loose", "extraLoose"];
958
- var spacing = z4.enum(spacings);
1130
+ var spacing = z5.enum(spacings);
959
1131
  var Spacing = spacing.enum;
960
1132
  var textAlignments = ["start", "center", "end"];
961
- var textAlignment = z4.enum(textAlignments);
1133
+ var textAlignment = z5.enum(textAlignments);
962
1134
  var TextAlignment = textAlignment.enum;
963
1135
  var textColorNames = ["base", "subdued", "accent", "decorative", "success", "warning", "critical"];
964
- var textColorName = z4.enum(textColorNames);
1136
+ var textColorName = z5.enum(textColorNames);
965
1137
  var TextColorName = textColorName.enum;
966
1138
  var textSizeNames = ["extraSmall", "small", "base", "medium", "large", "extraLarge"];
967
- var textSizeName = z4.enum(textSizeNames);
1139
+ var textSizeName = z5.enum(textSizeNames);
968
1140
  var TextSizeName = textSizeName.enum;
969
1141
  var variantSelectors = ["menu", "button", "radio", "color", "image"];
970
- var variantSelector = z4.enum(variantSelectors);
1142
+ var variantSelector = z5.enum(variantSelectors);
971
1143
  var VariantSelector = variantSelector.enum;
972
1144
  var verticalAlignments = ["top", "middle", "bottom"];
973
- var verticalAlignment = z4.enum(verticalAlignments);
1145
+ var verticalAlignment = z5.enum(verticalAlignments);
974
1146
  var VerticalAlignment = verticalAlignment.enum;
975
1147
 
976
- // src/schema/widgets/checkoutAndBeyond/constants.ts
1148
+ // src/schema/widgets/checkout-and-beyond/constants.ts
977
1149
  var DEFAULT_ENDPOINTS = [
978
1150
  { label: "Recommended (AI)", value: "/products/recommended" },
979
1151
  { label: "Top Sellers", value: "/products/top_sellers" },
@@ -1046,34 +1218,43 @@ var widgetTypes = [
1046
1218
  "ui_extension_line_item_editor",
1047
1219
  "ui_extension_progress_bar"
1048
1220
  ];
1049
- var widgetType = z5.enum(widgetTypes);
1221
+ var widgetType = z6.enum(widgetTypes);
1050
1222
  var WidgetType = widgetType.enum;
1051
1223
 
1052
- // src/schema/widgets/checkoutAndBeyond/root.ts
1053
- import { z as z20 } from "zod/v4";
1224
+ // src/schema/widgets/checkoutExtension.ts
1225
+ import { z as z7 } from "zod/v4";
1226
+ var CheckoutExtension = z7.looseObject({
1227
+ type: z7.literal(WidgetType.shopify_checkout_extension).default(WidgetType.shopify_checkout_extension)
1228
+ });
1229
+
1230
+ // src/schema/widgets/contentBlock.ts
1231
+ import { z as z23 } from "zod/v4";
1054
1232
 
1055
- // src/schema/widgets/checkoutAndBeyond/layout.ts
1233
+ // src/schema/widgets/checkout-and-beyond/root.ts
1234
+ import { z as z22 } from "zod/v4";
1235
+
1236
+ // src/schema/widgets/checkout-and-beyond/layout.ts
1056
1237
  import { v7 as uuidv712 } from "uuid";
1057
- import { z as z19 } from "zod/v4";
1238
+ import { z as z21 } from "zod/v4";
1058
1239
 
1059
- // src/schema/widgets/checkoutAndBeyond/shared.ts
1060
- import { z as z18 } from "zod/v4";
1240
+ // src/schema/widgets/checkout-and-beyond/shared.ts
1241
+ import { z as z20 } from "zod/v4";
1061
1242
 
1062
- // src/schema/widgets/checkoutAndBeyond/button.ts
1243
+ // src/schema/widgets/checkout-and-beyond/button.ts
1063
1244
  import { v7 as uuidv73 } from "uuid";
1064
- import { z as z8 } from "zod/v4";
1245
+ import { z as z10 } from "zod/v4";
1065
1246
 
1066
- // src/schema/widgets/checkoutAndBeyond/image.ts
1247
+ // src/schema/widgets/checkout-and-beyond/image.ts
1067
1248
  import { v7 as uuidv7 } from "uuid";
1068
- import { z as z6 } from "zod/v4";
1249
+ import { z as z8 } from "zod/v4";
1069
1250
 
1070
- // src/schema/widgets/checkoutAndBeyond/regex.ts
1251
+ // src/schema/widgets/checkout-and-beyond/regex.ts
1071
1252
  var ARRAY_INDEX_STRING = /^(0|[1-9]\d*)$/;
1072
1253
  var DYNAMIC_TOKEN_REGEX = /^\{\{\s*[A-Za-z]+\s*\}\}$/;
1073
1254
  var HEX_COLOR_REGEX = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/;
1074
1255
  var HTML_TAGS_REGEX = /<[^>]*>/gi;
1075
1256
 
1076
- // src/schema/widgets/checkoutAndBeyond/utils.ts
1257
+ // src/schema/widgets/checkout-and-beyond/utils.ts
1077
1258
  import { entries, every, get as get2, isArray, isPlainObject, isString, map, mapValues, size } from "lodash-es";
1078
1259
  var isHTML = (html = "") => {
1079
1260
  if (typeof window !== "undefined") {
@@ -1111,78 +1292,78 @@ var convertNumericObjects = (input) => {
1111
1292
  return input;
1112
1293
  };
1113
1294
 
1114
- // src/schema/widgets/checkoutAndBeyond/image.ts
1115
- var CABImageSection = z6.object({
1116
- altText: z6.string().refine(checkForHTML, NO_HTML).default(""),
1117
- aspectRatio: z6.literal(1).nullable().default(null),
1118
- border: z6.lazy(() => CABBorder),
1119
- buttonField: z6.enum(buttonFields).optional(),
1120
- category: z6.enum(["gallery", "icons", "payment-methods", "secure-checkout"]).nullable().default(null),
1121
- name: z6.string().optional(),
1122
- naturalHeight: z6.number().default(0),
1123
- naturalWidth: z6.number().default(0),
1124
- objectFit: z6.enum(objectFits).default(ObjectFit.cover),
1125
- sectionId: z6.uuid().default(() => uuidv7()),
1126
- sectionType: z6.literal(SectionType.image).default(SectionType.image),
1127
- source: z6.union([z6.url(), z6.literal(""), z6.string().regex(DYNAMIC_TOKEN_REGEX)]).default(""),
1128
- width: z6.number().default(100)
1295
+ // src/schema/widgets/checkout-and-beyond/image.ts
1296
+ var CABImageSection = z8.object({
1297
+ altText: z8.string().refine(checkForHTML, NO_HTML).default(""),
1298
+ aspectRatio: z8.literal(1).nullable().default(null),
1299
+ border: z8.lazy(() => CABBorder),
1300
+ buttonField: z8.enum(buttonFields).optional(),
1301
+ category: z8.enum(["gallery", "icons", "payment-methods", "secure-checkout"]).nullable().default(null),
1302
+ name: z8.string().optional(),
1303
+ naturalHeight: z8.number().default(0),
1304
+ naturalWidth: z8.number().default(0),
1305
+ objectFit: z8.enum(objectFits).default(ObjectFit.cover),
1306
+ sectionId: z8.uuid().default(() => uuidv7()),
1307
+ sectionType: z8.literal(SectionType.image).default(SectionType.image),
1308
+ source: z8.union([z8.url(), z8.literal(""), z8.string().regex(DYNAMIC_TOKEN_REGEX)]).default(""),
1309
+ width: z8.number().default(100)
1129
1310
  });
1130
1311
 
1131
- // src/schema/widgets/checkoutAndBeyond/text.ts
1312
+ // src/schema/widgets/checkout-and-beyond/text.ts
1132
1313
  import { forEach, isString as isString2 } from "lodash-es";
1133
1314
  import { v7 as uuidv72 } from "uuid";
1134
- import { z as z7 } from "zod/v4";
1135
- var enumOrOmit = (...vals) => z7.string().transform((val) => vals.includes(val) ? val : void 0).optional();
1136
- var TiptapText = z7.object({
1137
- marks: z7.union([
1138
- z7.array(
1139
- z7.discriminatedUnion("type", [
1140
- z7.object({ type: z7.literal("bold") }),
1141
- z7.object({ type: z7.literal("italic") }),
1142
- z7.object({
1143
- attrs: z7.object({
1144
- class: z7.string().nullable(),
1145
- href: z7.union([z7.url(), z7.string().regex(DYNAMIC_TOKEN_REGEX)]),
1146
- rel: z7.string().default("noopener noreferrer nofollow"),
1147
- target: z7.string().default("_blank")
1315
+ import { z as z9 } from "zod/v4";
1316
+ var enumOrOmit = (...vals) => z9.string().transform((val) => vals.includes(val) ? val : void 0).optional();
1317
+ var TiptapText = z9.object({
1318
+ marks: z9.union([
1319
+ z9.array(
1320
+ z9.discriminatedUnion("type", [
1321
+ z9.object({ type: z9.literal("bold") }),
1322
+ z9.object({ type: z9.literal("italic") }),
1323
+ z9.object({
1324
+ attrs: z9.object({
1325
+ class: z9.string().nullable(),
1326
+ href: z9.union([z9.url(), z9.string().regex(DYNAMIC_TOKEN_REGEX)]),
1327
+ rel: z9.string().default("noopener noreferrer nofollow"),
1328
+ target: z9.string().default("_blank")
1148
1329
  }),
1149
- type: z7.literal("link")
1330
+ type: z9.literal("link")
1150
1331
  }),
1151
- z7.object({ type: z7.literal("strike") }),
1152
- z7.object({
1153
- attrs: z7.object({
1332
+ z9.object({ type: z9.literal("strike") }),
1333
+ z9.object({
1334
+ attrs: z9.object({
1154
1335
  color: enumOrOmit(...textColorNames).default(TextColorName.base),
1155
1336
  fontSize: enumOrOmit(...textSizeNames).default(TextSizeName.base)
1156
1337
  }),
1157
- type: z7.literal("textStyle")
1338
+ type: z9.literal("textStyle")
1158
1339
  })
1159
1340
  ])
1160
1341
  ),
1161
- z7.strictObject({}).transform(() => [])
1342
+ z9.strictObject({}).transform(() => [])
1162
1343
  ]).optional(),
1163
- text: z7.string().default(""),
1164
- type: z7.literal("text").default("text")
1344
+ text: z9.string().default(""),
1345
+ type: z9.literal("text").default("text")
1165
1346
  });
1166
- var TiptapParagraph = z7.object({
1167
- attrs: z7.object({
1347
+ var TiptapParagraph = z9.object({
1348
+ attrs: z9.object({
1168
1349
  textAlign: enumOrOmit(...textAlignments)
1169
1350
  }).default({ textAlign: TextAlignment.start }),
1170
- content: z7.union([z7.array(TiptapText), z7.strictObject({}).transform(() => [])]).default(() => []),
1171
- type: z7.literal("paragraph").default("paragraph")
1351
+ content: z9.union([z9.array(TiptapText), z9.strictObject({}).transform(() => [])]).default(() => []),
1352
+ type: z9.literal("paragraph").default("paragraph")
1172
1353
  });
1173
- var TiptapDocument = z7.object({
1174
- attrs: z7.object({
1354
+ var TiptapDocument = z9.object({
1355
+ attrs: z9.object({
1175
1356
  blockSpacing: enumOrOmit(...spacings)
1176
1357
  }).default({ blockSpacing: Spacing.base }),
1177
- content: z7.union([z7.array(TiptapParagraph), z7.strictObject({}).transform(() => [])]).default(() => [TiptapParagraph.parse({})]),
1178
- type: z7.literal("doc").default("doc")
1358
+ content: z9.union([z9.array(TiptapParagraph), z9.strictObject({}).transform(() => [])]).default(() => [TiptapParagraph.parse({})]),
1359
+ type: z9.literal("doc").default("doc")
1179
1360
  });
1180
- var CABTextSection = z7.object({
1181
- buttonField: z7.enum(buttonFields).optional(),
1182
- content: z7.record(z7.string(), z7.union([z7.string(), TiptapDocument]).refine(checkForHTML, NO_HTML).optional()).default({ en: TiptapDocument.parse({}) }).optional(),
1183
- name: z7.string().optional(),
1184
- sectionId: z7.uuid().default(() => uuidv72()),
1185
- sectionType: z7.literal(SectionType.text).default(SectionType.text)
1361
+ var CABTextSection = z9.object({
1362
+ buttonField: z9.enum(buttonFields).optional(),
1363
+ content: z9.record(z9.string(), z9.union([z9.string(), TiptapDocument]).refine(checkForHTML, NO_HTML).optional()).default({ en: TiptapDocument.parse({}) }).optional(),
1364
+ name: z9.string().optional(),
1365
+ sectionId: z9.uuid().default(() => uuidv72()),
1366
+ sectionType: z9.literal(SectionType.text).default(SectionType.text)
1186
1367
  }).superRefine(({ buttonField: buttonField2, content }, ctx) => {
1187
1368
  if (buttonField2 === ButtonField.destinationUrl && content) {
1188
1369
  forEach(content, (value, lang) => {
@@ -1202,100 +1383,100 @@ var CABTextSection = z7.object({
1202
1383
  }
1203
1384
  });
1204
1385
 
1205
- // src/schema/widgets/checkoutAndBeyond/button.ts
1206
- var CABButtonContent = z8.lazy(() => z8.discriminatedUnion("sectionType", [CABImageSection, CABTextSection]));
1207
- var CABButtonSection = z8.object({
1208
- action: z8.union([z8.literal(""), z8.enum(buttonActions)]).default(""),
1209
- buttonStyle: z8.enum(buttonStyles).default(ButtonStyle.primary),
1210
- custom: z8.object({
1211
- color: z8.string().regex(HEX_COLOR_REGEX).default("#005bd3"),
1212
- height: z8.number().default(52),
1213
- width: z8.number().default(300)
1386
+ // src/schema/widgets/checkout-and-beyond/button.ts
1387
+ var CABButtonContent = z10.lazy(() => z10.discriminatedUnion("sectionType", [CABImageSection, CABTextSection]));
1388
+ var CABButtonSection = z10.object({
1389
+ action: z10.union([z10.literal(""), z10.enum(buttonActions)]).default(""),
1390
+ buttonStyle: z10.enum(buttonStyles).default(ButtonStyle.primary),
1391
+ custom: z10.object({
1392
+ color: z10.string().regex(HEX_COLOR_REGEX).default("#005bd3"),
1393
+ height: z10.number().default(52),
1394
+ width: z10.number().default(300)
1214
1395
  }).default({
1215
1396
  color: "#005bd3",
1216
1397
  height: 52,
1217
1398
  width: 300
1218
1399
  }),
1219
- name: z8.string().optional(),
1220
- sectionId: z8.uuid().default(() => uuidv73()),
1221
- sections: z8.union([z8.array(CABButtonContent), z8.strictObject({}).transform(() => [])]).default(() => []),
1222
- sectionType: z8.literal(SectionType.button).default(SectionType.button)
1400
+ name: z10.string().optional(),
1401
+ sectionId: z10.uuid().default(() => uuidv73()),
1402
+ sections: z10.union([z10.array(CABButtonContent), z10.strictObject({}).transform(() => [])]).default(() => []),
1403
+ sectionType: z10.literal(SectionType.button).default(SectionType.button)
1223
1404
  });
1224
1405
 
1225
- // src/schema/widgets/checkoutAndBeyond/dataSource.ts
1406
+ // src/schema/widgets/checkout-and-beyond/dataSource.ts
1226
1407
  import { v7 as uuidv74 } from "uuid";
1227
- import { z as z9 } from "zod/v4";
1228
- var CABDataSourceSection = z9.object({
1229
- dataSourceId: z9.number().nullable().default(null),
1230
- dataSourcePath: z9.string().default(DEFAULT_ENDPOINTS[0].value),
1231
- limit: z9.number().default(1),
1232
- name: z9.string().default(DEFAULT_ENDPOINTS[0].label),
1233
- sectionId: z9.uuid().default(() => uuidv74()),
1234
- sectionType: z9.literal(SectionType.dataSource).default(SectionType.dataSource)
1408
+ import { z as z11 } from "zod/v4";
1409
+ var CABDataSourceSection = z11.object({
1410
+ dataSourceId: z11.number().nullable().default(null),
1411
+ dataSourcePath: z11.string().default(DEFAULT_ENDPOINTS[0].value),
1412
+ limit: z11.number().default(1),
1413
+ name: z11.string().default(DEFAULT_ENDPOINTS[0].label),
1414
+ sectionId: z11.uuid().default(() => uuidv74()),
1415
+ sectionType: z11.literal(SectionType.dataSource).default(SectionType.dataSource)
1235
1416
  });
1236
1417
 
1237
- // src/schema/widgets/checkoutAndBeyond/offers.ts
1238
- import { z as z12 } from "zod/v4";
1418
+ // src/schema/widgets/checkout-and-beyond/offers.ts
1419
+ import { z as z14 } from "zod/v4";
1239
1420
 
1240
- // src/schema/widgets/checkoutAndBeyond/products.ts
1421
+ // src/schema/widgets/checkout-and-beyond/products.ts
1241
1422
  import { v7 as uuidv76 } from "uuid";
1242
- import { z as z11 } from "zod/v4";
1423
+ import { z as z13 } from "zod/v4";
1243
1424
 
1244
- // src/schema/widgets/checkoutAndBeyond/product.ts
1425
+ // src/schema/widgets/checkout-and-beyond/product.ts
1245
1426
  import { v7 as uuidv75 } from "uuid";
1246
- import { z as z10 } from "zod/v4";
1247
- var CABProductSection = z10.object({
1248
- name: z10.string().optional(),
1249
- options: z10.array(
1250
- z10.object({
1427
+ import { z as z12 } from "zod/v4";
1428
+ var CABProductSection = z12.object({
1429
+ name: z12.string().optional(),
1430
+ options: z12.array(
1431
+ z12.object({
1251
1432
  /** `name` represents `Color`, `Size`, etc. */
1252
- name: z10.string(),
1253
- optionId: z10.number(),
1254
- selector: z10.enum(variantSelectors).default(VariantSelector.menu),
1255
- values: z10.array(
1256
- z10.object({
1257
- color: z10.string().optional(),
1258
- image: z10.lazy(() => CABImageSection).optional(),
1433
+ name: z12.string(),
1434
+ optionId: z12.number(),
1435
+ selector: z12.enum(variantSelectors).default(VariantSelector.menu),
1436
+ values: z12.array(
1437
+ z12.object({
1438
+ color: z12.string().optional(),
1439
+ image: z12.lazy(() => CABImageSection).optional(),
1259
1440
  /** `name` represents `Red`, `Blue`, etc. */
1260
- name: z10.string(),
1261
- text: z10.lazy(() => CABTextSection).optional()
1441
+ name: z12.string(),
1442
+ text: z12.lazy(() => CABTextSection).optional()
1262
1443
  })
1263
1444
  )
1264
1445
  })
1265
1446
  ).default(() => []),
1266
- productId: z10.number().nullable().default(null),
1267
- sectionId: z10.uuid().default(() => uuidv75()),
1268
- sectionType: z10.literal(SectionType.product).default(SectionType.product)
1447
+ productId: z12.number().nullable().default(null),
1448
+ sectionId: z12.uuid().default(() => uuidv75()),
1449
+ sectionType: z12.literal(SectionType.product).default(SectionType.product)
1269
1450
  });
1270
1451
 
1271
- // src/schema/widgets/checkoutAndBeyond/products.ts
1272
- var CABProductsSection = z11.object({
1273
- name: z11.string().optional(),
1274
- sectionId: z11.uuid().default(() => uuidv76()),
1275
- sections: z11.union([z11.array(z11.lazy(() => CABProductSection)), z11.strictObject({}).transform(() => [])]).default(() => []),
1276
- sectionType: z11.literal(SectionType.products).default(SectionType.products)
1452
+ // src/schema/widgets/checkout-and-beyond/products.ts
1453
+ var CABProductsSection = z13.object({
1454
+ name: z13.string().optional(),
1455
+ sectionId: z13.uuid().default(() => uuidv76()),
1456
+ sections: z13.union([z13.array(z13.lazy(() => CABProductSection)), z13.strictObject({}).transform(() => [])]).default(() => []),
1457
+ sectionType: z13.literal(SectionType.products).default(SectionType.products)
1277
1458
  });
1278
1459
 
1279
- // src/schema/widgets/checkoutAndBeyond/offers.ts
1280
- var CABOffersSection = z12.lazy(
1460
+ // src/schema/widgets/checkout-and-beyond/offers.ts
1461
+ var CABOffersSection = z14.lazy(
1281
1462
  () => CABLayoutSection.omit({ sections: true, sectionType: true }).extend(
1282
- z12.object({
1283
- sections: z12.union([z12.array(z12.lazy(() => CABSection)), z12.strictObject({}).transform(() => [])]).default(() => [CABDataSourceSection.parse({}), CABProductsSection.parse({})]),
1284
- sectionType: z12.literal(SectionType.offers).default(SectionType.offers)
1463
+ z14.object({
1464
+ sections: z14.union([z14.array(z14.lazy(() => CABSection)), z14.strictObject({}).transform(() => [])]).default(() => [CABDataSourceSection.parse({}), CABProductsSection.parse({})]),
1465
+ sectionType: z14.literal(SectionType.offers).default(SectionType.offers)
1285
1466
  }).shape
1286
1467
  )
1287
1468
  );
1288
1469
 
1289
- // src/schema/widgets/checkoutAndBeyond/quantity.ts
1470
+ // src/schema/widgets/checkout-and-beyond/quantity.ts
1290
1471
  import { v7 as uuidv77 } from "uuid";
1291
- import { z as z13 } from "zod/v4";
1292
- var CABQuantitySection = z13.object({
1293
- errorMessages: z13.record(
1294
- z13.string(),
1295
- z13.object({
1296
- max: z13.string().optional(),
1297
- min: z13.string().optional(),
1298
- neg: z13.string().optional()
1472
+ import { z as z15 } from "zod/v4";
1473
+ var CABQuantitySection = z15.object({
1474
+ errorMessages: z15.record(
1475
+ z15.string(),
1476
+ z15.object({
1477
+ max: z15.string().optional(),
1478
+ min: z15.string().optional(),
1479
+ neg: z15.string().optional()
1299
1480
  })
1300
1481
  ).default({
1301
1482
  en: {
@@ -1304,64 +1485,64 @@ var CABQuantitySection = z13.object({
1304
1485
  neg: "Quantity cannot be negative"
1305
1486
  }
1306
1487
  }),
1307
- inputType: z13.enum(quantityInputs).default(QuantityInput.select),
1308
- max: z13.number().min(1).max(100).default(10),
1309
- min: z13.number().min(1).default(1),
1310
- name: z13.string().optional(),
1311
- sectionId: z13.uuid().default(() => uuidv77()),
1312
- sectionType: z13.literal(SectionType.quantity).default(SectionType.quantity)
1488
+ inputType: z15.enum(quantityInputs).default(QuantityInput.select),
1489
+ max: z15.number().min(1).max(100).default(10),
1490
+ min: z15.number().min(1).default(1),
1491
+ name: z15.string().optional(),
1492
+ sectionId: z15.uuid().default(() => uuidv77()),
1493
+ sectionType: z15.literal(SectionType.quantity).default(SectionType.quantity)
1313
1494
  });
1314
1495
 
1315
- // src/schema/widgets/checkoutAndBeyond/reviews.ts
1496
+ // src/schema/widgets/checkout-and-beyond/reviews.ts
1316
1497
  import { v7 as uuidv78 } from "uuid";
1317
- import { z as z14 } from "zod/v4";
1318
- var CABReviewsSection = z14.object({
1319
- name: z14.string().optional(),
1320
- sectionId: z14.uuid().default(() => uuidv78()),
1321
- sectionType: z14.literal(SectionType.reviews).default(SectionType.reviews)
1498
+ import { z as z16 } from "zod/v4";
1499
+ var CABReviewsSection = z16.object({
1500
+ name: z16.string().optional(),
1501
+ sectionId: z16.uuid().default(() => uuidv78()),
1502
+ sectionType: z16.literal(SectionType.reviews).default(SectionType.reviews)
1322
1503
  });
1323
1504
 
1324
- // src/schema/widgets/checkoutAndBeyond/subscription.ts
1505
+ // src/schema/widgets/checkout-and-beyond/subscription.ts
1325
1506
  import { v7 as uuidv79 } from "uuid";
1326
- import { z as z15 } from "zod/v4";
1327
- var CABSubscriptionSection = z15.object({
1328
- name: z15.string().optional(),
1329
- sectionId: z15.uuid().default(() => uuidv79()),
1330
- sectionType: z15.literal(SectionType.subscription).default(SectionType.subscription)
1507
+ import { z as z17 } from "zod/v4";
1508
+ var CABSubscriptionSection = z17.object({
1509
+ name: z17.string().optional(),
1510
+ sectionId: z17.uuid().default(() => uuidv79()),
1511
+ sectionType: z17.literal(SectionType.subscription).default(SectionType.subscription)
1331
1512
  });
1332
1513
 
1333
- // src/schema/widgets/checkoutAndBeyond/table.ts
1514
+ // src/schema/widgets/checkout-and-beyond/table.ts
1334
1515
  import { v7 as uuidv710 } from "uuid";
1335
- import { z as z16 } from "zod/v4";
1336
- var CABTableSection = z16.object({
1337
- name: z16.string().optional(),
1338
- sectionId: z16.uuid().default(() => uuidv710()),
1339
- sectionType: z16.literal(SectionType.table).default(SectionType.table)
1516
+ import { z as z18 } from "zod/v4";
1517
+ var CABTableSection = z18.object({
1518
+ name: z18.string().optional(),
1519
+ sectionId: z18.uuid().default(() => uuidv710()),
1520
+ sectionType: z18.literal(SectionType.table).default(SectionType.table)
1340
1521
  });
1341
1522
 
1342
- // src/schema/widgets/checkoutAndBeyond/variants.ts
1523
+ // src/schema/widgets/checkout-and-beyond/variants.ts
1343
1524
  import { slice } from "lodash-es";
1344
1525
  import { v7 as uuidv711 } from "uuid";
1345
- import { z as z17 } from "zod/v4";
1346
- var CABVariantsSection = z17.object({
1347
- name: z17.string().optional(),
1348
- sectionId: z17.uuid().default(() => uuidv711()),
1349
- sectionType: z17.literal(SectionType.variants).default(SectionType.variants),
1350
- selector: z17.enum(slice(variantSelectors, 0, 3)).default(VariantSelector.menu)
1526
+ import { z as z19 } from "zod/v4";
1527
+ var CABVariantsSection = z19.object({
1528
+ name: z19.string().optional(),
1529
+ sectionId: z19.uuid().default(() => uuidv711()),
1530
+ sectionType: z19.literal(SectionType.variants).default(SectionType.variants),
1531
+ selector: z19.enum(slice(variantSelectors, 0, 3)).default(VariantSelector.menu)
1351
1532
  });
1352
1533
 
1353
- // src/schema/widgets/checkoutAndBeyond/shared.ts
1354
- var CABBorder = z18.object({
1355
- radius: z18.enum(borderRadii).default(BorderRadius.base),
1356
- style: z18.enum(borderStyles).default(BorderStyle.none),
1357
- width: z18.enum(borderWidths).default(BorderWidth.base)
1534
+ // src/schema/widgets/checkout-and-beyond/shared.ts
1535
+ var CABBorder = z20.object({
1536
+ radius: z20.enum(borderRadii).default(BorderRadius.base),
1537
+ style: z20.enum(borderStyles).default(BorderStyle.none),
1538
+ width: z20.enum(borderWidths).default(BorderWidth.base)
1358
1539
  }).default({
1359
1540
  radius: BorderRadius.base,
1360
1541
  style: BorderStyle.none,
1361
1542
  width: BorderWidth.base
1362
1543
  });
1363
- var CABSection = z18.lazy(
1364
- () => z18.discriminatedUnion("sectionType", [
1544
+ var CABSection = z20.lazy(
1545
+ () => z20.discriminatedUnion("sectionType", [
1365
1546
  CABButtonSection,
1366
1547
  CABDataSourceSection,
1367
1548
  CABImageSection,
@@ -1378,116 +1559,116 @@ var CABSection = z18.lazy(
1378
1559
  ])
1379
1560
  );
1380
1561
 
1381
- // src/schema/widgets/checkoutAndBeyond/layout.ts
1382
- var CABLayoutSection = z19.object({
1383
- alignment: z19.object({
1384
- horizontal: z19.enum(horizontalAlignments).default(HorizontalAlignment.start),
1385
- vertical: z19.enum(verticalAlignments).default(VerticalAlignment.top)
1562
+ // src/schema/widgets/checkout-and-beyond/layout.ts
1563
+ var CABLayoutSection = z21.object({
1564
+ alignment: z21.object({
1565
+ horizontal: z21.enum(horizontalAlignments).default(HorizontalAlignment.start),
1566
+ vertical: z21.enum(verticalAlignments).default(VerticalAlignment.top)
1386
1567
  }).default({
1387
1568
  horizontal: HorizontalAlignment.start,
1388
1569
  vertical: VerticalAlignment.top
1389
1570
  }),
1390
- border: z19.lazy(() => CABBorder),
1391
- direction: z19.enum(directions).default(Direction.rows),
1392
- name: z19.string().optional(),
1393
- padding: z19.enum(spacings).default(Spacing.none),
1394
- sectionId: z19.uuid().default(() => uuidv712()),
1395
- sections: z19.union([z19.array(z19.lazy(() => CABSection)), z19.strictObject({}).transform(() => [])]).default(() => []),
1396
- sectionType: z19.literal(SectionType.layout).default(SectionType.layout),
1397
- spacing: z19.enum(spacings).default(Spacing.base),
1398
- width: z19.number().default(100)
1571
+ border: z21.lazy(() => CABBorder),
1572
+ direction: z21.enum(directions).default(Direction.rows),
1573
+ name: z21.string().optional(),
1574
+ padding: z21.enum(spacings).default(Spacing.none),
1575
+ sectionId: z21.uuid().default(() => uuidv712()),
1576
+ sections: z21.union([z21.array(z21.lazy(() => CABSection)), z21.strictObject({}).transform(() => [])]).default(() => []),
1577
+ sectionType: z21.literal(SectionType.layout).default(SectionType.layout),
1578
+ spacing: z21.enum(spacings).default(Spacing.base),
1579
+ width: z21.number().default(100)
1399
1580
  });
1400
1581
 
1401
- // src/schema/widgets/checkoutAndBeyond/root.ts
1402
- var TargetArea = z20.object({
1403
- fill: z20.boolean().optional(),
1404
- flip: z20.enum(["both", "horizontal", "vertical"]).optional(),
1405
- icon: z20.string(),
1406
- label: z20.string(),
1407
- width: z20.string()
1582
+ // src/schema/widgets/checkout-and-beyond/root.ts
1583
+ var TargetArea = z22.object({
1584
+ fill: z22.boolean().optional(),
1585
+ flip: z22.enum(["both", "horizontal", "vertical"]).optional(),
1586
+ icon: z22.string(),
1587
+ label: z22.string(),
1588
+ width: z22.string()
1408
1589
  }).default(targetAreas[EditorMode.checkoutExtension][1]);
1409
1590
  var CABRootSection = CABLayoutSection.extend(
1410
- z20.object({
1411
- editorMode: z20.enum(editorModes).default(EditorMode.checkoutExtension),
1412
- previewMode: z20.boolean().default(false),
1413
- storeId: z20.number().nullable().default(null),
1591
+ z22.object({
1592
+ editorMode: z22.enum(editorModes).default(EditorMode.checkoutExtension),
1593
+ previewMode: z22.boolean().default(false),
1594
+ storeId: z22.number().nullable().default(null),
1414
1595
  targetArea: TargetArea.nullable(),
1415
- type: z20.enum(widgetTypes).default(WidgetType.ui_extension_content_block),
1416
- version: z20.literal(2).default(2),
1417
- widgetId: z20.number().nullable().default(null)
1596
+ type: z22.enum(widgetTypes).default(WidgetType.ui_extension_content_block),
1597
+ version: z22.literal(2).default(2),
1598
+ widgetId: z22.number().nullable().default(null)
1418
1599
  }).shape
1419
1600
  );
1420
1601
 
1421
- // src/schema/widgets/checkoutExtension.ts
1422
- import { z as z21 } from "zod/v4";
1423
- var CheckoutExtension = z21.looseObject({
1424
- type: z21.literal(WidgetType.shopify_checkout_extension).default(WidgetType.shopify_checkout_extension),
1425
- version: z21.undefined()
1426
- });
1427
-
1428
1602
  // src/schema/widgets/contentBlock.ts
1429
- import { z as z22 } from "zod/v4";
1430
- var ContentBlock = z22.object({
1431
- blockSpacing: z22.enum(spacings),
1432
- imageBlocks: z22.union([
1433
- z22.array(
1434
- z22.object({
1435
- altText: z22.string().nullable(),
1436
- description: z22.string().nullable(),
1437
- id: z22.uuid(),
1438
- imagePlacement: z22.enum(["top", "right", "bottom", "left"]),
1439
- imageSize: z22.number(),
1440
- imageUrl: z22.url(),
1441
- textAlignment: z22.enum(["left", "center", "right"]),
1442
- textSize: z22.enum(textSizeNames)
1603
+ var ContentBlockV1 = z23.object({
1604
+ blockSpacing: z23.enum(spacings),
1605
+ imageBlocks: z23.union([
1606
+ z23.array(
1607
+ z23.object({
1608
+ altText: z23.string().nullable(),
1609
+ description: z23.string().nullable(),
1610
+ id: z23.uuid(),
1611
+ imagePlacement: z23.enum(["top", "right", "bottom", "left"]),
1612
+ imageSize: z23.number(),
1613
+ imageUrl: z23.url(),
1614
+ textAlignment: z23.enum(["left", "center", "right"]),
1615
+ textSize: z23.enum(textSizeNames)
1443
1616
  })
1444
1617
  ),
1445
- z22.strictObject({}).transform(() => [])
1618
+ z23.strictObject({}).transform(() => [])
1446
1619
  ]),
1447
- imageLayout: z22.enum(["row", "column"]),
1448
- language: z22.object({
1449
- description: z22.string(),
1450
- superTitle: z22.string(),
1451
- title: z22.string()
1620
+ imageLayout: z23.enum(["row", "column"]),
1621
+ language: z23.object({
1622
+ description: z23.string(),
1623
+ superTitle: z23.string(),
1624
+ title: z23.string()
1452
1625
  }),
1453
- previewMode: z22.boolean(),
1454
- type: z22.literal(WidgetType.ui_extension_content_block).default(WidgetType.ui_extension_content_block),
1455
- version: z22.literal(1)
1626
+ previewMode: z23.boolean(),
1627
+ type: z23.literal(WidgetType.ui_extension_content_block).default(WidgetType.ui_extension_content_block),
1628
+ version: z23.literal(1)
1456
1629
  });
1630
+ var ContentBlock = z23.discriminatedUnion("version", [
1631
+ ContentBlockV1,
1632
+ CABRootSection.extend({
1633
+ type: z23.literal(WidgetType.ui_extension_content_block).default(WidgetType.ui_extension_content_block)
1634
+ })
1635
+ ]);
1457
1636
 
1458
1637
  // src/schema/widgets/giftWithPurchase.ts
1459
- import { z as z23 } from "zod/v4";
1460
- var GiftWithPurchase = z23.looseObject({
1461
- type: z23.literal(WidgetType.gift_with_purchase).default(WidgetType.gift_with_purchase),
1462
- version: z23.undefined()
1638
+ import { z as z24 } from "zod/v4";
1639
+ var GiftWithPurchase = z24.looseObject({
1640
+ type: z24.literal(WidgetType.gift_with_purchase).default(WidgetType.gift_with_purchase)
1463
1641
  });
1464
1642
 
1465
1643
  // src/schema/widgets/lineItemEditor.ts
1466
- import { z as z24 } from "zod/v4";
1467
- var LineItemEditor = z24.looseObject({
1468
- type: z24.literal(WidgetType.ui_extension_line_item_editor).default(WidgetType.ui_extension_line_item_editor),
1469
- version: z24.literal(1)
1644
+ import { z as z25 } from "zod/v4";
1645
+ var LineItemEditor = z25.looseObject({
1646
+ type: z25.literal(WidgetType.ui_extension_line_item_editor).default(WidgetType.ui_extension_line_item_editor)
1470
1647
  });
1471
1648
 
1472
1649
  // src/schema/widgets/progressBar.ts
1473
- import { z as z25 } from "zod/v4";
1474
- var ProgressBar = z25.looseObject({
1475
- type: z25.literal(WidgetType.ui_extension_progress_bar).default(WidgetType.ui_extension_progress_bar),
1476
- version: z25.literal(1)
1650
+ import { z as z26 } from "zod/v4";
1651
+ var ProgressBar = z26.looseObject({
1652
+ type: z26.literal(WidgetType.ui_extension_progress_bar).default(WidgetType.ui_extension_progress_bar)
1477
1653
  });
1478
1654
 
1479
1655
  // src/schema/widgets/rebuyButton.ts
1480
- import { z as z26 } from "zod/v4";
1481
- var RebuyButton = z26.looseObject({
1482
- type: z26.literal(WidgetType.ui_extension_button).default(WidgetType.ui_extension_button),
1483
- version: z26.literal(1)
1656
+ import { z as z27 } from "zod/v4";
1657
+ var RebuyButtonV1 = z27.looseObject({
1658
+ type: z27.literal(WidgetType.ui_extension_button).default(WidgetType.ui_extension_button),
1659
+ version: z27.literal(1)
1484
1660
  });
1661
+ var RebuyButton = z27.discriminatedUnion("version", [
1662
+ RebuyButtonV1,
1663
+ CABRootSection.extend({
1664
+ type: z27.literal(WidgetType.ui_extension_button).default(WidgetType.ui_extension_button)
1665
+ })
1666
+ ]);
1485
1667
 
1486
1668
  // src/schema/widgets/rebuyMonetize.ts
1487
- import { z as z27 } from "zod/v4";
1488
- var RebuyMonetize = z27.looseObject({
1489
- type: z27.literal(WidgetType.ui_extension_ad).default(WidgetType.ui_extension_ad),
1490
- version: z27.literal(1)
1669
+ import { z as z28 } from "zod/v4";
1670
+ var RebuyMonetize = z28.looseObject({
1671
+ type: z28.literal(WidgetType.ui_extension_ad).default(WidgetType.ui_extension_ad)
1491
1672
  });
1492
1673
 
1493
1674
  // src/schema/widgetData.ts
@@ -1501,15 +1682,16 @@ var extensionWidgetTypes = [
1501
1682
  WidgetType.ui_extension_line_item_editor,
1502
1683
  WidgetType.ui_extension_progress_bar
1503
1684
  ];
1504
- var LegacyV0Widget = z28.discriminatedUnion("type", [ABTestingPlaceholder, CheckoutExtension, GiftWithPurchase]);
1505
- var LegacyV1Widget = z28.discriminatedUnion("type", [
1685
+ var WidgetData = z29.discriminatedUnion("type", [
1686
+ ABTestingPlaceholder,
1687
+ CheckoutExtension,
1506
1688
  ContentBlock,
1689
+ GiftWithPurchase,
1507
1690
  LineItemEditor,
1508
1691
  ProgressBar,
1509
1692
  RebuyButton,
1510
1693
  RebuyMonetize
1511
1694
  ]);
1512
- var WidgetData = z28.discriminatedUnion("version", [LegacyV0Widget, LegacyV1Widget, CABRootSection]);
1513
1695
  export {
1514
1696
  ABTestingPlaceholder,
1515
1697
  ARRAY_INDEX_STRING,
@@ -1540,6 +1722,7 @@ export {
1540
1722
  COMBINED_ENDPOINTS,
1541
1723
  CheckoutExtension,
1542
1724
  ContentBlock,
1725
+ ContentBlockV1,
1543
1726
  DEFAULT_ENDPOINTS,
1544
1727
  DYNAMIC_TOKEN_REGEX,
1545
1728
  Direction,
@@ -1551,14 +1734,13 @@ export {
1551
1734
  HorizontalAlignment,
1552
1735
  Identity,
1553
1736
  LanguageKey,
1554
- LegacyV0Widget,
1555
- LegacyV1Widget,
1556
1737
  LineItemEditor,
1557
1738
  NO_HTML,
1558
1739
  ObjectFit,
1559
1740
  ProgressBar,
1560
1741
  QuantityInput,
1561
1742
  RebuyButton,
1743
+ RebuyButtonV1,
1562
1744
  RebuyClient,
1563
1745
  RebuyMonetize,
1564
1746
  STATIC_ENDPOINTS,
@@ -1584,6 +1766,7 @@ export {
1584
1766
  buttonActions,
1585
1767
  buttonFields,
1586
1768
  buttonStyles,
1769
+ cacheInfoSchema,
1587
1770
  checkForHTML,
1588
1771
  convertNumericObjects,
1589
1772
  convertProductToStorefrontFormat,
@@ -1620,10 +1803,12 @@ export {
1620
1803
  languageKeys,
1621
1804
  objectFits,
1622
1805
  productImageObject,
1806
+ productSchema,
1623
1807
  quantityInputs,
1624
1808
  queryStringToObject,
1625
1809
  sectionTypes,
1626
1810
  selectedVariantOptions,
1811
+ sellingPlanGroupSchema,
1627
1812
  serialize,
1628
1813
  sessionId,
1629
1814
  set,