{
  "version": 3,
  "sources": ["/cdn/shop/t/61/assets/kingz-defer-scripts-FINAL-20260712-1783814822.js?cb=1783814822"],
  "sourcesContent": ["/**\n * \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n *  KINGZ.COM \u2014 PHASE 2, FIX 6: INTERACTION-DEFERRED THIRD-PARTY SCRIPTS\n *  File: assets/kingz-defer-scripts.js\n *  Deployed: April 6, 2026\n *  Impact: -300 to -500ms Total Blocking Time (TBT)\n *  Risk:   Low \u2014 widgets load within ~1 second of user engagement\n * \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n *\n *  REQUIRES: LoyaltyLion + Gorgias app embeds DISABLED in Shopify Customize\n *  \u2192 Online Store \u2192 Themes \u2192 Customize \u2192 App embeds (puzzle piece icon)\n *  \u2192 Toggle OFF: LoyaltyLion, Gorgias\n *  \u2192 Save\n *\n *  Note: Zooomyapps is injected by Shopify's ScriptTag system (not App embeds)\n *  and cannot be controlled from this file. It is set to false to prevent\n *  double-loading. Zooomyapps loads async and does not block rendering.\n * \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n */\n\n\nconst KINGZ_DEFERRED_CONFIG = {\n  loyaltylion:      false,  // Disabled 2026-10-18: EU LoyaltyLion app embed is the single loader (this caused a 2nd EU SDK request)\n  gorgias:          false,  // Disabled 2026-07-11: Shopify Gorgias app embed already loads chat; this old US-store loader caused duplicate chat warnings\n  zooomyapps:       false,  // Back-in-stock \u2014 loaded by Shopify ScriptTag (not deferreable here)\n  klaviyo:          true,   // Klaviyo onsite/forms/tracking \u2014 deferred (was: eager via app embed)\n  judgeme:          false,  // Judge.me \u2014 now lazy loaded via kingz-lazy-judgeme.js\n  freegifts:        false,  // FreeGifts \u2014 loaded by Shopify extension, not managed here\n  facebookPixel:    false,  // Disabled 2026-07-11: Meta is handled by Shopify Facebook & Instagram pixel; this caused duplicate Pixel ID 252840431713971\n  googleTagManager: false,  // Disabled 2026-07-11: old sGTM loader sent unauthorized AW-726161425 and G-KRYN7B7CLH\n                            // REQUIRES: immediate GTM loader in snippets/hr-datalayer-head.liquid disabled\n};\n\nconst DEFERRED_SCRIPTS = {\n\n  loyaltylion: {\n    // JS-error fix 2026-10-18: was the US program token (435b6b5c\u2026); EU program token from the EU LoyaltyLion app embed\n    src: 'https://sdk.loyaltylion.net/sdk/start/519705ee83ea12e4484aac24d14baa45.js',\n    id:  'loyaltylion-sdk',\n    crossorigin: true,\n    onLoad: function() {\n      console.log('[Kingz] LoyaltyLion loaded after user interaction.');\n    }\n  },\n\n  gorgias: {\n    src: 'https://config.gorgias.chat/bundle-loader/shopify/kingzkimonos-com.myshopify.com',\n    id:  'gorgias-chat-bundle-loader',\n    crossorigin: false,\n    onLoad: function() {\n      console.log('[Kingz] Gorgias chat loaded after user interaction.');\n    }\n  },\n\n  zooomyapps: {\n    src: 'https://zooomyapps.com/backinstock/ZooomyOrders.js',\n    id:  'zooomyapps-backinstock',\n    crossorigin: false,\n    onLoad: function() {\n      console.log('[Kingz] Zooomyapps back-in-stock loaded after user interaction.');\n    }\n  },\nklaviyo: {\n    init: function() {\n      // Klaviyo Onsite JS (forms, onsite, tracking, back-in-stock).\n      // We initialize the klaviyo command queue first so any early\n      // klaviyo.push(...) calls elsewhere are preserved, then load the SDK.\n      if (window.klaviyo) {\n        console.log('[Kingz] Klaviyo already present, skipping deferred load.');\n        return;\n      }\n      window.klaviyo = window.klaviyo || [];\n      window.klaviyo.push = window.klaviyo.push || function() {\n        (window.klaviyo._q = window.klaviyo._q || []).push(arguments);\n      };\n\n      var s = document.createElement('script');\n      s.type  = 'text/javascript';\n      s.async = true;\n      s.id    = 'klaviyo-onsite';\n      // company_id JsDBhS \u2014 same account used by the (now-disabled) app embed\n      s.src   = 'https://static.klaviyo.com/onsite/js/klaviyo.js?company_id=JsDBhS';\n      s.addEventListener('load', function() {\n        console.log('[Kingz] Klaviyo loaded after user interaction.');\n      });\n      document.head.appendChild(s);\n    },\n    customLoad: true\n  },\n\n  googleTagManager: {\n    init: function() {\n      // Server-side Google Tag Manager (Elevar/Stape sGTM).\n      // Container GTM-MVH7K294 (web) loaded via first-party sGTM endpoint\n      // load.sge.kingzeurope.com. This mirrors the loader previously fired\n      // immediately in snippets/hr-datalayer-head.liquid, now deferred\n      // until first user interaction to cut render-blocking / TBT.\n      if (window.__kingzGtmLoaded) {\n        console.log('[Kingz] GTM already loaded, skipping.');\n        return;\n      }\n      window.__kingzGtmLoaded = true;\n\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        j.async = true;\n        j.id    = 'kingz-sgtm-loader';\n        j.src   = 'https://load.sge.kingzeurope.com/dh10jeyijwsce.js?' + i;\n        f.parentNode.insertBefore(j, f);\n      })(window, document, 'script', 'dataLayer',\n         '8=DAdOMD4kVCgzK0Q8WFBNQxNeQVlbTx0LWAgaGQ0THBAXDAMSRAoWCA%3D%3D');\n\n      console.log('[Kingz] Google Tag Manager (web GTM-MVH7K294 via sGTM) loaded after user interaction.');\n    },\n    customLoad: true\n  },\n\n  facebookPixel: {\n    init: function() {\n      // Initialize fbq queue and load pixel script\n      !function(f,b,e,v,n,t,s){\n        if(f.fbq)return;\n        n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};\n        if(!f._fbq)f._fbq=n;\n        n.push=n;\n        n.loaded=!0;\n        n.version='2.0';\n        n.queue=[];\n        t=b.createElement(e);\n        t.async=!0;\n        t.src=v;\n        s=b.getElementsByTagName(e)[0];\n        s.parentNode.insertBefore(t,s);\n      }(window,document,'script','https://connect.facebook.net/en_US/fbevents.js');\n      \n      // Initialize with pixel ID and track PageView\n      fbq('init', '252840431713971');\n      fbq('track', 'PageView');\n      \n      console.log('[Kingz] Facebook Pixel loaded after user interaction.');\n    },\n    // Custom handler - call init() instead of loading via src\n    customLoad: true\n  },\n};\n\n(function() {\n  'use strict';\n\n  var loaded = false;\n\n  function injectScript(config) {\n    if (document.getElementById(config.id)) return;\n\n    var script = document.createElement('script');\n    script.src   = config.src;\n    script.id    = config.id;\n    script.async = true;\n\n    if (config.crossorigin) {\n      script.crossOrigin = 'anonymous';\n    }\n\n    if (typeof config.onLoad === 'function') {\n      script.addEventListener('load', config.onLoad);\n    }\n\n    document.head.appendChild(script);\n  }\n\n  function loadDeferredScripts() {\n    if (loaded) return;\n    loaded = true;\n\n    setTimeout(function() {\n      Object.keys(DEFERRED_SCRIPTS).forEach(function(key) {\n        if (KINGZ_DEFERRED_CONFIG[key]) {\n          var config = DEFERRED_SCRIPTS[key];\n          \n          // Handle custom loaders (e.g., Facebook Pixel)\n          if (config.customLoad && typeof config.init === 'function') {\n            config.init();\n          } else {\n            injectScript(config);\n          }\n        }\n      });\n    }, 1000);\n  }\n\n  var TRIGGER_EVENTS = ['mousemove', 'touchstart', 'keydown', 'scroll', 'click'];\n  TRIGGER_EVENTS.forEach(function(eventName) {\n    window.addEventListener(eventName, loadDeferredScripts, {\n      once:    true,\n      passive: true,\n    });\n  });\n\n  // Fallback: load anyway after 5s so analytics/marketing still fire for\n  // users who never interact (matches the Facebook Pixel deferral spec).\n  setTimeout(loadDeferredScripts, 5000);\n\n  console.log('[Kingz] Deferred script loader ready. Waiting for user interaction.');\n\n})();"],
  "mappings": "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",
  "names": []
}
