@rebuy/rebuy 2.5.0-rc.1 → 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 -353
- package/dist/index.js.map +4 -4
- package/dist/index.mjs +458 -353
- 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/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
|
-
selector: z13.enum(slice(variantSelectors, 0, 3)).default(VariantSelector.menu)
|
|
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)
|
|
1229
1340
|
});
|
|
1230
1341
|
|
|
1231
|
-
// src/schema/
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
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)
|
|
1351
|
+
});
|
|
1352
|
+
|
|
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,166 +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
|
-
packageName: z18.string(),
|
|
1349
|
-
shortName: z18.string(),
|
|
1350
|
-
trialDays: z18.number(),
|
|
1351
|
-
uninstalledAt: z18.string().nullable()
|
|
1352
|
-
})
|
|
1353
|
-
),
|
|
1354
|
-
apiKey: z18.string(),
|
|
1355
|
-
billingVersion: z18.string(),
|
|
1356
|
-
cacheKey: z18.coerce.number(),
|
|
1357
|
-
carousel: z18.enum(["flickity", "splide"]),
|
|
1358
|
-
currency: z18.string(),
|
|
1359
|
-
currencySymbol: z18.string(),
|
|
1360
|
-
domain: z18.string(),
|
|
1361
|
-
enabledJquery: z18.boolean(),
|
|
1362
|
-
enabledPresentmentCurrencies: z18.array(z18.string()),
|
|
1363
|
-
hasSmartCollectionsEnabled: z18.boolean(),
|
|
1364
|
-
hasSmartSearchEnabled: z18.boolean(),
|
|
1365
|
-
id: z18.coerce.number(),
|
|
1366
|
-
integrations: z18.record(
|
|
1367
|
-
z18.enum([
|
|
1368
|
-
"attentive",
|
|
1369
|
-
"judgeme",
|
|
1370
|
-
"junip",
|
|
1371
|
-
"klaviyo",
|
|
1372
|
-
"loox",
|
|
1373
|
-
"okendo",
|
|
1374
|
-
"opinew",
|
|
1375
|
-
"recharge",
|
|
1376
|
-
"reviewsio",
|
|
1377
|
-
"stamped",
|
|
1378
|
-
"yotpo"
|
|
1379
|
-
]),
|
|
1380
|
-
z18.boolean()
|
|
1381
|
-
),
|
|
1382
|
-
markets: z18.strictObject({
|
|
1383
|
-
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()
|
|
1384
1452
|
}),
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
productGroupsEnabled: z18.enum(["no", "yes"]).transform((value) => value === "yes"),
|
|
1389
|
-
rechargeCustomDomain: z18.string().nullable(),
|
|
1390
|
-
sellingPlansEnabled: z18.boolean(),
|
|
1391
|
-
shopId: z18.number(),
|
|
1392
|
-
shopifySellingPlansEnabled: z18.boolean(),
|
|
1393
|
-
shopName: z18.string(),
|
|
1394
|
-
storefrontAccessToken: z18.string().nullable(),
|
|
1395
|
-
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)
|
|
1396
1456
|
});
|
|
1397
1457
|
|
|
1398
|
-
// src/schema/
|
|
1399
|
-
import { z as
|
|
1400
|
-
var
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
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()
|
|
1404
1463
|
});
|
|
1405
1464
|
|
|
1406
|
-
// src/schema/
|
|
1407
|
-
import { z as
|
|
1408
|
-
var
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
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
|
|
1416
1511
|
]);
|
|
1417
|
-
var
|
|
1512
|
+
var WidgetData = z28.discriminatedUnion("version", [LegacyV0Widget, LegacyV1Widget, CABRootSection]);
|
|
1418
1513
|
export {
|
|
1514
|
+
ABTestingPlaceholder,
|
|
1419
1515
|
ARRAY_INDEX_STRING,
|
|
1420
1516
|
Api,
|
|
1421
1517
|
BorderRadius,
|
|
@@ -1442,21 +1538,29 @@ export {
|
|
|
1442
1538
|
CABTextSection,
|
|
1443
1539
|
CABVariantsSection,
|
|
1444
1540
|
COMBINED_ENDPOINTS,
|
|
1541
|
+
CheckoutExtension,
|
|
1542
|
+
ContentBlock,
|
|
1445
1543
|
DEFAULT_ENDPOINTS,
|
|
1446
1544
|
DYNAMIC_TOKEN_REGEX,
|
|
1447
1545
|
Direction,
|
|
1448
1546
|
EditorMode,
|
|
1449
1547
|
Geolocation,
|
|
1548
|
+
GiftWithPurchase,
|
|
1450
1549
|
HEX_COLOR_REGEX,
|
|
1451
1550
|
HTML_TAGS_REGEX,
|
|
1452
1551
|
HorizontalAlignment,
|
|
1453
1552
|
Identity,
|
|
1454
1553
|
LanguageKey,
|
|
1554
|
+
LegacyV0Widget,
|
|
1455
1555
|
LegacyV1Widget,
|
|
1556
|
+
LineItemEditor,
|
|
1456
1557
|
NO_HTML,
|
|
1457
1558
|
ObjectFit,
|
|
1559
|
+
ProgressBar,
|
|
1458
1560
|
QuantityInput,
|
|
1561
|
+
RebuyButton,
|
|
1459
1562
|
RebuyClient,
|
|
1563
|
+
RebuyMonetize,
|
|
1460
1564
|
STATIC_ENDPOINTS,
|
|
1461
1565
|
SectionType,
|
|
1462
1566
|
Session,
|
|
@@ -1471,7 +1575,7 @@ export {
|
|
|
1471
1575
|
UserConfig,
|
|
1472
1576
|
VariantSelector,
|
|
1473
1577
|
VerticalAlignment,
|
|
1474
|
-
|
|
1578
|
+
WidgetData,
|
|
1475
1579
|
WidgetType,
|
|
1476
1580
|
amountToCents,
|
|
1477
1581
|
borderRadii,
|
|
@@ -1490,6 +1594,7 @@ export {
|
|
|
1490
1594
|
directions,
|
|
1491
1595
|
editorModes,
|
|
1492
1596
|
enabled,
|
|
1597
|
+
extensionWidgetTypes,
|
|
1493
1598
|
find,
|
|
1494
1599
|
firstAvailableVariant,
|
|
1495
1600
|
get,
|