{"version":3,"file":"static/chunks/3588-3e693a9eef777f6a.js","mappings":"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","sources":["webpack://_N_E/./src/config/index.js","webpack://_N_E/./src/constants/ab-tests.js","webpack://_N_E/./src/constants/google-tag-manager.js","webpack://_N_E/./src/constants/index.js","webpack://_N_E/./src/constants/mixpanel.js","webpack://_N_E/./src/utils/country.js","webpack://_N_E/./src/utils/ab-tests.js","webpack://_N_E/./src/utils/campaign.js","webpack://_N_E/./src/utils/google-tag-manager.js","webpack://_N_E/./src/utils/index.js","webpack://_N_E/./src/utils/mixpanel.js","webpack://_N_E/./src/utils/url.js"],"sourcesContent":["const site =\n process.env.NEXT_PUBLIC_STAGE === 'prod'\n ? 'https://web.steps.me'\n : process.env.NEXT_PUBLIC_STAGE === 'dev'\n ? 'https://devweb.steps.me'\n : 'http://localhost:3030';\n\nconst config = {\n api: {\n address:\n process.env.NEXT_PUBLIC_STAGE === 'prod'\n ? process.env.REACT_APP_PROD_DOMAIN || 'https://api.steps.me/v1'\n : process.env.REACT_APP_DOMAIN === 'dev'\n ? process.env.REACT_APP_DOMAIN || 'https://dev.steps.me/dev'\n : process.env.REACT_APP_DOMAIN || 'https://dev.steps.me/dev',\n },\n version: {\n path:\n process.env.NEXT_PUBLIC_STAGE === 'prod'\n ? process.env.REACT_APP_PROD_VERSION || '3.12.2.0P'\n : process.env.NEXT_PUBLIC_STAGE === 'dev'\n ? process.env.REACT_APP_TEST_VERSION || '3.12.2.0D'\n : process.env.REACT_APP_VERSION || '3.12.2.0D',\n },\n domain: {\n address:\n // TODO: This will only work for client side requests, but this is confusing.\n // we should use the same config api and merge this with api.address\n process.env.REACT_APP_ENV === 'prod'\n ? process.env.REACT_APP_PROD_DOMAIN || 'https://api.steps.me/v1'\n : process.env.REACT_APP_DOMAIN === 'test'\n ? process.env.REACT_APP_DOMAIN || 'https://dev.steps.me/dev'\n : process.env.REACT_APP_DOMAIN || 'https://dev.steps.me/dev',\n url:\n process.env.REACT_APP_ENV === 'prod'\n ? process.env.REACT_APP_PROD_URL || 'https://mapmanager.steps.me'\n : process.env.REACT_APP_ENV === 'test'\n ? process.env.REACT_APP_TEST_URL || 'https://devdashboard.steps.me'\n : process.env.REACT_APP_URL || 'https://devdashboard.steps.me',\n },\n mixpanel: {\n token:\n process.env.NEXT_PUBLIC_STAGE === 'prod'\n ? process.env.MIXPANEL_TOKEN || '077ff37ea1f556ace8f37a5754faca1c'\n : process.env.NEXT_PUBLIC_STAGE === 'dev'\n ? process.env.MIXPANEL_TOKEN || '72123733c2cb16af4962b13a8c0c1243'\n : process.env.MIXPANEL_TOKEN || '72123733c2cb16af4962b13a8c0c1243',\n },\n branch: {\n key:\n process.env.NEXT_PUBLIC_STAGE === 'prod'\n ? process.env.BRANCH_KEY || 'key_live_lnS6lLZQ42dahHSK3DNv4gjpAubqgRM4'\n : process.env.NEXT_PUBLIC_STAGE === 'dev'\n ? process.env.BRANCH_KEY || 'key_test_mgM9pR4R59bbjJIOYzK6AlbaqxmFmHXb'\n : process.env.BRANCH_KEY || 'key_test_mgM9pR4R59bbjJIOYzK6AlbaqxmFmHXb',\n props: {\n //DONT USE MIXPANELID WHILE THE LINK SHOULD TO BE SHARED! IMPORTANT!\n openMapInApp: (mapId, { feature, stage, mixpanelId } = {}) => ({\n feature: feature || '',\n stage: stage || '',\n data: {\n $deeplink_path: `open/m/${mapId}`,\n $android_deeplink_path: `open/m/${mapId}`,\n $ios_deeplink_path: `open/m/${mapId}`,\n $desktop_url: `${site}/m/${mapId}`,\n $canonical_url: `${site}/m/${mapId}`,\n $og_redirect: `${site}/m/${mapId}`,\n ...(mixpanelId && mixpanelId.length > 11 ? { link_mixpanel_id: mixpanelId } : {}),\n },\n }),\n openStepInApp: stepId => ({\n data: {\n $deeplink_path: `open/s/${stepId}`,\n $android_deeplink_path: `open/s/${stepId}`,\n $ios_deeplink_path: `open/s/${stepId}`,\n $desktop_url: `${site}/s/${stepId}`,\n $canonical_url: `${site}/s/${stepId}`,\n $og_redirect: `${site}/s/${stepId}`,\n $ios_url: `${site}/s/${stepId}`,\n $android_url: `${site}/s/${stepId}`,\n },\n }),\n },\n },\n map_token: process.env.NEXT_PUBLIC_STAGE !== 'prod' && 'dev_secret',\n sitemap_secret_key: process.env.REACT_APP_SITEMAP_SECRET_KEY || 'XWqWRtUcHIi-LjgvoP2DUWW17AsAMFEcgw66fdvF7lkufVpK5UHWl5W9bSRZCIRJRnU5ObTC1qXBrMLCEcKJIA',\n site: site,\n top_ten_domain:\n process.env.NEXT_PUBLIC_STAGE === 'prod'\n ? 'https://www.atly.com'\n : process.env.NEXT_PUBLIC_STAGE === 'dev'\n ? 'https://devweb.atly.com'\n : 'http://localhost:3030',\n};\n\nexport default config;\n","export const FeatureFlagKeys = {\n TT_QUIZ_FLOW_CONTROLLER: \"tt_quiz_flow_controller\",\n TT_QUIZ_FLOW_DESKTOP_CONTROLLER: \"tt_quiz_flow_desktop_controller\",\n GLUTEN_FREE_TT_CTA_TARGET: \"gluten_free_tt_cta_target\",\n TT_AI_QUIZ_FLOW_VARIATIONS: \"tt_ai_quiz_flow_variations\",\n STABLE_TT_AI_QUIZ_FLOW_VARIATIONS: \"stable_tt_ai_quiz_flow_variations\",\n GFE_TT_QUIZ_FLOWS_CHECKOUT_TYPE: \"gfe_tt_quiz_flows_checkout_type\",\n GFE_TT_CHECKOUT_TRIAL: \"gfe_tt_checkout_trial\",\n GFE_TT_AD_CHECKOUT_TRIAL: \"gfe_tt_ad_checkout_trial\",\n INDIRECT_ADS_QUIZ_PRICE: \"indirect_ads_quiz_price\",\n GFETT_BRANCH_STABILITY_VARIATION: \"gfett-branch-stability-variation\",\n GFETT_PRICING_TEST: \"gfett_pricing_test\",\n INDIRECT_ADS_COUPON_ID: \"indirect_ads_coupon_id\",\n};\n\nexport const FeatureFlagValues = {\n [FeatureFlagKeys.TT_QUIZ_FLOW_CONTROLLER]: {\n A: \"a-short-quiz\",\n B: \"b-long-quiz\",\n C: \"c-ai-variation-quiz\",\n },\n [FeatureFlagKeys.TT_AI_QUIZ_FLOW_VARIATIONS]: {\n A: \"flow_a\",\n B: \"flow_b\",\n C: \"flow_c\",\n D: \"flow_d\",\n E: \"flow2_e\",\n EMAIL_AT_END: \"flow2_emailAtEnd\",\n },\n [FeatureFlagKeys.GFE_TT_QUIZ_FLOWS_CHECKOUT_TYPE]: {\n WEB: \"web\",\n APP: \"app\",\n },\n [FeatureFlagKeys.GFE_TT_CHECKOUT_TRIAL]: {\n TRUE: \"true\",\n FALSE: \"false\",\n },\n [FeatureFlagKeys.GFETT_BRANCH_STABILITY_VARIATION]: {\n STABLE: true,\n EXPERIMENTAL: false,\n },\n [FeatureFlagKeys.GFETT_PRICING_TEST]: {\n \"49.99\": \"49.99\",\n \"59.99\": \"59.99\",\n \"69.99\": \"69.99\",\n \"79.99\": \"79.99\",\n \"99.99\": \"99.99\",\n },\n};\n","\"use client\";\n\nexport const GtmEvents = {\n\tCLICK_INSTALL: \"click_install\",\n\tCLICK_ALSO_FEATURED: \"click_also_featured\",\n};\n\nexport const GtmProperties = {\n\tGfeTopTen: {\n\t\tPAGE_NAME: \"page_name\",\n\t\tPOSITION: \"position\",\n\t\tELEMENT_TEXT: \"element_text\",\n\t\tDEVICE: \"device\",\n\t},\n};\n","export const AppPlatform = {\n\tLP: \"landing_page\",\n\tTT: \"top_ten\",\n\tAA: \"ask_around\",\n};\n\nexport const VETTED_PLACES_WORLDWIDE = \"272k\";","export const MixpanelEvents = {\n TT_START_SESSION: \"tt_start_session\",\n STEP_ON_MAP_CLICK: \"tt_step_on_map_click\",\n TT_PIN_CLICKED: \"tt_pin_clicked\",\n TT_VIEW_MENU_BUTTON_CLICK: \"tt_view_menu_button_click\",\n TT_ALL_REVIEWS_BUTTON_CLICK: \"tt_all_reviews_button_click\",\n TT_DOWNLOAD_APP_BUTTON_CLICK: \"tt_download_app_button_click\",\n TT_SOCIAL_PROOF_POPUP_SHOWN: \"tt_social_proof_popup_shown\",\n TT_START_QUIZ_CLICK: \"tt_start_quiz_click\",\n TT_ALSO_FEATURED_IN_CLICK: \"tt_also_featured_in_click\",\n TT_POPUP_SHOWED: \"tt_popup_showed\",\n TT_POPUP_CLOSED: \"tt_popup_closed\",\n\n TT_PLACE_VIEWED: \"tt_place_viewed\",\n TT_ITEM_TAPPED: \"tt_item_tapped\",\n TT_PAGE_SCROLLED: \"tt_page_scrolled\",\n\n TT_MODAL_SHOWN: \"tt_modal_shown\",\n TT_MODAL_CTA_CLICKED: \"tt_modal_cta_clicked\",\n TT_MODAL_DISMISSED: \"tt_modal_dismissed\",\n\n TT_SLIDER_SHOWN: \"tt_slider_shown\",\n TT_SLIDER_DISMISSED: \"tt_slider_dismissed\",\n TT_SLIDER_ANSWER_SELECTED: \"tt_slider_answerSelected\",\n\n TT_QUIZ_ACTION: \"tt_quiz_action\",\n TT_QUIZ_PAGE_VIEWED: \"tt_quiz_page_viewed\",\n TT_QUIZ_FORM_SUBMIT: \"tt_quiz_form_submit\",\n TT_QUIZ_PAYMENT_REDIRECT: \"tt_quiz_payment_redirect\",\n TT_QUIZ_BRANCH_REDIRECT: \"tt_quiz_branch_redirect\",\n TT_QUIZ_CHECKOUT_API_SUCCESS: \"tt_quiz_checkout_api_success\",\n TT_QUIZ_CHECKOUT_API_ERROR: \"tt_quiz_checkout_api_error\",\n\n INDIRECT_ADS_QUIZ_START: \"indirect_ads_quiz_start\",\n INDIRECT_ADS_QUIZ_PAGE_VIEWED: \"indirect_ads_quiz_page_viewed\",\n INDIRECT_ADS_QUIZ_ACTION: \"indirect_ads_quiz_action\",\n\n // INDIRECT_ADS_QUIZ_ANSWER_SELECTED: \"indirect_ads_quiz_answer_selected\",\n INDIRECT_ADS_QUIZ_FORM_SUBMIT: \"indirect_ads_quiz_form_submit\",\n // INDIRECT_ADS_QUIZ_PAYMENT_REDIRECT: \"indirect_ads_quiz_payment_redirect\",\n // INDIRECT_ADS_QUIZ_BRANCH_REDIRECT: \"indirect_ads_quiz_branch_redirect\",\n // INDIRECT_ADS_QUIZ_CHECKOUT_API_SUCCESS: \"indirect_ads_quiz_checkout_api_success\",\n // INDIRECT_ADS_QUIZ_CHECKOUT_API_ERROR: \"indirect_ads_quiz_checkout_api_error\",\n};\n\nexport const MixpanelProps = {\n STEP_NAME: \"step_name\",\n STEP_ID: \"step_id\",\n STEP_RANK_ON_PAGE: \"step_rank_on_page\",\n CREATED_BY_MAP_MANAGER: \"created_by_map_manager\",\n TEST_VERSION: \"test_version\",\n IS_PAID: \"is_paid\",\n PLATFORM: \"platform\",\n IS_APP_INSTALLED: \"is_app_installed\",\n USER_SOURCE: \"user_source\",\n USER_REGION: \"user_region\",\n URL: \"url\",\n MAP_ID: \"map_id\",\n MAP_NAME: \"map_name\",\n TT_NAME: \"tt_name\",\n PAGE_AREA: \"page_area\",\n BUTTON_DESTINATION: \"button_destination\",\n GLUTEN_FREE_COUNT_IN_AREA: \"gluten_free_count_in_area\",\n GLUTEN_FREE_COUNT_IN_AREA_SHOWN: \"gluten_free_count_in_area_shown\",\n SOCIAL_PROOF_TEST_BUTTON_ANIMATION: \"button_animation\",\n SOCIAL_PROOF_TEST_BUTTON_SIZE: \"button_size\",\n SOCIAL_PROOF_TEST_BUTTON_CTA: \"button_cta\",\n SOCIAL_PROOF_TEST_SOCIAL_PROOF_POPUP_VERSION: \"social_proof_popup_version\",\n SOCIAL_PROOF_TEST_SOCIAL_PROOF_POPUP_DELAY: \"social_proof_popup_delay\",\n SOCIAL_PROOF_TEST_BUTTON_DESTINATION: \"button_destination\",\n SOCIAL_PROOF_TEST_VARIATION: \"social_proof_test_variation\",\n TAG: \"tag\",\n CITY: \"city\",\n COUNTRY: \"country\",\n REGION: \"region\",\n LIST_SIZE: \"list_size\",\n PLACE_IN_LIST: \"place_in_list\",\n PLACEMENT: \"placement\",\n BUTTON_CTA: \"button_cta\",\n TAPPED_ITEM: \"tapped_item\",\n VERSION: \"version\",\n SOCIAL_PROOF: \"social_proof\",\n TRIGGER: \"trigger\",\n ANSWER_POSITION: \"answer_position\",\n ANSWER_TEXT: \"answer_text\",\n QUESTION_TEXT: \"question_text\",\n USER_AGENT: \"user_agent\",\n};\n\nexport const MixpanelValues = {\n Placement: {\n TOP_OF_FOOTER: \"top_of_footer\",\n BOTTOM_OF_FOOTER: \"bottom_of_footer\",\n NAME_AND_ADDRESS: \"replace_name_and_address\",\n OVER_MAP: \"over_map\",\n },\n ButtonCta: {\n START_FREE_TRIAL: \"Start free trial\",\n JOIN_COMMUNITY: \"Join the community\",\n UNLOCK: \"Unlock\",\n GET_THE_APP: \"Get the app\",\n },\n ItemTapped: {\n AWARD_EMBLEM: \"Award Emblem\",\n ALSO_FEATURED_IN: \"Also Featured In\",\n GLUTEN_FREE_REC_COUNT: \"Gluten Free Rec Count\",\n NAME: \"Name\",\n BLURB: \"Blurb\",\n IMAGE: \"Image\",\n ADDRESS: \"Address\",\n SAFETY_RATING: \"Safety Rating\",\n LEARN_MORE: \"Learn More\",\n REVIEW_TEXT: \"Review Text\",\n TAGS: \"Tags\",\n APP_STORE: \"App Store\",\n PLAY_STORE: \"Play Store\",\n MAIN_CTA: \"Main CTA\",\n FOOTER_TOP_BUTTON: \"Footer Top Button\",\n FOOTER_BOTTOM_BUTTON: \"Footer Bottom Button\",\n LINK_TO_GOOGLE_REVIEW: \"Link to Google Review\",\n ATLY_LOGO: \"Atly Logo\",\n GLUTEN_FREE_COMMUNITY: \"Gluten Free Community\",\n VIEW_MENU: \"View Menu\",\n }\n};\n","import countriesAndTimezones from \"countries-and-timezones\";\n\nexport const getTimezoneCountryISO = () => {\n\tconst timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\tconst timezoneInfo = countriesAndTimezones.getTimezone(timezone);\n\treturn timezoneInfo.countries[0] || \"US\";\n};\n","import { MixpanelProps } from \"../constants/mixpanel\";\nimport { getTimezoneCountryISO } from \"./country\";\nimport config from \"../config\";\nimport { AppPlatform } from \"../constants\";\n\nexport const SocialProofTestVariations = {\n\tCONTROL: \"control\", // control group\n\tREMOVE_SHAKE: \"remove-shake\",\n\tLARGER_BUTTON: \"larger-button\",\n\tSOCIAL_PROOF_POPUP: \"social-proof-popup\",\n\tCOPY_CHANGE: \"copy-change\",\n};\n\nexport const getSocialProofPopupVersion = (socialProofTest) => {\n\treturn socialProofTest === SocialProofTestVariations.SOCIAL_PROOF_POPUP\n\t\t? \"A\"\n\t\t: \"NA\";\n};\n\nexport const getSocialProofDelay = (\n\tsocialProofTest,\n\tsocialProofPopupDelay,\n\tisMobile\n) => {\n\tconsole.log({ socialProofTest, socialProofPopupDelay, isMobile });\n\n\tif (socialProofTest !== SocialProofTestVariations.SOCIAL_PROOF_POPUP) {\n\t\treturn -1;\n\t}\n\n\tif (isMobile) {\n\t\treturn socialProofPopupDelay;\n\t}\n\n\treturn -1;\n};\n\nexport const getSocialProofTestProps = ({\n\tbuttonCta,\n\tcount = 0,\n\tisMobile,\n\ttestsData,\n}) => {\n\treturn {\n\t\t[MixpanelProps.GLUTEN_FREE_COUNT_IN_AREA_SHOWN]: count >= 100,\n\t\t// [MixpanelProps.SOCIAL_PROOF_TEST_BUTTON_ANIMATION]:\n\t\t// \ttestsData?.tests?.socialProofTest ===\n\t\t// \tSocialProofTestVariations.REMOVE_SHAKE\n\t\t// \t\t? \"NA\"\n\t\t// \t\t: \"shake with 3s delay\",\n\t\t// [MixpanelProps.SOCIAL_PROOF_TEST_BUTTON_SIZE]:\n\t\t// \ttestsData?.tests?.socialProofTest ===\n\t\t// \tSocialProofTestVariations.LARGER_BUTTON\n\t\t// \t\t? \"60px\"\n\t\t// \t\t: \"48px\",\n\t\t[MixpanelProps.SOCIAL_PROOF_TEST_BUTTON_CTA]: buttonCta,\n\t\t[MixpanelProps.SOCIAL_PROOF_TEST_BUTTON_DESTINATION]:\n\t\t\ttestsData?.tests?.ctaTarget,\n\t\t// [MixpanelProps.SOCIAL_PROOF_TEST_VARIATION]:\n\t\t// \ttestsData?.tests?.socialProofTest,\n\t\t// [MixpanelProps.SOCIAL_PROOF_TEST_SOCIAL_PROOF_POPUP_VERSION]:\n\t\t// \tgetSocialProofPopupVersion(testsData?.tests?.socialProofTest),\n\t\t// [MixpanelProps.SOCIAL_PROOF_TEST_SOCIAL_PROOF_POPUP_DELAY]:\n\t\t// \tgetSocialProofDelay(\n\t\t// \t\ttestsData?.tests?.socialProofTest,\n\t\t// \t\ttestsData?.tests?.socialProofPopupDelay,\n\t\t// \t\tisMobile\n\t\t// \t),\n\t};\n};\n\nexport const fetchFeatureFlags = async ({ flagNames = [], query = {}, id }) => {\n\tconst countryISO = getTimezoneCountryISO();\n\tconst url = new URL(config.api.address);\n\turl.pathname += \"/steps3/autls/feature-flags\";\n\turl.searchParams.append(\"distinct_id\", id);\n\turl.searchParams.append(\"country\", countryISO);\n\turl.searchParams.append(\"query\", JSON.stringify(query));\n\n\tflagNames.forEach((flagName) => {\n\t\turl.searchParams.append(\"known_features\", flagName);\n\t});\n\n\ttry {\n\t\tconst response = await fetch(url.toString(), {\n\t\t\tmethod: \"GET\",\n\t\t\theaders: {\n\t\t\t\tapp_version: config.version.path,\n\t\t\t\tapp_platform: AppPlatform.LP,\n\t\t\t},\n\t\t});\n\n\t\tconst data = await response.json();\n\t\tconsole.log(\"Success:\", data);\n\t\treturn data.feature_flags;\n\t} catch (error) {\n\t\tconsole.error(\"Error:\", error);\n\t\treturn false;\n\t}\n};\n","export const enrichDefaultCampaignData = (data) => {\n return {\n utm_campaign: data.utm_campaign || (data['~campaign'] ? '' : 'organic_seo'),\n ['~campaign']: data['~campaign'] || 'organic_seo',\n ...data,\n };\n};\n","\"use client\";\n\nconst gtmProperties = {};\n\nexport const registerGtmProperties = (props) => {\n\tObject.assign(gtmProperties, props);\n};\n\nexport const pushGtmEvent = (eventName, props) => {\n\tif (typeof window !== \"undefined\") {\n\t\tconst data = {\n\t\t\tevent: eventName,\n\t\t\tenvironment: process.env.NEXT_PUBLIC_STAGE,\n\t\t\t...gtmProperties,\n\t\t\t...props,\n\t\t};\n\n\t\tconsole.log(\"pushGtmEvent\", { data });\n\t\twindow.dataLayer.push(data);\n\t}\n};\n","import config from \"@/config\";\nimport { AppPlatform } from \"@/constants\";\n\nexport const generateImageUrl = ({\n\timageId,\n\twidth,\n\theight,\n\treason,\n\trotate,\n}) => {\n\tlet testImageApi = false;\n\n\tif (typeof window !== \"undefined\") {\n\t\tconst requestQuery = new URLSearchParams(window.location.search);\n\t\ttestImageApi = requestQuery.get(\"test\") === \"true\";\n\t}\n\n\tconst urlSearchParams = new URLSearchParams();\n\turlSearchParams.append(\"width\", width);\n\turlSearchParams.append(\"height\", height);\n\turlSearchParams.append(\"reason\", reason);\n\turlSearchParams.append(\"auto_rotate\", rotate);\n\t// urlSearchParams.append('reflected_distinct_id', mixpanel.get_distinct_id());\n\turlSearchParams.append(\n\t\t\"app_platform\",\n\t\treason.startsWith(\"topten\") || reason.startsWith(\"top_ten\")\n\t\t\t? AppPlatform.TT\n\t\t\t: AppPlatform.LP\n\t);\n\turlSearchParams.append(\"app_version\", config.version.path);\n\t// urlSearchParams.append('quality', '10');\n\n\tconst path = testImageApi ? \"imagedashboard2\" : \"imagedashboard\";\n\n\tif (!imageId) {\n\t\treturn `${config.api.address\n\t\t\t}/${path}/MAP_IMG_DEFAULT_4?${urlSearchParams.toString()}`;\n\t}\n\n\treturn `${config.api.address\n\t\t}/${path}/${imageId}?${urlSearchParams.toString()}`;\n};\n\nexport const formatAmount = (amount) => {\n\treturn new Intl.NumberFormat(\"en-US\", {\n\t\tnotation: \"compact\",\n\t\tcompactDisplay: \"short\",\n\t\tmaximumFractionDigits: 0,\n\t})\n\t\t.format(amount)\n\t\t.toLowerCase();\n};\n\nexport const derivePossessiveForm = (name) => {\n\tif (!name) return \"\";\n\tconst lastLetter = name[name.length - 1];\n\treturn lastLetter === \"s\" ? `${name}'` : `${name}'s`;\n};\nexport const FormatAmount = (amount) => {\n\treturn new Intl.NumberFormat(\"en-US\", {\n\t\tnotation: \"compact\",\n\t\tcompactDisplay: \"short\",\n\t\tmaximumFractionDigits: 0,\n\t})\n\t\t.format(amount)\n\t\t.toLowerCase();\n};\n\nexport const upperFirst = (string) => {\n\treturn string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();\n};\n","\"use client\";\n\nimport Mixpanel from \"mixpanel-browser\";\nimport config from \"@/config\";\nimport {pushGtmEvent} from \"@/utils/google-tag-manager\";\nimport {GtmEvents, GtmProperties} from \"@/constants/google-tag-manager\";\nimport {getSocialProofTestProps} from \"@/utils/ab-tests\";\nimport {upperFirst} from \"@/utils\";\nimport {MixpanelEvents, MixpanelProps, MixpanelValues,} from \"@/constants/mixpanel\";\nimport {FeatureFlagKeys, FeatureFlagValues} from \"@/constants/ab-tests\";\nimport {getSearchParamsObject, setSearchParams} from \"@/utils/url\";\nimport {enrichDefaultCampaignData} from \"@/utils/campaign\";\n\nlet mixpanelInitialized = false;\n\nMixpanel.init(config.mixpanel.token, {\n debug: true,\n loaded: function () {\n mixpanelInitialized = true;\n }\n});\n\nconst DEV_URL = \"https://devweb.atly.com\";\n\nexport let globalMixpanelData = {};\n\nexport const track = (eventName, eventProps) => {\n Mixpanel.track(eventName, {\n ...globalMixpanelData,\n ...eventProps,\n });\n};\n\nexport const getMixpanelDistinctId = () => {\n return Mixpanel.get_distinct_id();\n};\n\nexport const identify = (userId) => {\n Mixpanel.identify(userId);\n Mixpanel.people.set(\"$user_id\", userId);\n};\n\nexport const verifyMixpanelRegistration = () => {\n const registeredProps = {\n distinct_id: Mixpanel.get_property('distinct_id'),\n quiz_flow_variation: Mixpanel.get_property('tt_quiz_flow_variation'),\n ai_flow_variation: Mixpanel.get_property('tt_quiz_ai_flow_variation'),\n checkout_type: Mixpanel.get_property('tt_quiz_checkout_type'),\n };\n console.log('Currently registered Mixpanel properties:', registeredProps);\n return registeredProps;\n};\n\nexport const registerMixpanelProperties = (data) => {\n const queryParamsObject = getSearchParamsObject();\n\n const props = {\n ...data,\n [MixpanelProps.MAP_ID]: data.mapId || data.map_id,\n [MixpanelProps.MAP_NAME]: data.mapName || data.map_name,\n [MixpanelProps.TT_NAME]: data.title,\n [MixpanelProps.URL]: window.location.href,\n [MixpanelProps.TEST_VERSION]: \"social_proof_A\",\n [MixpanelProps.IS_PAID]: data.isPPC ? \"Yes\" : \"No\",\n [MixpanelProps.PLATFORM]:\n data.deviceType === \"desktop\" ? \"desktop\" : \"mobile\",\n [MixpanelProps.PAGE_AREA]: data.pageArea,\n [MixpanelProps.TAG]: data.tag_name,\n [MixpanelProps.CITY]: data.city,\n [MixpanelProps.COUNTRY]: data.country,\n [MixpanelProps.REGION]: data.district_or_state,\n [MixpanelProps.LIST_SIZE]: data.stepIdsInPage?.length || 0,\n [MixpanelProps.GLUTEN_FREE_COUNT_IN_AREA]: data.placesCount,\n [MixpanelProps.GLUTEN_FREE_COUNT_IN_AREA_SHOWN]: data.placesCount >= 100,\n [MixpanelProps.USER_SOURCE]: \"google_organic_tt\",\n [MixpanelProps.USER_AGENT]: window.navigator.userAgent,\n [MixpanelProps.IS_APP_INSTALLED]:\n data?.branchData?.data_parsed && data?.branchData?.data_parsed.has_app\n ? \"yes\"\n : \"no\",\n [MixpanelProps.USER_REGION]:\n data?.mapDataRequestLocation?.region_name ||\n data?.mapDataRequestLocation?.city ||\n data?.mapDataRequestLocation?.country,\n ...getSocialProofTestProps({\n count: data.placesCount,\n isMobile: data.isMobile,\n tests: data.tests,\n }),\n ...enrichDefaultCampaignData(queryParamsObject),\n };\n\n globalMixpanelData = {\n ...globalMixpanelData,\n ...props,\n ...data,\n ...queryParamsObject,\n };\n\n Mixpanel.register(globalMixpanelData);\n};\n\nexport const trackIndirectAdsQuizStart = (data = {}) => {\n Mixpanel.track(MixpanelEvents.INDIRECT_ADS_QUIZ_START, {\n ...globalMixpanelData,\n ...data,\n });\n};\n\nexport const trackStepOnMapClick = (step) => {\n Mixpanel.track(MixpanelEvents.STEP_ON_MAP_CLICK, {\n ...globalMixpanelData,\n [MixpanelProps.STEP_NAME]: step.title,\n [MixpanelProps.STEP_ID]: step._id,\n [MixpanelProps.STEP_RANK_ON_PAGE]: step.index,\n [MixpanelProps.CREATED_BY_MAP_MANAGER]: step.is_created_by_manager,\n });\n};\n\nexport const trackPinClick = () => {\n Mixpanel.track(MixpanelEvents.TT_PIN_CLICKED, {\n ...globalMixpanelData,\n });\n};\n\nexport const trackAlsoFeaturedInClick = () => {\n Mixpanel.track(MixpanelEvents.TT_ALSO_FEATURED_IN_CLICK, {\n ...globalMixpanelData,\n });\n};\n\nexport const trackPopupShowed = () => {\n Mixpanel.track(MixpanelEvents.TT_POPUP_SHOWED, {\n ...globalMixpanelData,\n });\n};\n\nexport const trackPopupClosed = () => {\n Mixpanel.track(MixpanelEvents.TT_POPUP_CLOSED, {\n ...globalMixpanelData,\n });\n};\n\nexport const trackSocialProofPopupShown = ({ socialProofVersion, delay }) => {\n Mixpanel.track(MixpanelEvents.TT_SOCIAL_PROOF_POPUP_SHOWN, {\n ...globalMixpanelData,\n [MixpanelProps.SOCIAL_PROOF_TEST_SOCIAL_PROOF_POPUP_VERSION]: \"A\",\n [MixpanelProps.SOCIAL_PROOF_TEST_SOCIAL_PROOF_POPUP_DELAY]: delay,\n });\n};\n\nexport const trackStartQuizClick = ({\n area,\n count,\n link,\n isMobile,\n quizFlowControllerVariation,\n}) => {\n // document\n // .querySelector(\"#drawer-footer-get-the-app-button\")\n // .addEventListener(\"click\", (event) => {\n // const buttonCta = event.target.textContent;\n // let randomVariation = localStorage.getItem(\"gfe-short-cta-target\");\n // if (!randomVariation) {\n // randomVariation = Math.random() > 0.5 ? \"direct_to_app\" : \"quiz\";\n // localStorage.setItem(\"gfe-short-cta-target\", randomVariation);\n // }\n // \n // Mixpanel.track(MixpanelEvents.TT_START_QUIZ_CLICK, {\n // [MixpanelProps.GLUTEN_FREE_COUNT_IN_AREA]: count,\n // ...getSocialProofTestProps({\n // buttonCta,\n // count,\n // isMobile,\n // testsData: {\n // tests: {\n // ctaTarget: randomVariation,\n // },\n // },\n // }),\n // });\n // \n // handleRedirect({\n // shouldRedirect: isMobile,\n // randomVariation,\n // link,\n // area,\n // quizFlowControllerVariation,\n // });\n // });\n};\n\nexport const trackTopTenStartQuizClick = ({\n count,\n buttonCta,\n isMobile,\n randomVariation,\n}) => {\n Mixpanel.track(MixpanelEvents.TT_START_QUIZ_CLICK, {\n ...globalMixpanelData,\n [MixpanelProps.GLUTEN_FREE_COUNT_IN_AREA]: count,\n ...getSocialProofTestProps({\n buttonCta,\n count,\n isMobile,\n testsData: {\n tests: {\n ctaTarget: randomVariation,\n },\n },\n }),\n });\n};\nexport const getAttributes = (event, elementId) => {\n const targetElement = event.target.closest(elementId);\n const pageTitle = targetElement.getAttribute(\"data-page-name\");\n const position = targetElement.getAttribute(\"data-position\");\n const device = targetElement.getAttribute(\"data-device\");\n\n return {\n pageTitle,\n position,\n device,\n };\n};\n\nexport const trackViewMenuButtonClick = (link) => {\n document\n .querySelectorAll(\"[id^='tt-view-menu-button']\")\n .forEach((element) => {\n element.addEventListener(\"click\", (event) => {\n const attributes = getAttributes(event, \"[id^='tt-view-menu-button']\");\n console.log(\"MixpanelEvents.TT_VIEW_MENU_BUTTON_CLICK\", attributes);\n\n Mixpanel.track(MixpanelEvents.TT_VIEW_MENU_BUTTON_CLICK, {\n ...globalMixpanelData,\n });\n pushGtmEvent(GtmEvents.CLICK_INSTALL, {\n [GtmProperties.GfeTopTen.PAGE_NAME]: attributes.pageTitle,\n [GtmProperties.GfeTopTen.POSITION]: attributes.position,\n [GtmProperties.GfeTopTen.ELEMENT_TEXT]: attributes.text,\n [GtmProperties.GfeTopTen.DEVICE]: attributes.device,\n });\n\n // window.open(link, \"_blank\");\n });\n });\n};\n\nexport const trackReviewsButtonClick = () => {\n document\n .querySelectorAll(\"[id^='tt-all-reviews-button']\")\n .forEach((element) => {\n element.addEventListener(\"click\", (event) => {\n const attributes = getAttributes(\n event,\n \"[id^='tt-all-reviews-button']\"\n );\n console.log(\"MixpanelEvents.TT_ALL_REVIEWS_BUTTON_CLICK\", attributes);\n\n Mixpanel.track(MixpanelEvents.TT_ALL_REVIEWS_BUTTON_CLICK, {\n ...globalMixpanelData,\n });\n pushGtmEvent(GtmEvents.CLICK_INSTALL, {\n [GtmProperties.GfeTopTen.PAGE_NAME]: attributes.pageTitle,\n [GtmProperties.GfeTopTen.POSITION]: attributes.position,\n [GtmProperties.GfeTopTen.ELEMENT_TEXT]: attributes.text,\n [GtmProperties.GfeTopTen.DEVICE]: attributes.device,\n });\n });\n });\n};\n\nexport const trackFooterAppButtonClick = (link) => {\n document\n .querySelector(\"#footer-get-the-app-button\")\n .addEventListener(\"click\", (event) => {\n const attributes = getAttributes(event, \"#footer-get-the-app-button\");\n console.log(\"MixpanelEvents.TT_ALL_REVIEWS_BUTTON_CLICK\", attributes);\n\n trackItemTapped(MixpanelValues.ItemTapped.FOOTER_TOP_BUTTON);\n\n Mixpanel.track(MixpanelEvents.TT_DOWNLOAD_APP_BUTTON_CLICK, {\n ...globalMixpanelData,\n [MixpanelProps.PLACEMENT]: MixpanelValues.Placement.TOP_OF_FOOTER,\n [MixpanelProps.BUTTON_CTA]: MixpanelValues.ButtonCta.START_FREE_TRIAL,\n });\n\n pushGtmEvent(GtmEvents.CLICK_INSTALL, {\n [GtmProperties.GfeTopTen.PAGE_NAME]: attributes.pageTitle,\n [GtmProperties.GfeTopTen.POSITION]: \"footer\",\n [GtmProperties.GfeTopTen.ELEMENT_TEXT]: \"start free trial\",\n [GtmProperties.GfeTopTen.DEVICE]: attributes.device,\n });\n\n window.open(link, \"_blank\");\n });\n};\n\nexport const trackFooterJoinCommunityButtonClick = (link) => {\n document\n .querySelector(\"#footer-join-community-button\")\n .addEventListener(\"click\", (event) => {\n const attributes = getAttributes(event, \"#footer-join-community-button\");\n\n Mixpanel.track(MixpanelEvents.TT_DOWNLOAD_APP_BUTTON_CLICK, {\n ...globalMixpanelData,\n [MixpanelProps.PLACEMENT]: MixpanelValues.Placement.BOTTOM_OF_FOOTER,\n [MixpanelProps.BUTTON_CTA]: MixpanelValues.ButtonCta.JOIN_COMMUNITY,\n });\n\n trackItemTapped(MixpanelValues.ItemTapped.FOOTER_BOTTOM_BUTTON);\n\n pushGtmEvent(GtmEvents.CLICK_INSTALL, {\n [GtmProperties.GfeTopTen.PAGE_NAME]: attributes.pageTitle,\n [GtmProperties.GfeTopTen.POSITION]: \"footer\",\n [GtmProperties.GfeTopTen.ELEMENT_TEXT]: \"join the community\",\n [GtmProperties.GfeTopTen.DEVICE]: attributes.device,\n });\n\n window.open(link, \"_blank\");\n });\n};\n\nexport const trackPlaceViewed = (placeIndex) => {\n Mixpanel.track(MixpanelEvents.TT_PLACE_VIEWED, {\n ...globalMixpanelData,\n [MixpanelProps.PLACE_IN_LIST]: placeIndex + 1,\n });\n};\n\nexport const trackPageScrolled = () => {\n Mixpanel.track(MixpanelEvents.TT_PAGE_SCROLLED, {\n ...globalMixpanelData,\n });\n};\n\nexport const trackItemTapped = (itemName) => {\n console.log('item tapped', { itemName });\n\n setSearchParams([{ key: \"trigger\", value: itemName }]);\n\n Mixpanel.track(MixpanelEvents.TT_ITEM_TAPPED, {\n ...globalMixpanelData,\n [MixpanelProps.TAPPED_ITEM]: itemName,\n });\n};\n\nexport const trackSliderShown = (trigger) => {\n Mixpanel.track(MixpanelEvents.TT_SLIDER_SHOWN, {\n ...globalMixpanelData,\n [MixpanelProps.TRIGGER]: trigger,\n });\n};\n\nexport const trackSliderDismissed = (trigger) => {\n Mixpanel.track(MixpanelEvents.TT_SLIDER_DISMISSED, {\n ...globalMixpanelData,\n [MixpanelProps.TRIGGER]: trigger,\n });\n};\n\nexport const trackSliderAnswerSelected = ({\n trigger,\n answerPosition,\n answerText,\n questionText,\n}) => {\n Mixpanel.track(MixpanelEvents.TT_SLIDER_ANSWER_SELECTED, {\n ...globalMixpanelData,\n [MixpanelProps.TRIGGER]: trigger,\n [MixpanelProps.ANSWER_POSITION]: answerPosition,\n [MixpanelProps.ANSWER_TEXT]: answerText,\n [MixpanelProps.QUESTION_TEXT]: questionText,\n });\n};\n\nexport const trackModalShown = (modalName, buttonCta) => {\n Mixpanel.track(MixpanelEvents.TT_MODAL_SHOWN, {\n ...globalMixpanelData,\n [MixpanelProps.VERSION]: modalName,\n [MixpanelProps.BUTTON_CTA]: upperFirst(buttonCta),\n [MixpanelProps.SOCIAL_PROOF]: \"True\",\n });\n};\n\nexport const trackModalCtaClicked = ({\n modalName,\n buttonCta,\n link,\n area,\n quizFlowControllerVariation,\n isMobile,\n}) => {\n let randomVariation = localStorage.getItem(\"gfe-short-cta-target\");\n if (!randomVariation) {\n randomVariation = Math.random() > 0.5 ? \"direct_to_app\" : \"quiz\";\n localStorage.setItem(\"gfe-short-cta-target\", randomVariation);\n }\n\n Mixpanel.track(MixpanelEvents.TT_MODAL_CTA_CLICKED, {\n ...globalMixpanelData,\n [MixpanelProps.VERSION]: modalName,\n [MixpanelProps.BUTTON_CTA]: upperFirst(buttonCta),\n [MixpanelProps.SOCIAL_PROOF]: \"True\",\n [MixpanelProps.BUTTON_DESTINATION]: randomVariation,\n });\n\n handleRedirect({\n randomVariation,\n link,\n area,\n quizFlowControllerVariation,\n isMobile,\n });\n};\n\nexport const trackModalDismissed = (modalName, buttonCta) => {\n Mixpanel.track(MixpanelEvents.TT_MODAL_DISMISSED, {\n ...globalMixpanelData,\n [MixpanelProps.VERSION]: modalName,\n [MixpanelProps.BUTTON_CTA]: upperFirst(buttonCta),\n [MixpanelProps.SOCIAL_PROOF]: \"True\",\n });\n};\n\nexport const handleRedirect = ({\n randomVariation,\n link,\n area,\n quizFlowControllerVariation,\n shouldRedirect,\n isMobile,\n}) => {\n const QUIZ_FLOW_CONTROLLER =\n FeatureFlagValues[FeatureFlagKeys.TT_QUIZ_FLOW_CONTROLLER];\n const VARIATION_A = QUIZ_FLOW_CONTROLLER.A;\n const VARIATION_B = QUIZ_FLOW_CONTROLLER.B;\n const VARIATION_C = QUIZ_FLOW_CONTROLLER.C;\n\n let path;\n if (isMobile) {\n if (quizFlowControllerVariation === VARIATION_A) {\n path = \"gfe-short-checkout\";\n } else if (quizFlowControllerVariation === VARIATION_B) {\n path = \"gfe-checkout\";\n } else if (quizFlowControllerVariation === VARIATION_C && shouldRedirect) {\n // Do not redirect\n return;\n }\n } else {\n let storedPath = localStorage.getItem(\"gfe-checkout-path\");\n if (storedPath) {\n path = storedPath;\n } else {\n path = Math.random() > 0.5 ? \"gfe-checkout\" : \"gfe-short-checkout\";\n localStorage.setItem(\"gfe-checkout-path\", path);\n }\n }\n\n if (path) {\n localStorage.setItem(\"gfe-short-quiz-area\", area);\n const domain = process.env.NEXT_PUBLIC_STAGE\n ? config.top_ten_domain.replace(\"www\", \"web\")\n : DEV_URL;\n\n const searchParams = new URLSearchParams(window.location.search);\n searchParams.set(\"lps\", \"tt\");\n\n window.open(`${domain}/${path}/start?${searchParams.toString()}`, \"_blank\");\n }\n};\n","export const getSearchParamsObject = () => {\n const queryParams = new URLSearchParams(window.location.search);\n const queryObject = {};\n queryParams.forEach((value, key) => {\n queryObject[key] = value;\n });\n \n return queryObject;\n};\n\nexport const setSearchParams = (searchParams = []) => {\n const queryParams = new URLSearchParams(window.location.search);\n searchParams.forEach(({ key, value }) => {\n queryParams.set(key, value);\n });\n \n window.history.pushState({}, \"\", `?${queryParams.toString()}`);\n};\n\nexport const deleteSearchParams = (searchParams = []) => {\n const queryParams = new URLSearchParams(window.location.search);\n searchParams.forEach(({ key }) => {\n queryParams.delete(key);\n });\n \n window.history.pushState({}, \"\", `?${queryParams.toString()}`);\n}"],"names":["site","config","api","address","process","env","REACT_APP_PROD_DOMAIN","version","path","REACT_APP_PROD_VERSION","domain","REACT_APP_ENV","REACT_APP_DOMAIN","url","REACT_APP_PROD_URL","REACT_APP_TEST_URL","REACT_APP_URL","mixpanel","token","MIXPANEL_TOKEN","branch","key","BRANCH_KEY","props","openMapInApp","mapId","feature","stage","mixpanelId","arguments","length","data","$deeplink_path","concat","$android_deeplink_path","$ios_deeplink_path","$desktop_url","$canonical_url","$og_redirect","link_mixpanel_id","openStepInApp","stepId","$ios_url","$android_url","map_token","sitemap_secret_key","REACT_APP_SITEMAP_SECRET_KEY","top_ten_domain","__webpack_exports__","Z","FeatureFlagKeys","TT_QUIZ_FLOW_CONTROLLER","TT_QUIZ_FLOW_DESKTOP_CONTROLLER","GLUTEN_FREE_TT_CTA_TARGET","TT_AI_QUIZ_FLOW_VARIATIONS","STABLE_TT_AI_QUIZ_FLOW_VARIATIONS","GFE_TT_QUIZ_FLOWS_CHECKOUT_TYPE","GFE_TT_CHECKOUT_TRIAL","GFE_TT_AD_CHECKOUT_TRIAL","INDIRECT_ADS_QUIZ_PRICE","GFETT_BRANCH_STABILITY_VARIATION","GFETT_PRICING_TEST","INDIRECT_ADS_COUPON_ID","FeatureFlagValues","A","B","C","D","E","EMAIL_AT_END","WEB","APP","TRUE","FALSE","STABLE","EXPERIMENTAL","GtmEvents","CLICK_INSTALL","CLICK_ALSO_FEATURED","GtmProperties","GfeTopTen","PAGE_NAME","POSITION","ELEMENT_TEXT","DEVICE","AppPlatform","LP","TT","AA","VETTED_PLACES_WORLDWIDE","MixpanelEvents","TT_START_SESSION","STEP_ON_MAP_CLICK","TT_PIN_CLICKED","TT_VIEW_MENU_BUTTON_CLICK","TT_ALL_REVIEWS_BUTTON_CLICK","TT_DOWNLOAD_APP_BUTTON_CLICK","TT_SOCIAL_PROOF_POPUP_SHOWN","TT_START_QUIZ_CLICK","TT_ALSO_FEATURED_IN_CLICK","TT_POPUP_SHOWED","TT_POPUP_CLOSED","TT_PLACE_VIEWED","TT_ITEM_TAPPED","TT_PAGE_SCROLLED","TT_MODAL_SHOWN","TT_MODAL_CTA_CLICKED","TT_MODAL_DISMISSED","TT_SLIDER_SHOWN","TT_SLIDER_DISMISSED","TT_SLIDER_ANSWER_SELECTED","TT_QUIZ_ACTION","TT_QUIZ_PAGE_VIEWED","TT_QUIZ_FORM_SUBMIT","TT_QUIZ_PAYMENT_REDIRECT","TT_QUIZ_BRANCH_REDIRECT","TT_QUIZ_CHECKOUT_API_SUCCESS","TT_QUIZ_CHECKOUT_API_ERROR","INDIRECT_ADS_QUIZ_START","INDIRECT_ADS_QUIZ_PAGE_VIEWED","INDIRECT_ADS_QUIZ_ACTION","INDIRECT_ADS_QUIZ_FORM_SUBMIT","MixpanelProps","STEP_NAME","STEP_ID","STEP_RANK_ON_PAGE","CREATED_BY_MAP_MANAGER","TEST_VERSION","IS_PAID","PLATFORM","IS_APP_INSTALLED","USER_SOURCE","USER_REGION","URL","MAP_ID","MAP_NAME","TT_NAME","PAGE_AREA","BUTTON_DESTINATION","GLUTEN_FREE_COUNT_IN_AREA","GLUTEN_FREE_COUNT_IN_AREA_SHOWN","SOCIAL_PROOF_TEST_BUTTON_ANIMATION","SOCIAL_PROOF_TEST_BUTTON_SIZE","SOCIAL_PROOF_TEST_BUTTON_CTA","SOCIAL_PROOF_TEST_SOCIAL_PROOF_POPUP_VERSION","SOCIAL_PROOF_TEST_SOCIAL_PROOF_POPUP_DELAY","SOCIAL_PROOF_TEST_BUTTON_DESTINATION","SOCIAL_PROOF_TEST_VARIATION","TAG","CITY","COUNTRY","REGION","LIST_SIZE","PLACE_IN_LIST","PLACEMENT","BUTTON_CTA","TAPPED_ITEM","VERSION","SOCIAL_PROOF","TRIGGER","ANSWER_POSITION","ANSWER_TEXT","QUESTION_TEXT","USER_AGENT","MixpanelValues","Placement","TOP_OF_FOOTER","BOTTOM_OF_FOOTER","NAME_AND_ADDRESS","OVER_MAP","ButtonCta","START_FREE_TRIAL","JOIN_COMMUNITY","UNLOCK","GET_THE_APP","ItemTapped","AWARD_EMBLEM","ALSO_FEATURED_IN","GLUTEN_FREE_REC_COUNT","NAME","BLURB","IMAGE","ADDRESS","SAFETY_RATING","LEARN_MORE","REVIEW_TEXT","TAGS","APP_STORE","PLAY_STORE","MAIN_CTA","FOOTER_TOP_BUTTON","FOOTER_BOTTOM_BUTTON","LINK_TO_GOOGLE_REVIEW","ATLY_LOGO","GLUTEN_FREE_COMMUNITY","VIEW_MENU","getSocialProofTestProps","testsData","buttonCta","count","isMobile","param","tests","ctaTarget","enrichDefaultCampaignData","utm_campaign","gtmProperties","pushGtmEvent","eventName","event","environment","console","log","window","dataLayer","push","generateImageUrl","imageId","width","height","reason","rotate","testImageApi","requestQuery","URLSearchParams","location","search","get","urlSearchParams","append","startsWith","toString","formatAmount","Intl","NumberFormat","notation","compactDisplay","maximumFractionDigits","format","amount","toLowerCase","derivePossessiveForm","lastLetter","name","FormatAmount","upperFirst","string","charAt","toUpperCase","slice","Mixpanel","init","debug","loaded","globalMixpanelData","track","eventProps","getMixpanelDistinctId","get_distinct_id","verifyMixpanelRegistration","registeredProps","distinct_id","get_property","quiz_flow_variation","ai_flow_variation","checkout_type","registerMixpanelProperties","queryParamsObject","getSearchParamsObject","map_id","mapName","map_name","title","href","isPPC","deviceType","pageArea","tag_name","city","country","district_or_state","stepIdsInPage","placesCount","navigator","userAgent","branchData","data_parsed","has_app","mapDataRequestLocation","region_name","register","trackIndirectAdsQuizStart","trackStepOnMapClick","step","_id","index","is_created_by_manager","trackPinClick","trackAlsoFeaturedInClick","trackPopupShowed","trackPopupClosed","trackSocialProofPopupShown","socialProofVersion","delay","trackStartQuizClick","area","link","quizFlowControllerVariation","trackTopTenStartQuizClick","randomVariation","getAttributes","elementId","targetElement","target","closest","pageTitle","getAttribute","position","device","trackViewMenuButtonClick","document","querySelectorAll","forEach","element","addEventListener","attributes","text","trackReviewsButtonClick","trackFooterAppButtonClick","querySelector","trackItemTapped","open","trackFooterJoinCommunityButtonClick","trackPlaceViewed","placeIndex","trackPageScrolled","itemName","setSearchParams","value","trackSliderShown","trigger","trackSliderDismissed","trackSliderAnswerSelected","answerPosition","answerText","questionText","trackModalShown","modalName","trackModalCtaClicked","localStorage","getItem","Math","random","setItem","handleRedirect","trackModalDismissed","shouldRedirect","QUIZ_FLOW_CONTROLLER","VARIATION_A","VARIATION_B","VARIATION_C","storedPath","replace","searchParams","set","queryParams","queryObject","history","pushState","deleteSearchParams","delete"],"sourceRoot":""}