JezK
Edit File: mutations2.js.map
{"file":"mutations2.js","mappings":"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","names":["checkout","store","state","onChange","on","set","get","dispose","onChangeFormState","checkoutState","onUIChange","resetCheckoutState"],"sources":["src/store/local/storage.ts","src/store/checkouts/store.ts","src/store/checkout/store.ts","src/store/checkout/watchers.ts","src/store/ui.ts","src/store/checkouts/events.ts","src/store/checkout/events.ts","src/store/checkout/google.ts","src/store/checkout/facebook.ts","src/store/checkouts/mutations.ts"],"sourcesContent":["import { createStore } from '@stencil/store';\nimport { MinimumStorage } from './types';\n\nconst safeRead = <T extends object>(storage: MinimumStorage, key: string): T | null => {\n try {\n return JSON.parse(storage.getItem(key));\n } catch {\n return null;\n }\n};\n\nconst debounce = fn => {\n let called = false;\n return () => {\n if (called) {\n return;\n }\n called = true;\n setTimeout(() => {\n fn();\n called = false;\n }, 0);\n };\n};\n\nexport const createStorageStore = <T extends object>(storage: MinimumStorage, key: string, defaultValues: T, syncAcrossTabs = false) => {\n const store = createStore(safeRead<T>(storage, key) ?? defaultValues, (newValue, oldValue) => {\n return JSON.stringify(newValue) !== JSON.stringify(oldValue);\n });\n\n // Need to sync later or we would get ourselves in an infinite loop.\n const write = debounce(() => storage.setItem(key, JSON.stringify(store.state)));\n write();\n\n if (syncAcrossTabs) {\n window.addEventListener('storage', () => {\n const currentState = safeRead<T>(storage, key);\n\n if (currentState === null) {\n return;\n }\n\n for (const key in currentState) {\n store.set(key, currentState[key]);\n }\n });\n }\n\n store.use({ set: write, reset: write });\n\n return store;\n};\n\nexport const createLocalStore = <T extends object>(key: string, defaultValues: T, syncAcrossTabs = false) => createStorageStore(localStorage, key, defaultValues, syncAcrossTabs);\nexport const createSessionStore = <T extends object>(key: string, defaultValues: T) => createStorageStore(sessionStorage, key, defaultValues);\n","import { createLocalStore } from '../local';\nimport { createStore } from '@stencil/store';\nimport { getSerializedState } from '@store/utils';\nimport { getQueryArg } from '@wordpress/url';\nconst { checkout } = getSerializedState();\n\nconst notPersistCart = checkout?.persist !== 'browser' || !!getQueryArg(window.location.href, 'no_cart');\n\nconst store = notPersistCart\n ? createStore<{ live: any; test: any }>({\n live: {},\n test: {},\n })\n : createLocalStore<{ live: any; test: any }>(\n 'surecart-local-storage',\n {\n live: {},\n test: {},\n },\n true,\n );\n\nconst { state, onChange, on, set, get, dispose } = store;\nwindow.scStore = store;\nexport default store;\nexport { state, onChange, on, set, get, dispose };\n","import { createStore } from '@stencil/store';\n\nimport { Checkout, GeoCapture, GeoCoordinates, LineItemData, Product, TaxProtocol } from '../../types';\nimport { getSerializedState } from '@store/utils';\nconst { checkout } = getSerializedState();\n\ninterface Store {\n formId: number | string;\n groupId: string;\n mode: 'live' | 'test';\n locks: string[];\n product: Product;\n checkout: Checkout;\n currencyCode: string;\n abandonedCheckoutEnabled: boolean;\n captureGeoAddressEnabled: boolean;\n geoCapture: GeoCapture | null;\n geoCoordinates: GeoCoordinates | null;\n showLoginPrompt: boolean;\n initialLineItems: LineItemData[];\n taxProtocol: TaxProtocol;\n isCheckoutPage: boolean;\n validateStock: boolean;\n persist: 'browser' | 'url' | false;\n paymentMethodRequiresShipping: boolean;\n}\n\nconst { state, onChange, on, set, get, dispose, reset } = createStore<Store>(\n {\n formId: null,\n groupId: null,\n mode: 'live',\n locks: [],\n product: null,\n checkout: null,\n currencyCode: 'usd',\n abandonedCheckoutEnabled: true,\n captureGeoAddressEnabled: false,\n geoCapture: null,\n geoCoordinates: null,\n showLoginPrompt: false,\n initialLineItems: [],\n isCheckoutPage: false,\n validateStock: false,\n persist: 'browser',\n paymentMethodRequiresShipping: false,\n ...checkout,\n },\n (newValue, oldValue) => {\n return JSON.stringify(newValue) !== JSON.stringify(oldValue);\n },\n);\n\nexport default state;\nexport { state, onChange, on, set, get, dispose, reset };\n","import state, { onChange, on } from './store';\nimport { getCheckout, setCheckout } from '../checkouts/mutations';\nimport { onChange as onChangeFormState } from '../form';\nimport { updateFormState } from '../form/mutations';\nimport { Checkout, Invoice } from '../../types';\nimport { speak } from '@wordpress/a11y';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { getFormattedPrice, getHumanDiscount } from '../../functions/price';\n\n/**\n * When the checkout changes, update the\n * checkout in localstorage.\n */\nonChange('checkout', val => setCheckout(val, state.formId));\n\n/**\n * When the checkout changes, update the mode to match the checkout.\n */\nonChange('checkout', val => {\n if (val?.id) {\n state.mode = !val?.live_mode ? 'test' : 'live';\n }\n});\n\n// When the form state changes, update the form state based on the invoice status.\nonChangeFormState('formState', ({ value }) => {\n if (value !== 'draft') return;\n\n // if there is an invoice and it is not open, lock the form.\n if ((state.checkout?.invoice as Invoice)?.status && (state.checkout?.invoice as Invoice)?.status !== 'open') {\n updateFormState('LOCK');\n }\n});\n\n/**\n * When checkout is get, get the checkout from the checkouts state.\n */\non('get', prop => {\n if (prop === 'checkout') {\n const checkout = getCheckout(state.formId, state.mode);\n if (checkout?.id) {\n state.checkout = checkout;\n }\n }\n});\n\non('set', (key: string, checkout: Checkout, oldCheckout: Checkout) => {\n if (key !== 'checkout') return; // we only care about checkout\n if (!oldCheckout || !checkout) return; // checkout was not updated.\n if (checkout?.total_amount === oldCheckout?.total_amount && checkout?.amount_due === oldCheckout?.total_amount) return; // we only care about total_amount and amount_due\n\n const amountDue = getFormattedPrice({\n amount: checkout.amount_due,\n currency: checkout.currency,\n });\n const totalAmount = getFormattedPrice({\n amount: checkout.total_amount,\n currency: checkout.currency,\n });\n\n const couponCodeAdded = checkout?.discount?.promotion?.code !== oldCheckout?.discount?.promotion?.code && checkout?.discount?.promotion?.code;\n const couponCodeRemoved = checkout?.discount?.promotion?.code !== oldCheckout?.discount?.promotion?.code && !checkout?.discount?.promotion?.code;\n\n const messages = [\n ...(couponCodeRemoved ? [__('Coupon code removed.', 'surecart')] : []),\n ...(couponCodeAdded\n ? [\n sprintf(\n // Translators: %1$s is the coupon code, %2$s is the human readable discount.\n __('Coupon code %1$s added. %2$s applied.', 'surecart'),\n checkout?.discount?.promotion?.code,\n getHumanDiscount(checkout?.discount?.coupon),\n ),\n ]\n : []),\n checkout.total_amount === checkout.amount_due\n ? sprintf(__('Checkout updated. The amount due is %1$s.', 'surecart'), amountDue)\n : sprintf(__('Checkout updated. The total amount for the checkout is %1$s and the amount due is %1$s.', 'surecart'), totalAmount, amountDue),\n ];\n\n speak(messages.join(' '));\n});\n","import { createStore } from '@stencil/store';\nimport { speak } from '@wordpress/a11y';\nimport { __ } from '@wordpress/i18n';\n\nexport const store = createStore<any>(\n () => ({\n cart: {\n open: false,\n },\n }),\n (newValue, oldValue) => {\n return JSON.stringify(newValue) !== JSON.stringify(oldValue);\n },\n);\n\nexport const toggleCart = (open = null) => {\n if (!open) {\n return;\n }\n const event = new CustomEvent('scToggleCart', {\n bubbles: true,\n });\n document.dispatchEvent(event);\n};\n\nconst { on } = store;\non('set', (key, newState) => {\n if (key !== 'cart') return; // we only care about cart.\n\n if (newState?.open) {\n speak(__('Cart Opened', 'surecart'), 'assertive');\n } else {\n speak(__('Cart Closed', 'surecart'), 'assertive');\n }\n});\n\nwindow.sc = {\n ...(window?.sc || {}),\n cart: {\n ...(window?.sc?.cart || {}),\n toggle: toggleCart,\n },\n};\n\nexport { on };\nexport default store;\n","import { on } from './store';\nimport { on as onUIChange } from '@store/ui';\nimport { state as checkoutState } from '@store/checkout';\nimport { Checkout, LineItem } from 'src/types';\n\n// Listen to all stored checkouts and handle line item changes.\non('set', (_, value, oldValue) => Object.keys(value || {}).forEach(key => handleCheckoutLineItemChange(value[key] as Checkout, oldValue?.[key])));\n\n/**\n * Add to cart/remove from cart, cart updated events.\n */\nexport const handleCheckoutLineItemChange = (checkout: Checkout, oldCheckout: Checkout) => {\n // get new and old line items.\n const newLineItems = (checkout as Checkout)?.line_items?.data || [];\n const oldLineItems = (oldCheckout as Checkout)?.line_items?.data || [];\n\n // check for added items or quantity changed\n newLineItems.forEach(newItem => {\n const oldItem = oldLineItems.find(item => item.id === newItem.id);\n // an item was added, or the quantity changed.\n if (!oldItem || oldItem?.quantity < newItem?.quantity) {\n const event = new CustomEvent<LineItem>('scAddedToCart', {\n detail: {\n ...newItem,\n quantity: newItem.quantity - (oldItem?.quantity || 0),\n },\n bubbles: true,\n });\n document.dispatchEvent(event);\n }\n });\n\n // check for removed items or quantity changed\n oldLineItems.forEach(oldItem => {\n const newItem = newLineItems.find(item => item.id === oldItem.id);\n // an item was removed, or the quantity changed.\n if (!newItem || oldItem?.quantity > newItem?.quantity) {\n const event = new CustomEvent<LineItem>('scRemovedFromCart', {\n detail: {\n ...oldItem,\n quantity: oldItem.quantity - (newItem?.quantity || 0),\n },\n bubbles: true,\n });\n document.dispatchEvent(event);\n }\n });\n\n // check if line items have changed.\n if (!checkoutState?.isCheckoutPage && JSON.stringify(newLineItems) !== JSON.stringify(oldLineItems)) {\n // emit an event here with the checkout state updates.\n const event = new CustomEvent<{ currentCart: Checkout; previousCart: Checkout }>('scCartUpdated', {\n detail: {\n currentCart: checkout,\n previousCart: oldCheckout,\n },\n bubbles: true,\n });\n document.dispatchEvent(event);\n }\n};\n\n/**\n * Handle view cart event.\n */\nonUIChange('set', (key: string, newValue: { open: boolean }, oldValue: { open: boolean }) => {\n if (key !== 'cart') return; // we only care about cart.\n if (newValue?.open === oldValue?.open) return; // we only care about open state changes.\n\n if (newValue?.open) {\n const event = new CustomEvent('scViewedCart', {\n detail: checkoutState.checkout,\n bubbles: true,\n });\n document.dispatchEvent(event);\n }\n});\n","import '../checkouts/events';\nimport state, { on } from './store';\nimport { Checkout, LineItem } from 'src/types';\n\n/**\n * Checkout initiated event.\n */\non('set', (key, checkout: Checkout, oldCheckout: Checkout) => {\n if (key !== 'checkout') return; // we only care about checkout\n if (oldCheckout?.id) return; // we only care about new checkouts.\n if (!checkout?.id) return; // we don't have a saved checkout.\n if (!state.isCheckoutPage) return; // we don't want to fire this if we are not on the checkout page.\n\n const event = new CustomEvent<Checkout>('scCheckoutInitiated', {\n detail: checkout,\n bubbles: true,\n });\n\n document.dispatchEvent(event);\n});\n\n/**\n * Completed checkout ids are persisted so revisiting a checkout url\n * (e.g. ?checkout_id=xxx for an already-paid checkout) does not re-fire\n * purchase events and inflate analytics conversions.\n */\nconst COMPLETED_CHECKOUTS_KEY = 'scCompletedCheckouts';\nconst hasTrackedCompletion = (id: string): boolean => {\n try {\n return JSON.parse(localStorage.getItem(COMPLETED_CHECKOUTS_KEY) || '[]').includes(id);\n } catch {\n return false;\n }\n};\n\nconst trackCompletion = (id: string): void => {\n try {\n const ids: string[] = JSON.parse(localStorage.getItem(COMPLETED_CHECKOUTS_KEY) || '[]');\n localStorage.setItem(COMPLETED_CHECKOUTS_KEY, JSON.stringify([...ids, id].slice(-20)));\n } catch {\n // localStorage unavailable — fall back to current (unguarded) behavior.\n }\n};\n\n/**\n * Purchase complete, trial start event.\n */\non('set', (key, checkout: Checkout, oldCheckout: Checkout) => {\n if (key !== 'checkout') return; // we only care about checkout\n if (!checkout?.status || oldCheckout?.status === checkout?.status) return; // we only care about status changes.\n if (!['paid', 'processing'].includes(checkout.status)) return; // only if it's paid or processing.\n if (hasTrackedCompletion(checkout.id)) return; // only once per checkout.\n trackCompletion(checkout.id);\n\n // order paid is deprecated.\n const deprecated = new CustomEvent('scOrderPaid', { detail: checkout, bubbles: true });\n document.dispatchEvent(deprecated);\n\n // emit the new event.\n const event = new CustomEvent('scCheckoutCompleted', { detail: checkout, bubbles: true });\n document.dispatchEvent(event);\n\n // get trial line items and emit trial event if there are any.\n const trialLineItems: LineItem[] = (checkout?.line_items?.data || []).filter(item => item?.price?.trial_duration_days > 0);\n if (trialLineItems.length > 0) {\n const event = new CustomEvent('scTrialStarted', { detail: trialLineItems, bubbles: true });\n document.dispatchEvent(event);\n }\n\n // get subscription line items and emit subscription event if there are any.\n const subscriptionLineItems: LineItem[] = (checkout?.line_items?.data || []).filter(item => item?.price?.recurring_interval_count > 0);\n if (subscriptionLineItems.length > 0) {\n const event = new CustomEvent('scSubscriptionStarted', { detail: subscriptionLineItems, bubbles: true });\n document.dispatchEvent(event);\n }\n});\n\n/**\n * Shipping info added event.\n */\non('set', (key, checkout: Checkout, oldCheckout: Checkout) => {\n if (key !== 'checkout') return; // we only care about checkout\n if (!state.isCheckoutPage) return; // we don't want to fire this if we are not on the checkout page.\n if (!checkout?.selected_shipping_choice) return; // we only care about shipping info.\n if (oldCheckout?.selected_shipping_choice === checkout?.selected_shipping_choice) return; // we only care about new shipping info.\n\n const event = new CustomEvent<Checkout>('scShippingInfoAdded', {\n detail: checkout,\n bubbles: true,\n });\n document.dispatchEvent(event);\n});\n\n/**\n * Checkout updated event.\n */\non('set', (key: string, checkout: Checkout, oldCheckout: Checkout) => {\n if (key !== 'checkout') return; // we only care about checkout\n if (!state.isCheckoutPage) return; // we don't want to fire this if we are not on the checkout page.\n if (!oldCheckout?.id) return; // we don't have a saved checkout.\n if (JSON.stringify(checkout) === JSON.stringify(oldCheckout)) return; // we only care about changes.\n\n const event = new CustomEvent('scCheckoutUpdated', {\n detail: {\n currentCheckout: checkout,\n previousCheckout: oldCheckout,\n },\n bubbles: true,\n });\n document.dispatchEvent(event);\n});\n","import { trackEvent } from '../../functions/google';\nimport { maybeConvertAmount } from '../../functions/currency';\nimport { Checkout, LineItem, Product, ShippingMethod } from 'src/types';\n\n/**\n * Handle add to cart event.\n */\nwindow.addEventListener('scAddedToCart', (e: CustomEvent) => {\n const item: LineItem = e.detail;\n\n // sanity check.\n if (!item?.price?.product) return;\n\n trackEvent('add_to_cart', {\n currency: item.price?.currency,\n value: maybeConvertAmount(item?.price?.amount || 0, item.price?.currency || 'USD'),\n items: [\n {\n item_id: (item.price?.product as Product)?.id,\n item_name: (item.price?.product as Product)?.name,\n item_variant: (item.variant_options || []).join(' / '),\n price: maybeConvertAmount(item?.price?.amount || 0, item.price?.currency || 'USD'),\n currency: item.price?.currency,\n quantity: item.quantity,\n discount: item?.discount_amount ? maybeConvertAmount(item?.discount_amount || 0, item.price?.currency || 'USD') : 0,\n },\n ],\n });\n});\n\n/**\n * Handle remove from cart event.\n */\nwindow.addEventListener('scRemovedFromCart', (e: CustomEvent) => {\n const item: LineItem = e.detail;\n\n // sanity check.\n if (!item?.price?.product) return;\n\n trackEvent('remove_from_cart', {\n currency: item.price?.currency,\n value: maybeConvertAmount(item?.price?.amount || 0, item.price?.currency || 'USD'),\n items: [\n {\n item_id: (item.price?.product as Product)?.id,\n item_name: (item.price?.product as Product)?.name,\n item_variant: (item.variant_options || []).join(' / '),\n price: maybeConvertAmount(item?.price?.amount || 0, item.price?.currency || 'USD'),\n currency: item.price?.currency,\n quantity: item.quantity,\n discount: item?.discount_amount ? maybeConvertAmount(item?.discount_amount || 0, item.price?.currency || 'USD') : 0,\n },\n ],\n });\n});\n\n/**\n * Handle view cart event.\n */\nwindow.addEventListener('scViewedCart', (e: CustomEvent) => {\n const checkout: Checkout = e.detail;\n\n trackEvent('view_cart', {\n currency: checkout.currency,\n value: maybeConvertAmount(checkout.total_amount, checkout.currency),\n items: (checkout.line_items?.data || []).map(item => ({\n item_id: (item?.price?.product as Product)?.id,\n item_name: (item?.price?.product as Product)?.name,\n currency: item.price?.currency,\n discount: item.discount_amount ? maybeConvertAmount(item.discount_amount, item.price?.currency) : 0,\n price: maybeConvertAmount(item?.total_amount, item.price?.currency),\n quantity: item.quantity,\n ...(item?.variant_options?.length ? { item_variant: (item.variant_options || []).join(' / ') } : {}),\n })),\n });\n});\n\n/**\n * Handle checkout initiated event.\n */\nwindow.addEventListener('scCheckoutInitiated', (e: CustomEvent) => {\n const checkout: Checkout = e.detail;\n\n trackEvent('begin_checkout', {\n currency: checkout.currency,\n value: maybeConvertAmount(checkout.total_amount, checkout.currency),\n items: (checkout.line_items?.data || []).map(item => ({\n item_id: (item?.price?.product as Product)?.id,\n item_name: (item?.price?.product as Product)?.name,\n currency: item.price?.currency,\n discount: item.discount_amount ? maybeConvertAmount(item.discount_amount, item.price?.currency) : 0,\n price: maybeConvertAmount(item?.total_amount, item.price?.currency),\n quantity: item.quantity,\n ...(item?.variant_options?.length ? { item_variant: (item.variant_options || []).join(' / ') } : {}),\n })),\n });\n});\n\n/**\n * Handle purchase complete event.\n */\nwindow.addEventListener('scCheckoutCompleted', (e: CustomEvent) => {\n const checkout: Checkout = e.detail;\n\n trackEvent('purchase', {\n transaction_id: checkout?.id,\n value: maybeConvertAmount(checkout?.total_amount, checkout?.currency || 'USD'),\n currency: (checkout.currency || '').toUpperCase(),\n items: (checkout?.line_items?.data || []).map(item => ({\n item_id: (item?.price?.product as Product)?.id,\n currency: (checkout.currency || '').toUpperCase(),\n item_name: (item?.price?.product as Product)?.name || '',\n discount: item?.discount_amount ? maybeConvertAmount(item?.discount_amount || 0, item?.price?.currency || 'USD') : 0,\n price: maybeConvertAmount(item?.total_amount || 0, item?.price?.currency || 'USD'),\n quantity: item?.quantity || 1,\n ...(item?.variant_options?.length ? { item_variant: (item.variant_options || []).join(' / ') } : {}),\n })),\n });\n});\n\n/**\n * Handle payment info added event.\n */\nwindow.addEventListener('scPaymentInfoAdded', (e: CustomEvent) => {\n const checkout = e.detail;\n\n trackEvent('add_payment_info', {\n currency: checkout.currency,\n value: maybeConvertAmount(checkout.total_amount, checkout.currency),\n items: (checkout.line_items?.data || []).map(item => ({\n item_id: (item?.price?.product as Product)?.id,\n item_name: (item?.price?.product as Product)?.name || '',\n currency: item.price?.currency,\n discount: item.discount_amount ? maybeConvertAmount(item.discount_amount, item.price?.currency) : 0,\n price: maybeConvertAmount(item?.total_amount, item.price?.currency),\n quantity: item.quantity,\n ...(item?.variant_options?.length ? { item_variant: (item.variant_options || []).join(' / ') } : {}),\n })),\n });\n});\n\n/**\n * Handle shipping info added event.\n */\nwindow.addEventListener('scShippingInfoAdded', (e: CustomEvent) => {\n const checkout: Checkout = e.detail;\n const selectedShippingChoice = checkout?.shipping_choices?.data?.find(method => method.id === checkout?.selected_shipping_choice);\n const selectedShippingTier = (selectedShippingChoice?.shipping_method as ShippingMethod)?.name || '';\n\n trackEvent('add_shipping_info', {\n currency: checkout.currency,\n value: maybeConvertAmount(checkout.total_amount, checkout.currency),\n ...(checkout?.discount?.promotion?.code ? { coupon: checkout?.discount?.promotion?.code } : {}),\n ...(selectedShippingTier ? { shipping_tier: selectedShippingTier } : ''),\n items: (checkout.line_items?.data || []).map(item => ({\n item_id: (item?.price?.product as Product)?.id,\n item_name: (item?.price?.product as Product)?.name || '',\n currency: item.price?.currency,\n discount: item.discount_amount ? maybeConvertAmount(item.discount_amount, item.price?.currency) : 0,\n price: maybeConvertAmount(item?.total_amount, item.price?.currency),\n quantity: item.quantity,\n ...(item?.variant_options?.length ? { item_variant: (item.variant_options || []).join(' / ') } : {}),\n })),\n });\n});\n","import { maybeConvertAmount } from '../../functions/currency';\nimport { Checkout, LineItem, Product } from 'src/types';\n\n/**\n * Facebook (Meta) Pixel standard events for the checkout flow.\n *\n * @see https://developers.facebook.com/docs/meta-pixel/reference Standard event names & expected payloads.\n * @see https://developers.facebook.com/docs/meta-pixel/implementation/conversion-tracking#object-properties Payload properties (content_ids, contents, value, currency).\n * @see https://developers.facebook.com/docs/marketing-api/conversions-api/deduplicate-pixel-and-server-events eventID-based Pixel ↔ Conversions API deduplication.\n */\n\nconst isTrackingDisabled = () => !window?.fbq || window?.scData?.tracking?.facebook === false;\n\n// product can be expanded or a bare id depending on the response shape.\nconst getProductId = (item: LineItem): string => (typeof item?.price?.product === 'string' ? item.price.product : (item?.price?.product as Product)?.id);\n\n/**\n * Handle add to cart event.\n */\nwindow.addEventListener('scAddedToCart', function (e: CustomEvent) {\n if (isTrackingDisabled()) return;\n\n // get the added item from the event.\n const item: LineItem = e.detail;\n\n // sanity check.\n if (!item?.price?.product) return;\n\n const product = item?.price?.product as Product;\n const productCollections: string[] = product?.product_collections?.data?.map(collection => collection.name) || [];\n\n window.fbq('track', 'AddToCart', {\n ...(productCollections.length ? { content_category: productCollections.join(', ') } : {}),\n content_ids: [getProductId(item)],\n content_name: product?.name + (item?.variant_options?.length ? ` - ${item?.variant_options.join(' / ')}` : ''),\n content_type: 'product',\n contents: [\n {\n id: getProductId(item),\n quantity: item.quantity,\n },\n ],\n currency: item?.price?.currency,\n value: maybeConvertAmount(item?.total_amount || 0, item?.price?.currency || 'USD'),\n });\n});\n\n/**\n * Handle purchase initiated event.\n */\nwindow.addEventListener('scCheckoutInitiated', function (e: CustomEvent) {\n if (isTrackingDisabled()) return;\n\n const checkout: Checkout = e.detail;\n\n window.fbq(\n 'track',\n 'InitiateCheckout',\n {\n content_ids: (checkout?.line_items?.data || []).map(getProductId),\n contents: (checkout?.line_items?.data || []).map(item => ({ id: getProductId(item), quantity: item.quantity })),\n currency: checkout?.currency,\n num_items: checkout?.line_items?.data?.length || 0,\n value: maybeConvertAmount(checkout?.total_amount, checkout?.currency || 'USD'),\n },\n { eventID: checkout?.id },\n );\n});\n\n/**\n * Handle purchase complete event.\n */\nwindow.addEventListener('scCheckoutCompleted', function (e: CustomEvent) {\n if (isTrackingDisabled()) return;\n\n const checkout: Checkout = e.detail;\n const lineItems = checkout?.line_items?.data || [];\n\n window.fbq(\n 'track',\n 'Purchase',\n {\n content_ids: lineItems.map(getProductId),\n content_name: 'Purchase',\n content_type: 'product',\n contents: lineItems.map(item => ({ id: getProductId(item), quantity: item.quantity })),\n currency: checkout?.currency,\n num_items: lineItems.length,\n value: maybeConvertAmount(checkout?.total_amount, checkout?.currency || 'USD'),\n },\n { eventID: checkout?.id },\n );\n});\n\n/**\n * Handle trial started event.\n */\nwindow.addEventListener('scTrialStarted', function (e: CustomEvent) {\n if (isTrackingDisabled()) return;\n\n const items: LineItem[] = e.detail;\n\n items.forEach(item => {\n window.fbq(\n 'track',\n 'StartTrial',\n {\n currency: item.price?.currency,\n value: maybeConvertAmount(item.price?.amount || 0, item.price?.currency || 'USD'),\n },\n { eventID: item?.id },\n );\n });\n});\n\n/**\n * Handle subscription started event.\n */\nwindow.addEventListener('scSubscriptionStarted', function (e: CustomEvent) {\n if (isTrackingDisabled()) return;\n\n const items: LineItem[] = e.detail;\n\n items.forEach(item => {\n window.fbq(\n 'track',\n 'Subscribe',\n {\n currency: item.price?.currency,\n value: maybeConvertAmount(item.price?.amount || 0, item.price?.currency || 'USD'),\n },\n { eventID: item?.id },\n );\n });\n});\n\n/**\n * Handle payment info added event.\n */\nwindow.addEventListener('scPaymentInfoAdded', function (e: CustomEvent) {\n if (isTrackingDisabled()) return;\n\n const detail = e.detail;\n\n window.fbq('track', 'AddPaymentInfo', {\n content_category: 'Payment Info Added',\n currency: detail?.currency,\n });\n});\n","import { Checkout } from 'src/types';\nimport store from './store';\nimport { state as checkoutState, reset as resetCheckoutState } from '@store/checkout';\nimport { addQueryArgs, removeQueryArgs } from '@wordpress/url';\n\n/** Get the checkout. */\nexport const getCheckout = (formId: number | string, mode: 'live' | 'test') => store.state[mode]?.[formId] || {};\n\n/** Set the checkout. */\nexport const setCheckout = (data: Checkout, formId: number | string) => {\n const mode = data?.live_mode ? 'live' : 'test';\n store.set(mode, { ...store.state[mode], [formId]: data });\n // update the current checkout state.\n if (checkoutState.formId === formId && checkoutState.mode === mode) {\n checkoutState.checkout = data;\n }\n // set in url only if we are not persisting the cart.\n if (checkoutState.persist === 'url' && data?.id) {\n window.history.replaceState({}, document.title, addQueryArgs(window.location.href, { checkout_id: data?.id }));\n }\n\n const event = new CustomEvent('scCheckoutUpdated', {\n detail: {\n checkout: checkoutState.checkout,\n formId: checkoutState.formId,\n mode: checkoutState.mode,\n },\n bubbles: true,\n });\n document.dispatchEvent(event);\n};\n\n/** Clear the order from the store. */\nexport const clearCheckout = (formId: number | string, mode: 'live' | 'test', checkoutId: string = '') => {\n const { [formId]: remove, ...checkouts } = store.state[mode];\n window.history.replaceState({}, document.title, removeQueryArgs(window.location.href, 'redirect_status', 'coupon', 'line_items', 'confirm_checkout_id', 'checkout_id'));\n store.set(mode, checkouts);\n\n // manually clear out any cart that has this checkout, just in case the store for this form is\n // not set to persist.\n const localCheckouts = JSON.parse(localStorage.getItem('surecart-local-storage') || '{}');\n if (localCheckouts[mode]?.[formId]) {\n if (checkoutId && localCheckouts[mode]?.[formId]?.id !== checkoutId) {\n return;\n }\n delete localCheckouts[mode][formId];\n localStorage.setItem('surecart-local-storage', JSON.stringify(localCheckouts));\n }\n\n resetCheckoutState();\n};\n"],"version":3}