@capibox/bridge-nextjs-client 0.0.89 → 0.0.92

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 CHANGED
@@ -170,23 +170,42 @@ declare const browser: {
170
170
  pm: string;
171
171
  }) => Promise<{
172
172
  success: number;
173
- currency: string;
174
- pm: string;
175
173
  data: {
176
- quantity: number;
177
- product: {
178
- title: string;
179
- description?: string;
180
- sku: string;
181
- image?: string;
182
- price: number;
183
- regularPrice?: number;
184
- subBillingPrice?: number;
185
- subBillingInt?: number;
186
- subPeriod?: "week" | "month";
174
+ id: string;
175
+ createdAt: string;
176
+ updatedAt: string;
177
+ extraData?: {
178
+ psp: {
179
+ url: string;
180
+ name: string;
181
+ };
182
+ totals: {
183
+ cart: number;
184
+ regular: number;
185
+ withTax: number;
186
+ woShipping: number;
187
+ discountValue: number;
188
+ discountPercent: number;
189
+ };
187
190
  };
188
- pathname?: string;
189
- }[];
191
+ cart: {
192
+ quantity: number;
193
+ product: {
194
+ title: string;
195
+ description?: string;
196
+ sku: string;
197
+ image?: string;
198
+ price: number;
199
+ regularPrice?: number;
200
+ subBillingPrice?: number;
201
+ subBillingInt?: number;
202
+ subPeriod?: "week" | "month";
203
+ };
204
+ pathname?: string;
205
+ }[];
206
+ status: number;
207
+ currency: string;
208
+ };
190
209
  }>;
191
210
  cart: (uuid: string, body: {
192
211
  strategy: "split-to-2-eq" | "split-to-3-eq" | "split-to-2-desc" | "split-to-3-desc" | "split-to-2-asc" | "split-to-3-asc" | "split-by-price";
@@ -898,23 +917,42 @@ declare const browser: {
898
917
  };
899
918
  }) => Promise<{
900
919
  success: number;
901
- currency: string;
902
- pm: string;
903
920
  data: {
904
- quantity: number;
905
- product: {
906
- title: string;
907
- description?: string;
908
- sku: string;
909
- image?: string;
910
- price: number;
911
- regularPrice?: number;
912
- subBillingPrice?: number;
913
- subBillingInt?: number;
914
- subPeriod?: "week" | "month";
921
+ id: string;
922
+ createdAt: string;
923
+ updatedAt: string;
924
+ extraData?: {
925
+ psp: {
926
+ url: string;
927
+ name: string;
928
+ };
929
+ totals: {
930
+ cart: number;
931
+ regular: number;
932
+ withTax: number;
933
+ woShipping: number;
934
+ discountValue: number;
935
+ discountPercent: number;
936
+ };
915
937
  };
916
- pathname?: string;
917
- }[];
938
+ cart: {
939
+ quantity: number;
940
+ product: {
941
+ title: string;
942
+ description?: string;
943
+ sku: string;
944
+ image?: string;
945
+ price: number;
946
+ regularPrice?: number;
947
+ subBillingPrice?: number;
948
+ subBillingInt?: number;
949
+ subPeriod?: "week" | "month";
950
+ };
951
+ pathname?: string;
952
+ }[];
953
+ status: number;
954
+ currency: string;
955
+ };
918
956
  }>;
