{
  "version": 3,
  "sources": ["/cdn/shop/t/6/assets/best-sellers-showcase-loader.js?bss_loader_version=20260723_1"],
  "sourcesContent": ["(() => {\n  if (window.__yamuriBestSellersShowcaseLoaderLoaded) return;\n  window.__yamuriBestSellersShowcaseLoaderLoaded = true;\n\n  const selector = '[data-best-sellers-showcase]';\n  const registrations = new WeakMap();\n  const scriptPromises = new Map();\n\n  const sectionsWithin = (root) => {\n    const sections = [];\n    if (root?.matches?.(selector)) sections.push(root);\n    root?.querySelectorAll?.(selector).forEach((section) => sections.push(section));\n    return sections;\n  };\n\n  const loadScript = (source, ready) => {\n    if (!source) return Promise.reject(new Error('Best sellers dependency URL is missing.'));\n    if (ready()) return Promise.resolve();\n    if (scriptPromises.has(source)) return scriptPromises.get(source);\n\n    const promise = new Promise((resolve, reject) => {\n      const script = document.createElement('script');\n      script.src = source;\n      script.async = true;\n      script.onload = () => {\n        if (ready()) resolve();\n        else {\n          script.remove();\n          reject(new Error(`Best sellers dependency did not initialize: ${source}`));\n        }\n      };\n      script.onerror = () => {\n        script.remove();\n        reject(new Error(`Best sellers dependency failed to load: ${source}`));\n      };\n      document.head.appendChild(script);\n    }).catch((error) => {\n      scriptPromises.delete(source);\n      throw error;\n    });\n\n    scriptPromises.set(source, promise);\n    return promise;\n  };\n\n  const loadDependencies = (section) => {\n    const coreSource = section.dataset.bssCoreSrc;\n    const cardSource = section.dataset.bssCardSrc;\n    return Promise.all([\n      loadScript(coreSource, () => Boolean(window.YamuriBestSellersShowcase)),\n      cardSource\n        ? loadScript(cardSource, () => Boolean(window.__yamuriProductCardQuickAdd))\n        : Promise.resolve()\n    ]);\n  };\n\n  const requestModule = (section) => {\n    const registration = registrations.get(section);\n    if (!registration) return Promise.reject(new Error('Best sellers section is not registered.'));\n    if (registration.promise) return registration.promise;\n\n    observer.unobserve(section);\n    if (registration.idleCallback && 'cancelIdleCallback' in window) {\n      window.cancelIdleCallback(registration.idleCallback);\n    }\n    if (registration.fallbackTimer) window.clearTimeout(registration.fallbackTimer);\n    registration.idleCallback = 0;\n    registration.fallbackTimer = 0;\n    section.dataset.bssModuleState = 'loading';\n    registration.promise = loadDependencies(section)\n      .then(() => {\n        if (!section.isConnected) return;\n        window.YamuriBestSellersShowcase?.init(section);\n        section.dataset.bssModuleState = 'ready';\n      })\n      .catch((error) => {\n        registration.promise = null;\n        section.dataset.bssModuleState = 'error';\n        throw error;\n      });\n\n    return registration.promise;\n  };\n\n  const scheduleAutomaticLoad = (section) => {\n    const registration = registrations.get(section);\n    if (!registration || registration.automaticScheduled || registration.promise) return;\n    registration.automaticScheduled = true;\n    observer.unobserve(section);\n\n    const schedule = () => {\n      if (!section.isConnected || registration.promise) return;\n      requestModule(section).catch(() => {});\n    };\n\n    // This section sits immediately below the hero on the home page. Waiting\n    // for window.load plus an idle callback makes the first tap responsible\n    // for downloading the interaction code on image-heavy pages.\n    if (document.readyState === 'loading') {\n      document.addEventListener('DOMContentLoaded', schedule, {\n        once: true,\n        signal: registration.abortController.signal\n      });\n    } else {\n      schedule();\n    }\n  };\n\n  const observer = 'IntersectionObserver' in window\n    ? new IntersectionObserver((entries) => {\n        entries.forEach((entry) => {\n          if (!entry.isIntersecting) return;\n          scheduleAutomaticLoad(entry.target);\n        });\n      }, { rootMargin: '200px 0px', threshold: 0.01 })\n    : {\n        observe(section) { scheduleAutomaticLoad(section); },\n        unobserve() {}\n      };\n\n  const registerSection = (section) => {\n    if (!section || registrations.has(section)) return;\n\n    const abortController = new AbortController();\n    const signal = abortController.signal;\n    registrations.set(section, {\n      abortController,\n      promise: null,\n      automaticScheduled: false,\n      idleCallback: 0,\n      fallbackTimer: 0\n    });\n    section.dataset.bssModuleState = 'pending';\n\n    const request = () => requestModule(section).catch(() => {});\n    section.addEventListener('pointerenter', request, { once: true, passive: true, signal });\n    section.addEventListener('pointerdown', request, { once: true, passive: true, signal });\n    section.addEventListener('focusin', request, { once: true, signal });\n\n    section.addEventListener('click', (event) => {\n      const quickAdd = event.target.closest('[data-ym-quick-add]');\n      if (!quickAdd || !section.contains(quickAdd) || window.__yamuriProductCardQuickAdd) return;\n\n      event.preventDefault();\n      event.stopImmediatePropagation();\n      quickAdd.classList.add('is-adding');\n      quickAdd.setAttribute('aria-busy', 'true');\n      requestModule(section)\n        .then(() => {\n          quickAdd.classList.remove('is-adding');\n          quickAdd.removeAttribute('aria-busy');\n          if (quickAdd.isConnected) quickAdd.click();\n        })\n        .catch(() => {\n          quickAdd.classList.remove('is-adding');\n          quickAdd.removeAttribute('aria-busy');\n          const productUrl = quickAdd.getAttribute('data-product-url');\n          if (productUrl) window.location.assign(productUrl);\n        });\n    }, { capture: true, signal });\n\n    if (window.Shopify?.designMode || window.YamuriBestSellersShowcase) request();\n    else observer.observe(section);\n  };\n\n  const register = (root = document) => sectionsWithin(root).forEach(registerSection);\n\n  const unregister = (root) => {\n    sectionsWithin(root).forEach((section) => {\n      observer.unobserve(section);\n      const registration = registrations.get(section);\n      if (registration?.idleCallback && 'cancelIdleCallback' in window) {\n        window.cancelIdleCallback(registration.idleCallback);\n      }\n      if (registration?.fallbackTimer) window.clearTimeout(registration.fallbackTimer);\n      registration?.abortController.abort();\n      registrations.delete(section);\n      window.YamuriBestSellersShowcase?.destroy(section);\n    });\n  };\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', () => register(), { once: true });\n  } else {\n    register();\n  }\n\n  document.addEventListener('shopify:section:load', (event) => register(event.target));\n  document.addEventListener('shopify:section:unload', (event) => unregister(event.target));\n})();\n"],
  "mappings": "CAAC,IAAM,CACL,GAAI,OAAO,wCAAyC,OACpD,OAAO,wCAA0C,GAEjD,MAAM,SAAW,+BACX,cAAgB,IAAI,QACpB,eAAiB,IAAI,IAErB,eAAkB,MAAS,CAC/B,MAAM,SAAW,CAAC,EAClB,OAAI,MAAM,UAAU,QAAQ,GAAG,SAAS,KAAK,IAAI,EACjD,MAAM,mBAAmB,QAAQ,EAAE,QAAS,SAAY,SAAS,KAAK,OAAO,CAAC,EACvE,QACT,EAEM,WAAa,CAAC,OAAQ,QAAU,CACpC,GAAI,CAAC,OAAQ,OAAO,QAAQ,OAAO,IAAI,MAAM,yCAAyC,CAAC,EACvF,GAAI,MAAM,EAAG,OAAO,QAAQ,QAAQ,EACpC,GAAI,eAAe,IAAI,MAAM,EAAG,OAAO,eAAe,IAAI,MAAM,EAEhE,MAAM,QAAU,IAAI,QAAQ,CAAC,QAAS,SAAW,CAC/C,MAAM,OAAS,SAAS,cAAc,QAAQ,EAC9C,OAAO,IAAM,OACb,OAAO,MAAQ,GACf,OAAO,OAAS,IAAM,CAChB,MAAM,EAAG,QAAQ,GAEnB,OAAO,OAAO,EACd,OAAO,IAAI,MAAM,+CAA+C,MAAM,EAAE,CAAC,EAE7E,EACA,OAAO,QAAU,IAAM,CACrB,OAAO,OAAO,EACd,OAAO,IAAI,MAAM,2CAA2C,MAAM,EAAE,CAAC,CACvE,EACA,SAAS,KAAK,YAAY,MAAM,CAClC,CAAC,EAAE,MAAO,OAAU,CAClB,qBAAe,OAAO,MAAM,EACtB,KACR,CAAC,EAED,sBAAe,IAAI,OAAQ,OAAO,EAC3B,OACT,EAEM,iBAAoB,SAAY,CACpC,MAAM,WAAa,QAAQ,QAAQ,WAC7B,WAAa,QAAQ,QAAQ,WACnC,OAAO,QAAQ,IAAI,CACjB,WAAW,WAAY,IAAM,EAAQ,OAAO,yBAA0B,EACtE,WACI,WAAW,WAAY,IAAM,EAAQ,OAAO,2BAA4B,EACxE,QAAQ,QAAQ,CACtB,CAAC,CACH,EAEM,cAAiB,SAAY,CACjC,MAAM,aAAe,cAAc,IAAI,OAAO,EAC9C,OAAK,cACD,aAAa,UAEjB,SAAS,UAAU,OAAO,EACtB,aAAa,cAAgB,uBAAwB,QACvD,OAAO,mBAAmB,aAAa,YAAY,EAEjD,aAAa,eAAe,OAAO,aAAa,aAAa,aAAa,EAC9E,aAAa,aAAe,EAC5B,aAAa,cAAgB,EAC7B,QAAQ,QAAQ,eAAiB,UACjC,aAAa,QAAU,iBAAiB,OAAO,EAC5C,KAAK,IAAM,CACL,QAAQ,cACb,OAAO,2BAA2B,KAAK,OAAO,EAC9C,QAAQ,QAAQ,eAAiB,QACnC,CAAC,EACA,MAAO,OAAU,CAChB,mBAAa,QAAU,KACvB,QAAQ,QAAQ,eAAiB,QAC3B,KACR,CAAC,GAEI,aAAa,SAvBM,QAAQ,OAAO,IAAI,MAAM,yCAAyC,CAAC,CAwB/F,EAEM,sBAAyB,SAAY,CACzC,MAAM,aAAe,cAAc,IAAI,OAAO,EAC9C,GAAI,CAAC,cAAgB,aAAa,oBAAsB,aAAa,QAAS,OAC9E,aAAa,mBAAqB,GAClC,SAAS,UAAU,OAAO,EAE1B,MAAM,SAAW,IAAM,CACjB,CAAC,QAAQ,aAAe,aAAa,SACzC,cAAc,OAAO,EAAE,MAAM,IAAM,CAAC,CAAC,CACvC,EAKI,SAAS,aAAe,UAC1B,SAAS,iBAAiB,mBAAoB,SAAU,CACtD,KAAM,GACN,OAAQ,aAAa,gBAAgB,MACvC,CAAC,EAED,SAAS,CAEb,EAEM,SAAW,yBAA0B,OACvC,IAAI,qBAAsB,SAAY,CACpC,QAAQ,QAAS,OAAU,CACpB,MAAM,gBACX,sBAAsB,MAAM,MAAM,CACpC,CAAC,CACH,EAAG,CAAE,WAAY,YAAa,UAAW,GAAK,CAAC,EAC/C,CACE,QAAQ,QAAS,CAAE,sBAAsB,OAAO,CAAG,EACnD,WAAY,CAAC,CACf,EAEE,gBAAmB,SAAY,CACnC,GAAI,CAAC,SAAW,cAAc,IAAI,OAAO,EAAG,OAE5C,MAAM,gBAAkB,IAAI,gBACtB,OAAS,gBAAgB,OAC/B,cAAc,IAAI,QAAS,CACzB,gBACA,QAAS,KACT,mBAAoB,GACpB,aAAc,EACd,cAAe,CACjB,CAAC,EACD,QAAQ,QAAQ,eAAiB,UAEjC,MAAM,QAAU,IAAM,cAAc,OAAO,EAAE,MAAM,IAAM,CAAC,CAAC,EAC3D,QAAQ,iBAAiB,eAAgB,QAAS,CAAE,KAAM,GAAM,QAAS,GAAM,MAAO,CAAC,EACvF,QAAQ,iBAAiB,cAAe,QAAS,CAAE,KAAM,GAAM,QAAS,GAAM,MAAO,CAAC,EACtF,QAAQ,iBAAiB,UAAW,QAAS,CAAE,KAAM,GAAM,MAAO,CAAC,EAEnE,QAAQ,iBAAiB,QAAU,OAAU,CAC3C,MAAM,SAAW,MAAM,OAAO,QAAQ,qBAAqB,EACvD,CAAC,UAAY,CAAC,QAAQ,SAAS,QAAQ,GAAK,OAAO,8BAEvD,MAAM,eAAe,EACrB,MAAM,yBAAyB,EAC/B,SAAS,UAAU,IAAI,WAAW,EAClC,SAAS,aAAa,YAAa,MAAM,EACzC,cAAc,OAAO,EAClB,KAAK,IAAM,CACV,SAAS,UAAU,OAAO,WAAW,EACrC,SAAS,gBAAgB,WAAW,EAChC,SAAS,aAAa,SAAS,MAAM,CAC3C,CAAC,EACA,MAAM,IAAM,CACX,SAAS,UAAU,OAAO,WAAW,EACrC,SAAS,gBAAgB,WAAW,EACpC,MAAM,WAAa,SAAS,aAAa,kBAAkB,EACvD,YAAY,OAAO,SAAS,OAAO,UAAU,CACnD,CAAC,EACL,EAAG,CAAE,QAAS,GAAM,MAAO,CAAC,EAExB,OAAO,SAAS,YAAc,OAAO,0BAA2B,QAAQ,EACvE,SAAS,QAAQ,OAAO,CAC/B,EAEM,SAAW,CAAC,KAAO,WAAa,eAAe,IAAI,EAAE,QAAQ,eAAe,EAE5E,WAAc,MAAS,CAC3B,eAAe,IAAI,EAAE,QAAS,SAAY,CACxC,SAAS,UAAU,OAAO,EAC1B,MAAM,aAAe,cAAc,IAAI,OAAO,EAC1C,cAAc,cAAgB,uBAAwB,QACxD,OAAO,mBAAmB,aAAa,YAAY,EAEjD,cAAc,eAAe,OAAO,aAAa,aAAa,aAAa,EAC/E,cAAc,gBAAgB,MAAM,EACpC,cAAc,OAAO,OAAO,EAC5B,OAAO,2BAA2B,QAAQ,OAAO,CACnD,CAAC,CACH,EAEI,SAAS,aAAe,UAC1B,SAAS,iBAAiB,mBAAoB,IAAM,SAAS,EAAG,CAAE,KAAM,EAAK,CAAC,EAE9E,SAAS,EAGX,SAAS,iBAAiB,uBAAyB,OAAU,SAAS,MAAM,MAAM,CAAC,EACnF,SAAS,iBAAiB,yBAA2B,OAAU,WAAW,MAAM,MAAM,CAAC,CACzF,GAAG",
  "names": []
}
