@rebuy/rebuy 2.4.0 → 2.5.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +458 -337
- package/dist/index.js.map +4 -4
- package/dist/index.mjs +458 -337
- package/dist/index.mjs.map +4 -4
- package/dist/schema/index.d.ts +13 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/shopConfig.d.ts +36 -20
- package/dist/schema/shopConfig.d.ts.map +1 -1
- package/dist/schema/userConfig.d.ts +37 -21
- package/dist/schema/userConfig.d.ts.map +1 -1
- package/dist/schema/widgetData.d.ts +248 -0
- package/dist/schema/widgetData.d.ts.map +1 -0
- package/dist/schema/widgets/abTestingPlaceholder.d.ts +7 -0
- package/dist/schema/widgets/abTestingPlaceholder.d.ts.map +1 -0
- package/dist/schema/{cab → widgets/checkoutAndBeyond}/button.d.ts +17 -17
- package/dist/schema/widgets/checkoutAndBeyond/button.d.ts.map +1 -0
- package/dist/schema/{cab → widgets/checkoutAndBeyond}/common.d.ts +8 -8
- package/dist/schema/widgets/checkoutAndBeyond/common.d.ts.map +1 -0
- package/dist/schema/widgets/checkoutAndBeyond/constants.d.ts.map +1 -0
- package/dist/schema/{cab/data-source.d.ts → widgets/checkoutAndBeyond/dataSource.d.ts} +1 -1
- package/dist/schema/widgets/checkoutAndBeyond/dataSource.d.ts.map +1 -0
- package/dist/schema/widgets/checkoutAndBeyond/image.d.ts.map +1 -0
- package/dist/schema/{cab → widgets/checkoutAndBeyond}/index.d.ts +1 -1
- package/dist/schema/widgets/checkoutAndBeyond/index.d.ts.map +1 -0
- package/dist/schema/{cab → widgets/checkoutAndBeyond}/layout.d.ts +1 -1
- package/dist/schema/widgets/checkoutAndBeyond/layout.d.ts.map +1 -0
- package/dist/schema/{cab → widgets/checkoutAndBeyond}/offers.d.ts +17 -17
- package/dist/schema/widgets/checkoutAndBeyond/offers.d.ts.map +1 -0
- package/dist/schema/{cab → widgets/checkoutAndBeyond}/product.d.ts +7 -7
- package/dist/schema/widgets/checkoutAndBeyond/product.d.ts.map +1 -0
- package/dist/schema/{cab → widgets/checkoutAndBeyond}/products.d.ts +9 -9
- package/dist/schema/widgets/checkoutAndBeyond/products.d.ts.map +1 -0
- package/dist/schema/widgets/checkoutAndBeyond/quantity.d.ts.map +1 -0
- package/dist/schema/widgets/checkoutAndBeyond/regex.d.ts.map +1 -0
- package/dist/schema/widgets/checkoutAndBeyond/reviews.d.ts.map +1 -0
- package/dist/schema/{cab → widgets/checkoutAndBeyond}/root.d.ts +1 -1
- package/dist/schema/widgets/checkoutAndBeyond/root.d.ts.map +1 -0
- package/dist/schema/{cab → widgets/checkoutAndBeyond}/shared.d.ts +1 -1
- package/dist/schema/widgets/checkoutAndBeyond/shared.d.ts.map +1 -0
- package/dist/schema/widgets/checkoutAndBeyond/subscription.d.ts.map +1 -0
- package/dist/schema/widgets/checkoutAndBeyond/table.d.ts.map +1 -0
- package/dist/schema/{cab → widgets/checkoutAndBeyond}/text.d.ts +22 -22
- package/dist/schema/widgets/checkoutAndBeyond/text.d.ts.map +1 -0
- package/dist/schema/{cab → widgets/checkoutAndBeyond}/utils.d.ts +1 -1
- package/dist/schema/widgets/checkoutAndBeyond/utils.d.ts.map +1 -0
- package/dist/schema/widgets/checkoutAndBeyond/variants.d.ts.map +1 -0
- package/dist/schema/widgets/checkoutExtension.d.ts +7 -0
- package/dist/schema/widgets/checkoutExtension.d.ts.map +1 -0
- package/dist/schema/widgets/contentBlock.d.ts +50 -0
- package/dist/schema/widgets/contentBlock.d.ts.map +1 -0
- package/dist/schema/widgets/giftWithPurchase.d.ts +7 -0
- package/dist/schema/widgets/giftWithPurchase.d.ts.map +1 -0
- package/dist/schema/widgets/lineItemEditor.d.ts +7 -0
- package/dist/schema/widgets/lineItemEditor.d.ts.map +1 -0
- package/dist/schema/widgets/progressBar.d.ts +7 -0
- package/dist/schema/widgets/progressBar.d.ts.map +1 -0
- package/dist/schema/widgets/rebuyButton.d.ts +7 -0
- package/dist/schema/widgets/rebuyButton.d.ts.map +1 -0
- package/dist/schema/widgets/rebuyMonetize.d.ts +7 -0
- package/dist/schema/widgets/rebuyMonetize.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/schema/cab/button.d.ts.map +0 -1
- package/dist/schema/cab/common.d.ts.map +0 -1
- package/dist/schema/cab/constants.d.ts.map +0 -1
- package/dist/schema/cab/data-source.d.ts.map +0 -1
- package/dist/schema/cab/image.d.ts.map +0 -1
- package/dist/schema/cab/index.d.ts.map +0 -1
- package/dist/schema/cab/layout.d.ts.map +0 -1
- package/dist/schema/cab/offers.d.ts.map +0 -1
- package/dist/schema/cab/product.d.ts.map +0 -1
- package/dist/schema/cab/products.d.ts.map +0 -1
- package/dist/schema/cab/quantity.d.ts.map +0 -1
- package/dist/schema/cab/regex.d.ts.map +0 -1
- package/dist/schema/cab/reviews.d.ts.map +0 -1
- package/dist/schema/cab/root.d.ts.map +0 -1
- package/dist/schema/cab/shared.d.ts.map +0 -1
- package/dist/schema/cab/subscription.d.ts.map +0 -1
- package/dist/schema/cab/table.d.ts.map +0 -1
- package/dist/schema/cab/text.d.ts.map +0 -1
- package/dist/schema/cab/utils.d.ts.map +0 -1
- package/dist/schema/cab/variants.d.ts.map +0 -1
- package/dist/schema/widgetSettings.d.ts +0 -152
- package/dist/schema/widgetSettings.d.ts.map +0 -1
- /package/dist/schema/{cab → widgets/checkoutAndBeyond}/constants.d.ts +0 -0
- /package/dist/schema/{cab → widgets/checkoutAndBeyond}/image.d.ts +0 -0
- /package/dist/schema/{cab → widgets/checkoutAndBeyond}/quantity.d.ts +0 -0
- /package/dist/schema/{cab → widgets/checkoutAndBeyond}/regex.d.ts +0 -0
- /package/dist/schema/{cab → widgets/checkoutAndBeyond}/reviews.d.ts +0 -0
- /package/dist/schema/{cab → widgets/checkoutAndBeyond}/subscription.d.ts +0 -0
- /package/dist/schema/{cab → widgets/checkoutAndBeyond}/table.d.ts +0 -0
- /package/dist/schema/{cab → widgets/checkoutAndBeyond}/variants.d.ts +0 -0
package/dist/index.mjs
CHANGED
|
@@ -734,20 +734,119 @@ var RebuyClient = class {
|
|
|
734
734
|
}
|
|
735
735
|
};
|
|
736
736
|
|
|
737
|
-
// src/schema/
|
|
738
|
-
import { v7 as uuidv712 } from "uuid";
|
|
739
|
-
import { z as z16 } from "zod/v4";
|
|
740
|
-
|
|
741
|
-
// src/schema/cab/common.ts
|
|
737
|
+
// src/schema/shopConfig.ts
|
|
742
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()
|
|
750
|
+
})
|
|
751
|
+
),
|
|
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()
|
|
758
|
+
})
|
|
759
|
+
),
|
|
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()
|
|
772
|
+
})
|
|
773
|
+
),
|
|
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([
|
|
788
|
+
"attentive",
|
|
789
|
+
"judgeme",
|
|
790
|
+
"junip",
|
|
791
|
+
"klaviyo",
|
|
792
|
+
"loox",
|
|
793
|
+
"okendo",
|
|
794
|
+
"opinew",
|
|
795
|
+
"recharge",
|
|
796
|
+
"reviewsio",
|
|
797
|
+
"stamped",
|
|
798
|
+
"yotpo"
|
|
799
|
+
]),
|
|
800
|
+
z.boolean()
|
|
801
|
+
),
|
|
802
|
+
markets: z.strictObject({
|
|
803
|
+
enabled: z.boolean()
|
|
804
|
+
}),
|
|
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()
|
|
816
|
+
});
|
|
817
|
+
|
|
818
|
+
// src/schema/userConfig.ts
|
|
819
|
+
import { z as z2 } from "zod/v4";
|
|
820
|
+
var UserConfig = z2.strictObject({
|
|
821
|
+
shop: ShopConfig,
|
|
822
|
+
smartCart: z2.unknown(),
|
|
823
|
+
smartFlows: z2.array(z2.unknown())
|
|
824
|
+
});
|
|
825
|
+
|
|
826
|
+
// src/schema/widgetData.ts
|
|
827
|
+
import { z as z28 } from "zod/v4";
|
|
828
|
+
|
|
829
|
+
// 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()
|
|
834
|
+
});
|
|
835
|
+
|
|
836
|
+
// src/schema/widgets/checkoutAndBeyond/constants.ts
|
|
837
|
+
import { uniqBy } from "lodash-es";
|
|
838
|
+
import { z as z5 } from "zod/v4";
|
|
839
|
+
|
|
840
|
+
// src/schema/widgets/checkoutAndBeyond/common.ts
|
|
841
|
+
import { z as z4 } from "zod/v4";
|
|
743
842
|
var borderRadii = ["none", "small", "base", "large", "fullyRounded"];
|
|
744
|
-
var borderRadius =
|
|
843
|
+
var borderRadius = z4.enum(borderRadii);
|
|
745
844
|
var BorderRadius = borderRadius.enum;
|
|
746
845
|
var borderStyles = ["none", "base", "dotted", "dashed"];
|
|
747
|
-
var borderStyle =
|
|
846
|
+
var borderStyle = z4.enum(borderStyles);
|
|
748
847
|
var BorderStyle = borderStyle.enum;
|
|
749
848
|
var borderWidths = ["base", "medium", "thick"];
|
|
750
|
-
var borderWidth =
|
|
849
|
+
var borderWidth = z4.enum(borderWidths);
|
|
751
850
|
var BorderWidth = borderWidth.enum;
|
|
752
851
|
var buttonActions = [
|
|
753
852
|
"addToOrder",
|
|
@@ -760,7 +859,7 @@ var buttonActions = [
|
|
|
760
859
|
"showVariants",
|
|
761
860
|
"switchToSubscription"
|
|
762
861
|
];
|
|
763
|
-
var buttonAction =
|
|
862
|
+
var buttonAction = z4.enum(buttonActions);
|
|
764
863
|
var ButtonAction = buttonAction.enum;
|
|
765
864
|
var buttonFields = [
|
|
766
865
|
"addedToCart",
|
|
@@ -781,13 +880,13 @@ var buttonFields = [
|
|
|
781
880
|
"switchToSubscriptionNoDiscount",
|
|
782
881
|
"switchToSubscriptionWithDiscount"
|
|
783
882
|
];
|
|
784
|
-
var buttonField =
|
|
883
|
+
var buttonField = z4.enum(buttonFields);
|
|
785
884
|
var ButtonField = buttonField.enum;
|
|
786
885
|
var buttonStyles = ["primary", "secondary", "plain", "custom"];
|
|
787
|
-
var buttonStyle =
|
|
886
|
+
var buttonStyle = z4.enum(buttonStyles);
|
|
788
887
|
var ButtonStyle = buttonStyle.enum;
|
|
789
888
|
var directions = ["columns", "rows"];
|
|
790
|
-
var direction =
|
|
889
|
+
var direction = z4.enum(directions);
|
|
791
890
|
var Direction = direction.enum;
|
|
792
891
|
var editorModes = [
|
|
793
892
|
"checkoutExtension",
|
|
@@ -797,10 +896,10 @@ var editorModes = [
|
|
|
797
896
|
"ordersIndexPage",
|
|
798
897
|
"customerProfilePage"
|
|
799
898
|
];
|
|
800
|
-
var editorMode =
|
|
899
|
+
var editorMode = z4.enum(editorModes);
|
|
801
900
|
var EditorMode = editorMode.enum;
|
|
802
901
|
var horizontalAlignments = ["start", "center", "end"];
|
|
803
|
-
var horizontalAlignment =
|
|
902
|
+
var horizontalAlignment = z4.enum(horizontalAlignments);
|
|
804
903
|
var HorizontalAlignment = horizontalAlignment.enum;
|
|
805
904
|
var languageKeys = [
|
|
806
905
|
"ar",
|
|
@@ -830,13 +929,13 @@ var languageKeys = [
|
|
|
830
929
|
"vi",
|
|
831
930
|
"zh"
|
|
832
931
|
];
|
|
833
|
-
var languageKey =
|
|
932
|
+
var languageKey = z4.enum(languageKeys);
|
|
834
933
|
var LanguageKey = languageKey.enum;
|
|
835
934
|
var objectFits = ["cover", "contain"];
|
|
836
|
-
var objectFit =
|
|
935
|
+
var objectFit = z4.enum(objectFits);
|
|
837
936
|
var ObjectFit = objectFit.enum;
|
|
838
937
|
var quantityInputs = ["select", "number"];
|
|
839
|
-
var quantityInput =
|
|
938
|
+
var quantityInput = z4.enum(quantityInputs);
|
|
840
939
|
var QuantityInput = quantityInput.enum;
|
|
841
940
|
var sectionTypes = [
|
|
842
941
|
"button",
|
|
@@ -853,47 +952,28 @@ var sectionTypes = [
|
|
|
853
952
|
"text",
|
|
854
953
|
"variants"
|
|
855
954
|
];
|
|
856
|
-
var sectionType =
|
|
955
|
+
var sectionType = z4.enum(sectionTypes);
|
|
857
956
|
var SectionType = sectionType.enum;
|
|
858
957
|
var spacings = ["none", "extraTight", "tight", "base", "loose", "extraLoose"];
|
|
859
|
-
var spacing =
|
|
958
|
+
var spacing = z4.enum(spacings);
|
|
860
959
|
var Spacing = spacing.enum;
|
|
861
960
|
var textAlignments = ["start", "center", "end"];
|
|
862
|
-
var textAlignment =
|
|
961
|
+
var textAlignment = z4.enum(textAlignments);
|
|
863
962
|
var TextAlignment = textAlignment.enum;
|
|
864
963
|
var textColorNames = ["base", "subdued", "accent", "decorative", "success", "warning", "critical"];
|
|
865
|
-
var textColorName =
|
|
964
|
+
var textColorName = z4.enum(textColorNames);
|
|
866
965
|
var TextColorName = textColorName.enum;
|
|
867
966
|
var textSizeNames = ["extraSmall", "small", "base", "medium", "large", "extraLarge"];
|
|
868
|
-
var textSizeName =
|
|
967
|
+
var textSizeName = z4.enum(textSizeNames);
|
|
869
968
|
var TextSizeName = textSizeName.enum;
|
|
870
969
|
var variantSelectors = ["menu", "button", "radio", "color", "image"];
|
|
871
|
-
var variantSelector =
|
|
970
|
+
var variantSelector = z4.enum(variantSelectors);
|
|
872
971
|
var VariantSelector = variantSelector.enum;
|
|
873
972
|
var verticalAlignments = ["top", "middle", "bottom"];
|
|
874
|
-
var verticalAlignment =
|
|
973
|
+
var verticalAlignment = z4.enum(verticalAlignments);
|
|
875
974
|
var VerticalAlignment = verticalAlignment.enum;
|
|
876
975
|
|
|
877
|
-
// src/schema/
|
|
878
|
-
import { v7 as uuidv711 } from "uuid";
|
|
879
|
-
import { z as z15 } from "zod/v4";
|
|
880
|
-
|
|
881
|
-
// src/schema/cab/regex.ts
|
|
882
|
-
var ARRAY_INDEX_STRING = /^(0|[1-9]\d*)$/;
|
|
883
|
-
var DYNAMIC_TOKEN_REGEX = /^\{\{\s*[A-Za-z]+\s*\}\}$/;
|
|
884
|
-
var HEX_COLOR_REGEX = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/;
|
|
885
|
-
var HTML_TAGS_REGEX = /<[^>]*>/gi;
|
|
886
|
-
|
|
887
|
-
// src/schema/cab/shared.ts
|
|
888
|
-
import { z as z14 } from "zod/v4";
|
|
889
|
-
|
|
890
|
-
// src/schema/cab/data-source.ts
|
|
891
|
-
import { v7 as uuidv7 } from "uuid";
|
|
892
|
-
import { z as z3 } from "zod/v4";
|
|
893
|
-
|
|
894
|
-
// src/schema/cab/constants.ts
|
|
895
|
-
import { uniqBy } from "lodash-es";
|
|
896
|
-
import { z as z2 } from "zod/v4";
|
|
976
|
+
// src/schema/widgets/checkoutAndBeyond/constants.ts
|
|
897
977
|
var DEFAULT_ENDPOINTS = [
|
|
898
978
|
{ label: "Recommended (AI)", value: "/products/recommended" },
|
|
899
979
|
{ label: "Top Sellers", value: "/products/top_sellers" },
|
|
@@ -966,58 +1046,34 @@ var widgetTypes = [
|
|
|
966
1046
|
"ui_extension_line_item_editor",
|
|
967
1047
|
"ui_extension_progress_bar"
|
|
968
1048
|
];
|
|
969
|
-
var widgetType =
|
|
1049
|
+
var widgetType = z5.enum(widgetTypes);
|
|
970
1050
|
var WidgetType = widgetType.enum;
|
|
971
1051
|
|
|
972
|
-
// src/schema/
|
|
973
|
-
|
|
974
|
-
dataSourceId: z3.number().nullable().default(null),
|
|
975
|
-
dataSourcePath: z3.string().default(DEFAULT_ENDPOINTS[0].value),
|
|
976
|
-
limit: z3.number().default(1),
|
|
977
|
-
name: z3.string().default(DEFAULT_ENDPOINTS[0].label),
|
|
978
|
-
sectionId: z3.uuid().default(() => uuidv7()),
|
|
979
|
-
sectionType: z3.literal(SectionType.dataSource).default(SectionType.dataSource)
|
|
980
|
-
});
|
|
1052
|
+
// src/schema/widgets/checkoutAndBeyond/root.ts
|
|
1053
|
+
import { z as z20 } from "zod/v4";
|
|
981
1054
|
|
|
982
|
-
// src/schema/
|
|
983
|
-
import { v7 as
|
|
984
|
-
import { z as
|
|
985
|
-
var CABLayoutSection = z4.object({
|
|
986
|
-
alignment: z4.object({
|
|
987
|
-
horizontal: z4.enum(horizontalAlignments).default(HorizontalAlignment.start),
|
|
988
|
-
vertical: z4.enum(verticalAlignments).default(VerticalAlignment.top)
|
|
989
|
-
}).default({
|
|
990
|
-
horizontal: HorizontalAlignment.start,
|
|
991
|
-
vertical: VerticalAlignment.top
|
|
992
|
-
}),
|
|
993
|
-
border: z4.lazy(() => CABBorder),
|
|
994
|
-
direction: z4.enum(directions).default(Direction.rows),
|
|
995
|
-
name: z4.string().optional(),
|
|
996
|
-
padding: z4.enum(spacings).default(Spacing.none),
|
|
997
|
-
sectionId: z4.uuid().default(() => uuidv72()),
|
|
998
|
-
sections: z4.array(z4.lazy(() => CABSection)).default(() => []),
|
|
999
|
-
sectionType: z4.literal(SectionType.layout).default(SectionType.layout),
|
|
1000
|
-
spacing: z4.enum(spacings).default(Spacing.base),
|
|
1001
|
-
width: z4.number().default(100)
|
|
1002
|
-
});
|
|
1055
|
+
// src/schema/widgets/checkoutAndBeyond/layout.ts
|
|
1056
|
+
import { v7 as uuidv712 } from "uuid";
|
|
1057
|
+
import { z as z19 } from "zod/v4";
|
|
1003
1058
|
|
|
1004
|
-
// src/schema/
|
|
1005
|
-
import { z as
|
|
1059
|
+
// src/schema/widgets/checkoutAndBeyond/shared.ts
|
|
1060
|
+
import { z as z18 } from "zod/v4";
|
|
1006
1061
|
|
|
1007
|
-
// src/schema/
|
|
1008
|
-
import { v7 as
|
|
1009
|
-
import { z as
|
|
1062
|
+
// src/schema/widgets/checkoutAndBeyond/button.ts
|
|
1063
|
+
import { v7 as uuidv73 } from "uuid";
|
|
1064
|
+
import { z as z8 } from "zod/v4";
|
|
1010
1065
|
|
|
1011
|
-
// src/schema/
|
|
1012
|
-
import { v7 as
|
|
1066
|
+
// src/schema/widgets/checkoutAndBeyond/image.ts
|
|
1067
|
+
import { v7 as uuidv7 } from "uuid";
|
|
1013
1068
|
import { z as z6 } from "zod/v4";
|
|
1014
1069
|
|
|
1015
|
-
// src/schema/
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1070
|
+
// src/schema/widgets/checkoutAndBeyond/regex.ts
|
|
1071
|
+
var ARRAY_INDEX_STRING = /^(0|[1-9]\d*)$/;
|
|
1072
|
+
var DYNAMIC_TOKEN_REGEX = /^\{\{\s*[A-Za-z]+\s*\}\}$/;
|
|
1073
|
+
var HEX_COLOR_REGEX = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/;
|
|
1074
|
+
var HTML_TAGS_REGEX = /<[^>]*>/gi;
|
|
1019
1075
|
|
|
1020
|
-
// src/schema/
|
|
1076
|
+
// src/schema/widgets/checkoutAndBeyond/utils.ts
|
|
1021
1077
|
import { entries, every, get as get2, isArray, isPlainObject, isString, map, mapValues, size } from "lodash-es";
|
|
1022
1078
|
var isHTML = (html = "") => {
|
|
1023
1079
|
if (typeof window !== "undefined") {
|
|
@@ -1055,55 +1111,78 @@ var convertNumericObjects = (input) => {
|
|
|
1055
1111
|
return input;
|
|
1056
1112
|
};
|
|
1057
1113
|
|
|
1058
|
-
// src/schema/
|
|
1059
|
-
var
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
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)
|
|
1129
|
+
});
|
|
1130
|
+
|
|
1131
|
+
// src/schema/widgets/checkoutAndBeyond/text.ts
|
|
1132
|
+
import { forEach, isString as isString2 } from "lodash-es";
|
|
1133
|
+
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")
|
|
1148
|
+
}),
|
|
1149
|
+
type: z7.literal("link")
|
|
1079
1150
|
}),
|
|
1080
|
-
type:
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1151
|
+
z7.object({ type: z7.literal("strike") }),
|
|
1152
|
+
z7.object({
|
|
1153
|
+
attrs: z7.object({
|
|
1154
|
+
color: enumOrOmit(...textColorNames).default(TextColorName.base),
|
|
1155
|
+
fontSize: enumOrOmit(...textSizeNames).default(TextSizeName.base)
|
|
1156
|
+
}),
|
|
1157
|
+
type: z7.literal("textStyle")
|
|
1158
|
+
})
|
|
1159
|
+
])
|
|
1160
|
+
),
|
|
1161
|
+
z7.strictObject({}).transform(() => [])
|
|
1162
|
+
]).optional(),
|
|
1163
|
+
text: z7.string().default(""),
|
|
1164
|
+
type: z7.literal("text").default("text")
|
|
1086
1165
|
});
|
|
1087
|
-
var TiptapParagraph =
|
|
1088
|
-
attrs:
|
|
1166
|
+
var TiptapParagraph = z7.object({
|
|
1167
|
+
attrs: z7.object({
|
|
1089
1168
|
textAlign: enumOrOmit(...textAlignments)
|
|
1090
1169
|
}).default({ textAlign: TextAlignment.start }),
|
|
1091
|
-
content:
|
|
1092
|
-
type:
|
|
1170
|
+
content: z7.union([z7.array(TiptapText), z7.strictObject({}).transform(() => [])]).default(() => []),
|
|
1171
|
+
type: z7.literal("paragraph").default("paragraph")
|
|
1093
1172
|
});
|
|
1094
|
-
var TiptapDocument =
|
|
1095
|
-
attrs:
|
|
1173
|
+
var TiptapDocument = z7.object({
|
|
1174
|
+
attrs: z7.object({
|
|
1096
1175
|
blockSpacing: enumOrOmit(...spacings)
|
|
1097
1176
|
}).default({ blockSpacing: Spacing.base }),
|
|
1098
|
-
content:
|
|
1099
|
-
type:
|
|
1177
|
+
content: z7.union([z7.array(TiptapParagraph), z7.strictObject({}).transform(() => [])]).default(() => [TiptapParagraph.parse({})]),
|
|
1178
|
+
type: z7.literal("doc").default("doc")
|
|
1100
1179
|
});
|
|
1101
|
-
var CABTextSection =
|
|
1102
|
-
buttonField:
|
|
1103
|
-
content:
|
|
1104
|
-
name:
|
|
1105
|
-
sectionId:
|
|
1106
|
-
sectionType:
|
|
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)
|
|
1107
1186
|
}).superRefine(({ buttonField: buttonField2, content }, ctx) => {
|
|
1108
1187
|
if (buttonField2 === ButtonField.destinationUrl && content) {
|
|
1109
1188
|
forEach(content, (value, lang) => {
|
|
@@ -1123,57 +1202,100 @@ var CABTextSection = z5.object({
|
|
|
1123
1202
|
}
|
|
1124
1203
|
});
|
|
1125
1204
|
|
|
1126
|
-
// src/schema/
|
|
1127
|
-
var
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
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)
|
|
1214
|
+
}).default({
|
|
1215
|
+
color: "#005bd3",
|
|
1216
|
+
height: 52,
|
|
1217
|
+
width: 300
|
|
1218
|
+
}),
|
|
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)
|
|
1223
|
+
});
|
|
1224
|
+
|
|
1225
|
+
// src/schema/widgets/checkoutAndBeyond/dataSource.ts
|
|
1226
|
+
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)
|
|
1235
|
+
});
|
|
1236
|
+
|
|
1237
|
+
// src/schema/widgets/checkoutAndBeyond/offers.ts
|
|
1238
|
+
import { z as z12 } from "zod/v4";
|
|
1239
|
+
|
|
1240
|
+
// src/schema/widgets/checkoutAndBeyond/products.ts
|
|
1241
|
+
import { v7 as uuidv76 } from "uuid";
|
|
1242
|
+
import { z as z11 } from "zod/v4";
|
|
1243
|
+
|
|
1244
|
+
// src/schema/widgets/checkoutAndBeyond/product.ts
|
|
1245
|
+
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({
|
|
1131
1251
|
/** `name` represents `Color`, `Size`, etc. */
|
|
1132
|
-
name:
|
|
1133
|
-
optionId:
|
|
1134
|
-
selector:
|
|
1135
|
-
values:
|
|
1136
|
-
|
|
1137
|
-
color:
|
|
1138
|
-
image:
|
|
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(),
|
|
1139
1259
|
/** `name` represents `Red`, `Blue`, etc. */
|
|
1140
|
-
name:
|
|
1141
|
-
text:
|
|
1260
|
+
name: z10.string(),
|
|
1261
|
+
text: z10.lazy(() => CABTextSection).optional()
|
|
1142
1262
|
})
|
|
1143
1263
|
)
|
|
1144
1264
|
})
|
|
1145
1265
|
).default(() => []),
|
|
1146
|
-
productId:
|
|
1147
|
-
sectionId:
|
|
1148
|
-
sectionType:
|
|
1266
|
+
productId: z10.number().nullable().default(null),
|
|
1267
|
+
sectionId: z10.uuid().default(() => uuidv75()),
|
|
1268
|
+
sectionType: z10.literal(SectionType.product).default(SectionType.product)
|
|
1149
1269
|
});
|
|
1150
1270
|
|
|
1151
|
-
// src/schema/
|
|
1152
|
-
var CABProductsSection =
|
|
1153
|
-
name:
|
|
1154
|
-
sectionId:
|
|
1155
|
-
sections:
|
|
1156
|
-
sectionType:
|
|
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)
|
|
1157
1277
|
});
|
|
1158
1278
|
|
|
1159
|
-
// src/schema/
|
|
1160
|
-
var CABOffersSection =
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1279
|
+
// src/schema/widgets/checkoutAndBeyond/offers.ts
|
|
1280
|
+
var CABOffersSection = z12.lazy(
|
|
1281
|
+
() => 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)
|
|
1285
|
+
}).shape
|
|
1286
|
+
)
|
|
1165
1287
|
);
|
|
1166
1288
|
|
|
1167
|
-
// src/schema/
|
|
1168
|
-
import { v7 as
|
|
1169
|
-
import { z as
|
|
1170
|
-
var CABQuantitySection =
|
|
1171
|
-
errorMessages:
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
max:
|
|
1175
|
-
min:
|
|
1176
|
-
neg:
|
|
1289
|
+
// src/schema/widgets/checkoutAndBeyond/quantity.ts
|
|
1290
|
+
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()
|
|
1177
1299
|
})
|
|
1178
1300
|
).default({
|
|
1179
1301
|
en: {
|
|
@@ -1182,64 +1304,64 @@ var CABQuantitySection = z9.object({
|
|
|
1182
1304
|
neg: "Quantity cannot be negative"
|
|
1183
1305
|
}
|
|
1184
1306
|
}),
|
|
1185
|
-
inputType:
|
|
1186
|
-
max:
|
|
1187
|
-
min:
|
|
1188
|
-
name:
|
|
1189
|
-
sectionId:
|
|
1190
|
-
sectionType:
|
|
1191
|
-
});
|
|
1192
|
-
|
|
1193
|
-
// src/schema/cab/reviews.ts
|
|
1194
|
-
import { v7 as uuidv77 } from "uuid";
|
|
1195
|
-
import { z as z10 } from "zod/v4";
|
|
1196
|
-
var CABReviewsSection = z10.object({
|
|
1197
|
-
name: z10.string().optional(),
|
|
1198
|
-
sectionId: z10.uuid().default(() => uuidv77()),
|
|
1199
|
-
sectionType: z10.literal(SectionType.reviews).default(SectionType.reviews)
|
|
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)
|
|
1200
1313
|
});
|
|
1201
1314
|
|
|
1202
|
-
// src/schema/
|
|
1315
|
+
// src/schema/widgets/checkoutAndBeyond/reviews.ts
|
|
1203
1316
|
import { v7 as uuidv78 } from "uuid";
|
|
1204
|
-
import { z as
|
|
1205
|
-
var
|
|
1206
|
-
name:
|
|
1207
|
-
sectionId:
|
|
1208
|
-
sectionType:
|
|
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)
|
|
1209
1322
|
});
|
|
1210
1323
|
|
|
1211
|
-
// src/schema/
|
|
1324
|
+
// src/schema/widgets/checkoutAndBeyond/subscription.ts
|
|
1212
1325
|
import { v7 as uuidv79 } from "uuid";
|
|
1213
|
-
import { z as
|
|
1214
|
-
var
|
|
1215
|
-
name:
|
|
1216
|
-
sectionId:
|
|
1217
|
-
sectionType:
|
|
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)
|
|
1218
1331
|
});
|
|
1219
1332
|
|
|
1220
|
-
// src/schema/
|
|
1221
|
-
import { slice } from "lodash-es";
|
|
1333
|
+
// src/schema/widgets/checkoutAndBeyond/table.ts
|
|
1222
1334
|
import { v7 as uuidv710 } from "uuid";
|
|
1223
|
-
import { z as
|
|
1224
|
-
var
|
|
1225
|
-
name:
|
|
1226
|
-
sectionId:
|
|
1227
|
-
sectionType:
|
|
1228
|
-
|
|
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)
|
|
1340
|
+
});
|
|
1341
|
+
|
|
1342
|
+
// src/schema/widgets/checkoutAndBeyond/variants.ts
|
|
1343
|
+
import { slice } from "lodash-es";
|
|
1344
|
+
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)
|
|
1229
1351
|
});
|
|
1230
1352
|
|
|
1231
|
-
// src/schema/
|
|
1232
|
-
var CABBorder =
|
|
1233
|
-
radius:
|
|
1234
|
-
style:
|
|
1235
|
-
width:
|
|
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)
|
|
1236
1358
|
}).default({
|
|
1237
1359
|
radius: BorderRadius.base,
|
|
1238
1360
|
style: BorderStyle.none,
|
|
1239
1361
|
width: BorderWidth.base
|
|
1240
1362
|
});
|
|
1241
|
-
var CABSection =
|
|
1242
|
-
() =>
|
|
1363
|
+
var CABSection = z18.lazy(
|
|
1364
|
+
() => z18.discriminatedUnion("sectionType", [
|
|
1243
1365
|
CABButtonSection,
|
|
1244
1366
|
CABDataSourceSection,
|
|
1245
1367
|
CABImageSection,
|
|
@@ -1256,150 +1378,140 @@ var CABSection = z14.lazy(
|
|
|
1256
1378
|
])
|
|
1257
1379
|
);
|
|
1258
1380
|
|
|
1259
|
-
// src/schema/
|
|
1260
|
-
var
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
buttonField: z15.enum(buttonFields).optional(),
|
|
1265
|
-
category: z15.enum(["gallery", "icons", "payment-methods", "secure-checkout"]).nullable().default(null),
|
|
1266
|
-
name: z15.string().optional(),
|
|
1267
|
-
naturalHeight: z15.number().default(0),
|
|
1268
|
-
naturalWidth: z15.number().default(0),
|
|
1269
|
-
objectFit: z15.enum(objectFits).default(ObjectFit.cover),
|
|
1270
|
-
sectionId: z15.uuid().default(() => uuidv711()),
|
|
1271
|
-
sectionType: z15.literal(SectionType.image).default(SectionType.image),
|
|
1272
|
-
source: z15.union([z15.url(), z15.literal(""), z15.string().regex(DYNAMIC_TOKEN_REGEX)]).default(""),
|
|
1273
|
-
width: z15.number().default(100)
|
|
1274
|
-
});
|
|
1275
|
-
|
|
1276
|
-
// src/schema/cab/button.ts
|
|
1277
|
-
var CABButtonContent = z16.lazy(() => z16.discriminatedUnion("sectionType", [CABImageSection, CABTextSection]));
|
|
1278
|
-
var CABButtonSection = z16.object({
|
|
1279
|
-
action: z16.union([z16.literal(""), z16.enum(buttonActions)]).default(""),
|
|
1280
|
-
buttonStyle: z16.enum(buttonStyles).default(ButtonStyle.primary),
|
|
1281
|
-
custom: z16.object({
|
|
1282
|
-
color: z16.string().regex(HEX_COLOR_REGEX).default("#005bd3"),
|
|
1283
|
-
height: z16.number().default(52),
|
|
1284
|
-
width: z16.number().default(300)
|
|
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)
|
|
1285
1386
|
}).default({
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
width: 300
|
|
1387
|
+
horizontal: HorizontalAlignment.start,
|
|
1388
|
+
vertical: VerticalAlignment.top
|
|
1289
1389
|
}),
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
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)
|
|
1294
1399
|
});
|
|
1295
1400
|
|
|
1296
|
-
// src/schema/
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
width: z17.string()
|
|
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()
|
|
1304
1408
|
}).default(targetAreas[EditorMode.checkoutExtension][1]);
|
|
1305
1409
|
var CABRootSection = CABLayoutSection.extend(
|
|
1306
|
-
|
|
1307
|
-
editorMode:
|
|
1308
|
-
previewMode:
|
|
1309
|
-
storeId:
|
|
1410
|
+
z20.object({
|
|
1411
|
+
editorMode: z20.enum(editorModes).default(EditorMode.checkoutExtension),
|
|
1412
|
+
previewMode: z20.boolean().default(false),
|
|
1413
|
+
storeId: z20.number().nullable().default(null),
|
|
1310
1414
|
targetArea: TargetArea.nullable(),
|
|
1311
|
-
type:
|
|
1312
|
-
version:
|
|
1313
|
-
widgetId:
|
|
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)
|
|
1314
1418
|
}).shape
|
|
1315
1419
|
);
|
|
1316
1420
|
|
|
1317
|
-
// src/schema/
|
|
1318
|
-
import { z as
|
|
1319
|
-
var
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
shortName: z18.string(),
|
|
1349
|
-
trialDays: z18.number(),
|
|
1350
|
-
uninstalledAt: z18.string().nullable()
|
|
1351
|
-
})
|
|
1352
|
-
).optional(),
|
|
1353
|
-
apiKey: z18.string(),
|
|
1354
|
-
billingVersion: z18.string().optional(),
|
|
1355
|
-
cacheKey: z18.string().regex(/^[0-9]+$/),
|
|
1356
|
-
carousel: z18.string(),
|
|
1357
|
-
currency: z18.string(),
|
|
1358
|
-
currencySymbol: z18.string(),
|
|
1359
|
-
domain: z18.string(),
|
|
1360
|
-
enabledJquery: z18.boolean(),
|
|
1361
|
-
enabledPresentmentCurrencies: z18.array(z18.string()),
|
|
1362
|
-
hasSmartCollectionsEnabled: z18.boolean().optional(),
|
|
1363
|
-
hasSmartSearchEnabled: z18.boolean(),
|
|
1364
|
-
id: z18.string().regex(/^[0-9]+$/),
|
|
1365
|
-
integrations: z18.record(z18.string(), z18.boolean()),
|
|
1366
|
-
markets: z18.object({
|
|
1367
|
-
enabled: z18.boolean()
|
|
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
|
+
// 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)
|
|
1443
|
+
})
|
|
1444
|
+
),
|
|
1445
|
+
z22.strictObject({}).transform(() => [])
|
|
1446
|
+
]),
|
|
1447
|
+
imageLayout: z22.enum(["row", "column"]),
|
|
1448
|
+
language: z22.object({
|
|
1449
|
+
description: z22.string(),
|
|
1450
|
+
superTitle: z22.string(),
|
|
1451
|
+
title: z22.string()
|
|
1368
1452
|
}),
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
productGroupsEnabled: z18.enum(["no", "yes"]),
|
|
1373
|
-
rechargeCustomDomain: z18.string().nullable(),
|
|
1374
|
-
sellingPlansEnabled: z18.boolean(),
|
|
1375
|
-
shopId: z18.number(),
|
|
1376
|
-
shopifySellingPlansEnabled: z18.boolean(),
|
|
1377
|
-
shopName: z18.string(),
|
|
1378
|
-
storefrontAccessToken: z18.string().nullable(),
|
|
1379
|
-
useRebuyIcons: z18.boolean()
|
|
1453
|
+
previewMode: z22.boolean(),
|
|
1454
|
+
type: z22.literal(WidgetType.ui_extension_content_block).default(WidgetType.ui_extension_content_block),
|
|
1455
|
+
version: z22.literal(1)
|
|
1380
1456
|
});
|
|
1381
1457
|
|
|
1382
|
-
// src/schema/
|
|
1383
|
-
import { z as
|
|
1384
|
-
var
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
smartFlows: z19.array(z19.unknown())
|
|
1458
|
+
// 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()
|
|
1388
1463
|
});
|
|
1389
1464
|
|
|
1390
|
-
// src/schema/
|
|
1391
|
-
import { z as
|
|
1392
|
-
var
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1465
|
+
// 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)
|
|
1470
|
+
});
|
|
1471
|
+
|
|
1472
|
+
// 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)
|
|
1477
|
+
});
|
|
1478
|
+
|
|
1479
|
+
// 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)
|
|
1484
|
+
});
|
|
1485
|
+
|
|
1486
|
+
// 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)
|
|
1491
|
+
});
|
|
1492
|
+
|
|
1493
|
+
// src/schema/widgetData.ts
|
|
1494
|
+
var extensionWidgetTypes = [
|
|
1495
|
+
"placeholder",
|
|
1496
|
+
WidgetType.gift_with_purchase,
|
|
1497
|
+
WidgetType.shopify_checkout_extension,
|
|
1498
|
+
WidgetType.ui_extension_ad,
|
|
1499
|
+
WidgetType.ui_extension_button,
|
|
1500
|
+
WidgetType.ui_extension_content_block,
|
|
1501
|
+
WidgetType.ui_extension_line_item_editor,
|
|
1502
|
+
WidgetType.ui_extension_progress_bar
|
|
1503
|
+
];
|
|
1504
|
+
var LegacyV0Widget = z28.discriminatedUnion("type", [ABTestingPlaceholder, CheckoutExtension, GiftWithPurchase]);
|
|
1505
|
+
var LegacyV1Widget = z28.discriminatedUnion("type", [
|
|
1506
|
+
ContentBlock,
|
|
1507
|
+
LineItemEditor,
|
|
1508
|
+
ProgressBar,
|
|
1509
|
+
RebuyButton,
|
|
1510
|
+
RebuyMonetize
|
|
1400
1511
|
]);
|
|
1401
|
-
var
|
|
1512
|
+
var WidgetData = z28.discriminatedUnion("version", [LegacyV0Widget, LegacyV1Widget, CABRootSection]);
|
|
1402
1513
|
export {
|
|
1514
|
+
ABTestingPlaceholder,
|
|
1403
1515
|
ARRAY_INDEX_STRING,
|
|
1404
1516
|
Api,
|
|
1405
1517
|
BorderRadius,
|
|
@@ -1426,21 +1538,29 @@ export {
|
|
|
1426
1538
|
CABTextSection,
|
|
1427
1539
|
CABVariantsSection,
|
|
1428
1540
|
COMBINED_ENDPOINTS,
|
|
1541
|
+
CheckoutExtension,
|
|
1542
|
+
ContentBlock,
|
|
1429
1543
|
DEFAULT_ENDPOINTS,
|
|
1430
1544
|
DYNAMIC_TOKEN_REGEX,
|
|
1431
1545
|
Direction,
|
|
1432
1546
|
EditorMode,
|
|
1433
1547
|
Geolocation,
|
|
1548
|
+
GiftWithPurchase,
|
|
1434
1549
|
HEX_COLOR_REGEX,
|
|
1435
1550
|
HTML_TAGS_REGEX,
|
|
1436
1551
|
HorizontalAlignment,
|
|
1437
1552
|
Identity,
|
|
1438
1553
|
LanguageKey,
|
|
1554
|
+
LegacyV0Widget,
|
|
1439
1555
|
LegacyV1Widget,
|
|
1556
|
+
LineItemEditor,
|
|
1440
1557
|
NO_HTML,
|
|
1441
1558
|
ObjectFit,
|
|
1559
|
+
ProgressBar,
|
|
1442
1560
|
QuantityInput,
|
|
1561
|
+
RebuyButton,
|
|
1443
1562
|
RebuyClient,
|
|
1563
|
+
RebuyMonetize,
|
|
1444
1564
|
STATIC_ENDPOINTS,
|
|
1445
1565
|
SectionType,
|
|
1446
1566
|
Session,
|
|
@@ -1455,7 +1575,7 @@ export {
|
|
|
1455
1575
|
UserConfig,
|
|
1456
1576
|
VariantSelector,
|
|
1457
1577
|
VerticalAlignment,
|
|
1458
|
-
|
|
1578
|
+
WidgetData,
|
|
1459
1579
|
WidgetType,
|
|
1460
1580
|
amountToCents,
|
|
1461
1581
|
borderRadii,
|
|
@@ -1474,6 +1594,7 @@ export {
|
|
|
1474
1594
|
directions,
|
|
1475
1595
|
editorModes,
|
|
1476
1596
|
enabled,
|
|
1597
|
+
extensionWidgetTypes,
|
|
1477
1598
|
find,
|
|
1478
1599
|
firstAvailableVariant,
|
|
1479
1600
|
get,
|