919
957
  paypal: {
920
958
  startOrder: (uuid: string, dto: {
@@ -1717,6 +1755,7 @@ declare const browser: {
1717
1755
  };
1718
1756
  subscription: {
1719
1757
  cancelById: (id: number, data: {
1758
+ orderId: string;
1720
1759
  reason: string;
1721
1760
  }) => Promise<{
1722
1761
  id: number;
@@ -1725,6 +1764,7 @@ declare const browser: {
1725
1764
  date: string | null;
1726
1765
  }>;
1727
1766
  cancelByOrderId: (uuid: string, data: {
1767
+ orderId: string;
1728
1768
  reason: string;
1729
1769
  }) => Promise<{
1730
1770
  id: number;
@@ -1734,6 +1774,7 @@ declare const browser: {
1734
1774
  }[]>;
1735
1775
  applyDiscount: (data: {
1736
1776
  subscriptionId: number;
1777
+ orderId: string;
1737
1778
  dateFrom: string | number;
1738
1779
  dateTo: string | number;
1739
1780
  discount: number;
@@ -1748,6 +1789,7 @@ declare const browser: {
1748
1789
  }>;
1749
1790
  pause: (data: {
1750
1791
  subscriptionId: number;
1792
+ orderId: string;
1751
1793
  dateFrom: string;
1752
1794
  dateTo: string;
1753
1795
  description?: string;
package/dist/index.d.ts CHANGED
@@ -170,23 +170,42 @@ declare const browser: {
170
170
  pm: string;
171
171
  }) => Promise<{
172
172
  success: number;
173
- currency: string;
174
- pm: string;
175
173
  data: {
176
- quantity: number;
177
- product: {
178
- title: string;
179
- description?: string;
180
- sku: string;
181
- image?: string;
182
- price: number;
183
- regularPrice?: number;
184
- subBillingPrice?: number;
185
- subBillingInt?: number;
186
- subPeriod?: "week" | "month";
174
+ id: string;
175
+ createdAt: string;
176
+ updatedAt: string;
177
+ extraData?: {
178
+ psp: {
179
+ url: string;
180
+ name: string;
181
+ };
182
+ totals: {
183
+ cart: number;
184
+ regular: number;
185
+ withTax: number;
186
+ woShipping: number;
187
+ discountValue: number;
188
+ discountPercent: number;
189
+ };
187
190
  };
188
- pathname?: string;
189
- }[];
191
+ cart: {
192
+ quantity: number;
193
+ product: {
194
+ title: string;
195
+ description?: string;
196
+ sku: string;
197
+ image?: string;
198
+ price: number;
199
+ regularPrice?: number;
200
+ subBillingPrice?: number;
201
+ subBillingInt?: number;
202
+ subPeriod?: "week" | "month";
203
+ };
204
+ pathname?: string;
205
+ }[];
206
+ status: number;
207
+ currency: string;
208
+ };
190
209
  }>;
191
210
  cart: (uuid: string, body: {
192
211
  strategy: "split-to-2-eq" | "split-to-3-eq" | "split-to-2-desc" | "split-to-3-desc" | "split-to-2-asc" | "split-to-3-asc" | "split-by-price";
@@ -898,23 +917,42 @@ declare const browser: {
898
917
  };
899
918
  }) => Promise<{
900
919
  success: number;
901
- currency: string;
902
- pm: string;
903
920
  data: {
904
- quantity: number;
905
- product: {
906
- title: string;
907
- description?: string;
908
- sku: string;
909
- image?: string;
910
- price: number;
911
- regularPrice?: number;
912
- subBillingPrice?: number;
913
- subBillingInt?: number;
914
- subPeriod?: "week" | "month";
921
+ id: string;
922
+ createdAt: string;
923
+ updatedAt: string;
924
+ extraData?: {
925
+ psp: {
926
+ url: string;
927
+ name: string;
928
+ };
929
+ totals: {
930
+ cart: number;
931
+ regular: number;
932
+ withTax: number;
933
+ woShipping: number;
934
+ discountValue: number;
935
+ discountPercent: number;
936
+ };
915
937
  };
916
- pathname?: string;
917
- }[];
938
+ cart: {
939
+ quantity: number;
940
+ product: {
941
+ title: string;
942
+ description?: string;
943
+ sku: string;
944
+ image?: string;
945
+ price: number;
946
+ regularPrice?: number;
947
+ subBillingPrice?: number;
948
+ subBillingInt?: number;
949
+ subPeriod?: "week" | "month";
950
+ };
951
+ pathname?: string;
952
+ }[];
953
+ status: number;
954
+ currency: string;
955
+ };
918
956
  }>;
919
957
  paypal: {
920
958
  startOrder: (uuid: string, dto: {
@@ -1717,6 +1755,7 @@ declare const browser: {
1717
1755
  };
1718
1756
  subscription: {
1719
1757
  cancelById: (id: number, data: {
1758
+ orderId: string;
1720
1759
  reason: string;
1721
1760
  }) => Promise<{
1722
1761
  id: number;
@@ -1725,6 +1764,7 @@ declare const browser: {
1725
1764
  date: string | null;
1726
1765
  }>;
1727
1766
  cancelByOrderId: (uuid: string, data: {
1767
+ orderId: string;
1728
1768
  reason: string;
1729
1769
  }) => Promise<{
1730
1770
  id: number;
@@ -1734,6 +1774,7 @@ declare const browser: {
1734
1774
  }[]>;
1735
1775
  applyDiscount: (data: {
1736
1776
  subscriptionId: number;
1777
+ orderId: string;
1737
1778
  dateFrom: string | number;
1738
1779
  dateTo: string | number;
1739
1780
  discount: number;
@@ -1748,6 +1789,7 @@ declare const browser: {
1748
1789
  }>;
1749
1790
  pause: (data: {
1750
1791
  subscriptionId: number;
1792
+ orderId: string;
1751
1793
  dateFrom: string;
1752
1794
  dateTo: string;
1753
1795
  description?: string;
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.89","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 try {\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 } catch (e) {\n return [];\n }\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 let getOverrideData = {};\n if (searchParams) {\n const keys = Object.keys(defaultTemplate)\n for (const key of keys) {\n if (searchParams.get(key)) {\n // @ts-ignore\n getOverrideData[key] = searchParams.get(key);\n }\n }\n }\n return {\n ...defaultTemplate,\n ...getOverrideData,\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.92","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 try {\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 } catch (e) {\n return [];\n }\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 let getOverrideData = {};\n if (searchParams) {\n const keys = Object.keys(defaultTemplate)\n for (const key of keys) {\n if (searchParams.get(key)) {\n // @ts-ignore\n getOverrideData[key] = searchParams.get(key);\n }\n }\n }\n return {\n ...defaultTemplate,\n ...getOverrideData,\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 +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 try {\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 } catch (e) {\n return [];\n }\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 let getOverrideData = {};\n if (searchParams) {\n const keys = Object.keys(defaultTemplate)\n for (const key of keys) {\n if (searchParams.get(key)) {\n // @ts-ignore\n getOverrideData[key] = searchParams.get(key);\n }\n }\n }\n return {\n ...defaultTemplate,\n ...getOverrideData,\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.89","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 try {\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 } catch (e) {\n return [];\n }\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 let getOverrideData = {};\n if (searchParams) {\n const keys = Object.keys(defaultTemplate)\n for (const key of keys) {\n if (searchParams.get(key)) {\n // @ts-ignore\n getOverrideData[key] = searchParams.get(key);\n }\n }\n }\n return {\n ...defaultTemplate,\n ...getOverrideData,\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.92","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.89",
3
+ "version": "0.0.92",
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.87",
38
- "@capibox/bridge-server": "^0.0.85",
37
+ "@capibox/bridge-browser": "^0.0.92",
38
+ "@capibox/bridge-server": "^0.0.92",
39
39
  "@nestjs/swagger": "^11.2.0",
40
40
  "class-validator": "^0.14.2",
41
41
  "memory-cache": "^0.2.0",