{
  "version": 3,
  "sources": ["/cdn/shop/t/85/assets/ff-live-presence-tracker-v2.js?ffv=202607031815"],
  "sourcesContent": ["/* Forever Flowers first-party tracker v2\r\n * CORS-avoidance version: no sendBeacon, no custom headers.\r\n * Replace FF_TRACK_ENDPOINT and FF_TRACK_TOKEN before install.\r\n */\r\n(function () {\r\n  'use strict';\r\n\r\n    var FF_TRACK_ENDPOINT = 'https://ff-analytics-dashboard-psi.vercel.app/api/ff-track';\r\n  var FF_TRACK_TOKEN = 'kpidbpOzMFV2XDRXNBHJqzyYmRgmug8LbPZOsEGQ4EE';\r\n  var COOKIE_DAYS = 365;\r\n  var SESSION_MINUTES = 30;\r\n  var HEARTBEAT_MS = 30 * 1000;\r\n\r\n  function nowIso() { return new Date().toISOString(); }\r\n  function randId(prefix) {\r\n    try {\r\n      var a = new Uint8Array(16);\r\n      crypto.getRandomValues(a);\r\n      return prefix + Array.prototype.map.call(a, function (x) { return x.toString(16).padStart(2, '0'); }).join('');\r\n    } catch (e) {\r\n      return prefix + Math.random().toString(16).slice(2) + Date.now().toString(16);\r\n    }\r\n  }\r\n  function getCookie(name) {\r\n    var m = document.cookie.match(new RegExp('(?:^|; )' + name.replace(/[.$?*|{}()\\[\\]\\\\/+^]/g, '\\\\$&') + '=([^;]*)'));\r\n    return m ? decodeURIComponent(m[1]) : '';\r\n  }\r\n  function setCookie(name, value, days) {\r\n    var d = new Date(Date.now() + days * 864e5).toUTCString();\r\n    document.cookie = name + '=' + encodeURIComponent(value) + '; expires=' + d + '; path=/; SameSite=Lax; Secure';\r\n  }\r\n  function lsGet(k) { try { return localStorage.getItem(k) || ''; } catch (e) { return ''; } }\r\n  function lsSet(k, v) { try { localStorage.setItem(k, v); } catch (e) {} }\r\n  function params() { return new URLSearchParams(window.location.search || ''); }\r\n  function pickParams(keys) {\r\n    var p = params(), out = {};\r\n    keys.forEach(function (k) { var v = p.get(k); if (v) out[k] = v; });\r\n    return out;\r\n  }\r\n  function getPathKind() {\r\n    var path = window.location.pathname || '';\r\n    if (/^\\/products\\//.test(path)) return 'product';\r\n    if (/^\\/collections\\//.test(path)) return 'collection';\r\n    if (/^\\/cart/.test(path)) return 'cart';\r\n    if (/^\\/pages\\//.test(path)) return 'page';\r\n    if (path === '/' || path === '') return 'home';\r\n    return 'other';\r\n  }\r\n  function getHandle() {\r\n    var parts = (window.location.pathname || '').split('/').filter(Boolean);\r\n    if (parts[0] === 'products' || parts[0] === 'collections' || parts[0] === 'pages') return parts[1] || '';\r\n    return '';\r\n  }\r\n\r\n  var vid = getCookie('ff_vid') || lsGet('ff_vid') || randId('v_');\r\n  setCookie('ff_vid', vid, COOKIE_DAYS); lsSet('ff_vid', vid);\r\n\r\n  var sid = sessionStorage.getItem('ff_sid');\r\n  var sidTs = Number(sessionStorage.getItem('ff_sid_started_at') || '0');\r\n  if (!sid || !sidTs || (Date.now() - sidTs > SESSION_MINUTES * 60 * 1000)) {\r\n    sid = randId('s_');\r\n    sidTs = Date.now();\r\n    sessionStorage.setItem('ff_sid', sid);\r\n    sessionStorage.setItem('ff_sid_started_at', String(sidTs));\r\n  }\r\n\r\n  var firstTouchKey = 'ff_first_touch';\r\n  var firstTouch = {};\r\n  try { firstTouch = JSON.parse(lsGet(firstTouchKey) || '{}') || {}; } catch (e) { firstTouch = {}; }\r\n\r\n  var clickIds = pickParams(['fbclid', 'gclid', 'gbraid', 'wbraid', 'ttclid', 'msclkid', 'srsltid']);\r\n  var utm = pickParams([\r\n    'utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term',\r\n    'utm_id', 'utm_placement', 'placement', 'site_source_name',\r\n    'publisher_platform', 'platform_position', 'device_platform',\r\n    'campaign_id', 'adset_id', 'ad_id',\r\n    'ff_campaign', 'ff_ad', 'ff_adset', 'ff_system'\r\n  ]);\r\n  var hasAttribution = Object.keys(utm).length || Object.keys(clickIds).length || document.referrer;\r\n\r\n  if (!firstTouch.ts && hasAttribution) {\r\n    firstTouch = {\r\n      ts: nowIso(),\r\n      landing_url: window.location.href,\r\n      landing_path: window.location.pathname,\r\n      referrer: document.referrer || '',\r\n      utm: utm,\r\n      click_ids: clickIds\r\n    };\r\n    lsSet(firstTouchKey, JSON.stringify(firstTouch));\r\n  }\r\n\r\n  function basePayload(eventType, extra) {\r\n    return Object.assign({\r\n      event_type: eventType,\r\n      source: 'theme_js',\r\n      event_ts: nowIso(),\r\n      visitor_id: vid,\r\n      session_id: sid,\r\n      page_url: window.location.href,\r\n      page_path: window.location.pathname,\r\n      page_title: document.title || '',\r\n      referrer: document.referrer || '',\r\n      page_kind: getPathKind(),\r\n      handle: getHandle(),\r\n      current_utm: utm,\r\n      current_click_ids: clickIds,\r\n      first_touch: firstTouch,\r\n      user_agent_hint: navigator.userAgent ? navigator.userAgent.slice(0, 180) : '',\r\n      screen: { w: window.screen && screen.width, h: window.screen && screen.height },\r\n      token: FF_TRACK_TOKEN\r\n    }, extra || {});\r\n  }\r\n\r\n  function send(eventType, extra) {\r\n    var payload = JSON.stringify(basePayload(eventType, extra));\r\n    try {\r\n      fetch(FF_TRACK_ENDPOINT, {\r\n        method: 'POST',\r\n        mode: 'no-cors',\r\n        credentials: 'omit',\r\n        body: payload,\r\n        keepalive: true\r\n      }).catch(function () {});\r\n    } catch (e) {}\r\n  }\r\n\r\n  window.FF_TRACK_SEND = function(eventType, extra) {\r\n    send(eventType, extra || {});\r\n  };\r\n\r\n  window.addEventListener('ff:track', function(event) {\r\n    var detail = event && event.detail ? event.detail : {};\r\n    var eventType = detail.event_name || detail.event_type || 'custom_event';\r\n    send(eventType, detail);\r\n  });\r\n\r\n  function sendPresence(eventType, extra) {\r\n    send(eventType, Object.assign({\r\n      visibility_state: document.visibilityState || '',\r\n      has_focus: typeof document.hasFocus === 'function' ? !!document.hasFocus() : null\r\n    }, extra || {}));\r\n  }\r\n\r\n  function cartLineFromAddResponse(item) {\r\n    item = item || {};\r\n    return {\r\n      product_id: item.product_id ? String(item.product_id) : '',\r\n      product_title: item.product_title || item.title || '',\r\n      product_handle: item.handle || '',\r\n      variant_id: item.variant_id ? String(item.variant_id) : (item.id ? String(item.id) : ''),\r\n      variant_title: item.variant_title || '',\r\n      sku: item.sku || '',\r\n      quantity: Number(item.quantity || 0),\r\n      price_amount: Number(item.final_price != null ? item.final_price : item.price || 0) / 100,\r\n      currency: item.currency || 'ILS',\r\n      image_url: item.featured_image && item.featured_image.url ? item.featured_image.url : ''\r\n    };\r\n  }\r\n\r\n  (function watchSuccessfulCartAdds() {\r\n    if (typeof window.fetch !== 'function') return;\r\n    var nativeFetch = window.fetch;\r\n    window.fetch = function () {\r\n      var args = arguments;\r\n      var request = args[0];\r\n      var options = args[1] || {};\r\n      var url = '';\r\n      var method = '';\r\n\r\n      try {\r\n        url = typeof request === 'string' ? request : (request && request.url) || '';\r\n        method = String((options && options.method) || (request && request.method) || 'GET').toUpperCase();\r\n      } catch (e) {}\r\n\r\n      var result = nativeFetch.apply(this, args);\r\n      try {\r\n        if (/\\/cart\\/add(?:\\.js)?(?:$|\\?)/.test(url) && method === 'POST') {\r\n          result.then(function (response) {\r\n            if (!response || !response.ok || typeof response.clone !== 'function') return;\r\n            response.clone().json().then(function (item) {\r\n              var cartLine = cartLineFromAddResponse(item);\r\n              // Shopify Customer Events owns the canonical product_added_to_cart event.\r\n              // Keep this observer for cart_state refresh and first-party identity sync only.\r\n              scheduleCartState('cart_add_success');\r\n              setTimeout(function () { syncCartIdentity('cart_add_success'); }, 250);\r\n            }).catch(function () {});\r\n          }).catch(function () {});\r\n        }\r\n      } catch (e) {}\r\n      return result;\r\n    };\r\n  })();\r\n\r\n  var lastCartFingerprint = '';\r\n  var cartPollTimer = null;\r\n  function mapCartState(cart) {\r\n    cart = cart || {};\r\n    var items = Array.isArray(cart.items) ? cart.items : [];\r\n    return {\r\n      token: cart.token || '',\r\n      item_count: Number(cart.item_count || 0),\r\n      total_price_amount: Number(cart.total_price || 0) / 100,\r\n      currency: cart.currency || 'ILS',\r\n      lines: items.map(function (item) {\r\n        return {\r\n          product_id: item.product_id ? String(item.product_id) : '',\r\n          product_title: item.product_title || item.title || '',\r\n          product_handle: item.handle || '',\r\n          variant_id: item.variant_id ? String(item.variant_id) : '',\r\n          variant_title: item.variant_title || '',\r\n          sku: item.sku || '',\r\n          quantity: Number(item.quantity || 0),\r\n          price_amount: Number(item.final_price != null ? item.final_price : item.price || 0) / 100,\r\n          currency: cart.currency || 'ILS',\r\n          image_url: item.featured_image && item.featured_image.url ? item.featured_image.url : ''\r\n        };\r\n      })\r\n    };\r\n  }\r\n  function fingerprintCartState(state) {\r\n    try { return JSON.stringify(state || {}); } catch (e) { return ''; }\r\n  }\r\n  function diffRemovedItems(prev, next) {\r\n    var prevLines = prev && Array.isArray(prev.lines) ? prev.lines : [];\r\n    var nextLines = next && Array.isArray(next.lines) ? next.lines : [];\r\n    var nextMap = {};\r\n    nextLines.forEach(function (line) { nextMap[(line.variant_id || line.product_id || line.product_title || '')] = Number(line.quantity || 0); });\r\n    return prevLines.map(function (line) {\r\n      var key = line.variant_id || line.product_id || line.product_title || '';\r\n      var prevQty = Number(line.quantity || 0);\r\n      var nextQty = Number(nextMap[key] || 0);\r\n      if (prevQty > nextQty) {\r\n        return Object.assign({}, line, { quantity_removed: prevQty - nextQty, quantity: nextQty });\r\n      }\r\n      return null;\r\n    }).filter(Boolean);\r\n  }\r\n  function fetchCartState(reason) {\r\n    try {\r\n      return fetch('/cart.js', { credentials: 'same-origin', cache: 'no-store' })\r\n        .then(function (r) { return r.ok ? r.json() : null; })\r\n        .then(function (cart) {\r\n          if (!cart) return;\r\n          var state = mapCartState(cart);\r\n          var fp = fingerprintCartState(state);\r\n          if (!fp || fp === lastCartFingerprint) return;\r\n          var prev = null;\r\n          try { prev = lastCartFingerprint ? JSON.parse(lastCartFingerprint) : null; } catch (e) { prev = null; }\r\n          var removed = diffRemovedItems(prev, state);\r\n          if (removed.length) send('product_removed_from_cart', { reason: reason || 'cart_change', cart_state: state, removed_items: removed });\r\n          send('cart_state', { reason: reason || 'cart_change', cart_state: state });\r\n          lastCartFingerprint = fp;\r\n        })\r\n        .catch(function () {});\r\n    } catch (e) { return Promise.resolve(); }\r\n  }\r\n  function scheduleCartState(reason) {\r\n    try { if (cartPollTimer) clearTimeout(cartPollTimer); } catch (e) {}\r\n    cartPollTimer = setTimeout(function () { fetchCartState(reason || 'scheduled'); }, 900);\r\n    setTimeout(function () { fetchCartState((reason || 'scheduled') + '_settled'); }, 1800);\r\n  }\r\n\r\n\r\n  function publishIdentity(reason) {\r\n    try {\r\n      if (window.Shopify && Shopify.analytics && typeof Shopify.analytics.publish === 'function') {\r\n        Shopify.analytics.publish('ff_identity_ready', {\r\n          ff_client_id: vid,\r\n          ff_session_id: sid,\r\n          reason: reason || 'identity_ready',\r\n          ts: nowIso()\r\n        });\r\n      }\r\n    } catch (e) {}\r\n  }\r\n\r\n  var identitySyncKey = 'ff_identity_synced_' + sid;\r\n  function syncCartIdentity(reason) {\r\n    try {\r\n      if (sessionStorage.getItem(identitySyncKey) === vid) return;\r\n    } catch (e) {}\r\n    publishIdentity(reason || 'cart_identity_sync');\r\n    try {\r\n      var body = 'attributes[_ff_vid]=' + encodeURIComponent(vid)\r\n        + '&attributes[_ff_sid]=' + encodeURIComponent(sid);\r\n      fetch('/cart/update.js', {\r\n        method: 'POST',\r\n        credentials: 'same-origin',\r\n        cache: 'no-store',\r\n        keepalive: true,\r\n        headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' },\r\n        body: body\r\n      }).then(function () {\r\n        try { sessionStorage.setItem(identitySyncKey, vid); } catch (e) {}\r\n      }).catch(function () {});\r\n    } catch (e) {}\r\n  }\r\n\r\n  var heartbeatTimer = null;\r\n\r\n  function stopHeartbeat() {\r\n    if (heartbeatTimer) {\r\n      clearInterval(heartbeatTimer);\r\n      heartbeatTimer = null;\r\n    }\r\n  }\r\n\r\n  function startHeartbeat() {\r\n    stopHeartbeat();\r\n    if (document.visibilityState === 'hidden') return;\r\n    sendPresence('page_visible', { reason: 'start' });\r\n    heartbeatTimer = setInterval(function () {\r\n      if (document.visibilityState === 'hidden') return;\r\n      sendPresence('session_heartbeat');\r\n    }, HEARTBEAT_MS);\r\n  }\r\n\r\n  var kind = getPathKind();\r\n  send(kind === 'product' ? 'product_view'\r\n    : kind === 'collection' ? 'collection_view'\r\n    : kind === 'cart' ? 'cart_view'\r\n    : 'page_view');\r\n\r\n  publishIdentity('page_start');\r\n\r\n  startHeartbeat();\r\n  if (kind === 'cart') { syncCartIdentity('cart_page_load'); fetchCartState('cart_page_load'); }\r\n\r\n  document.addEventListener('click', function (e) {\r\n    var el = e.target && e.target.closest ? e.target.closest('button, a, input[type=\"submit\"]') : null;\r\n    if (!el) return;\r\n    var txt = ((el.innerText || el.value || el.getAttribute('aria-label') || '') + '').toLowerCase();\r\n    var href = el.href || '';\r\n    var name = ((el.getAttribute('name') || el.getAttribute('id') || el.className || '') + '').toLowerCase();\r\n    if (/add|cart|\u05E2\u05D2\u05DC\u05D4|\u05D4\u05D5\u05E1/.test(txt + ' ' + name)) {\r\n      send('add_to_cart_click', { click_text: txt.slice(0, 120), click_href: href });\r\n      scheduleCartState('add_to_cart_click');\r\n      setTimeout(function () { syncCartIdentity('add_to_cart_click'); }, 1200);\r\n    }\r\n    if (/remove|delete|trash|minus|\u05D4\u05E1\u05E8|\u05DE\u05D7\u05E7|\u05D4\u05E4\u05D7\u05EA/.test(txt + ' ' + name + ' ' + href)) {\r\n      scheduleCartState('remove_from_cart_click');\r\n    }\r\n    if (/quantity|qty/.test(name)) {\r\n      scheduleCartState('quantity_change_click');\r\n    }\r\n    if (/checkout|\u05EA\u05E9\u05DC\u05D5\u05DD|\u05DC\u05E7\u05D5\u05E4\u05D4/.test(txt + ' ' + href + ' ' + name)) {\r\n      syncCartIdentity('checkout_click');\r\n      send('checkout_click', { click_text: txt.slice(0, 120), click_href: href });\r\n    }\r\n  }, true);\r\n\r\n  document.addEventListener('change', function (e) {\r\n    var el = e.target;\r\n    var name = el ? String(el.name || el.id || el.className || '').toLowerCase() : '';\r\n    if (/quantity|qty/.test(name)) scheduleCartState('quantity_change');\r\n  }, true);\r\n\r\n  document.addEventListener('visibilitychange', function () {\r\n    if (document.visibilityState === 'hidden') {\r\n      sendPresence('page_hidden', { reason: 'visibilitychange' });\r\n      stopHeartbeat();\r\n      return;\r\n    }\r\n    startHeartbeat();\r\n  });\r\n\r\n  window.addEventListener('focus', function () {\r\n    startHeartbeat();\r\n  });\r\n\r\n  window.addEventListener('blur', function () {\r\n    sendPresence('window_blur');\r\n    stopHeartbeat();\r\n  });\r\n\r\n  window.addEventListener('beforeunload', function () {\r\n    sendPresence('page_unload', { reason: 'beforeunload' });\r\n  });\r\n\r\n  window.addEventListener('pagehide', function () {\r\n    sendPresence('session_end', { reason: 'pagehide' });\r\n  });\r\n})();\r\n"],
  "mappings": "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",
  "names": []
}
