@capibox/bridge-nextjs-client 0.0.73 → 0.0.74
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.mts +97 -22
- package/dist/index.d.ts +97 -22
- package/dist/index.js.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
package/dist/index.d.mts
CHANGED
|
@@ -906,33 +906,51 @@ declare const browser: {
|
|
|
906
906
|
transactionId: string;
|
|
907
907
|
userId: string;
|
|
908
908
|
}) => Promise<{
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
909
|
+
id: number;
|
|
910
|
+
project: string;
|
|
911
|
+
slug: string;
|
|
912
|
+
ip: string;
|
|
913
|
+
country: string;
|
|
914
|
+
isEu: boolean;
|
|
915
|
+
referer: string;
|
|
916
|
+
useragent: string;
|
|
917
|
+
origin: string;
|
|
918
|
+
cookies: Record<string, never>;
|
|
919
|
+
query: Record<string, never>;
|
|
920
|
+
createdAt?: string;
|
|
921
|
+
updatedAt?: string;
|
|
922
|
+
uuid: string;
|
|
923
|
+
extraData: Record<string, never>;
|
|
924
|
+
email: string;
|
|
925
|
+
analyticsId: string;
|
|
926
|
+
state: string;
|
|
927
|
+
isPurchased: boolean;
|
|
928
|
+
device?: Record<string, never>;
|
|
920
929
|
}>;
|
|
921
930
|
update: (uuid: string, dto: {
|
|
922
931
|
trustpilotLink?: string;
|
|
923
932
|
status?: "created" | "completed";
|
|
924
933
|
}) => Promise<{
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
934
|
+
id: number;
|
|
935
|
+
project: string;
|
|
936
|
+
slug: string;
|
|
937
|
+
ip: string;
|
|
938
|
+
country: string;
|
|
939
|
+
isEu: boolean;
|
|
940
|
+
referer: string;
|
|
941
|
+
useragent: string;
|
|
942
|
+
origin: string;
|
|
943
|
+
cookies: Record<string, never>;
|
|
944
|
+
query: Record<string, never>;
|
|
945
|
+
createdAt?: string;
|
|
946
|
+
updatedAt?: string;
|
|
947
|
+
uuid: string;
|
|
948
|
+
extraData: Record<string, never>;
|
|
949
|
+
email: string;
|
|
950
|
+
analyticsId: string;
|
|
951
|
+
state: string;
|
|
952
|
+
isPurchased: boolean;
|
|
953
|
+
device?: Record<string, never>;
|
|
936
954
|
}>;
|
|
937
955
|
};
|
|
938
956
|
klaviyo: {
|
|
@@ -987,6 +1005,63 @@ declare const browser: {
|
|
|
987
1005
|
email: string;
|
|
988
1006
|
}[]>;
|
|
989
1007
|
};
|
|
1008
|
+
subscription: {
|
|
1009
|
+
cancelById: (id: number, data: {
|
|
1010
|
+
reason: string;
|
|
1011
|
+
}) => Promise<{}>;
|
|
1012
|
+
cancelByOrderId: (uuid: string, data: {
|
|
1013
|
+
reason: string;
|
|
1014
|
+
}) => Promise<{}>;
|
|
1015
|
+
applyDiscount: (data: {
|
|
1016
|
+
subscriptionId: number;
|
|
1017
|
+
dateFrom: string | number;
|
|
1018
|
+
dateTo: string | number;
|
|
1019
|
+
discount: number;
|
|
1020
|
+
description?: string;
|
|
1021
|
+
}) => Promise<{
|
|
1022
|
+
id: number;
|
|
1023
|
+
subscriptionId: number;
|
|
1024
|
+
total: number;
|
|
1025
|
+
dateFrom: string;
|
|
1026
|
+
dateTo: string;
|
|
1027
|
+
description?: Record<string, never> | null;
|
|
1028
|
+
}>;
|
|
1029
|
+
pause: (data: {
|
|
1030
|
+
subscriptionId: number;
|
|
1031
|
+
dateFrom: string | number;
|
|
1032
|
+
dateTo: string | number;
|
|
1033
|
+
description?: string;
|
|
1034
|
+
}) => Promise<{
|
|
1035
|
+
id: number;
|
|
1036
|
+
subscriptionId: number;
|
|
1037
|
+
total: number;
|
|
1038
|
+
dateFrom: string;
|
|
1039
|
+
dateTo: string;
|
|
1040
|
+
description?: Record<string, never> | null;
|
|
1041
|
+
}>;
|
|
1042
|
+
fillCancellationRequest: (data: {
|
|
1043
|
+
subscriptionId?: Record<string, never> | null;
|
|
1044
|
+
email: string;
|
|
1045
|
+
topic1: string;
|
|
1046
|
+
topic2: string;
|
|
1047
|
+
description: string;
|
|
1048
|
+
action: string;
|
|
1049
|
+
status: number;
|
|
1050
|
+
}) => Promise<{
|
|
1051
|
+
message: string;
|
|
1052
|
+
request: {
|
|
1053
|
+
id: number;
|
|
1054
|
+
subscriptionId: Record<string, never> | null;
|
|
1055
|
+
email: string;
|
|
1056
|
+
topic1: string;
|
|
1057
|
+
topic2: string;
|
|
1058
|
+
description: string;
|
|
1059
|
+
action: string;
|
|
1060
|
+
status: number;
|
|
1061
|
+
createdAt: Record<string, never> | null;
|
|
1062
|
+
};
|
|
1063
|
+
}>;
|
|
1064
|
+
};
|
|
990
1065
|
abTool: {
|
|
991
1066
|
upSellNavigation: {
|
|
992
1067
|
configItemIndexBySlug: (config: UpSellConfigType, template: string, slug: string) => number;
|
package/dist/index.d.ts
CHANGED
|
@@ -906,33 +906,51 @@ declare const browser: {
|
|
|
906
906
|
transactionId: string;
|
|
907
907
|
userId: string;
|
|
908
908
|
}) => Promise<{
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
909
|
+
id: number;
|
|
910
|
+
project: string;
|
|
911
|
+
slug: string;
|
|
912
|
+
ip: string;
|
|
913
|
+
country: string;
|
|
914
|
+
isEu: boolean;
|
|
915
|
+
referer: string;
|
|
916
|
+
useragent: string;
|
|
917
|
+
origin: string;
|
|
918
|
+
cookies: Record<string, never>;
|
|
919
|
+
query: Record<string, never>;
|
|
920
|
+
createdAt?: string;
|
|
921
|
+
updatedAt?: string;
|
|
922
|
+
uuid: string;
|
|
923
|
+
extraData: Record<string, never>;
|
|
924
|
+
email: string;
|
|
925
|
+
analyticsId: string;
|
|
926
|
+
state: string;
|
|
927
|
+
isPurchased: boolean;
|
|
928
|
+
device?: Record<string, never>;
|
|
920
929
|
}>;
|
|
921
930
|
update: (uuid: string, dto: {
|
|
922
931
|
trustpilotLink?: string;
|
|
923
932
|
status?: "created" | "completed";
|
|
924
933
|
}) => Promise<{
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
934
|
+
id: number;
|
|
935
|
+
project: string;
|
|
936
|
+
slug: string;
|
|
937
|
+
ip: string;
|
|
938
|
+
country: string;
|
|
939
|
+
isEu: boolean;
|
|
940
|
+
referer: string;
|
|
941
|
+
useragent: string;
|
|
942
|
+
origin: string;
|
|
943
|
+
cookies: Record<string, never>;
|
|
944
|
+
query: Record<string, never>;
|
|
945
|
+
createdAt?: string;
|
|
946
|
+
updatedAt?: string;
|
|
947
|
+
uuid: string;
|
|
948
|
+
extraData: Record<string, never>;
|
|
949
|
+
email: string;
|
|
950
|
+
analyticsId: string;
|
|
951
|
+
state: string;
|
|
952
|
+
isPurchased: boolean;
|
|
953
|
+
device?: Record<string, never>;
|
|
936
954
|
}>;
|
|
937
955
|
};
|
|
938
956
|
klaviyo: {
|
|
@@ -987,6 +1005,63 @@ declare const browser: {
|
|
|
987
1005
|
email: string;
|
|
988
1006
|
}[]>;
|
|
989
1007
|
};
|
|
1008
|
+
subscription: {
|
|
1009
|
+
cancelById: (id: number, data: {
|
|
1010
|
+
reason: string;
|
|
1011
|
+
}) => Promise<{}>;
|
|
1012
|
+
cancelByOrderId: (uuid: string, data: {
|
|
1013
|
+
reason: string;
|
|
1014
|
+
}) => Promise<{}>;
|
|
1015
|
+
applyDiscount: (data: {
|
|
1016
|
+
subscriptionId: number;
|
|
1017
|
+
dateFrom: string | number;
|
|
1018
|
+
dateTo: string | number;
|
|
1019
|
+
discount: number;
|
|
1020
|
+
description?: string;
|
|
1021
|
+
}) => Promise<{
|
|
1022
|
+
id: number;
|
|
1023
|
+
subscriptionId: number;
|
|
1024
|
+
total: number;
|
|
1025
|
+
dateFrom: string;
|
|
1026
|
+
dateTo: string;
|
|
1027
|
+
description?: Record<string, never> | null;
|
|
1028
|
+
}>;
|
|
1029
|
+
pause: (data: {
|
|
1030
|
+
subscriptionId: number;
|
|
1031
|
+
dateFrom: string | number;
|
|
1032
|
+
dateTo: string | number;
|
|
1033
|
+
description?: string;
|
|
1034
|
+
}) => Promise<{
|
|
1035
|
+
id: number;
|
|
1036
|
+
subscriptionId: number;
|
|
1037
|
+
total: number;
|
|
1038
|
+
dateFrom: string;
|
|
1039
|
+
dateTo: string;
|
|
1040
|
+
description?: Record<string, never> | null;
|
|
1041
|
+
}>;
|
|
1042
|
+
fillCancellationRequest: (data: {
|
|
1043
|
+
subscriptionId?: Record<string, never> | null;
|
|
1044
|
+
email: string;
|
|
1045
|
+
topic1: string;
|
|
1046
|
+
topic2: string;
|
|
1047
|
+
description: string;
|
|
1048
|
+
action: string;
|
|
1049
|
+
status: number;
|
|
1050
|
+
}) => Promise<{
|
|
1051
|
+
message: string;
|
|
1052
|
+
request: {
|
|
1053
|
+
id: number;
|
|
1054
|
+
subscriptionId: Record<string, never> | null;
|
|
1055
|
+
email: string;
|
|
1056
|
+
topic1: string;
|
|
1057
|
+
topic2: string;
|
|
1058
|
+
description: string;
|
|
1059
|
+
action: string;
|
|
1060
|
+
status: number;
|
|
1061
|
+
createdAt: Record<string, never> | null;
|
|
1062
|
+
};
|
|
1063
|
+
}>;
|
|
1064
|
+
};
|
|
990
1065
|
abTool: {
|
|
991
1066
|
upSellNavigation: {
|
|
992
1067
|
configItemIndexBySlug: (config: UpSellConfigType, template: string, slug: string) => number;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/browser/hooks/useParamsLandingPage.ts","../src/lib/api.ts","../src/browser/funnels/get.ts","../src/browser/funnels/get-templates.ts","../src/browser/abtool/upSellNavigation/getUpsellConfigItemIndexBySlug.ts","../src/browser/abtool/upSellNavigation/getUpsellConfigNextSlugByIndex.ts","../src/browser/abtool/upSellNavigation/getUpsellConfigNextSlugBySlug.ts","../src/browser/abtool/upSellNavigation/index.ts","../src/browser/abtool/upSellTemplatesSplit/isSplitTemplate.ts","../src/browser/abtool/upSellTemplatesSplit/getUpsellPageTemplate.ts","../src/browser/abtool/upSellTemplatesSplit/index.ts"],"sourcesContent":["import {useParamsLandingPage} from \"./browser/hooks/useParamsLandingPage\";\nimport {getFunnels} from \"./browser/funnels/get\";\nimport {getTemplates} from \"./browser/funnels/get-templates\";\nimport {server} from '@capibox/bridge-server'\nimport {browser as clientBrowser} from '@capibox/bridge-browser'\nimport {upSellNavigation} from \"./browser/abtool/upSellNavigation\";\nimport {upSellTemplatesSplit} from \"./browser/abtool/upSellTemplatesSplit\";\n\nexport type {UpSellConfigType} from './browser/abtool/upSellNavigation/types'\nexport type {SdkRemoteFunnel} from \"./browser/funnels/get\";\nexport type {\n SDKCapiboxCartItem,\n SDKCapiboxCartResponse,\n SDKCapiboxCustomerCartResponse,\n SDKCapiboxPaymentToken,\n SDKCapiboxSessionResponse\n} from \"@capibox/bridge-browser\";\n\nconst browser = {\n abTool: {\n upSellNavigation,\n upSellTemplatesSplit,\n },\n hooks: {\n useParamsLandingPage\n },\n funnels: {\n get: getFunnels,\n getTemplates: getTemplates\n },\n ...clientBrowser\n}\n\n\nexport {\n browser,\n server\n}\n\n\nif (typeof window !== 'undefined') {\n // @ts-ignore\n window.capibox = browser;\n}\n// v.0.0.73","import {useParams} from 'next/navigation'\n\nexport type ParamsLandingPage = {\n landing?: string\n checkout?: string\n}\nexport type ParamsLandingPageResponse = {\n landing: string\n checkout: string\n angle: string\n version: string\n path: {\n root: string\n rootPretty: string\n }\n}\n\nexport const useParamsLandingPage = (): ParamsLandingPageResponse => {\n const params = useParams<ParamsLandingPage>();\n\n const angle = (params.landing ?? 'main').toLowerCase()\n const version = (params.checkout ?? 'a').toLowerCase()\n\n return {\n landing: angle,\n checkout: version,\n angle,\n version,\n path: {\n root: `/${angle}/${version}`,\n rootPretty: angle === 'main' && version === 'a' ? '' : `/${angle}/${version}`\n }\n }\n}","import createFetchClient from \"openapi-fetch\";\nimport type {paths} from \"./api.def\";\n\nconst endpoint = '/api-client-proxy';\n\nexport const $apiClient = createFetchClient<paths>({\n baseUrl: endpoint,\n headers: {\n 'project-key': \"Frontend\"\n },\n});","import {$apiClient} from \"../../lib/api\";\nimport {components} from \"../../lib/api.def\";\n\nexport type SdkRemoteFunnel = {\n checkout: string,\n landing: string,\n\n angle: string,\n version: string,\n\n homePageTemplate: string,\n quizPageTemplate: string,\n resultPageTemplate: string,\n emailPageTemplate: string,\n checkoutPageTemplate: string,\n paymentWindowTemplate: string,\n upsellPageTemplate: string,\n\n options?: any,\n upsellOptions?: any,\n}\n\nexport const getFunnels = async (): Promise<SdkRemoteFunnel[]> => {\n let response: components['schemas']['FunnelResponseDto'][] = [];\n\n const res = await $apiClient.GET('/funnels/funnel', {\n params: {\n header: {\n 'project-key': 'Frontend'\n }\n }\n });\n if (!res || !res.data) return [];\n response = res.data;\n\n const tmpFunnels: components['schemas']['FunnelResponseDto'][] = response;\n const output: SdkRemoteFunnel[] = [];\n for (const funnel of tmpFunnels) {\n output.push({\n landing: funnel.angle,\n checkout: funnel.version,\n\n angle: funnel.angle,\n version: funnel.version,\n\n homePageTemplate: funnel.home_page,\n quizPageTemplate: funnel.quiz_page,\n resultPageTemplate: funnel.results_page,\n emailPageTemplate: funnel.email_page,\n checkoutPageTemplate: funnel.checkout_page,\n paymentWindowTemplate: funnel.payment_window,\n upsellPageTemplate: funnel.upsell_page,\n\n options: funnel.options,\n upsellOptions: funnel.upsell_options,\n });\n }\n return output;\n}","import {getFunnels, SdkRemoteFunnel} from \"./get\";\nimport {ReadonlyURLSearchParams} from \"next/navigation\";\n\n\ntype SdkRemoteTemplate = Omit<SdkRemoteFunnel, \"checkout\" | \"angle\" | \"landing\" | \"version\" | \"options\" | \"upsellOptions\">\n\nconst defaultTemplate: SdkRemoteTemplate = {\n homePageTemplate: 'Default',\n quizPageTemplate: 'Default',\n resultPageTemplate: 'Default',\n emailPageTemplate: 'Default',\n checkoutPageTemplate: 'Default',\n paymentWindowTemplate: 'Default',\n upsellPageTemplate: 'Default',\n}\n\ntype Props = {\n angle: string,\n version: string,\n searchParams?: ReadonlyURLSearchParams\n}\n\nexport const getTemplates = async ({\n angle, version, searchParams\n }: Props): Promise<SdkRemoteFunnel> => {\n const funnelsData = await getFunnels();\n\n const filteredFunnelsData = funnelsData.filter((a) => {\n if (\n (a.checkout === version || a.checkout === 'any') &&\n (a.landing === angle || a.landing === 'any')\n ) {\n return true\n }\n return false\n })\n if (filteredFunnelsData.length > 0) {\n const _flowData: SdkRemoteFunnel = JSON.parse(\n JSON.stringify(filteredFunnelsData[filteredFunnelsData.length - 1])\n )\n if (searchParams) {\n const keys = Object.keys(defaultTemplate)\n for (const key of keys) {\n if (searchParams.get(key)) {\n // @ts-ignore\n _flowData[key] = searchParams.get(key);\n }\n }\n }\n\n return _flowData;\n }\n return {\n ...defaultTemplate,\n landing: angle,\n checkout: version,\n angle,\n version,\n }\n}","import {UpSellConfigType} from \"./types\";\n\nexport const getUpsellConfigItemIndexBySlug = (config: UpSellConfigType, template: string, slug: string) => {\n const slugs = config[template] || []\n return slugs.findIndex(el => el === slug || (Array.isArray(el) && el.map(s => s.slug).indexOf(slug) >= 0))\n}\n","import {UpSellConfigType} from \"./types\";\n\nexport const getUpsellConfigNextSlugByIndex = (config: UpSellConfigType, template: string, currentIndex: number, currentSlug?: string) : string | undefined => {\n const slugs = config[template] || []\n const nextIndex = currentIndex + 1;\n\n if (nextIndex > -1 && nextIndex < slugs.length) {\n const path = slugs[nextIndex]\n if (Array.isArray(path)) {\n const _time = new Date().getTime()\n const _seed100 = _time % 100\n const splitValues = path.filter(f => {\n if (!currentSlug) return true;\n if (!f.ignoreAfter) return true;\n return f.ignoreAfter !== currentSlug;\n }).map((curr, i, data) => {\n const minPercent = data\n .slice(0, i)\n .map((a) => a.percent)\n .reduce((a, b) => a + b, 0)\n\n return {\n ...curr,\n range: {\n start: minPercent,\n finish: minPercent + curr.percent,\n },\n }\n })\n if (splitValues.length === 0) {\n return getUpsellConfigNextSlugByIndex(config, template, currentIndex + 1, currentSlug);\n }\n let winner = splitValues.find(\n (e) => e.range.start <= _seed100 && e.range.finish > _seed100,\n )\n if (!winner) {\n winner = splitValues[0]\n }\n if (winner.slug === '') {\n return getUpsellConfigNextSlugByIndex(config, template, currentIndex + 1, currentSlug);\n }\n return winner.slug;\n } else {\n return path;\n }\n }\n return undefined;\n}","import {UpSellConfigType} from \"./types\";\nimport {getUpsellConfigItemIndexBySlug} from \"./getUpsellConfigItemIndexBySlug\";\nimport {getUpsellConfigNextSlugByIndex} from \"./getUpsellConfigNextSlugByIndex\";\n\nexport const getUpsellConfigNextSlugBySlug = (config: UpSellConfigType, template: string, currentSlug: string) : string | undefined => {\n const currentIndex = getUpsellConfigItemIndexBySlug(config, template, currentSlug)\n return getUpsellConfigNextSlugByIndex(config, template, currentIndex, currentSlug)\n}\n","import {getUpsellConfigItemIndexBySlug} from \"./getUpsellConfigItemIndexBySlug\";\nimport {getUpsellConfigNextSlugByIndex} from \"./getUpsellConfigNextSlugByIndex\";\nimport {getUpsellConfigNextSlugBySlug} from \"./getUpsellConfigNextSlugBySlug\";\n\nexport const upSellNavigation = {\n configItemIndexBySlug: getUpsellConfigItemIndexBySlug,\n nextPathByConfigItemIndex: getUpsellConfigNextSlugByIndex,\n nextPathByConfigItemSlug: getUpsellConfigNextSlugBySlug,\n}","import {UpSellConfigItemValue} from \"../upSellNavigation/types\";\n\nexport const isSplitTemplate = (items: UpSellConfigItemValue[]) => {\n if (items.length > 0 && Array.isArray(items[0]) && ('splitTemplates' in items[0][0])) {\n return true;\n }\n return false;\n}","import {UpSellConfigType} from \"../upSellNavigation/types\";\nimport {isSplitTemplate} from \"./isSplitTemplate\";\n\nexport const getUpsellPageTemplate = (config: UpSellConfigType, template: string) => {\n const items = config[template] || []\n if (isSplitTemplate(items) && Array.isArray(items[0])) {\n const itemsWithRange = items[0].map((curr, i, data) => {\n const minPercent = data\n .slice(0, i)\n .map((a) => a.percent)\n .reduce((a, b) => a + b, 0)\n\n return {\n ...curr,\n range: {\n start: minPercent,\n finish: minPercent + curr.percent,\n },\n }\n });\n\n const _time = new Date().getTime()\n const _seed100 = _time % 100\n\n let currentSplit = itemsWithRange.find(\n (e) => e.range.start <= _seed100 && e.range.finish > _seed100,\n )\n if (!currentSplit) {\n currentSplit = itemsWithRange[0]\n }\n return currentSplit.slug;\n }\n return template;\n}","import {getUpsellPageTemplate} from \"./getUpsellPageTemplate\";\n\nexport const upSellTemplatesSplit = {\n getTemplate: getUpsellPageTemplate,\n}"],"mappings":"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","names":["createFetchClient","clientBrowser"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/browser/hooks/useParamsLandingPage.ts","../src/lib/api.ts","../src/browser/funnels/get.ts","../src/browser/funnels/get-templates.ts","../src/browser/abtool/upSellNavigation/getUpsellConfigItemIndexBySlug.ts","../src/browser/abtool/upSellNavigation/getUpsellConfigNextSlugByIndex.ts","../src/browser/abtool/upSellNavigation/getUpsellConfigNextSlugBySlug.ts","../src/browser/abtool/upSellNavigation/index.ts","../src/browser/abtool/upSellTemplatesSplit/isSplitTemplate.ts","../src/browser/abtool/upSellTemplatesSplit/getUpsellPageTemplate.ts","../src/browser/abtool/upSellTemplatesSplit/index.ts"],"sourcesContent":["import {useParamsLandingPage} from \"./browser/hooks/useParamsLandingPage\";\nimport {getFunnels} from \"./browser/funnels/get\";\nimport {getTemplates} from \"./browser/funnels/get-templates\";\nimport {server} from '@capibox/bridge-server'\nimport {browser as clientBrowser} from '@capibox/bridge-browser'\nimport {upSellNavigation} from \"./browser/abtool/upSellNavigation\";\nimport {upSellTemplatesSplit} from \"./browser/abtool/upSellTemplatesSplit\";\n\nexport type {UpSellConfigType} from './browser/abtool/upSellNavigation/types'\nexport type {SdkRemoteFunnel} from \"./browser/funnels/get\";\nexport type {\n SDKCapiboxCartItem,\n SDKCapiboxCartResponse,\n SDKCapiboxCustomerCartResponse,\n SDKCapiboxPaymentToken,\n SDKCapiboxSessionResponse\n} from \"@capibox/bridge-browser\";\n\nconst browser = {\n abTool: {\n upSellNavigation,\n upSellTemplatesSplit,\n },\n hooks: {\n useParamsLandingPage\n },\n funnels: {\n get: getFunnels,\n getTemplates: getTemplates\n },\n ...clientBrowser\n}\n\n\nexport {\n browser,\n server\n}\n\n\nif (typeof window !== 'undefined') {\n // @ts-ignore\n window.capibox = browser;\n}\n// v.0.0.74","import {useParams} from 'next/navigation'\n\nexport type ParamsLandingPage = {\n landing?: string\n checkout?: string\n}\nexport type ParamsLandingPageResponse = {\n landing: string\n checkout: string\n angle: string\n version: string\n path: {\n root: string\n rootPretty: string\n }\n}\n\nexport const useParamsLandingPage = (): ParamsLandingPageResponse => {\n const params = useParams<ParamsLandingPage>();\n\n const angle = (params.landing ?? 'main').toLowerCase()\n const version = (params.checkout ?? 'a').toLowerCase()\n\n return {\n landing: angle,\n checkout: version,\n angle,\n version,\n path: {\n root: `/${angle}/${version}`,\n rootPretty: angle === 'main' && version === 'a' ? '' : `/${angle}/${version}`\n }\n }\n}","import createFetchClient from \"openapi-fetch\";\nimport type {paths} from \"./api.def\";\n\nconst endpoint = '/api-client-proxy';\n\nexport const $apiClient = createFetchClient<paths>({\n baseUrl: endpoint,\n headers: {\n 'project-key': \"Frontend\"\n },\n});","import {$apiClient} from \"../../lib/api\";\nimport {components} from \"../../lib/api.def\";\n\nexport type SdkRemoteFunnel = {\n checkout: string,\n landing: string,\n\n angle: string,\n version: string,\n\n homePageTemplate: string,\n quizPageTemplate: string,\n resultPageTemplate: string,\n emailPageTemplate: string,\n checkoutPageTemplate: string,\n paymentWindowTemplate: string,\n upsellPageTemplate: string,\n\n options?: any,\n upsellOptions?: any,\n}\n\nexport const getFunnels = async (): Promise<SdkRemoteFunnel[]> => {\n let response: components['schemas']['FunnelResponseDto'][] = [];\n\n const res = await $apiClient.GET('/funnels/funnel', {\n params: {\n header: {\n 'project-key': 'Frontend'\n }\n }\n });\n if (!res || !res.data) return [];\n response = res.data;\n\n const tmpFunnels: components['schemas']['FunnelResponseDto'][] = response;\n const output: SdkRemoteFunnel[] = [];\n for (const funnel of tmpFunnels) {\n output.push({\n landing: funnel.angle,\n checkout: funnel.version,\n\n angle: funnel.angle,\n version: funnel.version,\n\n homePageTemplate: funnel.home_page,\n quizPageTemplate: funnel.quiz_page,\n resultPageTemplate: funnel.results_page,\n emailPageTemplate: funnel.email_page,\n checkoutPageTemplate: funnel.checkout_page,\n paymentWindowTemplate: funnel.payment_window,\n upsellPageTemplate: funnel.upsell_page,\n\n options: funnel.options,\n upsellOptions: funnel.upsell_options,\n });\n }\n return output;\n}","import {getFunnels, SdkRemoteFunnel} from \"./get\";\nimport {ReadonlyURLSearchParams} from \"next/navigation\";\n\n\ntype SdkRemoteTemplate = Omit<SdkRemoteFunnel, \"checkout\" | \"angle\" | \"landing\" | \"version\" | \"options\" | \"upsellOptions\">\n\nconst defaultTemplate: SdkRemoteTemplate = {\n homePageTemplate: 'Default',\n quizPageTemplate: 'Default',\n resultPageTemplate: 'Default',\n emailPageTemplate: 'Default',\n checkoutPageTemplate: 'Default',\n paymentWindowTemplate: 'Default',\n upsellPageTemplate: 'Default',\n}\n\ntype Props = {\n angle: string,\n version: string,\n searchParams?: ReadonlyURLSearchParams\n}\n\nexport const getTemplates = async ({\n angle, version, searchParams\n }: Props): Promise<SdkRemoteFunnel> => {\n const funnelsData = await getFunnels();\n\n const filteredFunnelsData = funnelsData.filter((a) => {\n if (\n (a.checkout === version || a.checkout === 'any') &&\n (a.landing === angle || a.landing === 'any')\n ) {\n return true\n }\n return false\n })\n if (filteredFunnelsData.length > 0) {\n const _flowData: SdkRemoteFunnel = JSON.parse(\n JSON.stringify(filteredFunnelsData[filteredFunnelsData.length - 1])\n )\n if (searchParams) {\n const keys = Object.keys(defaultTemplate)\n for (const key of keys) {\n if (searchParams.get(key)) {\n // @ts-ignore\n _flowData[key] = searchParams.get(key);\n }\n }\n }\n\n return _flowData;\n }\n return {\n ...defaultTemplate,\n landing: angle,\n checkout: version,\n angle,\n version,\n }\n}","import {UpSellConfigType} from \"./types\";\n\nexport const getUpsellConfigItemIndexBySlug = (config: UpSellConfigType, template: string, slug: string) => {\n const slugs = config[template] || []\n return slugs.findIndex(el => el === slug || (Array.isArray(el) && el.map(s => s.slug).indexOf(slug) >= 0))\n}\n","import {UpSellConfigType} from \"./types\";\n\nexport const getUpsellConfigNextSlugByIndex = (config: UpSellConfigType, template: string, currentIndex: number, currentSlug?: string) : string | undefined => {\n const slugs = config[template] || []\n const nextIndex = currentIndex + 1;\n\n if (nextIndex > -1 && nextIndex < slugs.length) {\n const path = slugs[nextIndex]\n if (Array.isArray(path)) {\n const _time = new Date().getTime()\n const _seed100 = _time % 100\n const splitValues = path.filter(f => {\n if (!currentSlug) return true;\n if (!f.ignoreAfter) return true;\n return f.ignoreAfter !== currentSlug;\n }).map((curr, i, data) => {\n const minPercent = data\n .slice(0, i)\n .map((a) => a.percent)\n .reduce((a, b) => a + b, 0)\n\n return {\n ...curr,\n range: {\n start: minPercent,\n finish: minPercent + curr.percent,\n },\n }\n })\n if (splitValues.length === 0) {\n return getUpsellConfigNextSlugByIndex(config, template, currentIndex + 1, currentSlug);\n }\n let winner = splitValues.find(\n (e) => e.range.start <= _seed100 && e.range.finish > _seed100,\n )\n if (!winner) {\n winner = splitValues[0]\n }\n if (winner.slug === '') {\n return getUpsellConfigNextSlugByIndex(config, template, currentIndex + 1, currentSlug);\n }\n return winner.slug;\n } else {\n return path;\n }\n }\n return undefined;\n}","import {UpSellConfigType} from \"./types\";\nimport {getUpsellConfigItemIndexBySlug} from \"./getUpsellConfigItemIndexBySlug\";\nimport {getUpsellConfigNextSlugByIndex} from \"./getUpsellConfigNextSlugByIndex\";\n\nexport const getUpsellConfigNextSlugBySlug = (config: UpSellConfigType, template: string, currentSlug: string) : string | undefined => {\n const currentIndex = getUpsellConfigItemIndexBySlug(config, template, currentSlug)\n return getUpsellConfigNextSlugByIndex(config, template, currentIndex, currentSlug)\n}\n","import {getUpsellConfigItemIndexBySlug} from \"./getUpsellConfigItemIndexBySlug\";\nimport {getUpsellConfigNextSlugByIndex} from \"./getUpsellConfigNextSlugByIndex\";\nimport {getUpsellConfigNextSlugBySlug} from \"./getUpsellConfigNextSlugBySlug\";\n\nexport const upSellNavigation = {\n configItemIndexBySlug: getUpsellConfigItemIndexBySlug,\n nextPathByConfigItemIndex: getUpsellConfigNextSlugByIndex,\n nextPathByConfigItemSlug: getUpsellConfigNextSlugBySlug,\n}","import {UpSellConfigItemValue} from \"../upSellNavigation/types\";\n\nexport const isSplitTemplate = (items: UpSellConfigItemValue[]) => {\n if (items.length > 0 && Array.isArray(items[0]) && ('splitTemplates' in items[0][0])) {\n return true;\n }\n return false;\n}","import {UpSellConfigType} from \"../upSellNavigation/types\";\nimport {isSplitTemplate} from \"./isSplitTemplate\";\n\nexport const getUpsellPageTemplate = (config: UpSellConfigType, template: string) => {\n const items = config[template] || []\n if (isSplitTemplate(items) && Array.isArray(items[0])) {\n const itemsWithRange = items[0].map((curr, i, data) => {\n const minPercent = data\n .slice(0, i)\n .map((a) => a.percent)\n .reduce((a, b) => a + b, 0)\n\n return {\n ...curr,\n range: {\n start: minPercent,\n finish: minPercent + curr.percent,\n },\n }\n });\n\n const _time = new Date().getTime()\n const _seed100 = _time % 100\n\n let currentSplit = itemsWithRange.find(\n (e) => e.range.start <= _seed100 && e.range.finish > _seed100,\n )\n if (!currentSplit) {\n currentSplit = itemsWithRange[0]\n }\n return currentSplit.slug;\n }\n return template;\n}","import {getUpsellPageTemplate} from \"./getUpsellPageTemplate\";\n\nexport const upSellTemplatesSplit = {\n getTemplate: getUpsellPageTemplate,\n}"],"mappings":"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","names":["createFetchClient","clientBrowser"]}
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/browser/hooks/useParamsLandingPage.ts","../src/lib/api.ts","../src/browser/funnels/get.ts","../src/browser/funnels/get-templates.ts","../src/index.ts","../src/browser/abtool/upSellNavigation/getUpsellConfigItemIndexBySlug.ts","../src/browser/abtool/upSellNavigation/getUpsellConfigNextSlugByIndex.ts","../src/browser/abtool/upSellNavigation/getUpsellConfigNextSlugBySlug.ts","../src/browser/abtool/upSellNavigation/index.ts","../src/browser/abtool/upSellTemplatesSplit/isSplitTemplate.ts","../src/browser/abtool/upSellTemplatesSplit/getUpsellPageTemplate.ts","../src/browser/abtool/upSellTemplatesSplit/index.ts"],"sourcesContent":["import {useParams} from 'next/navigation'\n\nexport type ParamsLandingPage = {\n landing?: string\n checkout?: string\n}\nexport type ParamsLandingPageResponse = {\n landing: string\n checkout: string\n angle: string\n version: string\n path: {\n root: string\n rootPretty: string\n }\n}\n\nexport const useParamsLandingPage = (): ParamsLandingPageResponse => {\n const params = useParams<ParamsLandingPage>();\n\n const angle = (params.landing ?? 'main').toLowerCase()\n const version = (params.checkout ?? 'a').toLowerCase()\n\n return {\n landing: angle,\n checkout: version,\n angle,\n version,\n path: {\n root: `/${angle}/${version}`,\n rootPretty: angle === 'main' && version === 'a' ? '' : `/${angle}/${version}`\n }\n }\n}","import createFetchClient from \"openapi-fetch\";\nimport type {paths} from \"./api.def\";\n\nconst endpoint = '/api-client-proxy';\n\nexport const $apiClient = createFetchClient<paths>({\n baseUrl: endpoint,\n headers: {\n 'project-key': \"Frontend\"\n },\n});","import {$apiClient} from \"../../lib/api\";\nimport {components} from \"../../lib/api.def\";\n\nexport type SdkRemoteFunnel = {\n checkout: string,\n landing: string,\n\n angle: string,\n version: string,\n\n homePageTemplate: string,\n quizPageTemplate: string,\n resultPageTemplate: string,\n emailPageTemplate: string,\n checkoutPageTemplate: string,\n paymentWindowTemplate: string,\n upsellPageTemplate: string,\n\n options?: any,\n upsellOptions?: any,\n}\n\nexport const getFunnels = async (): Promise<SdkRemoteFunnel[]> => {\n let response: components['schemas']['FunnelResponseDto'][] = [];\n\n const res = await $apiClient.GET('/funnels/funnel', {\n params: {\n header: {\n 'project-key': 'Frontend'\n }\n }\n });\n if (!res || !res.data) return [];\n response = res.data;\n\n const tmpFunnels: components['schemas']['FunnelResponseDto'][] = response;\n const output: SdkRemoteFunnel[] = [];\n for (const funnel of tmpFunnels) {\n output.push({\n landing: funnel.angle,\n checkout: funnel.version,\n\n angle: funnel.angle,\n version: funnel.version,\n\n homePageTemplate: funnel.home_page,\n quizPageTemplate: funnel.quiz_page,\n resultPageTemplate: funnel.results_page,\n emailPageTemplate: funnel.email_page,\n checkoutPageTemplate: funnel.checkout_page,\n paymentWindowTemplate: funnel.payment_window,\n upsellPageTemplate: funnel.upsell_page,\n\n options: funnel.options,\n upsellOptions: funnel.upsell_options,\n });\n }\n return output;\n}","import {getFunnels, SdkRemoteFunnel} from \"./get\";\nimport {ReadonlyURLSearchParams} from \"next/navigation\";\n\n\ntype SdkRemoteTemplate = Omit<SdkRemoteFunnel, \"checkout\" | \"angle\" | \"landing\" | \"version\" | \"options\" | \"upsellOptions\">\n\nconst defaultTemplate: SdkRemoteTemplate = {\n homePageTemplate: 'Default',\n quizPageTemplate: 'Default',\n resultPageTemplate: 'Default',\n emailPageTemplate: 'Default',\n checkoutPageTemplate: 'Default',\n paymentWindowTemplate: 'Default',\n upsellPageTemplate: 'Default',\n}\n\ntype Props = {\n angle: string,\n version: string,\n searchParams?: ReadonlyURLSearchParams\n}\n\nexport const getTemplates = async ({\n angle, version, searchParams\n }: Props): Promise<SdkRemoteFunnel> => {\n const funnelsData = await getFunnels();\n\n const filteredFunnelsData = funnelsData.filter((a) => {\n if (\n (a.checkout === version || a.checkout === 'any') &&\n (a.landing === angle || a.landing === 'any')\n ) {\n return true\n }\n return false\n })\n if (filteredFunnelsData.length > 0) {\n const _flowData: SdkRemoteFunnel = JSON.parse(\n JSON.stringify(filteredFunnelsData[filteredFunnelsData.length - 1])\n )\n if (searchParams) {\n const keys = Object.keys(defaultTemplate)\n for (const key of keys) {\n if (searchParams.get(key)) {\n // @ts-ignore\n _flowData[key] = searchParams.get(key);\n }\n }\n }\n\n return _flowData;\n }\n return {\n ...defaultTemplate,\n landing: angle,\n checkout: version,\n angle,\n version,\n }\n}","import {useParamsLandingPage} from \"./browser/hooks/useParamsLandingPage\";\nimport {getFunnels} from \"./browser/funnels/get\";\nimport {getTemplates} from \"./browser/funnels/get-templates\";\nimport {server} from '@capibox/bridge-server'\nimport {browser as clientBrowser} from '@capibox/bridge-browser'\nimport {upSellNavigation} from \"./browser/abtool/upSellNavigation\";\nimport {upSellTemplatesSplit} from \"./browser/abtool/upSellTemplatesSplit\";\n\nexport type {UpSellConfigType} from './browser/abtool/upSellNavigation/types'\nexport type {SdkRemoteFunnel} from \"./browser/funnels/get\";\nexport type {\n SDKCapiboxCartItem,\n SDKCapiboxCartResponse,\n SDKCapiboxCustomerCartResponse,\n SDKCapiboxPaymentToken,\n SDKCapiboxSessionResponse\n} from \"@capibox/bridge-browser\";\n\nconst browser = {\n abTool: {\n upSellNavigation,\n upSellTemplatesSplit,\n },\n hooks: {\n useParamsLandingPage\n },\n funnels: {\n get: getFunnels,\n getTemplates: getTemplates\n },\n ...clientBrowser\n}\n\n\nexport {\n browser,\n server\n}\n\n\nif (typeof window !== 'undefined') {\n // @ts-ignore\n window.capibox = browser;\n}\n// v.0.0.73","import {UpSellConfigType} from \"./types\";\n\nexport const getUpsellConfigItemIndexBySlug = (config: UpSellConfigType, template: string, slug: string) => {\n const slugs = config[template] || []\n return slugs.findIndex(el => el === slug || (Array.isArray(el) && el.map(s => s.slug).indexOf(slug) >= 0))\n}\n","import {UpSellConfigType} from \"./types\";\n\nexport const getUpsellConfigNextSlugByIndex = (config: UpSellConfigType, template: string, currentIndex: number, currentSlug?: string) : string | undefined => {\n const slugs = config[template] || []\n const nextIndex = currentIndex + 1;\n\n if (nextIndex > -1 && nextIndex < slugs.length) {\n const path = slugs[nextIndex]\n if (Array.isArray(path)) {\n const _time = new Date().getTime()\n const _seed100 = _time % 100\n const splitValues = path.filter(f => {\n if (!currentSlug) return true;\n if (!f.ignoreAfter) return true;\n return f.ignoreAfter !== currentSlug;\n }).map((curr, i, data) => {\n const minPercent = data\n .slice(0, i)\n .map((a) => a.percent)\n .reduce((a, b) => a + b, 0)\n\n return {\n ...curr,\n range: {\n start: minPercent,\n finish: minPercent + curr.percent,\n },\n }\n })\n if (splitValues.length === 0) {\n return getUpsellConfigNextSlugByIndex(config, template, currentIndex + 1, currentSlug);\n }\n let winner = splitValues.find(\n (e) => e.range.start <= _seed100 && e.range.finish > _seed100,\n )\n if (!winner) {\n winner = splitValues[0]\n }\n if (winner.slug === '') {\n return getUpsellConfigNextSlugByIndex(config, template, currentIndex + 1, currentSlug);\n }\n return winner.slug;\n } else {\n return path;\n }\n }\n return undefined;\n}","import {UpSellConfigType} from \"./types\";\nimport {getUpsellConfigItemIndexBySlug} from \"./getUpsellConfigItemIndexBySlug\";\nimport {getUpsellConfigNextSlugByIndex} from \"./getUpsellConfigNextSlugByIndex\";\n\nexport const getUpsellConfigNextSlugBySlug = (config: UpSellConfigType, template: string, currentSlug: string) : string | undefined => {\n const currentIndex = getUpsellConfigItemIndexBySlug(config, template, currentSlug)\n return getUpsellConfigNextSlugByIndex(config, template, currentIndex, currentSlug)\n}\n","import {getUpsellConfigItemIndexBySlug} from \"./getUpsellConfigItemIndexBySlug\";\nimport {getUpsellConfigNextSlugByIndex} from \"./getUpsellConfigNextSlugByIndex\";\nimport {getUpsellConfigNextSlugBySlug} from \"./getUpsellConfigNextSlugBySlug\";\n\nexport const upSellNavigation = {\n configItemIndexBySlug: getUpsellConfigItemIndexBySlug,\n nextPathByConfigItemIndex: getUpsellConfigNextSlugByIndex,\n nextPathByConfigItemSlug: getUpsellConfigNextSlugBySlug,\n}","import {UpSellConfigItemValue} from \"../upSellNavigation/types\";\n\nexport const isSplitTemplate = (items: UpSellConfigItemValue[]) => {\n if (items.length > 0 && Array.isArray(items[0]) && ('splitTemplates' in items[0][0])) {\n return true;\n }\n return false;\n}","import {UpSellConfigType} from \"../upSellNavigation/types\";\nimport {isSplitTemplate} from \"./isSplitTemplate\";\n\nexport const getUpsellPageTemplate = (config: UpSellConfigType, template: string) => {\n const items = config[template] || []\n if (isSplitTemplate(items) && Array.isArray(items[0])) {\n const itemsWithRange = items[0].map((curr, i, data) => {\n const minPercent = data\n .slice(0, i)\n .map((a) => a.percent)\n .reduce((a, b) => a + b, 0)\n\n return {\n ...curr,\n range: {\n start: minPercent,\n finish: minPercent + curr.percent,\n },\n }\n });\n\n const _time = new Date().getTime()\n const _seed100 = _time % 100\n\n let currentSplit = itemsWithRange.find(\n (e) => e.range.start <= _seed100 && e.range.finish > _seed100,\n )\n if (!currentSplit) {\n currentSplit = itemsWithRange[0]\n }\n return currentSplit.slug;\n }\n return template;\n}","import {getUpsellPageTemplate} from \"./getUpsellPageTemplate\";\n\nexport const upSellTemplatesSplit = {\n getTemplate: getUpsellPageTemplate,\n}"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/browser/hooks/useParamsLandingPage.ts","../src/lib/api.ts","../src/browser/funnels/get.ts","../src/browser/funnels/get-templates.ts","../src/index.ts","../src/browser/abtool/upSellNavigation/getUpsellConfigItemIndexBySlug.ts","../src/browser/abtool/upSellNavigation/getUpsellConfigNextSlugByIndex.ts","../src/browser/abtool/upSellNavigation/getUpsellConfigNextSlugBySlug.ts","../src/browser/abtool/upSellNavigation/index.ts","../src/browser/abtool/upSellTemplatesSplit/isSplitTemplate.ts","../src/browser/abtool/upSellTemplatesSplit/getUpsellPageTemplate.ts","../src/browser/abtool/upSellTemplatesSplit/index.ts"],"sourcesContent":["import {useParams} from 'next/navigation'\n\nexport type ParamsLandingPage = {\n landing?: string\n checkout?: string\n}\nexport type ParamsLandingPageResponse = {\n landing: string\n checkout: string\n angle: string\n version: string\n path: {\n root: string\n rootPretty: string\n }\n}\n\nexport const useParamsLandingPage = (): ParamsLandingPageResponse => {\n const params = useParams<ParamsLandingPage>();\n\n const angle = (params.landing ?? 'main').toLowerCase()\n const version = (params.checkout ?? 'a').toLowerCase()\n\n return {\n landing: angle,\n checkout: version,\n angle,\n version,\n path: {\n root: `/${angle}/${version}`,\n rootPretty: angle === 'main' && version === 'a' ? '' : `/${angle}/${version}`\n }\n }\n}","import createFetchClient from \"openapi-fetch\";\nimport type {paths} from \"./api.def\";\n\nconst endpoint = '/api-client-proxy';\n\nexport const $apiClient = createFetchClient<paths>({\n baseUrl: endpoint,\n headers: {\n 'project-key': \"Frontend\"\n },\n});","import {$apiClient} from \"../../lib/api\";\nimport {components} from \"../../lib/api.def\";\n\nexport type SdkRemoteFunnel = {\n checkout: string,\n landing: string,\n\n angle: string,\n version: string,\n\n homePageTemplate: string,\n quizPageTemplate: string,\n resultPageTemplate: string,\n emailPageTemplate: string,\n checkoutPageTemplate: string,\n paymentWindowTemplate: string,\n upsellPageTemplate: string,\n\n options?: any,\n upsellOptions?: any,\n}\n\nexport const getFunnels = async (): Promise<SdkRemoteFunnel[]> => {\n let response: components['schemas']['FunnelResponseDto'][] = [];\n\n const res = await $apiClient.GET('/funnels/funnel', {\n params: {\n header: {\n 'project-key': 'Frontend'\n }\n }\n });\n if (!res || !res.data) return [];\n response = res.data;\n\n const tmpFunnels: components['schemas']['FunnelResponseDto'][] = response;\n const output: SdkRemoteFunnel[] = [];\n for (const funnel of tmpFunnels) {\n output.push({\n landing: funnel.angle,\n checkout: funnel.version,\n\n angle: funnel.angle,\n version: funnel.version,\n\n homePageTemplate: funnel.home_page,\n quizPageTemplate: funnel.quiz_page,\n resultPageTemplate: funnel.results_page,\n emailPageTemplate: funnel.email_page,\n checkoutPageTemplate: funnel.checkout_page,\n paymentWindowTemplate: funnel.payment_window,\n upsellPageTemplate: funnel.upsell_page,\n\n options: funnel.options,\n upsellOptions: funnel.upsell_options,\n });\n }\n return output;\n}","import {getFunnels, SdkRemoteFunnel} from \"./get\";\nimport {ReadonlyURLSearchParams} from \"next/navigation\";\n\n\ntype SdkRemoteTemplate = Omit<SdkRemoteFunnel, \"checkout\" | \"angle\" | \"landing\" | \"version\" | \"options\" | \"upsellOptions\">\n\nconst defaultTemplate: SdkRemoteTemplate = {\n homePageTemplate: 'Default',\n quizPageTemplate: 'Default',\n resultPageTemplate: 'Default',\n emailPageTemplate: 'Default',\n checkoutPageTemplate: 'Default',\n paymentWindowTemplate: 'Default',\n upsellPageTemplate: 'Default',\n}\n\ntype Props = {\n angle: string,\n version: string,\n searchParams?: ReadonlyURLSearchParams\n}\n\nexport const getTemplates = async ({\n angle, version, searchParams\n }: Props): Promise<SdkRemoteFunnel> => {\n const funnelsData = await getFunnels();\n\n const filteredFunnelsData = funnelsData.filter((a) => {\n if (\n (a.checkout === version || a.checkout === 'any') &&\n (a.landing === angle || a.landing === 'any')\n ) {\n return true\n }\n return false\n })\n if (filteredFunnelsData.length > 0) {\n const _flowData: SdkRemoteFunnel = JSON.parse(\n JSON.stringify(filteredFunnelsData[filteredFunnelsData.length - 1])\n )\n if (searchParams) {\n const keys = Object.keys(defaultTemplate)\n for (const key of keys) {\n if (searchParams.get(key)) {\n // @ts-ignore\n _flowData[key] = searchParams.get(key);\n }\n }\n }\n\n return _flowData;\n }\n return {\n ...defaultTemplate,\n landing: angle,\n checkout: version,\n angle,\n version,\n }\n}","import {useParamsLandingPage} from \"./browser/hooks/useParamsLandingPage\";\nimport {getFunnels} from \"./browser/funnels/get\";\nimport {getTemplates} from \"./browser/funnels/get-templates\";\nimport {server} from '@capibox/bridge-server'\nimport {browser as clientBrowser} from '@capibox/bridge-browser'\nimport {upSellNavigation} from \"./browser/abtool/upSellNavigation\";\nimport {upSellTemplatesSplit} from \"./browser/abtool/upSellTemplatesSplit\";\n\nexport type {UpSellConfigType} from './browser/abtool/upSellNavigation/types'\nexport type {SdkRemoteFunnel} from \"./browser/funnels/get\";\nexport type {\n SDKCapiboxCartItem,\n SDKCapiboxCartResponse,\n SDKCapiboxCustomerCartResponse,\n SDKCapiboxPaymentToken,\n SDKCapiboxSessionResponse\n} from \"@capibox/bridge-browser\";\n\nconst browser = {\n abTool: {\n upSellNavigation,\n upSellTemplatesSplit,\n },\n hooks: {\n useParamsLandingPage\n },\n funnels: {\n get: getFunnels,\n getTemplates: getTemplates\n },\n ...clientBrowser\n}\n\n\nexport {\n browser,\n server\n}\n\n\nif (typeof window !== 'undefined') {\n // @ts-ignore\n window.capibox = browser;\n}\n// v.0.0.74","import {UpSellConfigType} from \"./types\";\n\nexport const getUpsellConfigItemIndexBySlug = (config: UpSellConfigType, template: string, slug: string) => {\n const slugs = config[template] || []\n return slugs.findIndex(el => el === slug || (Array.isArray(el) && el.map(s => s.slug).indexOf(slug) >= 0))\n}\n","import {UpSellConfigType} from \"./types\";\n\nexport const getUpsellConfigNextSlugByIndex = (config: UpSellConfigType, template: string, currentIndex: number, currentSlug?: string) : string | undefined => {\n const slugs = config[template] || []\n const nextIndex = currentIndex + 1;\n\n if (nextIndex > -1 && nextIndex < slugs.length) {\n const path = slugs[nextIndex]\n if (Array.isArray(path)) {\n const _time = new Date().getTime()\n const _seed100 = _time % 100\n const splitValues = path.filter(f => {\n if (!currentSlug) return true;\n if (!f.ignoreAfter) return true;\n return f.ignoreAfter !== currentSlug;\n }).map((curr, i, data) => {\n const minPercent = data\n .slice(0, i)\n .map((a) => a.percent)\n .reduce((a, b) => a + b, 0)\n\n return {\n ...curr,\n range: {\n start: minPercent,\n finish: minPercent + curr.percent,\n },\n }\n })\n if (splitValues.length === 0) {\n return getUpsellConfigNextSlugByIndex(config, template, currentIndex + 1, currentSlug);\n }\n let winner = splitValues.find(\n (e) => e.range.start <= _seed100 && e.range.finish > _seed100,\n )\n if (!winner) {\n winner = splitValues[0]\n }\n if (winner.slug === '') {\n return getUpsellConfigNextSlugByIndex(config, template, currentIndex + 1, currentSlug);\n }\n return winner.slug;\n } else {\n return path;\n }\n }\n return undefined;\n}","import {UpSellConfigType} from \"./types\";\nimport {getUpsellConfigItemIndexBySlug} from \"./getUpsellConfigItemIndexBySlug\";\nimport {getUpsellConfigNextSlugByIndex} from \"./getUpsellConfigNextSlugByIndex\";\n\nexport const getUpsellConfigNextSlugBySlug = (config: UpSellConfigType, template: string, currentSlug: string) : string | undefined => {\n const currentIndex = getUpsellConfigItemIndexBySlug(config, template, currentSlug)\n return getUpsellConfigNextSlugByIndex(config, template, currentIndex, currentSlug)\n}\n","import {getUpsellConfigItemIndexBySlug} from \"./getUpsellConfigItemIndexBySlug\";\nimport {getUpsellConfigNextSlugByIndex} from \"./getUpsellConfigNextSlugByIndex\";\nimport {getUpsellConfigNextSlugBySlug} from \"./getUpsellConfigNextSlugBySlug\";\n\nexport const upSellNavigation = {\n configItemIndexBySlug: getUpsellConfigItemIndexBySlug,\n nextPathByConfigItemIndex: getUpsellConfigNextSlugByIndex,\n nextPathByConfigItemSlug: getUpsellConfigNextSlugBySlug,\n}","import {UpSellConfigItemValue} from \"../upSellNavigation/types\";\n\nexport const isSplitTemplate = (items: UpSellConfigItemValue[]) => {\n if (items.length > 0 && Array.isArray(items[0]) && ('splitTemplates' in items[0][0])) {\n return true;\n }\n return false;\n}","import {UpSellConfigType} from \"../upSellNavigation/types\";\nimport {isSplitTemplate} from \"./isSplitTemplate\";\n\nexport const getUpsellPageTemplate = (config: UpSellConfigType, template: string) => {\n const items = config[template] || []\n if (isSplitTemplate(items) && Array.isArray(items[0])) {\n const itemsWithRange = items[0].map((curr, i, data) => {\n const minPercent = data\n .slice(0, i)\n .map((a) => a.percent)\n .reduce((a, b) => a + b, 0)\n\n return {\n ...curr,\n range: {\n start: minPercent,\n finish: minPercent + curr.percent,\n },\n }\n });\n\n const _time = new Date().getTime()\n const _seed100 = _time % 100\n\n let currentSplit = itemsWithRange.find(\n (e) => e.range.start <= _seed100 && e.range.finish > _seed100,\n )\n if (!currentSplit) {\n currentSplit = itemsWithRange[0]\n }\n return currentSplit.slug;\n }\n return template;\n}","import {getUpsellPageTemplate} from \"./getUpsellPageTemplate\";\n\nexport const upSellTemplatesSplit = {\n getTemplate: getUpsellPageTemplate,\n}"],"mappings":"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","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@capibox/bridge-nextjs-client",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.74",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"typescript": "^5.8.3"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@capibox/bridge-browser": "^0.0.
|
|
38
|
-
"@capibox/bridge-server": "^0.0.
|
|
37
|
+
"@capibox/bridge-browser": "^0.0.74",
|
|
38
|
+
"@capibox/bridge-server": "^0.0.74",
|
|
39
39
|
"@nestjs/swagger": "^11.2.0",
|
|
40
40
|
"class-validator": "^0.14.2",
|
|
41
41
|
"memory-cache": "^0.2.0",
|