{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/5Ha3ASrXQAyBGiklIzNd/WaGSxPnAt5KH1lpSlkeT/siteMetadata.js"],
  "sourcesContent": ["// Generated by Framer (df7882f)\nexport default function metadata(params,activeLocale){return{customHTMLBodyEnd:\"<!-- Google Tag Manager -->\\n<iframe src=\\\"https://www.googletagmanager.com/ns.html?id=GTM-56J8924R\\\" height=\\\"0\\\" width=\\\"0\\\" style=\\\"display:none;visibility:hidden\\\"></iframe>\\n<!-- End Google Tag Manager -->\\n\\n<script>\\n// Function to detect if user is in New Mexico\\nasync function isNewMexicoUser() {\\n  try {\\n    // Try ipapi.co first\\n    const response = await fetch('https://ipapi.co/json/');\\n    const data = await response.json();\\n    return data.region === 'New Mexico' || data.region_code === 'NM';\\n  } catch (error) {\\n    // Fallback: Try a different service\\n    try {\\n      const response2 = await fetch('https://api.ipify.org?format=json');\\n      const ipData = await response2.json();\\n      \\n      // Use a different geolocation service that supports CORS\\n      const geoResponse = await fetch(`https://ipwho.is/${ipData.ip}`);\\n      const geoData = await geoResponse.json();\\n      \\n      return geoData.region === 'New Mexico' || geoData.region_code === 'NM';\\n    } catch (error2) {\\n      // Final fallback\\n      return false;\\n    }\\n  }\\n}\\n\\n// Function to initialize all changes\\nasync function initializeLocationCustomization() {\\n  // Check domain first - if on smithhealth.com, always show Smith Health branding\\n  const isSmithHealthDomain = window.location.hostname === 'smithhealth.com' || window.location.hostname === 'www.smithhealth.com';\\n  \\n  if (isSmithHealthDomain) {\\n    // If on smithhealth.com domain, always show Smith Health branding\\n    // NO geolocation API calls needed\\n    updateLogosForLocation(true);\\n    updateTextContent(true);\\n    return;\\n  }\\n  \\n  // Only do geolocation checks if NOT on smithhealth.com\\n  const isNM = await isNewMexicoUser();\\n  \\n  // Handle URL redirection for New Mexico users on smithrx.com\\n  if (isNM && (window.location.hostname === 'smithrx.com' || window.location.hostname === 'www.smithrx.com')) {\\n    window.location.href = window.location.href.replace(window.location.hostname, 'smithhealth.com');\\n    return; // Stop execution since we're redirecting\\n  }\\n  \\n  // Show Smith Health branding if user is in New Mexico\\n  updateLogosForLocation(isNM);\\n  updateTextContent(isNM);\\n}\\n\\n// Updated function to work with your LogoVariants component\\nfunction updateLogosForLocation(showSmithHealth) {\\n  // Find all LogoVariants components (look for the component container)\\n  // You'll need to give your LogoVariants components a data-attribute for targeting\\n  const logoComponents = document.querySelectorAll('[data-framer-name*=\\\"logo\\\"], [data-component=\\\"LogoVariants\\\"]');\\n  \\n  logoComponents.forEach((logoContainer) => {\\n    // Find the React component instance\\n    const reactKey = Object.keys(logoContainer).find(key => \\n      key.startsWith('__reactInternalInstance') || \\n      key.startsWith('__reactFiber') ||\\n      key.startsWith('_reactInternals')\\n    );\\n    \\n    if (reactKey && logoContainer[reactKey]) {\\n      try {\\n        const fiberNode = logoContainer[reactKey];\\n        \\n        // Navigate to find the LogoVariants component\\n        let currentNode = fiberNode;\\n        let logoVariantsNode = null;\\n        \\n        // Search for LogoVariants component in the fiber tree\\n        const searchForLogoVariants = (node, depth = 0) => {\\n          if (depth > 10) return null; // Prevent infinite loops\\n          \\n          if (node && node.type && (\\n            node.type.name === 'LogoVariants' || \\n            (node.type.displayName && node.type.displayName.includes('LogoVariants'))\\n          )) {\\n            return node;\\n          }\\n          \\n          if (node.child) {\\n            const childResult = searchForLogoVariants(node.child, depth + 1);\\n            if (childResult) return childResult;\\n          }\\n          \\n          if (node.sibling) {\\n            const siblingResult = searchForLogoVariants(node.sibling, depth + 1);\\n            if (siblingResult) return siblingResult;\\n          }\\n          \\n          return null;\\n        };\\n        \\n        logoVariantsNode = searchForLogoVariants(currentNode);\\n        \\n        if (logoVariantsNode && logoVariantsNode.stateNode) {\\n          // Update the component props\\n          const newVariant = showSmithHealth ? 'variant2' : 'variant1';\\n          \\n          // Force update the component with new props\\n          logoVariantsNode.memoizedProps = {\\n            ...logoVariantsNode.memoizedProps,\\n            selectedVariant: newVariant\\n          };\\n          \\n          // Trigger a re-render\\n          if (logoVariantsNode.stateNode.forceUpdate) {\\n            logoVariantsNode.stateNode.forceUpdate();\\n          }\\n        }\\n      } catch (error) {\\n        // Fallback: try to update through data attributes\\n        const targetVariant = showSmithHealth ? 'variant2' : 'variant1';\\n        logoContainer.setAttribute('data-selected-variant', targetVariant);\\n      }\\n    }\\n  });\\n}\\n\\n// Function to update text content\\nfunction updateTextContent(showSmithHealth) {\\n  if (showSmithHealth) {\\n    // Replace SmithRx with Smith Health throughout the page\\n    const walker = document.createTreeWalker(\\n      document.body,\\n      NodeFilter.SHOW_TEXT,\\n      null,\\n      false\\n    );\\n    \\n    const textNodes = [];\\n    let node;\\n    \\n    while (node = walker.nextNode()) {\\n      if (node.nodeValue.includes('SmithRx')) {\\n        textNodes.push(node);\\n      }\\n    }\\n    \\n    textNodes.forEach(textNode => {\\n      textNode.nodeValue = textNode.nodeValue.replace(/SmithRx/g, 'Smith Health');\\n    });\\n    \\n    // Also update any input placeholders, alt text, etc.\\n    const elementsWithText = document.querySelectorAll('[placeholder*=\\\"SmithRx\\\"], [alt*=\\\"SmithRx\\\"], [title*=\\\"SmithRx\\\"]');\\n    elementsWithText.forEach(element => {\\n      if (element.placeholder) {\\n        element.placeholder = element.placeholder.replace(/SmithRx/g, 'Smith Health');\\n      }\\n      if (element.alt) {\\n        element.alt = element.alt.replace(/SmithRx/g, 'Smith Health');\\n      }\\n      if (element.title) {\\n        element.title = element.title.replace(/SmithRx/g, 'Smith Health');\\n      }\\n    });\\n  }\\n}\\n\\n// Run when DOM is loaded\\nif (document.readyState === 'loading') {\\n  document.addEventListener('DOMContentLoaded', initializeLocationCustomization);\\n} else {\\n  initializeLocationCustomization();\\n}\\n\\n// Try after delays in case Framer elements load later\\nsetTimeout(() => {\\n  initializeLocationCustomization();\\n}, 1000);\\n\\nsetTimeout(() => {\\n  initializeLocationCustomization();\\n}, 3000);\\n\\n// Observer to watch for new LogoVariants components being added\\nconst observer = new MutationObserver((mutations) => {\\n  let shouldUpdate = false;\\n  \\n  mutations.forEach((mutation) => {\\n    mutation.addedNodes.forEach((node) => {\\n      if (node.nodeType === 1) {\\n        if (node.querySelector && \\n            (node.querySelector('[data-framer-name*=\\\"logo\\\"]') || \\n             node.querySelector('[data-component=\\\"LogoVariants\\\"]'))) {\\n          shouldUpdate = true;\\n        }\\n      }\\n    });\\n  });\\n  \\n  if (shouldUpdate) {\\n    setTimeout(() => initializeLocationCustomization(), 100);\\n  }\\n});\\n\\n// Start observing\\nobserver.observe(document.body, {\\n  childList: true,\\n  subtree: true\\n});\\n</script>\",customHTMLHeadEnd:\"<!-- GTM preconnect link -->\\n<link rel=\\\"preconnect\\\" href=\\\"https://www.googletagmanager.com\\\">\\n\\n<!-- Google Tag Manager -->\\n<script async=\\\"\\\">\\n  (function(w,d,s,l,i){\\n    w[l]=w[l]||[];\\n    w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});\\n    var f=d.getElementsByTagName(s)[0],\\n        j=d.createElement(s),\\n        dl=l!='dataLayer'?'&l='+l:'';\\n    j.async=true;\\n    j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;\\n    f.parentNode.insertBefore(j,f);\\n  })(window,document,'script','dataLayer','GTM-56J8924R');\\n</script>\\n<!-- End Google Tag Manager -->\",description:\"SmithRx provides employers and members with the lowest-cost pathways to medications through unmatched clarity, affordability, and care. Clear pricing. Full savings. People first.\",favicon:\"https://framerusercontent.com/assets/bkevOIm21o4c27ISabAk8kvFonQ.svg\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/WlIGH06EWF670OjheE0Qs5kYuxE.jpg\",title:\"SmithRx: Radically Transparent Pharmacy Benefits\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "yCAAAA,IACe,SAARC,EAA0BC,EAAOC,EAAa,CAAC,MAAM,CAAC,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAA6oO,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iCAAulB,YAAY,qLAAqL,QAAQ,uEAAuE,OAAO,0BAA0B,YAAY,uEAAuE,MAAM,kDAAkD,CAAE",
  "names": ["init_ssg_sandbox_shims", "metadata", "params", "activeLocale"]
}
