{
  "version": 3,
  "sources": ["/cdn/shop/t/64/assets/stackhouse-legacy-tracking-bridge.js?codex_v=20260725a"],
  "sourcesContent": ["(function initializeStackhouseLegacyTrackingBridge(global) {\n  'use strict';\n\n  if (!global || !global.document || global.StackhouseLegacyTrackingBridge) return;\n\n  var document = global.document;\n  var adopted = false;\n  var pollingTimer = null;\n  var pollingDeadline = Date.now() + 12000;\n  var cartLifecycleEvents = {\n    cart_quantity_change_failed: true,\n    cart_quantity_change_retried: true,\n    cart_quantity_change_retry_started: true,\n    cart_quantity_change_started: true,\n    cart_quantity_change_succeeded: true,\n    cart_remove_clicked: true,\n    cart_remove_failed: true,\n    cart_remove_retried: true,\n    cart_remove_retry_started: true,\n    cart_remove_started: true,\n    cart_remove_succeeded: true,\n    checkout_blocked: true,\n    checkout_clicked: true,\n    checkout_prep_failed: true,\n    checkout_prepared: true\n  };\n  var legacyEventNames = {\n    print_flow_opened: true,\n    file_upload_started: true,\n    file_upload_completed: true,\n    crop_completed: true,\n    size_selected: true,\n    media_selected: true,\n    option_selected: true,\n    add_to_cart_succeeded: true,\n    begin_checkout: true\n  };\n\n  Object.keys(cartLifecycleEvents).forEach(function registerCartLifecycleEvent(eventName) {\n    legacyEventNames[eventName] = true;\n  });\n\n  function firstDefined() {\n    for (var index = 0; index < arguments.length; index += 1) {\n      if (arguments[index] !== null && typeof arguments[index] !== 'undefined') {\n        return arguments[index];\n      }\n    }\n    return undefined;\n  }\n\n  function numericValue(value) {\n    var number = Number(value);\n    return Number.isFinite(number) ? number : undefined;\n  }\n\n  function cartLifecyclePayload(details) {\n    var source = details || {};\n    var payload = {\n      source: source.source || source.builder || 'storefront',\n      step: source.step || 'cart',\n      input_method: firstDefined(source.inputMethod, source.input_method),\n      previous_quantity: numericValue(firstDefined(source.previousQuantity, source.previous_quantity)),\n      next_quantity: numericValue(firstDefined(source.nextQuantity, source.next_quantity)),\n      quantity: numericValue(source.quantity),\n      cart_item_count: numericValue(firstDefined(source.cartItemCount, source.cart_item_count)),\n      cart_line_count: numericValue(firstDefined(source.cartLineCount, source.cart_line_count)),\n      retry_count: numericValue(firstDefined(source.retryCount, source.retry_count)),\n      status_code: numericValue(firstDefined(source.statusCode, source.status_code)),\n      error_code: firstDefined(source.errorCode, source.error_code),\n      recovered: source.recovered === true,\n      settled: source.settled === true\n    };\n\n    Object.keys(payload).forEach(function removeEmptyValue(key) {\n      if (typeof payload[key] === 'undefined' || payload[key] === '') delete payload[key];\n    });\n    return payload;\n  }\n\n  function installCartLifecycleMethod(legacyTracking) {\n    legacyTracking.trackCartLifecycle = function trackCartLifecycle(eventName, details) {\n      var payload = cartLifecyclePayload(details);\n      global.stackhouseTrackingQueue = global.stackhouseTrackingQueue || [];\n\n      if (typeof global.gtag === 'function') {\n        global.gtag('event', eventName, payload);\n      } else {\n        global.stackhouseTrackingQueue.push({\n          event: 'event',\n          eventName: eventName,\n          params: payload\n        });\n      }\n\n      if (typeof legacyTracking.pushToDataLayer === 'function') {\n        legacyTracking.pushToDataLayer('stackhouse_cart_lifecycle', {\n          stackhouse_event_name: eventName,\n          stackhouse_source: payload.source,\n          stackhouse_step: payload.step,\n          stackhouse_cart: payload\n        });\n      }\n      return payload;\n    };\n  }\n\n  function candidateLegacyTracking() {\n    var hub = global.StackhouseTrackingHub;\n    var candidate = global.stackhouseTracking;\n    if (!hub || typeof hub.register !== 'function') return null;\n    if (!candidate || candidate === hub.tracking) return null;\n    if (candidate === global.stackhouseBuilderAnalytics) return null;\n    if (typeof candidate.emit !== 'function' || typeof candidate.pushToDataLayer !== 'function') return null;\n    return candidate;\n  }\n\n  function adoptLegacyTracking() {\n    if (adopted) return true;\n    var hub = global.StackhouseTrackingHub;\n    var legacyTracking = candidateLegacyTracking();\n    if (!legacyTracking) return false;\n\n    var originalEmit = legacyTracking.emit;\n    installCartLifecycleMethod(legacyTracking);\n    legacyTracking.accepts = function accepts(eventName) {\n      return legacyEventNames[eventName] === true;\n    };\n    legacyTracking.emit = function emit(eventName, details) {\n      if (cartLifecycleEvents[eventName]) {\n        return legacyTracking.trackCartLifecycle(eventName, details || {});\n      }\n      if (!legacyEventNames[eventName]) return false;\n      return originalEmit.call(legacyTracking, eventName, details || {});\n    };\n    legacyTracking.__stackhouseLegacyTrackingBridge = true;\n\n    global.stackhouseLegacyTracking = legacyTracking;\n    hub.register('legacy', legacyTracking);\n    global.stackhouseTracking = hub.tracking;\n    adopted = true;\n    if (pollingTimer) {\n      global.clearInterval(pollingTimer);\n      pollingTimer = null;\n    }\n    return true;\n  }\n\n  function pollForLegacyTracking() {\n    if (adoptLegacyTracking() || Date.now() >= pollingDeadline) {\n      if (pollingTimer) global.clearInterval(pollingTimer);\n      pollingTimer = null;\n    }\n  }\n\n  ['scroll', 'mousemove', 'touchstart', 'click'].forEach(function watchInitialization(eventName) {\n    document.addEventListener(eventName, adoptLegacyTracking);\n  });\n\n  pollingTimer = global.setInterval(pollForLegacyTracking, 50);\n  pollForLegacyTracking();\n\n  global.StackhouseLegacyTrackingBridge = {\n    adopt: adoptLegacyTracking,\n    isAdopted: function isAdopted() {\n      return adopted;\n    }\n  };\n})(window);\n"],
  "mappings": "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",
  "names": []
}
