{
  "version": 3,
  "sources": ["/cdn/shop/t/72/assets/nm-beacon.js?t=1794081384793"],
  "sourcesContent": ["/* Neon Mfg site beacon (Nov 7 2026). First-party only: page view, scroll depth, link/button clicks, time on\n   page \u2192 https://forms.neonmfg.com/site-event \u2192 site_events table. No cookies: visitor id in localStorage\n   (1 year), session id in localStorage (new after 30 min idle). Nothing personal is sent. ~1.5 KB. */\n(function () {\n  try {\n    if (window.Shopify && Shopify.designMode) return;            // theme editor\n    if (/(bot|crawler|spider|headless)/i.test(navigator.userAgent)) return;\n    var URL_ = 'https://forms.neonmfg.com/site-event';\n    var now = Date.now();\n    function ls(k, v) { try { if (v === undefined) return localStorage.getItem(k); localStorage.setItem(k, v); } catch (e) { return null; } }\n    function rid() { return Math.random().toString(36).slice(2, 10) + now.toString(36).slice(-4); }\n    var vid = ls('nm_vid'); if (!vid) { vid = rid(); ls('nm_vid', vid); }\n    var sraw = ls('nm_sid'), sid = null, landing = false;\n    try { var so = JSON.parse(sraw); if (so && now - so.t < 18e5) sid = so.id; } catch (e) {}\n    if (!sid) { sid = rid(); landing = true; }\n    ls('nm_sid', JSON.stringify({ id: sid, t: now }));\n    var ref = '';\n    try { var rh = document.referrer && new URL(document.referrer).hostname; if (rh && !/(^|\\.)neonmfg\\.com$/.test(rh)) ref = document.referrer.slice(0, 300); } catch (e) {}\n    var utm = (location.search.match(/[?&]utm_source=([^&]+)/) || [])[1] || (location.search.match(/[?&]gclid=/) ? 'google-gclid' : location.search.match(/[?&]msclkid=/) ? 'bing-msclkid' : location.search.match(/[?&]fbclid=/) ? 'facebook-fbclid' : '');\n    var page = (location.pathname + (location.search ? location.search.replace(/([?&])(gclid|fbclid|msclkid|utm_[a-z]+|_pos|_sid|_ss|pr_[a-z_]+)=[^&]*/g, '$1').replace(/[?&]+$/, '').replace(/\\?&/, '?') : '')).slice(0, 300);\n    var queue = [], flushTimer = null;\n    function flush(useBeacon) {\n      if (!queue.length) return;\n      var body = JSON.stringify({ sid: sid, vid: vid, ab: document.documentElement.getAttribute('data-ab') || '', utm: utm, w: window.innerWidth, ua: navigator.userAgent, ev: queue.splice(0, 20) });\n      try {\n        if (useBeacon && navigator.sendBeacon) { navigator.sendBeacon(URL_, new Blob([body], { type: 'text/plain' })); return; }\n        fetch(URL_, { method: 'POST', body: body, headers: { 'Content-Type': 'text/plain' }, keepalive: true, credentials: 'omit' }).catch(function () {});\n      } catch (e) {}\n    }\n    function push(k, d, l) {\n      queue.push({ k: k, p: page, r: ref, l: !!l, d: d == null ? null : String(d).slice(0, 300) });\n      ls('nm_sid', JSON.stringify({ id: sid, t: Date.now() }));\n      clearTimeout(flushTimer); flushTimer = setTimeout(function () { flush(false); }, 800);\n    }\n    // 1. page view (landing = first page of the session)\n    push('view', document.title.slice(0, 120), landing); flush(false);\n    // 2. scroll depth: deepest quartile reached, sent once per threshold\n    var depth = 0, sent = {};\n    function onScroll() {\n      var h = document.documentElement, max = Math.max(1, (h.scrollHeight || 1) - window.innerHeight);\n      var pct = Math.min(100, Math.round(((window.pageYOffset || h.scrollTop || 0) + 0) / max * 100));\n      if (pct > depth) depth = pct;\n      [25, 50, 75, 100].forEach(function (t) { if (depth >= t && !sent[t]) { sent[t] = 1; push('scroll', t); } });\n    }\n    var ticking = false;\n    window.addEventListener('scroll', function () { if (!ticking) { ticking = true; setTimeout(function () { ticking = false; onScroll(); }, 300); } }, { passive: true });\n    // 3. clicks on links and buttons: href (same-site path or hostname) or the control's text, plus its id/class hint\n    document.addEventListener('click', function (ev) {\n      var el = ev.target && ev.target.closest ? ev.target.closest('a, button, [role=button], input[type=submit]') : null;\n      if (!el) return;\n      var href = el.getAttribute && el.getAttribute('href') || '';\n      var label = (el.getAttribute && (el.getAttribute('aria-label') || el.getAttribute('title'))) || (el.innerText || el.value || '').replace(/\\s+/g, ' ').trim();\n      var where = '';\n      try { if (href && !/^(#|javascript:)/.test(href)) { var u = new URL(href, location.href); where = /(^|\\.)neonmfg\\.com$/.test(u.hostname) ? u.pathname : u.protocol === 'tel:' || u.protocol === 'mailto:' ? u.protocol : u.hostname; } } catch (e) {}\n      var hint = el.id ? '#' + el.id : (el.className && typeof el.className === 'string' ? '.' + el.className.trim().split(/\\s+/).slice(0, 2).join('.') : '');\n      push('click', (where ? where + ' ' : '') + '\"' + label.slice(0, 60) + '\"' + (hint ? ' ' + hint : ''));\n    }, true);\n    // 4. leave: seconds on page (visible time) + max scroll depth, sent with sendBeacon so it survives unload\n    var t0 = Date.now(), visible = Date.now(), active = 0, left = false;\n    document.addEventListener('visibilitychange', function () {\n      if (document.visibilityState === 'hidden') { active += Date.now() - visible; leave(); }\n      else { visible = Date.now(); left = false; }\n    });\n    window.addEventListener('pagehide', function () { if (document.visibilityState !== 'hidden') active += Date.now() - visible; leave(); });\n    function leave() { if (left) return; left = true; push('leave', Math.round(active / 1000) + 's ' + depth + '%'); flush(true); }\n  } catch (e) {}\n})();\n"],
  "mappings": "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",
  "names": ["ls", "rid", "flush", "push", "onScroll", "leave"]
}
