{
  "version": 3,
  "sources": ["/cdn/shop/t/3/assets/tickertape.js?cv=402f958"],
  "sourcesContent": ["class Tickertape extends HTMLElement {\n  constructor() {\n    super();\n    this.columnSelector = \".tickertape__column\";\n    this.blockSelector = \".tickertape__block\";\n    this.timeoutIds = /* @__PURE__ */ new Set();\n    this.isDestroyed = false;\n    this.type = this.dataset.type ? this.dataset.type : \"horizonal\";\n    this.repeat = this.dataset.repeat ? Number(this.dataset.repeat) : 1;\n    this.timing = this.dataset.timing ? Number(this.dataset.timing) : 16;\n    this.delay = this.dataset.delay ? Number(this.dataset.delay) : 0;\n    this.staggered = this.dataset.staggered == \"true\" ? true : false;\n    this.columns = this.querySelectorAll(this.columnSelector);\n    this.started = false;\n    this.columns.forEach((column, index) => {\n      const item = column.querySelector(this.blockSelector);\n      this.handleLoop(column, item, index);\n    });\n  }\n  disconnectedCallback() {\n    this.isDestroyed = true;\n    this.timeoutIds.forEach((id) => {\n      clearTimeout(id);\n    });\n    this.timeoutIds.clear();\n  }\n  scheduleTimeout(callback, delay) {\n    if (this.isDestroyed) return;\n    const id = window.setTimeout(() => {\n      this.timeoutIds.delete(id);\n      if (!this.isDestroyed) {\n        callback();\n      }\n    }, delay);\n    this.timeoutIds.add(id);\n  }\n  animateTickertape(elem, item, options) {\n    const index = options.count;\n    const el = elem;\n    const { distance } = options;\n    let index1 = index + 1;\n    el.style.transitionTimingFunction = \"linear\";\n    el.style.transitionProperty = \"all\";\n    if (this.type == \"vertical\" && this.staggered) {\n      if (index1 === 1) {\n        index1 = 1;\n      }\n      if (index1 === 2) {\n        index1 = 4;\n      }\n      if (index1 === 3) {\n        index1 = 3;\n      }\n      if (index1 === 4) {\n        index1 = 2;\n      }\n      el.style.transitionDuration = `${(index1 + 1) * this.timing}s`;\n      el.style.transform = `translate3d(0, -${distance}px, 0)`;\n    } else if (this.type == \"vertical\") {\n      el.style.transitionDuration = `${this.timing}s`;\n      el.style.transform = `translate3d(0, -${distance}px, 0)`;\n    } else {\n      el.style.transitionDuration = `${this.timing}s`;\n      el.style.transform = `translate3d(-${distance}px, 0,  0)`;\n    }\n    const resetTimer = this.staggered ? (index1 + 1) * (this.timing * 1e3) : this.timing * 1e3;\n    this.scheduleTimeout(() => {\n      el.style.transitionDuration = \"0s\";\n      el.style.transform = `translate3d(0, 0 ,0)`;\n      this.handleLoop(elem, item, index);\n    }, resetTimer);\n  }\n  handleLoop(wrap, item, index) {\n    if (!this.started) {\n      this.scheduleTimeout(() => {\n        this.started = true;\n        let distance = this.type == \"vertical\" ? wrap.getBoundingClientRect().height : item.getBoundingClientRect().width;\n        if (this.repeat) {\n          distance = distance * this.repeat;\n        }\n        this.animateTickertape(wrap, item, { distance, count: index });\n      }, this.delay);\n    } else {\n      let distance = this.type == \"vertical\" ? wrap.getBoundingClientRect().height : item.getBoundingClientRect().width;\n      if (this.repeat) {\n        distance = distance * this.repeat;\n      }\n      this.animateTickertape(wrap, item, { distance, count: index });\n    }\n  }\n}\nif (!customElements.get(\"ticker-tape\")) {\n  customElements.define(\"ticker-tape\", Tickertape);\n}\nexport {\n  Tickertape,\n  Tickertape as default\n};\n"],
  "mappings": "AAAA,MAAM,mBAAmB,WAAY,CACnC,aAAc,CACZ,MAAM,EACN,KAAK,eAAiB,sBACtB,KAAK,cAAgB,qBACrB,KAAK,WAA6B,IAAI,IACtC,KAAK,YAAc,GACnB,KAAK,KAAO,KAAK,QAAQ,KAAO,KAAK,QAAQ,KAAO,YACpD,KAAK,OAAS,KAAK,QAAQ,OAAS,OAAO,KAAK,QAAQ,MAAM,EAAI,EAClE,KAAK,OAAS,KAAK,QAAQ,OAAS,OAAO,KAAK,QAAQ,MAAM,EAAI,GAClE,KAAK,MAAQ,KAAK,QAAQ,MAAQ,OAAO,KAAK,QAAQ,KAAK,EAAI,EAC/D,KAAK,UAAY,KAAK,QAAQ,WAAa,OAC3C,KAAK,QAAU,KAAK,iBAAiB,KAAK,cAAc,EACxD,KAAK,QAAU,GACf,KAAK,QAAQ,QAAQ,CAAC,OAAQ,QAAU,CACtC,MAAM,KAAO,OAAO,cAAc,KAAK,aAAa,EACpD,KAAK,WAAW,OAAQ,KAAM,KAAK,CACrC,CAAC,CACH,CACA,sBAAuB,CACrB,KAAK,YAAc,GACnB,KAAK,WAAW,QAAS,IAAO,CAC9B,aAAa,EAAE,CACjB,CAAC,EACD,KAAK,WAAW,MAAM,CACxB,CACA,gBAAgB,SAAU,MAAO,CAC/B,GAAI,KAAK,YAAa,OACtB,MAAM,GAAK,OAAO,WAAW,IAAM,CACjC,KAAK,WAAW,OAAO,EAAE,EACpB,KAAK,aACR,SAAS,CAEb,EAAG,KAAK,EACR,KAAK,WAAW,IAAI,EAAE,CACxB,CACA,kBAAkB,KAAM,KAAM,QAAS,CACrC,MAAM,MAAQ,QAAQ,MAChB,GAAK,KACL,CAAE,QAAS,EAAI,QACrB,IAAI,OAAS,MAAQ,EACrB,GAAG,MAAM,yBAA2B,SACpC,GAAG,MAAM,mBAAqB,MAC1B,KAAK,MAAQ,YAAc,KAAK,WAC9B,SAAW,IACb,OAAS,GAEP,SAAW,IACb,OAAS,GAEP,SAAW,IACb,OAAS,GAEP,SAAW,IACb,OAAS,GAEX,GAAG,MAAM,mBAAqB,IAAI,OAAS,GAAK,KAAK,MAAM,IAC3D,GAAG,MAAM,UAAY,mBAAmB,QAAQ,UACvC,KAAK,MAAQ,YACtB,GAAG,MAAM,mBAAqB,GAAG,KAAK,MAAM,IAC5C,GAAG,MAAM,UAAY,mBAAmB,QAAQ,WAEhD,GAAG,MAAM,mBAAqB,GAAG,KAAK,MAAM,IAC5C,GAAG,MAAM,UAAY,gBAAgB,QAAQ,cAE/C,MAAM,WAAa,KAAK,WAAa,OAAS,IAAM,KAAK,OAAS,KAAO,KAAK,OAAS,IACvF,KAAK,gBAAgB,IAAM,CACzB,GAAG,MAAM,mBAAqB,KAC9B,GAAG,MAAM,UAAY,uBACrB,KAAK,WAAW,KAAM,KAAM,KAAK,CACnC,EAAG,UAAU,CACf,CACA,WAAW,KAAM,KAAM,MAAO,CAC5B,GAAI,CAAC,KAAK,QACR,KAAK,gBAAgB,IAAM,CACzB,KAAK,QAAU,GACf,IAAI,SAAW,KAAK,MAAQ,WAAa,KAAK,sBAAsB,EAAE,OAAS,KAAK,sBAAsB,EAAE,MACxG,KAAK,SACP,SAAW,SAAW,KAAK,QAE7B,KAAK,kBAAkB,KAAM,KAAM,CAAE,SAAU,MAAO,KAAM,CAAC,CAC/D,EAAG,KAAK,KAAK,MACR,CACL,IAAI,SAAW,KAAK,MAAQ,WAAa,KAAK,sBAAsB,EAAE,OAAS,KAAK,sBAAsB,EAAE,MACxG,KAAK,SACP,SAAW,SAAW,KAAK,QAE7B,KAAK,kBAAkB,KAAM,KAAM,CAAE,SAAU,MAAO,KAAM,CAAC,CAC/D,CACF,CACF,CACK,eAAe,IAAI,aAAa,GACnC,eAAe,OAAO,cAAe,UAAU,EAEjD,OACE,WACA,cAAc",
  "names": []
}
