{
  "version": 3,
  "sources": ["/cdn/shop/t/4/assets/offsure-size-guide.js?sizing=20260917-2"],
  "sourcesContent": ["(() => {\n  if (!customElements.get('offsure-size-guide')) {\n    customElements.define('offsure-size-guide', class extends HTMLElement {\n      connectedCallback() {\n        if (this.initialized) return;\n        this.initialized = true;\n        this.addEventListener('click', event => {\n          const unit = event.target.closest('[data-size-unit]');\n          if (unit) this.setUnit(unit.dataset.sizeUnit);\n          const group = event.target.closest('[data-size-group]');\n          if (group) {\n            this.querySelectorAll('[data-size-group]').forEach(button => button.setAttribute('aria-pressed', String(button === group)));\n            this.querySelectorAll('[data-size-panel]').forEach(panel => { panel.hidden = panel.dataset.sizePanel !== group.dataset.sizeGroup; });\n            this.announce(`${group.textContent} measurements shown.`);\n          }\n        });\n        this.highlight(this.dataset.selectedSize);\n      }\n      announce(text) { this.querySelector('[data-size-announcement]').textContent = text; }\n      highlight(size) {\n        this.querySelectorAll('[data-size-row]').forEach(row => {\n          if (size && row.dataset.sizeRow === size) row.setAttribute('aria-current', 'true');\n          else row.removeAttribute('aria-current');\n        });\n      }\n      setUnit(unit) {\n        this.querySelectorAll('[data-size-unit]').forEach(button => button.setAttribute('aria-pressed', String(button.dataset.sizeUnit === unit)));\n        this.querySelectorAll('[data-in]').forEach(cell => {\n          cell.textContent = unit === 'cm' ? String(Math.round(Number(cell.dataset.in) * 25.4) / 10) : cell.dataset.inLabel;\n        });\n        this.querySelectorAll('[data-size-unit-label]').forEach(label => { label.textContent = unit === 'cm' ? 'centimeters' : 'inches'; });\n        this.announce(`Measurements shown in ${unit === 'cm' ? 'centimeters' : 'inches'}.`);\n      }\n    });\n  }\n  if (window.offsureSizeDialogsInstalled) return;\n  window.offsureSizeDialogsInstalled = true;\n  document.addEventListener('click', event => {\n    const trigger = event.target.closest('[data-size-guide-open]');\n    if (!trigger) return;\n    const dialog = document.getElementById(trigger.getAttribute('aria-controls'));\n    if (!(dialog instanceof HTMLDialogElement)) return;\n    const productRoot = trigger.closest('[id^=\"opd-\"]');\n    const size = productRoot?.querySelector('.opd-size.on')?.dataset.size;\n    dialog.querySelector('offsure-size-guide')?.highlight(size);\n    const priorOverflow = document.documentElement.style.overflow;\n    dialog.showModal();\n    document.documentElement.style.overflow = 'hidden';\n    dialog.querySelector('[data-size-guide-close]').focus();\n    if (trigger.dataset.sizeGuideOpen === 'how') dialog.querySelector('details').open = true;\n    dialog.addEventListener('close', () => {\n      document.documentElement.style.overflow = priorOverflow;\n      trigger.focus({preventScroll:true});\n    }, {once:true});\n    if (!dialog.dataset.closeBound) {\n      dialog.dataset.closeBound = 'true';\n      dialog.addEventListener('keydown', key => {\n        if (key.key !== 'Tab') return;\n        const controls = [...dialog.querySelectorAll('button:not([disabled]), a[href], summary, [tabindex=\"0\"]')].filter(control => control.getClientRects().length);\n        const first = controls[0], last = controls[controls.length - 1];\n        if (key.shiftKey && document.activeElement === first) { key.preventDefault(); last.focus(); }\n        else if (!key.shiftKey && document.activeElement === last) { key.preventDefault(); first.focus(); }\n      });\n      dialog.addEventListener('click', click => {\n        if (click.target.closest('[data-size-guide-close]')) dialog.close();\n        if (click.target === dialog) {\n          const bounds = dialog.getBoundingClientRect();\n          if (click.clientX < bounds.left || click.clientX > bounds.right || click.clientY < bounds.top || click.clientY > bounds.bottom) dialog.close();\n        }\n      });\n    }\n  });\n})();\n"],
  "mappings": "AACO,eAAe,IAAI,oBAAoB,GAC1C,eAAe,OAAO,qBAAsB,cAAc,WAAY,CACpE,mBAAoB,CACd,KAAK,cACT,KAAK,YAAc,GACnB,KAAK,iBAAiB,QAAS,OAAS,CACtC,MAAM,KAAO,MAAM,OAAO,QAAQ,kBAAkB,EAChD,MAAM,KAAK,QAAQ,KAAK,QAAQ,QAAQ,EAC5C,MAAM,MAAQ,MAAM,OAAO,QAAQ,mBAAmB,EAClD,QACF,KAAK,iBAAiB,mBAAmB,EAAE,QAAQ,QAAU,OAAO,aAAa,eAAgB,OAAO,SAAW,KAAK,CAAC,CAAC,EAC1H,KAAK,iBAAiB,mBAAmB,EAAE,QAAQ,OAAS,CAAE,MAAM,OAAS,MAAM,QAAQ,YAAc,MAAM,QAAQ,SAAW,CAAC,EACnI,KAAK,SAAS,GAAG,MAAM,WAAW,sBAAsB,EAE5D,CAAC,EACD,KAAK,UAAU,KAAK,QAAQ,YAAY,EAC1C,CACA,SAAS,KAAM,CAAE,KAAK,cAAc,0BAA0B,EAAE,YAAc,IAAM,CACpF,UAAU,KAAM,CACd,KAAK,iBAAiB,iBAAiB,EAAE,QAAQ,KAAO,CAClD,MAAQ,IAAI,QAAQ,UAAY,KAAM,IAAI,aAAa,eAAgB,MAAM,EAC5E,IAAI,gBAAgB,cAAc,CACzC,CAAC,CACH,CACA,QAAQ,KAAM,CACZ,KAAK,iBAAiB,kBAAkB,EAAE,QAAQ,QAAU,OAAO,aAAa,eAAgB,OAAO,OAAO,QAAQ,WAAa,IAAI,CAAC,CAAC,EACzI,KAAK,iBAAiB,WAAW,EAAE,QAAQ,MAAQ,CACjD,KAAK,YAAc,OAAS,KAAO,OAAO,KAAK,MAAM,OAAO,KAAK,QAAQ,EAAE,EAAI,IAAI,EAAI,EAAE,EAAI,KAAK,QAAQ,OAC5G,CAAC,EACD,KAAK,iBAAiB,wBAAwB,EAAE,QAAQ,OAAS,CAAE,MAAM,YAAc,OAAS,KAAO,cAAgB,QAAU,CAAC,EAClI,KAAK,SAAS,yBAAyB,OAAS,KAAO,cAAgB,QAAQ,GAAG,CACpF,CACF,CAAC,EAEC,QAAO,8BACX,OAAO,4BAA8B,GACrC,SAAS,iBAAiB,QAAS,OAAS,CAC1C,MAAM,QAAU,MAAM,OAAO,QAAQ,wBAAwB,EAC7D,GAAI,CAAC,QAAS,OACd,MAAM,OAAS,SAAS,eAAe,QAAQ,aAAa,eAAe,CAAC,EAC5E,GAAI,EAAE,kBAAkB,mBAAoB,OAE5C,MAAM,KADc,QAAQ,QAAQ,cAAc,GACxB,cAAc,cAAc,GAAG,QAAQ,KACjE,OAAO,cAAc,oBAAoB,GAAG,UAAU,IAAI,EAC1D,MAAM,cAAgB,SAAS,gBAAgB,MAAM,SACrD,OAAO,UAAU,EACjB,SAAS,gBAAgB,MAAM,SAAW,SAC1C,OAAO,cAAc,yBAAyB,EAAE,MAAM,EAClD,QAAQ,QAAQ,gBAAkB,QAAO,OAAO,cAAc,SAAS,EAAE,KAAO,IACpF,OAAO,iBAAiB,QAAS,IAAM,CACrC,SAAS,gBAAgB,MAAM,SAAW,cAC1C,QAAQ,MAAM,CAAC,cAAc,EAAI,CAAC,CACpC,EAAG,CAAC,KAAK,EAAI,CAAC,EACT,OAAO,QAAQ,aAClB,OAAO,QAAQ,WAAa,OAC5B,OAAO,iBAAiB,UAAW,KAAO,CACxC,GAAI,IAAI,MAAQ,MAAO,OACvB,MAAM,SAAW,CAAC,GAAG,OAAO,iBAAiB,0DAA0D,CAAC,EAAE,OAAO,SAAW,QAAQ,eAAe,EAAE,MAAM,EACrJ,MAAQ,SAAS,CAAC,EAAG,KAAO,SAAS,SAAS,OAAS,CAAC,EAC1D,IAAI,UAAY,SAAS,gBAAkB,OAAS,IAAI,eAAe,EAAG,KAAK,MAAM,GAChF,CAAC,IAAI,UAAY,SAAS,gBAAkB,OAAQ,IAAI,eAAe,EAAG,MAAM,MAAM,EACjG,CAAC,EACD,OAAO,iBAAiB,QAAS,OAAS,CAExC,GADI,MAAM,OAAO,QAAQ,yBAAyB,GAAG,OAAO,MAAM,EAC9D,MAAM,SAAW,OAAQ,CAC3B,MAAM,OAAS,OAAO,sBAAsB,GACxC,MAAM,QAAU,OAAO,MAAQ,MAAM,QAAU,OAAO,OAAS,MAAM,QAAU,OAAO,KAAO,MAAM,QAAU,OAAO,SAAQ,OAAO,MAAM,CAC/I,CACF,CAAC,EAEL,CAAC",
  "names": []
}
