@rethink-js/rt-slider 1.2.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +48 -25
- package/dist/index.js +137 -30
- package/dist/index.js.map +2 -2
- package/dist/index.min.js +2 -2
- package/dist/index.min.js.map +3 -3
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/index.js"],
|
|
4
|
-
"sourcesContent": ["(function () {\n var RT_NS = \"rtSlider\";\n if (window[RT_NS] && window[RT_NS].__initialized) return;\n\n var lenisLoadingPromise = null;\n\n function loadLenis() {\n if (typeof window.Lenis !== \"undefined\") return Promise.resolve();\n if (lenisLoadingPromise) return lenisLoadingPromise;\n lenisLoadingPromise = new Promise(function (resolve, reject) {\n var existing =\n document.querySelector('script[data-rt-slider-lenis=\"true\"]') ||\n document.querySelector('script[src*=\"lenis\"]');\n if (existing) {\n if (typeof window.Lenis !== \"undefined\") {\n resolve();\n return;\n }\n existing.addEventListener(\"load\", function () {\n resolve();\n });\n existing.addEventListener(\"error\", function (e) {\n reject(e);\n });\n } else {\n var s = document.createElement(\"script\");\n s.src = \"https://cdn.jsdelivr.net/npm/lenis@1.3.16/dist/lenis.min.js\";\n s.async = true;\n s.setAttribute(\"data-rt-slider-lenis\", \"true\");\n s.onload = function () {\n resolve();\n };\n s.onerror = function (e) {\n reject(e);\n };\n document.head.appendChild(s);\n }\n });\n return lenisLoadingPromise;\n }\n\n var LenisHub = (function () {\n var set = new Set();\n var rafId = 0;\n function loop(t) {\n set.forEach(function (l) {\n try {\n l.raf(t);\n } catch (e) {}\n });\n rafId = set.size ? requestAnimationFrame(loop) : 0;\n }\n return {\n add: function (lenis) {\n if (!lenis) return;\n set.add(lenis);\n if (!rafId) rafId = requestAnimationFrame(loop);\n },\n remove: function (lenis) {\n if (!lenis) return;\n set.delete(lenis);\n if (!set.size && rafId) {\n cancelAnimationFrame(rafId);\n rafId = 0;\n }\n },\n };\n })();\n\n function uid() {\n return \"s\" + Math.random().toString(36).slice(2);\n }\n\n function assignUID(el, attr) {\n if (!el.getAttribute(attr)) el.setAttribute(attr, uid());\n return el.getAttribute(attr);\n }\n\n function injectOnce(key, css) {\n var s = document.head.querySelector(\n '[data-rt-slider-injected=\"' + key + '\"]',\n );\n if (!s) {\n s = document.createElement(\"style\");\n s.setAttribute(\"data-rt-slider-injected\", key);\n document.head.appendChild(s);\n }\n if (s.textContent !== css) s.textContent = css;\n return s;\n }\n\n function removeInjected(key) {\n var s = document.head.querySelector(\n '[data-rt-slider-injected=\"' + key + '\"]',\n );\n if (s && s.parentNode) s.parentNode.removeChild(s);\n }\n\n function toSel(v) {\n return typeof v === \"string\" ? v.trim() : \"\";\n }\n\n function parseBool(v, def) {\n if (v === null || v === undefined) return def;\n var s = String(v).trim().toLowerCase();\n if (s === \"\") return true;\n if (s === \"true\" || s === \"1\" || s === \"yes\" || s === \"y\" || s === \"on\")\n return true;\n if (s === \"false\" || s === \"0\" || s === \"no\" || s === \"n\" || s === \"off\")\n return false;\n return def;\n }\n\n function parseNum(v, def) {\n if (v === null || v === undefined) return def;\n var s = String(v).trim();\n if (!s.length) return def;\n var n = Number(s);\n return Number.isFinite(n) ? n : def;\n }\n\n function parseStr(v, def) {\n if (v === null || v === undefined) return def;\n var s = String(v);\n return s.length ? s : def;\n }\n\n function clamp(i) {\n return i < 0 ? 0 : i > 1 ? 1 : i;\n }\n\n function round(n, d) {\n if (!Number.isFinite(n)) return 0;\n var m = Math.pow(10, d || 0);\n return Math.round(n * m) / m;\n }\n\n function parseEasing(name) {\n var n = String(name || \"\").trim();\n if (!n) return null;\n var map = {\n linear: function (t) {\n return clamp(t);\n },\n easeInQuad: function (t) {\n t = clamp(t);\n return t * t;\n },\n easeOutQuad: function (t) {\n t = clamp(t);\n return t * (2 - t);\n },\n easeInOutQuad: function (t) {\n t = clamp(t);\n return t < 0.5 ? 2 * t * t : 1 - Math.pow(-2 * t + 2, 2) / 2;\n },\n easeInCubic: function (t) {\n t = clamp(t);\n return t * t * t;\n },\n easeOutCubic: function (t) {\n t = clamp(t);\n return 1 - Math.pow(1 - t, 3);\n },\n easeInOutCubic: function (t) {\n t = clamp(t);\n return t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2;\n },\n easeInOutSine: function (t) {\n t = clamp(t);\n return -(Math.cos(Math.PI * t) - 1) / 2;\n },\n easeOutExpo: function (t) {\n t = clamp(t);\n return t === 1 ? 1 : 1 - Math.pow(2, -10 * t);\n },\n };\n return map[n] || null;\n }\n\n function isTransparentColor(val) {\n if (!val) return true;\n var v = String(val).trim().toLowerCase();\n if (v === \"transparent\") return true;\n if (v.startsWith(\"rgba(\")) {\n var parts = v\n .slice(5, -1)\n .split(\",\")\n .map(function (x) {\n return x.trim();\n });\n var a = parts.length === 4 ? Number(parts[3]) : 1;\n return !Number.isFinite(a) ? false : a === 0;\n }\n return false;\n }\n\n function findNearestOpaqueBgColor(el) {\n var n = el;\n while (n && n !== document.documentElement) {\n var cs = getComputedStyle(n);\n var bg = cs.backgroundColor;\n if (!isTransparentColor(bg)) return bg;\n n = n.parentElement;\n }\n var rootBg = getComputedStyle(document.body).backgroundColor;\n return isTransparentColor(rootBg) ? \"rgb(255, 255, 255)\" : rootBg;\n }\n\n function isOverflowingX(el) {\n if (!el) return false;\n try {\n return el.scrollWidth > el.clientWidth + 1;\n } catch (e) {\n return false;\n }\n }\n\n function findScrollableAncestor(el) {\n var n = el;\n while (n && n !== document.body) {\n var cs = getComputedStyle(n);\n var ox = cs.overflowX;\n var scrollable = ox === \"auto\" || ox === \"scroll\" || ox === \"overlay\";\n if (scrollable && isOverflowingX(n)) return n;\n n = n.parentElement;\n }\n return el;\n }\n\n function resolveControl(root, selector, sliderId) {\n if (!selector) return null;\n var local = root.querySelector(selector);\n if (local) return local;\n var byFor = document.querySelector(\n selector + '[data-rt-slider-for=\"' + sliderId + '\"]',\n );\n if (byFor) return byFor;\n var all = Array.from(document.querySelectorAll(selector));\n if (all.length === 1) return all[0];\n var scoped = all.filter(function (el) {\n var owner = el.closest(\"[data-rt-slider]\");\n return owner === root;\n });\n if (scoped.length === 1) return scoped[0];\n return null;\n }\n\n function isVisibleNode(el) {\n if (!el) return false;\n var cs = getComputedStyle(el);\n if (cs.display === \"none\" || cs.visibility === \"hidden\") return false;\n return el.getClientRects().length > 0;\n }\n\n function getConf(root) {\n return {\n list: toSel(root.getAttribute(\"data-rt-list\")),\n item: toSel(root.getAttribute(\"data-rt-item\")),\n spacer: toSel(root.getAttribute(\"data-rt-spacer\")),\n btnPrev: toSel(root.getAttribute(\"data-rt-btn-prev\")),\n btnNext: toSel(root.getAttribute(\"data-rt-btn-next\")),\n scrollTrack: toSel(root.getAttribute(\"data-rt-scroll-track\")),\n scrollBar: toSel(root.getAttribute(\"data-rt-scroll-bar\")),\n marginRef: toSel(root.getAttribute(\"data-rt-margin-ref\")),\n overlayStart: toSel(root.getAttribute(\"data-rt-overlay-start\")),\n overlayEnd: toSel(root.getAttribute(\"data-rt-overlay-end\")),\n };\n }\n\n function Slider(root, id) {\n this.root = root;\n this.id = id;\n this.conf = getConf(root);\n this.valid = !!(this.conf.list && this.conf.item);\n if (!this.valid) return;\n\n this.sliderId = assignUID(this.root, \"data-rt-slider-id\");\n this.list = this.root.querySelector(this.conf.list);\n if (!this.list) {\n this.valid = false;\n return;\n }\n\n this.list.style.overflowX = \"auto\";\n this.list.style.webkitOverflowScrolling = \"touch\";\n this.list.style.scrollbarWidth = \"none\";\n this.list.style.msOverflowStyle = \"none\";\n\n this.scroller = findScrollableAncestor(this.list);\n this.scroller.style.scrollbarWidth = \"none\";\n this.scroller.style.msOverflowStyle = \"none\";\n try {\n this.scroller.style.webkitOverflowScrolling = \"touch\";\n } catch (e) {}\n try {\n this.scroller.style.overscrollBehaviorX = \"contain\";\n } catch (e) {}\n\n this._basePaddingBottomPx = null;\n this._basePaddingCaptured = false;\n this._touchClampTimer = 0;\n\n this.btnPrev = this.conf.btnPrev\n ? resolveControl(this.root, this.conf.btnPrev, this.sliderId)\n : null;\n this.btnNext = this.conf.btnNext\n ? resolveControl(this.root, this.conf.btnNext, this.sliderId)\n : null;\n this.overlayStart = this.conf.overlayStart\n ? resolveControl(this.root, this.conf.overlayStart, this.sliderId)\n : null;\n this.overlayEnd = this.conf.overlayEnd\n ? resolveControl(this.root, this.conf.overlayEnd, this.sliderId)\n : null;\n\n if (this.overlayStart) {\n this.overlayStart.style.transition = \"opacity 0.3s ease\";\n this.overlayStart.style.willChange = \"opacity\";\n }\n if (this.overlayEnd) {\n this.overlayEnd.style.transition = \"opacity 0.3s ease\";\n this.overlayEnd.style.willChange = \"opacity\";\n }\n\n this.scrollTrack = this.conf.scrollTrack\n ? this.root.querySelector(this.conf.scrollTrack)\n : null;\n this.scrollBar = this.conf.scrollBar\n ? this.root.querySelector(this.conf.scrollBar)\n : null;\n this.firstItem = this.list.querySelector(this.conf.item + \":first-child\");\n this.lastItem = this.list.querySelector(this.conf.item + \":last-child\");\n\n this.dragging = false;\n this.maybeDrag = false;\n this.draggingBar = false;\n this.barPointerId = null;\n this.barOffsetX = 0;\n this.startX = 0;\n this.startScroll = 0;\n this.lastX = 0;\n this.lastT = 0;\n this.velocity = 0;\n this.inertiaId = 0;\n this.ticking = false;\n this.didDrag = false;\n this.didDragTs = 0;\n this.dragMovedPx = 0;\n this.cursorBindings = [];\n this.imgHandlers = [];\n this._roTicking = false;\n this.lenis = null;\n this._lenisWasStopped = false;\n this.mq = window.matchMedia(\"(hover: hover) and (pointer: fine)\");\n this._injectedKey = null;\n this._lastGutterPx = 0;\n this._lastGapPx = 0;\n\n this.slideState = null;\n this._slideStateSig = \"\";\n this._lastSlideStateActiveIndex = -1;\n this._lastSlideStateScrollLeft = 0;\n\n var self = this;\n this.ro =\n typeof ResizeObserver !== \"undefined\"\n ? new ResizeObserver(function () {\n if (self._roTicking) return;\n self._roTicking = true;\n requestAnimationFrame(function () {\n self._roTicking = false;\n self.rafUpdate();\n self.setupCursorMode();\n self.applyIOSScrollIndicatorMask();\n self.applyListStyles();\n });\n })\n : null;\n }\n\n Slider.prototype.devicePixelEpsilon = function () {\n var dpr = Math.max(1, window.devicePixelRatio || 1);\n return 1 / dpr;\n };\n\n Slider.prototype.listGap = function () {\n var cs = getComputedStyle(this.list);\n var g1 = parseFloat(cs.columnGap || \"0\") || 0;\n var g2 = parseFloat(cs.gap || \"0\") || 0;\n return Math.max(g1, g2);\n };\n\n Slider.prototype.pickVisibleMarginRef = function () {\n if (!this.conf.marginRef) return null;\n var nodes = this.root.querySelectorAll(this.conf.marginRef);\n if (nodes.length === 0)\n nodes = document.querySelectorAll(this.conf.marginRef);\n for (var i = 0; i < nodes.length; i++) {\n if (isVisibleNode(nodes[i])) return nodes[i];\n }\n return null;\n };\n\n Slider.prototype.isFlex = function () {\n return getComputedStyle(this.list).display.indexOf(\"flex\") !== -1;\n };\n\n Slider.prototype.isGrid = function () {\n return getComputedStyle(this.list).display.indexOf(\"grid\") !== -1;\n };\n\n Slider.prototype.ensureSpacers = function () {\n var kids = Array.from(this.list.children);\n var className = this.conf.spacer\n ? this.conf.spacer.replace(/^[.#]/, \"\")\n : \"awards-slider-spacer\";\n var needStart = !(\n kids[0] &&\n kids[0].classList &&\n kids[0].classList.contains(className)\n );\n var needEnd = !(\n kids[kids.length - 1] &&\n kids[kids.length - 1].classList &&\n kids[kids.length - 1].classList.contains(className)\n );\n\n if (needStart) {\n var el = document.createElement(\"div\");\n el.className = className;\n el.setAttribute(\"aria-hidden\", \"true\");\n el.style.pointerEvents = \"none\";\n el.style.height = \"1px\";\n el.style.minHeight = \"1px\";\n if (this.isFlex()) el.style.flex = \"0 0 auto\";\n this.list.insertBefore(el, this.list.firstChild);\n }\n if (needEnd) {\n var el2 = document.createElement(\"div\");\n el2.className = className;\n el2.setAttribute(\"aria-hidden\", \"true\");\n el2.style.pointerEvents = \"none\";\n el2.style.height = \"1px\";\n el2.style.minHeight = \"1px\";\n if (this.isFlex()) el2.style.flex = \"0 0 auto\";\n this.list.appendChild(el2);\n }\n };\n\n Slider.prototype.resetEdgeItemMargins = function () {\n if (this.firstItem) this.firstItem.style.marginLeft = \"0px\";\n if (this.lastItem) this.lastItem.style.marginRight = \"0px\";\n };\n\n Slider.prototype.updateSpacers = function () {\n this.ensureSpacers();\n this.resetEdgeItemMargins();\n\n var kids = Array.from(this.list.children);\n var cls = this.conf.spacer\n ? this.conf.spacer.replace(/^[.#]/, \"\")\n : \"awards-slider-spacer\";\n var spacerStart =\n kids[0] && kids[0].classList.contains(cls) ? kids[0] : null;\n var spacerEnd =\n kids[kids.length - 1] && kids[kids.length - 1].classList.contains(cls)\n ? kids[kids.length - 1]\n : null;\n if (!spacerStart || !spacerEnd) return;\n\n var marginRef = this.pickVisibleMarginRef();\n var eps = this.devicePixelEpsilon();\n var gap = this.listGap();\n this._lastGapPx = gap;\n\n spacerStart.style.marginRight = \"\";\n spacerEnd.style.marginLeft = \"\";\n\n if (gap > 0.0001) {\n spacerStart.style.marginRight = \"-\" + gap + \"px\";\n spacerEnd.style.marginLeft = \"-\" + gap + \"px\";\n }\n\n if (!marginRef) {\n spacerStart.style.width = eps + \"px\";\n spacerEnd.style.width = eps + \"px\";\n this._lastGutterPx = eps;\n return;\n }\n\n var sRect = this.scroller.getBoundingClientRect();\n var rRect = marginRef.getBoundingClientRect();\n var scrollerCS = getComputedStyle(this.scroller);\n var listCS = getComputedStyle(this.list);\n var scrollerBorderL = parseFloat(scrollerCS.borderLeftWidth || \"0\") || 0;\n var scrollerPadL = parseFloat(scrollerCS.paddingLeft || \"0\") || 0;\n var listPadL = parseFloat(listCS.paddingLeft || \"0\") || 0;\n var scrollerInnerLeft = sRect.left + scrollerBorderL + scrollerPadL;\n var desiredLeft = rRect.left;\n var raw = desiredLeft - scrollerInnerLeft - listPadL;\n var width = raw <= 0 ? eps : Math.round(raw);\n\n spacerStart.style.width = width + \"px\";\n spacerEnd.style.width = width + \"px\";\n\n if (this.isGrid()) {\n spacerStart.style.justifySelf = \"start\";\n spacerEnd.style.justifySelf = \"start\";\n spacerStart.style.gridColumn = \"auto\";\n spacerEnd.style.gridColumn = \"auto\";\n }\n this._lastGutterPx = width;\n };\n\n Slider.prototype.maxScroll = function () {\n return Math.max(0, this.scroller.scrollWidth - this.scroller.clientWidth);\n };\n\n Slider.prototype.updateOverlays = function () {\n if (!this.overlayStart && !this.overlayEnd) return;\n var total = this.scroller.scrollWidth;\n var visible = this.scroller.clientWidth;\n var scrollable = total > visible + 1;\n function setVis(el, show) {\n if (!el) return;\n el.style.opacity = show ? \"1\" : \"0\";\n el.style.pointerEvents = show ? \"\" : \"none\";\n }\n if (!scrollable) {\n setVis(this.overlayStart, false);\n setVis(this.overlayEnd, false);\n return;\n }\n var m = this.maxScroll();\n var current = this.scroller.scrollLeft;\n var tolerance = 10;\n var atStart = current <= tolerance;\n var atEnd = current >= m - tolerance;\n setVis(this.overlayStart, !atStart);\n setVis(this.overlayEnd, !atEnd);\n };\n\n Slider.prototype.updateButtons = function () {\n if (!this.btnPrev && !this.btnNext) return;\n var total = this.scroller.scrollWidth;\n var visible = this.scroller.clientWidth;\n var scrollable = total > visible + 1;\n\n if (!scrollable) {\n if (this.btnPrev) {\n this.btnPrev.classList.add(\"inactive\");\n this.btnPrev.style.display = \"none\";\n }\n if (this.btnNext) {\n this.btnNext.classList.add(\"inactive\");\n this.btnNext.style.display = \"none\";\n }\n return;\n }\n if (this.btnPrev) this.btnPrev.style.display = \"\";\n if (this.btnNext) this.btnNext.style.display = \"\";\n\n var m = this.maxScroll();\n var current = this.scroller.scrollLeft;\n var tolerance = 10;\n var atStart = current <= tolerance;\n var atEnd = current >= m - tolerance;\n\n if (this.btnPrev) {\n if (atStart) this.btnPrev.classList.add(\"inactive\");\n else this.btnPrev.classList.remove(\"inactive\");\n }\n if (this.btnNext) {\n if (atEnd) this.btnNext.classList.add(\"inactive\");\n else this.btnNext.classList.remove(\"inactive\");\n }\n };\n\n Slider.prototype.computeScrollbarMetrics = function () {\n if (!this.scrollTrack || !this.scrollBar) return null;\n var total = this.scroller.scrollWidth;\n var visible = this.scroller.clientWidth;\n var items = this.list.querySelectorAll(this.conf.item).length;\n if (total <= visible || items === 0) return null;\n var trackWidth = this.scrollTrack.clientWidth;\n var avgItemWidth = total / Math.max(1, items + 2);\n var visibleItems = Math.max(1, Math.round(visible / avgItemWidth));\n var barWidth = Math.max(8, (visibleItems / (items + 2)) * trackWidth);\n var maxS = Math.max(1, total - visible);\n var maxX = Math.max(0, trackWidth - barWidth);\n var progress = Math.min(1, Math.max(0, this.scroller.scrollLeft / maxS));\n var x = maxX * progress;\n return {\n trackWidth: trackWidth,\n barWidth: barWidth,\n maxS: maxS,\n maxX: maxX,\n x: x,\n };\n };\n\n Slider.prototype.updateScrollbar = function () {\n if (!this.scrollTrack || !this.scrollBar) return;\n var m = this.computeScrollbarMetrics();\n if (!m) {\n this.scrollTrack.style.display = \"none\";\n return;\n }\n this.scrollTrack.style.display = \"\";\n this.scrollBar.style.width = m.barWidth + \"px\";\n if (!this.draggingBar) {\n this.scrollBar.style.transform = \"translateX(\" + m.x + \"px)\";\n }\n };\n\n Slider.prototype.rafUpdate = function () {\n this.updateSpacers();\n this.updateScrollbar();\n this.updateButtons();\n this.updateOverlays();\n this.updateSlideState(false);\n };\n\n Slider.prototype.safeClampScroll = function (x) {\n var clamped = Math.min(Math.max(x, 0), this.maxScroll());\n return Number.isFinite(clamped) ? clamped : 0;\n };\n\n Slider.prototype.setScroll = function (x, opts) {\n var target = this.safeClampScroll(x);\n if (this.lenis) {\n var o = opts || {};\n try {\n this.lenis.scrollTo(target, {\n immediate: !!o.immediate,\n lock: !!o.lock,\n force: o.force !== false,\n });\n } catch (e) {\n this.scroller.scrollLeft = target;\n }\n } else {\n this.scroller.scrollLeft = target;\n }\n this.updateScrollbar();\n this.updateButtons();\n this.updateOverlays();\n this.updateSlideState(false);\n };\n\n Slider.prototype.scheduleTouchClamp = function () {\n var self = this;\n if (this._touchClampTimer) clearTimeout(this._touchClampTimer);\n this._touchClampTimer = setTimeout(function () {\n self._touchClampTimer = 0;\n var cur = self.scroller.scrollLeft;\n var max = self.maxScroll();\n var eps = 1;\n if (!Number.isFinite(cur)) {\n self.scroller.scrollLeft = 0;\n } else if (cur < -eps || cur > max + eps) {\n self.scroller.scrollLeft = self.safeClampScroll(cur);\n } else if (cur < 0) {\n self.scroller.scrollLeft = 0;\n } else if (cur > max) {\n self.scroller.scrollLeft = max;\n }\n self.updateScrollbar();\n self.updateButtons();\n self.updateOverlays();\n self.updateSlideState(false);\n }, 90);\n };\n\n Slider.prototype.onScroll = function () {\n var self = this;\n if (!this.mq.matches) {\n this.updateScrollbar();\n this.updateButtons();\n this.updateOverlays();\n this.updateSlideState(false);\n this.scheduleTouchClamp();\n return;\n }\n if (this.ticking) return;\n this.ticking = true;\n requestAnimationFrame(function () {\n var clamped = self.safeClampScroll(self.scroller.scrollLeft);\n if (clamped !== self.scroller.scrollLeft) {\n if (self.lenis)\n self.setScroll(clamped, {\n immediate: true,\n lock: false,\n force: true,\n });\n else self.scroller.scrollLeft = clamped;\n }\n self.updateScrollbar();\n self.updateButtons();\n self.updateOverlays();\n self.updateSlideState(false);\n self.ticking = false;\n });\n };\n\n Slider.prototype.itemStepWidth = function () {\n if (!this.conf.item)\n return Math.max(1, Math.floor(this.scroller.clientWidth * 0.9));\n var item = this.list.querySelector(this.conf.item);\n if (!item) return Math.max(1, Math.floor(this.scroller.clientWidth * 0.9));\n var cs = getComputedStyle(item);\n var w = item.getBoundingClientRect().width;\n var mr = parseFloat(cs.marginRight) || 0;\n return Math.max(1, Math.round(w + mr));\n };\n\n Slider.prototype.getAlignTargetLeft = function () {\n var ref = this.pickVisibleMarginRef();\n if (ref) {\n return ref.getBoundingClientRect().left;\n }\n var sRect = this.scroller.getBoundingClientRect();\n var scrollerCS = getComputedStyle(this.scroller);\n var listCS = getComputedStyle(this.list);\n var scrollerBorderL = parseFloat(scrollerCS.borderLeftWidth || \"0\") || 0;\n var scrollerPadL = parseFloat(scrollerCS.paddingLeft || \"0\") || 0;\n var listPadL = parseFloat(listCS.paddingLeft || \"0\") || 0;\n var gutter = Number.isFinite(this._lastGutterPx) ? this._lastGutterPx : 0;\n return sRect.left + scrollerBorderL + scrollerPadL + listPadL + gutter;\n };\n\n Slider.prototype.getOrderedItems = function () {\n if (!this.conf.item) return [];\n var nodes = Array.from(this.list.querySelectorAll(this.conf.item));\n return nodes.filter(function (n) {\n return n && n.nodeType === 1;\n });\n };\n\n Slider.prototype.getCurrentItemIndex = function (items) {\n if (!items || !items.length) return -1;\n var alignLeft = this.getAlignTargetLeft();\n var bestIdx = 0;\n var bestAbs = Infinity;\n for (var i = 0; i < items.length; i++) {\n var r = items[i].getBoundingClientRect();\n var d = r.left - alignLeft;\n var ad = Math.abs(d);\n if (ad < bestAbs) {\n bestAbs = ad;\n bestIdx = i;\n }\n }\n return bestIdx;\n };\n\n Slider.prototype.getItemAnchorScrolls = function (items) {\n var current = this.safeClampScroll(this.scroller.scrollLeft);\n var alignLeft = this.getAlignTargetLeft();\n var anchors = [];\n var last = -Infinity;\n\n for (var i = 0; i < items.length; i++) {\n var item = items[i];\n item.setAttribute(\"data-rt-slider-item-index\", String(i));\n var rect = item.getBoundingClientRect();\n var raw = current + (rect.left - alignLeft);\n var anchor = this.safeClampScroll(raw);\n if (anchor < last) anchor = last;\n anchors.push(anchor);\n last = anchor;\n }\n\n return anchors;\n };\n\n Slider.prototype.cloneSlideState = function (state) {\n if (!state) return null;\n return {\n sliderId: state.sliderId,\n itemCount: state.itemCount,\n scroll: {\n current: state.scroll.current,\n max: state.scroll.max,\n progress: state.scroll.progress,\n progressPercent: state.scroll.progressPercent,\n direction: state.scroll.direction,\n isAtStart: state.scroll.isAtStart,\n isAtEnd: state.scroll.isAtEnd,\n },\n active: {\n index: state.active.index,\n element: state.active.element,\n anchorScrollLeft: state.active.anchorScrollLeft,\n distancePx: state.active.distancePx,\n },\n previous: {\n index: state.previous.index,\n element: state.previous.element,\n },\n next: {\n index: state.next.index,\n element: state.next.element,\n },\n segment: {\n fromIndex: state.segment.fromIndex,\n fromElement: state.segment.fromElement,\n toIndex: state.segment.toIndex,\n toElement: state.segment.toElement,\n progress: state.segment.progress,\n progressPercent: state.segment.progressPercent,\n distancePx: state.segment.distancePx,\n spanPx: state.segment.spanPx,\n remainingPx: state.segment.remainingPx,\n isBetween: state.segment.isBetween,\n },\n slides: state.slides.map(function (slide) {\n return {\n index: slide.index,\n element: slide.element,\n anchorScrollLeft: slide.anchorScrollLeft,\n anchorProgress: slide.anchorProgress,\n anchorProgressPercent: slide.anchorProgressPercent,\n distanceFromCurrentPx: slide.distanceFromCurrentPx,\n isActive: slide.isActive,\n isPrevious: slide.isPrevious,\n isNext: slide.isNext,\n isFrom: slide.isFrom,\n isTo: slide.isTo,\n isBeforeActive: slide.isBeforeActive,\n isAfterActive: slide.isAfterActive,\n };\n }),\n };\n };\n\n Slider.prototype.dispatchSliderEvent = function (name, detail) {\n var payload = this.cloneSlideState(detail);\n try {\n this.root.dispatchEvent(\n new CustomEvent(name, {\n bubbles: true,\n detail: payload,\n }),\n );\n } catch (e) {\n var ev = document.createEvent(\"CustomEvent\");\n ev.initCustomEvent(name, true, false, payload);\n this.root.dispatchEvent(ev);\n }\n };\n\n Slider.prototype.applySlideStateAttributes = function (state) {\n var root = this.root;\n root.setAttribute(\n \"data-rt-slider-active-index\",\n String(state.active.index),\n );\n root.setAttribute(\n \"data-rt-slider-from-index\",\n String(state.segment.fromIndex),\n );\n root.setAttribute(\"data-rt-slider-to-index\", String(state.segment.toIndex));\n root.setAttribute(\n \"data-rt-slider-segment-progress\",\n String(round(state.segment.progress, 6)),\n );\n root.setAttribute(\n \"data-rt-slider-segment-progress-percent\",\n String(round(state.segment.progressPercent, 4)),\n );\n root.setAttribute(\n \"data-rt-slider-scroll-progress\",\n String(round(state.scroll.progress, 6)),\n );\n root.setAttribute(\n \"data-rt-slider-scroll-progress-percent\",\n String(round(state.scroll.progressPercent, 4)),\n );\n root.setAttribute(\n \"data-rt-slider-scroll-direction\",\n state.scroll.direction,\n );\n\n for (var i = 0; i < state.slides.length; i++) {\n var slide = state.slides[i];\n var el = slide.element;\n if (!el) continue;\n el.setAttribute(\"data-rt-slider-item-index\", String(slide.index));\n el.setAttribute(\n \"data-rt-slider-item-active\",\n slide.isActive ? \"true\" : \"false\",\n );\n el.setAttribute(\n \"data-rt-slider-item-from\",\n slide.isFrom ? \"true\" : \"false\",\n );\n el.setAttribute(\"data-rt-slider-item-to\", slide.isTo ? \"true\" : \"false\");\n el.setAttribute(\n \"data-rt-slider-item-previous\",\n slide.isPrevious ? \"true\" : \"false\",\n );\n el.setAttribute(\n \"data-rt-slider-item-next\",\n slide.isNext ? \"true\" : \"false\",\n );\n el.setAttribute(\n \"data-rt-slider-item-before-active\",\n slide.isBeforeActive ? \"true\" : \"false\",\n );\n el.setAttribute(\n \"data-rt-slider-item-after-active\",\n slide.isAfterActive ? \"true\" : \"false\",\n );\n el.setAttribute(\n \"data-rt-slider-item-anchor-progress\",\n String(round(slide.anchorProgress, 6)),\n );\n el.setAttribute(\n \"data-rt-slider-item-anchor-progress-percent\",\n String(round(slide.anchorProgressPercent, 4)),\n );\n el.setAttribute(\n \"data-rt-slider-item-distance\",\n String(round(slide.distanceFromCurrentPx, 4)),\n );\n }\n };\n\n Slider.prototype.buildSlideState = function () {\n var items = this.getOrderedItems();\n var max = this.maxScroll();\n var current = this.safeClampScroll(this.scroller.scrollLeft);\n var prevScroll = this._lastSlideStateScrollLeft;\n var scrollDirection = \"none\";\n\n if (current > prevScroll + 0.01) scrollDirection = \"forward\";\n else if (current < prevScroll - 0.01) scrollDirection = \"backward\";\n\n if (!items.length) {\n return {\n sliderId: this.sliderId,\n itemCount: 0,\n scroll: {\n current: current,\n max: max,\n progress: max > 0 ? clamp(current / max) : 0,\n progressPercent: max > 0 ? clamp(current / max) * 100 : 0,\n direction: scrollDirection,\n isAtStart: current <= 0.5,\n isAtEnd: current >= max - 0.5,\n },\n active: {\n index: -1,\n element: null,\n anchorScrollLeft: 0,\n distancePx: 0,\n },\n previous: {\n index: -1,\n element: null,\n },\n next: {\n index: -1,\n element: null,\n },\n segment: {\n fromIndex: -1,\n fromElement: null,\n toIndex: -1,\n toElement: null,\n progress: 0,\n progressPercent: 0,\n distancePx: 0,\n spanPx: 0,\n remainingPx: 0,\n isBetween: false,\n },\n slides: [],\n };\n }\n\n var anchors = this.getItemAnchorScrolls(items);\n var nearestIndex = 0;\n var nearestDistance = Infinity;\n\n for (var i = 0; i < anchors.length; i++) {\n var distance = current - anchors[i];\n var absDistance = Math.abs(distance);\n if (absDistance < nearestDistance) {\n nearestDistance = absDistance;\n nearestIndex = i;\n }\n }\n\n var fromIndex = 0;\n var toIndex = 0;\n var segmentProgress = 0;\n var segmentDistance = 0;\n var segmentSpan = 0;\n var segmentRemaining = 0;\n var isBetween = false;\n\n if (current <= anchors[0]) {\n fromIndex = 0;\n toIndex = 0;\n segmentProgress = 0;\n segmentDistance = 0;\n segmentSpan = 0;\n segmentRemaining = 0;\n isBetween = false;\n } else if (current >= anchors[anchors.length - 1]) {\n fromIndex = anchors.length - 1;\n toIndex = anchors.length - 1;\n segmentProgress = 1;\n segmentDistance = 0;\n segmentSpan = 0;\n segmentRemaining = 0;\n isBetween = false;\n } else {\n for (var j = 0; j < anchors.length - 1; j++) {\n var a = anchors[j];\n var b = anchors[j + 1];\n if (current >= a && current <= b) {\n fromIndex = j;\n toIndex = j + 1;\n segmentSpan = Math.max(0, b - a);\n segmentDistance = Math.max(0, current - a);\n segmentProgress =\n segmentSpan > 0 ? clamp(segmentDistance / segmentSpan) : 0;\n segmentRemaining = Math.max(0, segmentSpan - segmentDistance);\n isBetween = current > a && current < b;\n break;\n }\n }\n }\n\n var slides = [];\n for (var k = 0; k < items.length; k++) {\n var anchor = anchors[k];\n var anchorProgress = max > 0 ? clamp(anchor / max) : 0;\n slides.push({\n index: k,\n element: items[k],\n anchorScrollLeft: anchor,\n anchorProgress: anchorProgress,\n anchorProgressPercent: anchorProgress * 100,\n distanceFromCurrentPx: current - anchor,\n isActive: k === nearestIndex,\n isPrevious: k === nearestIndex - 1,\n isNext: k === nearestIndex + 1,\n isFrom: k === fromIndex,\n isTo: k === toIndex,\n isBeforeActive: k < nearestIndex,\n isAfterActive: k > nearestIndex,\n });\n }\n\n return {\n sliderId: this.sliderId,\n itemCount: items.length,\n scroll: {\n current: current,\n max: max,\n progress: max > 0 ? clamp(current / max) : 0,\n progressPercent: max > 0 ? clamp(current / max) * 100 : 0,\n direction: scrollDirection,\n isAtStart: current <= 0.5,\n isAtEnd: current >= max - 0.5,\n },\n active: {\n index: nearestIndex,\n element: items[nearestIndex] || null,\n anchorScrollLeft: anchors[nearestIndex] || 0,\n distancePx: current - (anchors[nearestIndex] || 0),\n },\n previous: {\n index: nearestIndex > 0 ? nearestIndex - 1 : -1,\n element: nearestIndex > 0 ? items[nearestIndex - 1] : null,\n },\n next: {\n index: nearestIndex < items.length - 1 ? nearestIndex + 1 : -1,\n element:\n nearestIndex < items.length - 1 ? items[nearestIndex + 1] : null,\n },\n segment: {\n fromIndex: fromIndex,\n fromElement: items[fromIndex] || null,\n toIndex: toIndex,\n toElement: items[toIndex] || null,\n progress: segmentProgress,\n progressPercent: segmentProgress * 100,\n distancePx: segmentDistance,\n spanPx: segmentSpan,\n remainingPx: segmentRemaining,\n isBetween: isBetween,\n },\n slides: slides,\n };\n };\n\n Slider.prototype.updateSlideState = function (force) {\n var state = this.buildSlideState();\n var prevActiveIndex = this._lastSlideStateActiveIndex;\n var sig =\n state.active.index +\n \"|\" +\n state.segment.fromIndex +\n \"|\" +\n state.segment.toIndex +\n \"|\" +\n round(state.segment.progress, 4) +\n \"|\" +\n round(state.scroll.progress, 4) +\n \"|\" +\n state.scroll.direction;\n\n this.slideState = state;\n this.applySlideStateAttributes(state);\n this._lastSlideStateScrollLeft = state.scroll.current;\n\n if (force || sig !== this._slideStateSig) {\n this._slideStateSig = sig;\n this.dispatchSliderEvent(\"rtSlider:slide\", state);\n }\n\n if (force || state.active.index !== prevActiveIndex) {\n this._lastSlideStateActiveIndex = state.active.index;\n this.dispatchSliderEvent(\"rtSlider:active\", state);\n }\n };\n\n Slider.prototype.getSlideState = function () {\n if (!this.slideState) this.updateSlideState(true);\n return this.cloneSlideState(this.slideState);\n };\n\n Slider.prototype.getActiveIndex = function () {\n var state = this.getSlideState();\n return state && state.active ? state.active.index : -1;\n };\n\n Slider.prototype.getActiveElement = function () {\n var state = this.getSlideState();\n return state && state.active ? state.active.element : null;\n };\n\n Slider.prototype.scrollAlignToItem = function (el) {\n if (!el) return;\n var total = this.scroller.scrollWidth;\n var visible = this.scroller.clientWidth;\n if (total <= visible + 1) return;\n\n var alignLeft = this.getAlignTargetLeft();\n var r = el.getBoundingClientRect();\n var delta = r.left - alignLeft;\n if (!Number.isFinite(delta)) return;\n\n var target = this.safeClampScroll(this.scroller.scrollLeft + delta);\n\n if (this.lenis) {\n var duration = 1.2;\n try {\n this.lenis.scrollTo(target, {\n duration: duration,\n easing: function (t) {\n return Math.min(1, 1.001 - Math.pow(2, -10 * t));\n },\n immediate: false,\n lock: false,\n force: true,\n });\n } catch (e) {\n this.scroller.scrollTo({ left: target, behavior: \"smooth\" });\n }\n } else {\n this.scroller.scrollTo({ left: target, behavior: \"smooth\" });\n }\n };\n\n Slider.prototype.scrollByItems = function (n) {\n var total = this.scroller.scrollWidth;\n var visible = this.scroller.clientWidth;\n if (total <= visible + 1) return;\n\n var items = this.getOrderedItems();\n if (!items.length) {\n var step = this.itemStepWidth();\n var fallback =\n n > 0\n ? this.scroller.scrollLeft + step * n\n : this.scroller.scrollLeft - step * Math.abs(n);\n var clamped = this.safeClampScroll(fallback);\n if (this.lenis) {\n try {\n this.lenis.scrollTo(clamped, {\n duration: 1.2,\n easing: function (t) {\n return Math.min(1, 1.001 - Math.pow(2, -10 * t));\n },\n immediate: false,\n lock: false,\n force: true,\n });\n } catch (e) {\n this.scroller.scrollTo({ left: clamped, behavior: \"smooth\" });\n }\n } else {\n this.scroller.scrollTo({ left: clamped, behavior: \"smooth\" });\n }\n return;\n }\n\n var curIdx = this.getCurrentItemIndex(items);\n if (curIdx < 0) curIdx = 0;\n\n var nextIdx = curIdx;\n if (n > 0) nextIdx = Math.min(items.length - 1, curIdx + 1);\n else if (n < 0) nextIdx = Math.max(0, curIdx - 1);\n\n this.scrollAlignToItem(items[nextIdx]);\n };\n\n Slider.prototype.onPrevClick = function (e) {\n e.preventDefault();\n this.scrollByItems(-1);\n };\n\n Slider.prototype.onNextClick = function (e) {\n e.preventDefault();\n this.scrollByItems(1);\n };\n\n Slider.prototype.stopInertia = function () {\n if (this.inertiaId) {\n cancelAnimationFrame(this.inertiaId);\n this.inertiaId = 0;\n }\n };\n\n Slider.prototype.startDrag = function (e) {\n if (this.dragging) return;\n this.dragging = true;\n this.didDrag = true;\n this.didDragTs = performance.now();\n this.dragMovedPx = Math.max(\n this.dragMovedPx,\n Math.abs(e.clientX - this.startX),\n );\n\n if (this.lenis) {\n try {\n this.lenis.stop();\n this._lenisWasStopped = true;\n } catch (err) {\n this._lenisWasStopped = false;\n }\n }\n try {\n this.scroller.setPointerCapture(e.pointerId);\n } catch (err) {}\n this.scroller.classList.add(\"is-dragging\");\n this.scroller.style.userSelect = \"none\";\n this.stopInertia();\n this.lastX = e.clientX;\n this.lastT = performance.now();\n this.velocity = 0;\n };\n\n Slider.prototype.endDrag = function (e) {\n if (!this.dragging) return;\n this.dragging = false;\n this.scroller.classList.remove(\"is-dragging\");\n this.scroller.style.userSelect = \"\";\n if (e && e.pointerId != null) {\n try {\n this.scroller.releasePointerCapture(e.pointerId);\n } catch (err) {}\n }\n var minVel = 0.2;\n if (this.lenis) {\n if (this._lenisWasStopped) {\n try {\n this.lenis.start();\n } catch (err) {}\n }\n this._lenisWasStopped = false;\n if (Math.abs(this.velocity) >= minVel) {\n var throwDist = this.velocity * 24;\n var target = this.safeClampScroll(this.scroller.scrollLeft + throwDist);\n var speed = Math.min(2.0, Math.max(0.35, Math.abs(this.velocity) / 18));\n var duration = Math.min(1.35, Math.max(0.35, 0.85 / speed));\n try {\n this.lenis.scrollTo(target, {\n duration: duration,\n easing: function (t) {\n return Math.min(1, 1.001 - Math.pow(2, -10 * t));\n },\n immediate: false,\n lock: false,\n force: true,\n });\n } catch (err) {\n this.scroller.scrollTo({ left: target, behavior: \"smooth\" });\n }\n }\n return;\n }\n var decay = 0.92;\n var self = this;\n var step = function () {\n var next = self.safeClampScroll(self.scroller.scrollLeft + self.velocity);\n self.scroller.scrollLeft = next;\n self.velocity *= decay;\n var atEdge = next <= 0 || next >= self.maxScroll();\n if (Math.abs(self.velocity) < minVel || atEdge) {\n self.inertiaId = 0;\n return;\n }\n self.inertiaId = requestAnimationFrame(step);\n };\n if (Math.abs(this.velocity) >= minVel) {\n this.inertiaId = requestAnimationFrame(step);\n }\n };\n\n Slider.prototype.onPointerDown = function (e) {\n var total = this.scroller.scrollWidth;\n var visible = this.scroller.clientWidth;\n if (total <= visible + 1) return;\n if (e.pointerType === \"mouse\" && e.button !== 0) return;\n this.maybeDrag = true;\n this.dragging = false;\n this.didDrag = false;\n this.didDragTs = 0;\n this.dragMovedPx = 0;\n this.startX = e.clientX;\n this.startScroll = this.scroller.scrollLeft;\n this.lastX = e.clientX;\n this.lastT = performance.now();\n this.velocity = 0;\n };\n\n Slider.prototype.onPointerMove = function (e) {\n if (!this.maybeDrag && !this.dragging) return;\n var dxFromStart = e.clientX - this.startX;\n this.dragMovedPx = Math.max(this.dragMovedPx, Math.abs(dxFromStart));\n if (!this.dragging) {\n if (Math.abs(dxFromStart) >= 6) this.startDrag(e);\n else return;\n }\n var now = performance.now();\n var dx = e.clientX - this.lastX;\n var dt = Math.max(1, now - this.lastT);\n var target = this.startScroll - (e.clientX - this.startX);\n this.setScroll(target, { immediate: true, lock: true, force: true });\n this.velocity = -(dx / dt) * 16;\n this.lastX = e.clientX;\n this.lastT = now;\n };\n\n Slider.prototype.onPointerUp = function (e) {\n var self = this;\n if (this.dragging) this.endDrag(e);\n this.maybeDrag = false;\n if (this.dragMovedPx < 6) {\n this.didDrag = false;\n this.didDragTs = 0;\n } else {\n this.didDrag = true;\n this.didDragTs = performance.now();\n }\n setTimeout(function () {\n self.didDrag = false;\n self.didDragTs = 0;\n self.dragMovedPx = 0;\n }, 420);\n };\n\n Slider.prototype.onPointerCancel = function () {\n var self = this;\n if (this.dragging) {\n this.dragging = false;\n this.scroller.classList.remove(\"is-dragging\");\n this.scroller.style.userSelect = \"\";\n this.stopInertia();\n if (this.lenis && this._lenisWasStopped) {\n try {\n this.lenis.start();\n } catch (e) {}\n }\n this._lenisWasStopped = false;\n }\n this.maybeDrag = false;\n setTimeout(function () {\n self.didDrag = false;\n self.didDragTs = 0;\n self.dragMovedPx = 0;\n }, 0);\n };\n\n Slider.prototype.trackMetrics = function () {\n if (!this.scrollTrack || !this.scrollBar) {\n return {\n trackWidth: 0,\n barWidth: 0,\n maxX: 0,\n m: Math.max(1, this.maxScroll()),\n };\n }\n var trackWidth = this.scrollTrack.clientWidth;\n var m = Math.max(1, this.maxScroll());\n var barWidth = 0;\n var computed = this.computeScrollbarMetrics();\n if (computed) barWidth = computed.barWidth;\n else barWidth = this.scrollBar.getBoundingClientRect().width || 0;\n var maxX = Math.max(0, trackWidth - barWidth);\n return { trackWidth: trackWidth, barWidth: barWidth, maxX: maxX, m: m };\n };\n\n Slider.prototype.setScrollFromTrackX = function (x, opts) {\n var met = this.trackMetrics();\n var nx = Math.min(Math.max(x, 0), met.maxX);\n if (this.scrollBar)\n this.scrollBar.style.transform = \"translateX(\" + nx + \"px)\";\n var progress = met.maxX === 0 ? 0 : nx / met.maxX;\n var target = progress * met.m;\n this.setScroll(\n target,\n opts || { immediate: true, lock: true, force: true },\n );\n };\n\n Slider.prototype.startBarDrag = function (e) {\n if (!this.scrollTrack || !this.scrollBar) return;\n if (e.pointerType === \"mouse\" && e.button !== 0) return;\n e.preventDefault();\n e.stopPropagation();\n if (this.lenis) {\n try {\n this.lenis.stop();\n this._lenisWasStopped = true;\n } catch (err) {\n this._lenisWasStopped = false;\n }\n }\n this.draggingBar = true;\n this.barPointerId = e.pointerId != null ? e.pointerId : null;\n var barRect = this.scrollBar.getBoundingClientRect();\n this.barOffsetX = e.clientX - barRect.left;\n this.scrollBar.style.cursor = \"grabbing\";\n this.scrollTrack.style.cursor = \"grabbing\";\n try {\n this.scrollTrack.setPointerCapture(e.pointerId);\n } catch (err) {}\n var trackRect = this.scrollTrack.getBoundingClientRect();\n var x = e.clientX - trackRect.left - this.barOffsetX;\n this.setScrollFromTrackX(x, { immediate: true, lock: true, force: true });\n };\n\n Slider.prototype.onTrackPointerDown = function (e) {\n if (!this.scrollTrack || !this.scrollBar) return;\n this.updateScrollbar();\n this.startBarDrag(e);\n };\n\n Slider.prototype.onTrackPointerMove = function (e) {\n if (!this.draggingBar || !this.scrollTrack) return;\n if (\n this.barPointerId != null &&\n e.pointerId != null &&\n e.pointerId !== this.barPointerId\n )\n return;\n e.preventDefault();\n var trackRect = this.scrollTrack.getBoundingClientRect();\n var x = e.clientX - trackRect.left - this.barOffsetX;\n this.setScrollFromTrackX(x, { immediate: true, lock: true, force: true });\n };\n\n Slider.prototype.endBarDrag = function (e) {\n if (!this.draggingBar) return;\n this.draggingBar = false;\n if (this.scrollBar) this.scrollBar.style.cursor = \"grab\";\n if (this.scrollTrack) this.scrollTrack.style.cursor = \"pointer\";\n if (this.scrollTrack && e && e.pointerId != null) {\n try {\n this.scrollTrack.releasePointerCapture(e.pointerId);\n } catch (err) {}\n }\n if (this.lenis && this._lenisWasStopped) {\n try {\n this.lenis.start();\n } catch (err) {}\n }\n this._lenisWasStopped = false;\n this.updateScrollbar();\n this.updateButtons();\n this.updateOverlays();\n this.updateSlideState(false);\n this.barPointerId = null;\n };\n\n Slider.prototype.detectLinksInItems = function () {\n if (!this.conf.item) return false;\n return !!this.list.querySelector(this.conf.item + \" a[href]\");\n };\n\n Slider.prototype.clearCursorBindings = function () {\n for (var i = 0; i < this.cursorBindings.length; i++) {\n var b = this.cursorBindings[i];\n b.el.removeEventListener(b.type, b.fn);\n }\n this.cursorBindings = [];\n };\n\n Slider.prototype.setupCursorMode = function () {\n this.clearCursorBindings();\n var total = this.scroller.scrollWidth;\n var visible = this.scroller.clientWidth;\n var scrollable = total > visible + 1;\n if (!scrollable) {\n this.scroller.style.cursor = \"\";\n return;\n }\n if (!this.mq.matches) {\n this.scroller.style.cursor = \"\";\n return;\n }\n this.hasLinks = this.detectLinksInItems();\n if (this.hasLinks) {\n this.scroller.style.cursor = \"\";\n return;\n }\n var self = this;\n var onEnter = function () {\n if (!self.scroller.classList.contains(\"is-dragging\")) {\n self.scroller.style.cursor = \"grab\";\n }\n };\n var onLeave = function () {\n self.scroller.style.cursor = \"\";\n };\n this.scroller.addEventListener(\"mouseenter\", onEnter);\n this.scroller.addEventListener(\"mouseleave\", onLeave);\n this.cursorBindings.push({\n el: this.scroller,\n type: \"mouseenter\",\n fn: onEnter,\n });\n this.cursorBindings.push({\n el: this.scroller,\n type: \"mouseleave\",\n fn: onLeave,\n });\n };\n\n Slider.prototype.captureBasePaddingBottomOnce = function () {\n if (this._basePaddingCaptured) return;\n var cs = getComputedStyle(this.scroller);\n var pb = parseFloat(cs.paddingBottom || \"0\") || 0;\n this._basePaddingBottomPx = pb;\n this._basePaddingCaptured = true;\n };\n\n Slider.prototype.applyIOSScrollIndicatorMask = function () {\n if (!this._basePaddingCaptured) this.captureBasePaddingBottomOnce();\n if (this.mq.matches) {\n this.scroller.style.removeProperty(\"--rt-slider-mask-bg\");\n this.scroller.style.removeProperty(\"--rt-slider-mask-h\");\n this.scroller.style.removeProperty(\"--rt-slider-base-pb\");\n return;\n }\n var bg = findNearestOpaqueBgColor(this.scroller);\n this.scroller.style.setProperty(\"--rt-slider-mask-bg\", bg);\n this.scroller.style.setProperty(\"--rt-slider-mask-h\", \"12px\");\n this.scroller.style.setProperty(\n \"--rt-slider-base-pb\",\n (this._basePaddingBottomPx || 0) + \"px\",\n );\n };\n\n Slider.prototype.applyListStyles = function () {\n var listUID = assignUID(this.list, \"data-rt-slider-list-uid\");\n var scrollerUID = assignUID(this.scroller, \"data-rt-slider-scroller-uid\");\n var isDesktop = this.mq.matches;\n var scrollbarStyles = \"\";\n if (this.scrollTrack && this.scrollBar) {\n var trackUID = assignUID(this.scrollTrack, \"data-rt-slider-track-uid\");\n var barUID = assignUID(this.scrollBar, \"data-rt-slider-bar-uid\");\n if (isDesktop) {\n scrollbarStyles =\n '[data-rt-slider-track-uid=\"' +\n trackUID +\n '\"]{position:relative; touch-action:none; overflow: visible !important;}' +\n '[data-rt-slider-track-uid=\"' +\n trackUID +\n '\"]::before{content:\"\";position:absolute;top:-30px;bottom:-30px;left:0;right:0;z-index:0; cursor:pointer; pointer-events:auto;}' +\n '[data-rt-slider-bar-uid=\"' +\n barUID +\n '\"]{position:relative; z-index:2; touch-action:none;}' +\n '[data-rt-slider-bar-uid=\"' +\n barUID +\n '\"]::after{content:\"\";position:absolute;top:-30px;bottom:-30px;left:0;right:0;z-index:3; cursor:grab; pointer-events:auto;}';\n } else {\n scrollbarStyles =\n '[data-rt-slider-track-uid=\"' +\n trackUID +\n '\"]{position:relative; touch-action:auto; overflow: visible !important; pointer-events:none !important; user-select:none !important;}' +\n '[data-rt-slider-track-uid=\"' +\n trackUID +\n '\"]::before{content:\"\";position:absolute;top:-30px;bottom:-30px;left:0;right:0;z-index:0; pointer-events:none !important;}' +\n '[data-rt-slider-bar-uid=\"' +\n barUID +\n '\"]{position:relative; z-index:2; touch-action:auto; pointer-events:none !important; user-select:none !important;}' +\n '[data-rt-slider-bar-uid=\"' +\n barUID +\n '\"]::after{content:\"\";position:absolute;top:-30px;bottom:-30px;left:0;right:0;z-index:3; pointer-events:none !important;}';\n }\n }\n var hideNativeScrollbarCSS =\n '[data-rt-slider-list-uid=\"' +\n listUID +\n '\"]::-webkit-scrollbar{width:0 !important;height:0 !important;display:none !important;background:transparent !important;}' +\n '[data-rt-slider-list-uid=\"' +\n listUID +\n '\"]::-webkit-scrollbar-thumb{background:transparent !important;}' +\n '[data-rt-slider-list-uid=\"' +\n listUID +\n '\"]::-webkit-scrollbar-track{background:transparent !important;}' +\n '[data-rt-slider-list-uid=\"' +\n listUID +\n '\"]{scrollbar-width:none !important;-ms-overflow-style:none !important;}' +\n '[data-rt-slider-scroller-uid=\"' +\n scrollerUID +\n '\"]::-webkit-scrollbar{width:0 !important;height:0 !important;display:none !important;background:transparent !important;}' +\n '[data-rt-slider-scroller-uid=\"' +\n scrollerUID +\n '\"]::-webkit-scrollbar-thumb{background:transparent !important;}' +\n '[data-rt-slider-scroller-uid=\"' +\n scrollerUID +\n '\"]::-webkit-scrollbar-track{background:transparent !important;}' +\n '[data-rt-slider-scroller-uid=\"' +\n scrollerUID +\n '\"]{scrollbar-width:none !important;-ms-overflow-style:none !important;}';\n\n var iosMaskCSS = isDesktop\n ? \"\"\n : '[data-rt-slider-scroller-uid=\"' +\n scrollerUID +\n '\"]{position:relative;padding-bottom:calc(var(--rt-slider-base-pb, 0px) + var(--rt-slider-mask-h, 12px));}' +\n '[data-rt-slider-scroller-uid=\"' +\n scrollerUID +\n '\"]::after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:var(--rt-slider-mask-h, 12px);pointer-events:none;z-index:2147483647;background:var(--rt-slider-mask-bg, transparent);}';\n\n var draggingCSS =\n '[data-rt-slider-scroller-uid=\"' +\n scrollerUID +\n '\"].is-dragging{cursor:grabbing !important;user-select:none}' +\n '[data-rt-slider-list-uid=\"' +\n listUID +\n '\"].is-dragging{cursor:grabbing !important;user-select:none}' +\n '[data-rt-slider-scroller-uid=\"' +\n scrollerUID +\n '\"].is-dragging img,[data-rt-slider-scroller-uid=\"' +\n scrollerUID +\n '\"].is-dragging a,[data-rt-slider-scroller-uid=\"' +\n scrollerUID +\n '\"].is-dragging ' +\n this.conf.item +\n \"{user-select:none;-webkit-user-drag:none}\" +\n '[data-rt-slider-list-uid=\"' +\n listUID +\n '\"] img{-webkit-user-drag:none}';\n\n this._injectedKey = \"rt-ss-\" + listUID;\n injectOnce(\n this._injectedKey,\n hideNativeScrollbarCSS + draggingCSS + scrollbarStyles + iosMaskCSS,\n );\n };\n\n Slider.prototype.onResize = function () {\n this.stopInertia();\n this.rafUpdate();\n this.setupCursorMode();\n this.applyIOSScrollIndicatorMask();\n this.applyListStyles();\n this.updateSlideState(true);\n };\n\n Slider.prototype.onClickCapture = function (e) {\n if (!this.didDragTs) return;\n if (performance.now() - this.didDragTs > 420) return;\n var a =\n e.target && e.target.closest\n ? e.target.closest(\n \"a,button,[role='button'],input,textarea,select,label\",\n )\n : null;\n if (!a) return;\n e.preventDefault();\n e.stopPropagation();\n };\n\n Slider.prototype.getLenisOptions = function () {\n var prefix = \"data-rt-slider-\";\n var el = this.root;\n function getAttr(name) {\n return el.getAttribute(prefix + name);\n }\n\n var options = {\n wrapper: this.scroller,\n content: this.list,\n orientation: \"horizontal\",\n gestureOrientation: \"horizontal\",\n smoothWheel: true,\n syncTouch: false,\n };\n\n var lerp = parseNum(getAttr(\"lerp\"), undefined);\n var duration = parseNum(getAttr(\"duration\"), undefined);\n var easing = parseStr(getAttr(\"easing\"), \"\");\n var easingFn = parseEasing(easing);\n\n if (lerp !== undefined) options.lerp = lerp;\n else if (duration !== undefined) options.duration = duration;\n if (easingFn) options.easing = easingFn;\n\n var orientation = parseStr(getAttr(\"orientation\"), \"\");\n if (orientation) options.orientation = orientation;\n var gestureOrientation = parseStr(getAttr(\"gesture-orientation\"), \"\");\n if (gestureOrientation) options.gestureOrientation = gestureOrientation;\n\n var smoothWheel = getAttr(\"smooth-wheel\");\n if (smoothWheel !== null)\n options.smoothWheel = parseBool(smoothWheel, true);\n\n var wheelMultiplier = parseNum(getAttr(\"wheel-multiplier\"), undefined);\n if (wheelMultiplier !== undefined)\n options.wheelMultiplier = wheelMultiplier;\n var touchMultiplier = parseNum(getAttr(\"touch-multiplier\"), undefined);\n if (touchMultiplier !== undefined)\n options.touchMultiplier = touchMultiplier;\n\n var infinite = parseBool(getAttr(\"infinite\"), false);\n if (infinite) options.infinite = true;\n var autoResize = parseBool(getAttr(\"auto-resize\"), true);\n if (autoResize === false) options.autoResize = false;\n\n var jsonStr = getAttr(\"options-json\");\n if (jsonStr) {\n try {\n var jsonOpts = JSON.parse(jsonStr);\n if (jsonOpts && typeof jsonOpts === \"object\") {\n for (var key in jsonOpts) options[key] = jsonOpts[key];\n }\n } catch (e) {}\n }\n return options;\n };\n\n Slider.prototype.setupLenisInstance = function () {\n if (!this.mq.matches) return;\n if (this.lenis) return;\n var options = this.getLenisOptions();\n try {\n this.lenis = new window.Lenis(options);\n LenisHub.add(this.lenis);\n } catch (e) {\n this.lenis = null;\n }\n };\n\n Slider.prototype.bindEvents = function () {\n this._onScroll = this.onScroll.bind(this);\n this.scroller.addEventListener(\"scroll\", this._onScroll, { passive: true });\n\n this._onResize = this.onResize.bind(this);\n window.addEventListener(\"resize\", this._onResize);\n\n if (this.mq.matches) {\n this._onPD = this.onPointerDown.bind(this);\n this.scroller.addEventListener(\"pointerdown\", this._onPD);\n this._onPM = this.onPointerMove.bind(this);\n this.scroller.addEventListener(\"pointermove\", this._onPM);\n this._onPU = this.onPointerUp.bind(this);\n this.scroller.addEventListener(\"pointerup\", this._onPU);\n this._onPC = this.onPointerCancel.bind(this);\n this.scroller.addEventListener(\"pointercancel\", this._onPC);\n this._onPL = this.onPointerCancel.bind(this);\n this.scroller.addEventListener(\"pointerleave\", this._onPL);\n this._onClickCap = this.onClickCapture.bind(this);\n this.scroller.addEventListener(\"click\", this._onClickCap, true);\n }\n\n if (this.btnPrev) {\n this._onPrev = this.onPrevClick.bind(this);\n this.btnPrev.addEventListener(\"click\", this._onPrev);\n }\n if (this.btnNext) {\n this._onNext = this.onNextClick.bind(this);\n this.btnNext.addEventListener(\"click\", this._onNext);\n }\n\n if (this.mq.matches) {\n if (this.scrollBar) {\n this.scrollBar.style.touchAction = \"none\";\n this.scrollBar.style.cursor = \"grab\";\n }\n if (this.scrollTrack) {\n this.scrollTrack.style.userSelect = \"none\";\n this.scrollTrack.style.cursor = \"pointer\";\n this.scrollTrack.style.touchAction = \"none\";\n this._onTPD = this.onTrackPointerDown.bind(this);\n this.scrollTrack.addEventListener(\"pointerdown\", this._onTPD);\n this._onTPM = this.onTrackPointerMove.bind(this);\n this.scrollTrack.addEventListener(\"pointermove\", this._onTPM);\n this._onTPU = this.endBarDrag.bind(this);\n this.scrollTrack.addEventListener(\"pointerup\", this._onTPU);\n this._onTPC = this.endBarDrag.bind(this);\n this.scrollTrack.addEventListener(\"pointercancel\", this._onTPC);\n this._onTPL = this.endBarDrag.bind(this);\n this.scrollTrack.addEventListener(\"pointerleave\", this._onTPL);\n }\n } else {\n if (this.scrollBar) {\n this.scrollBar.style.touchAction = \"\";\n this.scrollBar.style.cursor = \"\";\n }\n if (this.scrollTrack) {\n this.scrollTrack.style.userSelect = \"\";\n this.scrollTrack.style.cursor = \"\";\n this.scrollTrack.style.touchAction = \"\";\n }\n }\n\n var self = this;\n this._onMQ = function () {\n self.applyIOSScrollIndicatorMask();\n self.applyListStyles();\n self.setupCursorMode();\n self.rafUpdate();\n self.updateSlideState(true);\n };\n if (this.mq.addEventListener)\n this.mq.addEventListener(\"change\", this._onMQ);\n else if (this.mq.addListener) this.mq.addListener(this._onMQ);\n\n var imgs = Array.from(this.list.querySelectorAll(\"img\"));\n imgs.forEach(function (img) {\n if (img.complete) return;\n var update = function () {\n self.rafUpdate();\n self.setupCursorMode();\n self.applyIOSScrollIndicatorMask();\n self.applyListStyles();\n self.updateSlideState(true);\n };\n img.addEventListener(\"load\", update, { once: true });\n img.addEventListener(\"error\", update, { once: true });\n self.imgHandlers.push({ img: img, onL: update, onE: update });\n });\n\n if (this.ro) {\n this.ro.observe(this.list);\n this.ro.observe(this.scroller);\n if (this.scrollTrack) this.ro.observe(this.scrollTrack);\n }\n\n this._onPH = this.destroy.bind(this);\n window.addEventListener(\"pagehide\", this._onPH);\n this._onBU = this.destroy.bind(this);\n window.addEventListener(\"beforeunload\", this._onBU);\n };\n\n Slider.prototype.init = function () {\n this.captureBasePaddingBottomOnce();\n this.applyIOSScrollIndicatorMask();\n this.applyListStyles();\n\n var self = this;\n if (this.mq.matches) {\n loadLenis()\n .then(function () {\n self.setupLenisInstance();\n })\n .catch(function () {});\n }\n\n this.rafUpdate();\n this._onWL = function () {\n self.rafUpdate();\n self.applyIOSScrollIndicatorMask();\n self.applyListStyles();\n self.updateSlideState(true);\n };\n window.addEventListener(\"load\", this._onWL);\n this.setupCursorMode();\n this.bindEvents();\n this.updateSlideState(true);\n };\n\n Slider.prototype.destroy = function () {\n this.stopInertia();\n if (this._touchClampTimer) clearTimeout(this._touchClampTimer);\n\n if (this.lenis) {\n try {\n LenisHub.remove(this.lenis);\n } catch (e) {}\n try {\n this.lenis.destroy();\n } catch (e) {}\n this.lenis = null;\n }\n\n if (this._onScroll)\n this.scroller.removeEventListener(\"scroll\", this._onScroll);\n if (this._onResize) window.removeEventListener(\"resize\", this._onResize);\n\n if (this._onPD)\n this.scroller.removeEventListener(\"pointerdown\", this._onPD);\n if (this._onPM)\n this.scroller.removeEventListener(\"pointermove\", this._onPM);\n if (this._onPU) this.scroller.removeEventListener(\"pointerup\", this._onPU);\n if (this._onPC)\n this.scroller.removeEventListener(\"pointercancel\", this._onPC);\n if (this._onPL)\n this.scroller.removeEventListener(\"pointerleave\", this._onPL);\n if (this._onClickCap)\n this.scroller.removeEventListener(\"click\", this._onClickCap, true);\n\n if (this._onPrev && this.btnPrev)\n this.btnPrev.removeEventListener(\"click\", this._onPrev);\n if (this._onNext && this.btnNext)\n this.btnNext.removeEventListener(\"click\", this._onNext);\n\n if (this.scrollTrack) {\n if (this._onTPD)\n this.scrollTrack.removeEventListener(\"pointerdown\", this._onTPD);\n if (this._onTPM)\n this.scrollTrack.removeEventListener(\"pointermove\", this._onTPM);\n if (this._onTPU)\n this.scrollTrack.removeEventListener(\"pointerup\", this._onTPU);\n if (this._onTPC)\n this.scrollTrack.removeEventListener(\"pointercancel\", this._onTPC);\n if (this._onTPL)\n this.scrollTrack.removeEventListener(\"pointerleave\", this._onTPL);\n }\n\n if (this.mq.removeEventListener)\n this.mq.removeEventListener(\"change\", this._onMQ);\n else if (this.mq.removeListener) this.mq.removeListener(this._onMQ);\n\n if (this._onWL) window.removeEventListener(\"load\", this._onWL);\n if (this._onPH) window.removeEventListener(\"pagehide\", this._onPH);\n if (this._onBU) window.removeEventListener(\"beforeunload\", this._onBU);\n\n this.imgHandlers.forEach(function (h) {\n h.img.removeEventListener(\"load\", h.onL);\n h.img.removeEventListener(\"error\", h.onE);\n });\n this.imgHandlers = [];\n\n this.clearCursorBindings();\n\n this.scroller.style.cursor = \"\";\n this.scroller.style.removeProperty(\"--rt-slider-mask-bg\");\n this.scroller.style.removeProperty(\"--rt-slider-mask-h\");\n this.scroller.style.removeProperty(\"--rt-slider-base-pb\");\n\n if (this.ro) this.ro.disconnect();\n if (this._injectedKey) {\n removeInjected(this._injectedKey);\n this._injectedKey = null;\n }\n };\n\n var state = {\n instances: {},\n order: [],\n };\n\n function init() {\n var roots = document.querySelectorAll(\"[data-rt-slider]\");\n var autoCount = 0;\n for (var i = 0; i < roots.length; i++) {\n var root = roots[i];\n var id = root.getAttribute(\"data-rt-slider-id\");\n if (!id) {\n autoCount++;\n id = \"slider-\" + autoCount;\n root.setAttribute(\"data-rt-slider-id\", id);\n }\n if (state.instances[id]) continue;\n\n var inst = new Slider(root, id);\n if (inst.valid) {\n state.instances[id] = inst;\n state.order.push(id);\n inst.init();\n }\n }\n }\n\n function makeApi() {\n return {\n __initialized: true,\n ids: function () {\n return state.order.slice();\n },\n get: function (id) {\n return state.instances[id] || null;\n },\n getSlideState: function (id) {\n var inst = state.instances[id];\n return inst ? inst.getSlideState() : null;\n },\n refresh: function () {\n var keys = state.order;\n for (var i = 0; i < keys.length; i++) {\n var inst = state.instances[keys[i]];\n if (inst) inst.onResize();\n }\n },\n destroy: function (id) {\n if (typeof id === \"string\") {\n var inst = state.instances[id];\n if (inst) {\n inst.destroy();\n delete state.instances[id];\n var idx = state.order.indexOf(id);\n if (idx > -1) state.order.splice(idx, 1);\n }\n return;\n }\n for (var i = 0; i < state.order.length; i++) {\n var k = state.order[i];\n if (state.instances[k]) state.instances[k].destroy();\n }\n state.instances = {};\n state.order = [];\n },\n };\n }\n\n if (document.readyState === \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", init);\n } else {\n init();\n }\n\n window[RT_NS] = makeApi();\n})();\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["(function () {\n var RT_NS = \"rtSlider\";\n if (window[RT_NS] && window[RT_NS].__initialized) return;\n\n var lenisLoadingPromise = null;\n\n function loadLenis() {\n if (typeof window.Lenis !== \"undefined\") return Promise.resolve();\n if (lenisLoadingPromise) return lenisLoadingPromise;\n lenisLoadingPromise = new Promise(function (resolve, reject) {\n var existing =\n document.querySelector('script[data-rt-slider-lenis=\"true\"]') ||\n document.querySelector('script[src*=\"lenis\"]');\n if (existing) {\n if (typeof window.Lenis !== \"undefined\") {\n resolve();\n return;\n }\n existing.addEventListener(\"load\", function () {\n resolve();\n });\n existing.addEventListener(\"error\", function (e) {\n reject(e);\n });\n } else {\n var s = document.createElement(\"script\");\n s.src = \"https://cdn.jsdelivr.net/npm/lenis@1.3.16/dist/lenis.min.js\";\n s.async = true;\n s.setAttribute(\"data-rt-slider-lenis\", \"true\");\n s.onload = function () {\n resolve();\n };\n s.onerror = function (e) {\n reject(e);\n };\n document.head.appendChild(s);\n }\n });\n return lenisLoadingPromise;\n }\n\n var LenisHub = (function () {\n var set = new Set();\n var rafId = 0;\n function loop(t) {\n set.forEach(function (l) {\n try {\n l.raf(t);\n } catch (e) {}\n });\n rafId = set.size ? requestAnimationFrame(loop) : 0;\n }\n return {\n add: function (lenis) {\n if (!lenis) return;\n set.add(lenis);\n if (!rafId) rafId = requestAnimationFrame(loop);\n },\n remove: function (lenis) {\n if (!lenis) return;\n set.delete(lenis);\n if (!set.size && rafId) {\n cancelAnimationFrame(rafId);\n rafId = 0;\n }\n },\n };\n })();\n\n function uid() {\n return \"s\" + Math.random().toString(36).slice(2);\n }\n\n function assignUID(el, attr) {\n if (!el.getAttribute(attr)) el.setAttribute(attr, uid());\n return el.getAttribute(attr);\n }\n\n function injectOnce(key, css) {\n var s = document.head.querySelector(\n '[data-rt-slider-injected=\"' + key + '\"]',\n );\n if (!s) {\n s = document.createElement(\"style\");\n s.setAttribute(\"data-rt-slider-injected\", key);\n document.head.appendChild(s);\n }\n if (s.textContent !== css) s.textContent = css;\n return s;\n }\n\n function removeInjected(key) {\n var s = document.head.querySelector(\n '[data-rt-slider-injected=\"' + key + '\"]',\n );\n if (s && s.parentNode) s.parentNode.removeChild(s);\n }\n\n function toSel(v) {\n return typeof v === \"string\" ? v.trim() : \"\";\n }\n\n function parseBool(v, def) {\n if (v === null || v === undefined) return def;\n var s = String(v).trim().toLowerCase();\n if (s === \"\") return true;\n if (s === \"true\" || s === \"1\" || s === \"yes\" || s === \"y\" || s === \"on\")\n return true;\n if (s === \"false\" || s === \"0\" || s === \"no\" || s === \"n\" || s === \"off\")\n return false;\n return def;\n }\n\n function parseNum(v, def) {\n if (v === null || v === undefined) return def;\n var s = String(v).trim();\n if (!s.length) return def;\n var n = Number(s);\n return Number.isFinite(n) ? n : def;\n }\n\n function parseStr(v, def) {\n if (v === null || v === undefined) return def;\n var s = String(v);\n return s.length ? s : def;\n }\n\n function clamp(i) {\n return i < 0 ? 0 : i > 1 ? 1 : i;\n }\n\n function round(n, d) {\n if (!Number.isFinite(n)) return 0;\n var m = Math.pow(10, d || 0);\n return Math.round(n * m) / m;\n }\n\n function parseEasing(name) {\n var n = String(name || \"\").trim();\n if (!n) return null;\n var map = {\n linear: function (t) {\n return clamp(t);\n },\n easeInQuad: function (t) {\n t = clamp(t);\n return t * t;\n },\n easeOutQuad: function (t) {\n t = clamp(t);\n return t * (2 - t);\n },\n easeInOutQuad: function (t) {\n t = clamp(t);\n return t < 0.5 ? 2 * t * t : 1 - Math.pow(-2 * t + 2, 2) / 2;\n },\n easeInCubic: function (t) {\n t = clamp(t);\n return t * t * t;\n },\n easeOutCubic: function (t) {\n t = clamp(t);\n return 1 - Math.pow(1 - t, 3);\n },\n easeInOutCubic: function (t) {\n t = clamp(t);\n return t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2;\n },\n easeInOutSine: function (t) {\n t = clamp(t);\n return -(Math.cos(Math.PI * t) - 1) / 2;\n },\n easeOutExpo: function (t) {\n t = clamp(t);\n return t === 1 ? 1 : 1 - Math.pow(2, -10 * t);\n },\n };\n return map[n] || null;\n }\n\n function isTransparentColor(val) {\n if (!val) return true;\n var v = String(val).trim().toLowerCase();\n if (v === \"transparent\") return true;\n if (v.startsWith(\"rgba(\")) {\n var parts = v\n .slice(5, -1)\n .split(\",\")\n .map(function (x) {\n return x.trim();\n });\n var a = parts.length === 4 ? Number(parts[3]) : 1;\n return !Number.isFinite(a) ? false : a === 0;\n }\n return false;\n }\n\n function findNearestOpaqueBgColor(el) {\n var n = el;\n while (n && n !== document.documentElement) {\n var cs = getComputedStyle(n);\n var bg = cs.backgroundColor;\n if (!isTransparentColor(bg)) return bg;\n n = n.parentElement;\n }\n var rootBg = getComputedStyle(document.body).backgroundColor;\n return isTransparentColor(rootBg) ? \"rgb(255, 255, 255)\" : rootBg;\n }\n\n function isOverflowingX(el) {\n if (!el) return false;\n try {\n return el.scrollWidth > el.clientWidth + 1;\n } catch (e) {\n return false;\n }\n }\n\n function findScrollableAncestor(el) {\n var n = el;\n while (n && n !== document.body) {\n var cs = getComputedStyle(n);\n var ox = cs.overflowX;\n var scrollable = ox === \"auto\" || ox === \"scroll\" || ox === \"overlay\";\n if (scrollable && isOverflowingX(n)) return n;\n n = n.parentElement;\n }\n return el;\n }\n\n function resolveControl(root, selector, sliderId) {\n if (!selector) return null;\n var local = root.querySelector(selector);\n if (local) return local;\n var byFor = document.querySelector(\n selector + '[data-rt-slider-for=\"' + sliderId + '\"]',\n );\n if (byFor) return byFor;\n var all = Array.from(document.querySelectorAll(selector));\n if (all.length === 1) return all[0];\n var scoped = all.filter(function (el) {\n var owner = el.closest(\"[data-rt-slider]\");\n return owner === root;\n });\n if (scoped.length === 1) return scoped[0];\n return null;\n }\n\n function isVisibleNode(el) {\n if (!el) return false;\n var cs = getComputedStyle(el);\n if (cs.display === \"none\" || cs.visibility === \"hidden\") return false;\n return el.getClientRects().length > 0;\n }\n\n function getConf(root) {\n return {\n list: toSel(root.getAttribute(\"data-rt-list\")),\n item: toSel(root.getAttribute(\"data-rt-item\")),\n spacer: toSel(root.getAttribute(\"data-rt-spacer\")),\n btnPrev: toSel(root.getAttribute(\"data-rt-btn-prev\")),\n btnNext: toSel(root.getAttribute(\"data-rt-btn-next\")),\n scrollTrack: toSel(root.getAttribute(\"data-rt-scroll-track\")),\n scrollBar: toSel(root.getAttribute(\"data-rt-scroll-bar\")),\n marginRef: toSel(root.getAttribute(\"data-rt-margin-ref\")),\n overlayStart: toSel(root.getAttribute(\"data-rt-overlay-start\")),\n overlayEnd: toSel(root.getAttribute(\"data-rt-overlay-end\")),\n };\n }\n\n function Slider(root, id) {\n this.root = root;\n this.id = id;\n this.conf = getConf(root);\n this.valid = !!(this.conf.list && this.conf.item);\n if (!this.valid) return;\n\n this.sliderId = assignUID(this.root, \"data-rt-slider-id\");\n this.list = this.root.querySelector(this.conf.list);\n if (!this.list) {\n this.valid = false;\n return;\n }\n\n this.list.style.overflowX = \"auto\";\n this.list.style.webkitOverflowScrolling = \"touch\";\n this.list.style.scrollbarWidth = \"none\";\n this.list.style.msOverflowStyle = \"none\";\n\n this.scroller = findScrollableAncestor(this.list);\n this.scroller.style.scrollbarWidth = \"none\";\n this.scroller.style.msOverflowStyle = \"none\";\n try {\n this.scroller.style.webkitOverflowScrolling = \"touch\";\n } catch (e) {}\n try {\n this.scroller.style.overscrollBehaviorX = \"contain\";\n } catch (e) {}\n\n this._basePaddingBottomPx = null;\n this._basePaddingCaptured = false;\n this._touchClampTimer = 0;\n\n this.btnPrev = this.conf.btnPrev\n ? resolveControl(this.root, this.conf.btnPrev, this.sliderId)\n : null;\n this.btnNext = this.conf.btnNext\n ? resolveControl(this.root, this.conf.btnNext, this.sliderId)\n : null;\n this.overlayStart = this.conf.overlayStart\n ? resolveControl(this.root, this.conf.overlayStart, this.sliderId)\n : null;\n this.overlayEnd = this.conf.overlayEnd\n ? resolveControl(this.root, this.conf.overlayEnd, this.sliderId)\n : null;\n\n if (this.overlayStart) {\n this.overlayStart.style.transition = \"opacity 0.3s ease\";\n this.overlayStart.style.willChange = \"opacity\";\n }\n if (this.overlayEnd) {\n this.overlayEnd.style.transition = \"opacity 0.3s ease\";\n this.overlayEnd.style.willChange = \"opacity\";\n }\n\n this.scrollTrack = this.conf.scrollTrack\n ? this.root.querySelector(this.conf.scrollTrack)\n : null;\n this.scrollBar = this.conf.scrollBar\n ? this.root.querySelector(this.conf.scrollBar)\n : null;\n this.firstItem = this.list.querySelector(this.conf.item + \":first-child\");\n this.lastItem = this.list.querySelector(this.conf.item + \":last-child\");\n\n this.dragging = false;\n this.maybeDrag = false;\n this.draggingBar = false;\n this.barPointerId = null;\n this.barOffsetX = 0;\n this.startX = 0;\n this.startScroll = 0;\n this.lastX = 0;\n this.lastT = 0;\n this.velocity = 0;\n this.inertiaId = 0;\n this.ticking = false;\n this.didDrag = false;\n this.didDragTs = 0;\n this.dragMovedPx = 0;\n this.cursorBindings = [];\n this.imgHandlers = [];\n this._roTicking = false;\n this.lenis = null;\n this._lenisWasStopped = false;\n this.mq = window.matchMedia(\"(hover: hover) and (pointer: fine)\");\n this._injectedKey = null;\n this._lastGutterPx = 0;\n this._lastGapPx = 0;\n\n this.slideState = null;\n this._slideStateSig = \"\";\n this._progressSig = \"\";\n this._lastSlideStateActiveIndex = -1;\n this._lastSlideStateScrollLeft = 0;\n\n var self = this;\n this.ro =\n typeof ResizeObserver !== \"undefined\"\n ? new ResizeObserver(function () {\n if (self._roTicking) return;\n self._roTicking = true;\n requestAnimationFrame(function () {\n self._roTicking = false;\n self.rafUpdate();\n self.setupCursorMode();\n self.applyIOSScrollIndicatorMask();\n self.applyListStyles();\n });\n })\n : null;\n }\n\n Slider.prototype.devicePixelEpsilon = function () {\n var dpr = Math.max(1, window.devicePixelRatio || 1);\n return 1 / dpr;\n };\n\n Slider.prototype.scrollEdgeEpsilon = function () {\n return Math.max(2, this.devicePixelEpsilon() * 4);\n };\n\n Slider.prototype.listGap = function () {\n var cs = getComputedStyle(this.list);\n var g1 = parseFloat(cs.columnGap || \"0\") || 0;\n var g2 = parseFloat(cs.gap || \"0\") || 0;\n return Math.max(g1, g2);\n };\n\n Slider.prototype.pickVisibleMarginRef = function () {\n if (!this.conf.marginRef) return null;\n var nodes = this.root.querySelectorAll(this.conf.marginRef);\n if (nodes.length === 0)\n nodes = document.querySelectorAll(this.conf.marginRef);\n for (var i = 0; i < nodes.length; i++) {\n if (isVisibleNode(nodes[i])) return nodes[i];\n }\n return null;\n };\n\n Slider.prototype.isFlex = function () {\n return getComputedStyle(this.list).display.indexOf(\"flex\") !== -1;\n };\n\n Slider.prototype.isGrid = function () {\n return getComputedStyle(this.list).display.indexOf(\"grid\") !== -1;\n };\n\n Slider.prototype.ensureSpacers = function () {\n var kids = Array.from(this.list.children);\n var className = this.conf.spacer\n ? this.conf.spacer.replace(/^[.#]/, \"\")\n : \"awards-slider-spacer\";\n var needStart = !(\n kids[0] &&\n kids[0].classList &&\n kids[0].classList.contains(className)\n );\n var needEnd = !(\n kids[kids.length - 1] &&\n kids[kids.length - 1].classList &&\n kids[kids.length - 1].classList.contains(className)\n );\n\n if (needStart) {\n var el = document.createElement(\"div\");\n el.className = className;\n el.setAttribute(\"aria-hidden\", \"true\");\n el.style.pointerEvents = \"none\";\n el.style.height = \"1px\";\n el.style.minHeight = \"1px\";\n if (this.isFlex()) el.style.flex = \"0 0 auto\";\n this.list.insertBefore(el, this.list.firstChild);\n }\n if (needEnd) {\n var el2 = document.createElement(\"div\");\n el2.className = className;\n el2.setAttribute(\"aria-hidden\", \"true\");\n el2.style.pointerEvents = \"none\";\n el2.style.height = \"1px\";\n el2.style.minHeight = \"1px\";\n if (this.isFlex()) el2.style.flex = \"0 0 auto\";\n this.list.appendChild(el2);\n }\n };\n\n Slider.prototype.resetEdgeItemMargins = function () {\n if (this.firstItem) this.firstItem.style.marginLeft = \"0px\";\n if (this.lastItem) this.lastItem.style.marginRight = \"0px\";\n };\n\n Slider.prototype.updateSpacers = function () {\n this.ensureSpacers();\n this.resetEdgeItemMargins();\n\n var kids = Array.from(this.list.children);\n var cls = this.conf.spacer\n ? this.conf.spacer.replace(/^[.#]/, \"\")\n : \"awards-slider-spacer\";\n var spacerStart =\n kids[0] && kids[0].classList.contains(cls) ? kids[0] : null;\n var spacerEnd =\n kids[kids.length - 1] && kids[kids.length - 1].classList.contains(cls)\n ? kids[kids.length - 1]\n : null;\n if (!spacerStart || !spacerEnd) return;\n\n var marginRef = this.pickVisibleMarginRef();\n var eps = this.devicePixelEpsilon();\n var gap = this.listGap();\n this._lastGapPx = gap;\n\n spacerStart.style.marginRight = \"\";\n spacerEnd.style.marginLeft = \"\";\n\n if (gap > 0.0001) {\n spacerStart.style.marginRight = \"-\" + gap + \"px\";\n spacerEnd.style.marginLeft = \"-\" + gap + \"px\";\n }\n\n if (!marginRef) {\n spacerStart.style.width = eps + \"px\";\n spacerEnd.style.width = eps + \"px\";\n this._lastGutterPx = eps;\n return;\n }\n\n var sRect = this.scroller.getBoundingClientRect();\n var rRect = marginRef.getBoundingClientRect();\n var scrollerCS = getComputedStyle(this.scroller);\n var listCS = getComputedStyle(this.list);\n var scrollerBorderL = parseFloat(scrollerCS.borderLeftWidth || \"0\") || 0;\n var scrollerPadL = parseFloat(scrollerCS.paddingLeft || \"0\") || 0;\n var listPadL = parseFloat(listCS.paddingLeft || \"0\") || 0;\n var scrollerInnerLeft = sRect.left + scrollerBorderL + scrollerPadL;\n var desiredLeft = rRect.left;\n var raw = desiredLeft - scrollerInnerLeft - listPadL;\n var width = raw <= 0 ? eps : Math.round(raw);\n\n spacerStart.style.width = width + \"px\";\n spacerEnd.style.width = width + \"px\";\n\n if (this.isGrid()) {\n spacerStart.style.justifySelf = \"start\";\n spacerEnd.style.justifySelf = \"start\";\n spacerStart.style.gridColumn = \"auto\";\n spacerEnd.style.gridColumn = \"auto\";\n }\n this._lastGutterPx = width;\n };\n\n Slider.prototype.maxScroll = function () {\n return Math.max(0, this.scroller.scrollWidth - this.scroller.clientWidth);\n };\n\n Slider.prototype.getLiveScrollMetrics = function () {\n var scrollWidth = Math.max(0, this.scroller.scrollWidth || 0);\n var clientWidth = Math.max(0, this.scroller.clientWidth || 0);\n var max = Math.max(0, scrollWidth - clientWidth);\n var current = this.safeClampScroll(this.scroller.scrollLeft);\n var epsilon = this.scrollEdgeEpsilon();\n\n if (max <= 0 || scrollWidth <= clientWidth + epsilon) {\n return {\n current: 0,\n max: 0,\n progress: 0,\n progressPercent: 0,\n isAtStart: true,\n isAtEnd: true,\n };\n }\n\n var atStart = current <= epsilon;\n var atEnd =\n current >= max - epsilon ||\n current + clientWidth >= scrollWidth - epsilon;\n\n if (atStart) current = 0;\n if (atEnd) current = max;\n\n var progress = max > 0 ? clamp(current / max) : 0;\n if (atEnd) progress = 1;\n if (atStart) progress = 0;\n\n return {\n current: current,\n max: max,\n progress: progress,\n progressPercent: progress * 100,\n isAtStart: atStart,\n isAtEnd: atEnd,\n };\n };\n\n Slider.prototype.updateOverlays = function () {\n if (!this.overlayStart && !this.overlayEnd) return;\n var total = this.scroller.scrollWidth;\n var visible = this.scroller.clientWidth;\n var scrollable = total > visible + 1;\n function setVis(el, show) {\n if (!el) return;\n el.style.opacity = show ? \"1\" : \"0\";\n el.style.pointerEvents = show ? \"\" : \"none\";\n }\n if (!scrollable) {\n setVis(this.overlayStart, false);\n setVis(this.overlayEnd, false);\n return;\n }\n var metrics = this.getLiveScrollMetrics();\n setVis(this.overlayStart, !metrics.isAtStart);\n setVis(this.overlayEnd, !metrics.isAtEnd);\n };\n\n Slider.prototype.updateButtons = function () {\n if (!this.btnPrev && !this.btnNext) return;\n var total = this.scroller.scrollWidth;\n var visible = this.scroller.clientWidth;\n var scrollable = total > visible + 1;\n\n if (!scrollable) {\n if (this.btnPrev) {\n this.btnPrev.classList.add(\"inactive\");\n this.btnPrev.style.display = \"none\";\n }\n if (this.btnNext) {\n this.btnNext.classList.add(\"inactive\");\n this.btnNext.style.display = \"none\";\n }\n return;\n }\n if (this.btnPrev) this.btnPrev.style.display = \"\";\n if (this.btnNext) this.btnNext.style.display = \"\";\n\n var metrics = this.getLiveScrollMetrics();\n\n if (this.btnPrev) {\n if (metrics.isAtStart) this.btnPrev.classList.add(\"inactive\");\n else this.btnPrev.classList.remove(\"inactive\");\n }\n if (this.btnNext) {\n if (metrics.isAtEnd) this.btnNext.classList.add(\"inactive\");\n else this.btnNext.classList.remove(\"inactive\");\n }\n };\n\n Slider.prototype.computeScrollbarMetrics = function () {\n if (!this.scrollTrack || !this.scrollBar) return null;\n var total = this.scroller.scrollWidth;\n var visible = this.scroller.clientWidth;\n var items = this.list.querySelectorAll(this.conf.item).length;\n if (total <= visible || items === 0) return null;\n var trackWidth = this.scrollTrack.clientWidth;\n var avgItemWidth = total / Math.max(1, items + 2);\n var visibleItems = Math.max(1, Math.round(visible / avgItemWidth));\n var barWidth = Math.max(8, (visibleItems / (items + 2)) * trackWidth);\n var metrics = this.getLiveScrollMetrics();\n var maxS = Math.max(1, metrics.max);\n var maxX = Math.max(0, trackWidth - barWidth);\n var x = maxX * metrics.progress;\n return {\n trackWidth: trackWidth,\n barWidth: barWidth,\n maxS: maxS,\n maxX: maxX,\n x: x,\n };\n };\n\n Slider.prototype.updateScrollbar = function () {\n if (!this.scrollTrack || !this.scrollBar) return;\n var m = this.computeScrollbarMetrics();\n if (!m) {\n this.scrollTrack.style.display = \"none\";\n return;\n }\n this.scrollTrack.style.display = \"\";\n this.scrollBar.style.width = m.barWidth + \"px\";\n if (!this.draggingBar) {\n this.scrollBar.style.transform = \"translateX(\" + m.x + \"px)\";\n }\n };\n\n Slider.prototype.rafUpdate = function () {\n this.updateSpacers();\n this.updateScrollbar();\n this.updateButtons();\n this.updateOverlays();\n this.updateSlideState(false);\n };\n\n Slider.prototype.safeClampScroll = function (x) {\n var clamped = Math.min(Math.max(x, 0), this.maxScroll());\n return Number.isFinite(clamped) ? clamped : 0;\n };\n\n Slider.prototype.setScroll = function (x, opts) {\n var target = this.safeClampScroll(x);\n if (this.lenis) {\n var o = opts || {};\n try {\n this.lenis.scrollTo(target, {\n immediate: !!o.immediate,\n lock: !!o.lock,\n force: o.force !== false,\n });\n } catch (e) {\n this.scroller.scrollLeft = target;\n }\n } else {\n this.scroller.scrollLeft = target;\n }\n this.updateScrollbar();\n this.updateButtons();\n this.updateOverlays();\n this.updateSlideState(false);\n };\n\n Slider.prototype.scheduleTouchClamp = function () {\n var self = this;\n if (this._touchClampTimer) clearTimeout(this._touchClampTimer);\n this._touchClampTimer = setTimeout(function () {\n self._touchClampTimer = 0;\n var cur = self.scroller.scrollLeft;\n var max = self.maxScroll();\n var clientWidth = Math.max(0, self.scroller.clientWidth || 0);\n var scrollWidth = Math.max(0, self.scroller.scrollWidth || 0);\n var eps = self.scrollEdgeEpsilon();\n\n if (!Number.isFinite(cur)) {\n self.scroller.scrollLeft = 0;\n } else if (cur < -eps || cur > max + eps) {\n self.scroller.scrollLeft = self.safeClampScroll(cur);\n } else if (cur < 0) {\n self.scroller.scrollLeft = 0;\n } else if (cur > max) {\n self.scroller.scrollLeft = max;\n } else if (cur <= eps) {\n self.scroller.scrollLeft = 0;\n } else if (cur + clientWidth >= scrollWidth - eps) {\n self.scroller.scrollLeft = max;\n }\n\n self.updateScrollbar();\n self.updateButtons();\n self.updateOverlays();\n self.updateSlideState(false);\n }, 90);\n };\n\n Slider.prototype.onScroll = function () {\n var self = this;\n if (!this.mq.matches) {\n this.updateScrollbar();\n this.updateButtons();\n this.updateOverlays();\n this.updateSlideState(false);\n this.scheduleTouchClamp();\n return;\n }\n if (this.ticking) return;\n this.ticking = true;\n requestAnimationFrame(function () {\n var clamped = self.safeClampScroll(self.scroller.scrollLeft);\n if (clamped !== self.scroller.scrollLeft) {\n if (self.lenis)\n self.setScroll(clamped, {\n immediate: true,\n lock: false,\n force: true,\n });\n else self.scroller.scrollLeft = clamped;\n }\n self.updateScrollbar();\n self.updateButtons();\n self.updateOverlays();\n self.updateSlideState(false);\n self.ticking = false;\n });\n };\n\n Slider.prototype.itemStepWidth = function () {\n if (!this.conf.item)\n return Math.max(1, Math.floor(this.scroller.clientWidth * 0.9));\n var item = this.list.querySelector(this.conf.item);\n if (!item) return Math.max(1, Math.floor(this.scroller.clientWidth * 0.9));\n var cs = getComputedStyle(item);\n var w = item.getBoundingClientRect().width;\n var mr = parseFloat(cs.marginRight) || 0;\n return Math.max(1, Math.round(w + mr));\n };\n\n Slider.prototype.getAlignTargetLeft = function () {\n var ref = this.pickVisibleMarginRef();\n if (ref) {\n return ref.getBoundingClientRect().left;\n }\n var sRect = this.scroller.getBoundingClientRect();\n var scrollerCS = getComputedStyle(this.scroller);\n var listCS = getComputedStyle(this.list);\n var scrollerBorderL = parseFloat(scrollerCS.borderLeftWidth || \"0\") || 0;\n var scrollerPadL = parseFloat(scrollerCS.paddingLeft || \"0\") || 0;\n var listPadL = parseFloat(listCS.paddingLeft || \"0\") || 0;\n var gutter = Number.isFinite(this._lastGutterPx) ? this._lastGutterPx : 0;\n return sRect.left + scrollerBorderL + scrollerPadL + listPadL + gutter;\n };\n\n Slider.prototype.getOrderedItems = function () {\n if (!this.conf.item) return [];\n var nodes = Array.from(this.list.querySelectorAll(this.conf.item));\n return nodes.filter(function (n) {\n return n && n.nodeType === 1;\n });\n };\n\n Slider.prototype.getCurrentItemIndex = function (items) {\n if (!items || !items.length) return -1;\n var alignLeft = this.getAlignTargetLeft();\n var bestIdx = 0;\n var bestAbs = Infinity;\n for (var i = 0; i < items.length; i++) {\n var r = items[i].getBoundingClientRect();\n var d = r.left - alignLeft;\n var ad = Math.abs(d);\n if (ad < bestAbs) {\n bestAbs = ad;\n bestIdx = i;\n }\n }\n return bestIdx;\n };\n\n Slider.prototype.getItemAnchorScrolls = function (items) {\n var metrics = this.getLiveScrollMetrics();\n var current = metrics.current;\n var alignLeft = this.getAlignTargetLeft();\n var anchors = [];\n var last = -Infinity;\n\n for (var i = 0; i < items.length; i++) {\n var item = items[i];\n item.setAttribute(\"data-rt-slider-item-index\", String(i));\n var rect = item.getBoundingClientRect();\n var raw = current + (rect.left - alignLeft);\n var anchor = this.safeClampScroll(raw);\n if (anchor < last) anchor = last;\n anchors.push(anchor);\n last = anchor;\n }\n\n if (anchors.length) {\n var max = this.maxScroll();\n var eps = this.scrollEdgeEpsilon();\n if (anchors[0] <= eps) anchors[0] = 0;\n if (anchors[anchors.length - 1] >= max - eps)\n anchors[anchors.length - 1] = max;\n }\n\n return anchors;\n };\n\n Slider.prototype.cloneSlideState = function (state) {\n if (!state) return null;\n return {\n sliderId: state.sliderId,\n itemCount: state.itemCount,\n scroll: {\n current: state.scroll.current,\n max: state.scroll.max,\n progress: state.scroll.progress,\n progressPercent: state.scroll.progressPercent,\n direction: state.scroll.direction,\n isAtStart: state.scroll.isAtStart,\n isAtEnd: state.scroll.isAtEnd,\n },\n active: {\n index: state.active.index,\n element: state.active.element,\n anchorScrollLeft: state.active.anchorScrollLeft,\n distancePx: state.active.distancePx,\n },\n previous: {\n index: state.previous.index,\n element: state.previous.element,\n },\n next: {\n index: state.next.index,\n element: state.next.element,\n },\n segment: {\n fromIndex: state.segment.fromIndex,\n fromElement: state.segment.fromElement,\n toIndex: state.segment.toIndex,\n toElement: state.segment.toElement,\n progress: state.segment.progress,\n progressPercent: state.segment.progressPercent,\n distancePx: state.segment.distancePx,\n spanPx: state.segment.spanPx,\n remainingPx: state.segment.remainingPx,\n isBetween: state.segment.isBetween,\n },\n slides: state.slides.map(function (slide) {\n return {\n index: slide.index,\n element: slide.element,\n anchorScrollLeft: slide.anchorScrollLeft,\n anchorProgress: slide.anchorProgress,\n anchorProgressPercent: slide.anchorProgressPercent,\n distanceFromCurrentPx: slide.distanceFromCurrentPx,\n isActive: slide.isActive,\n isPrevious: slide.isPrevious,\n isNext: slide.isNext,\n isFrom: slide.isFrom,\n isTo: slide.isTo,\n isBeforeActive: slide.isBeforeActive,\n isAfterActive: slide.isAfterActive,\n };\n }),\n };\n };\n\n Slider.prototype.cloneScrollState = function (scroll) {\n if (!scroll) return null;\n return {\n current: scroll.current,\n max: scroll.max,\n progress: scroll.progress,\n progressPercent: scroll.progressPercent,\n direction: scroll.direction,\n isAtStart: scroll.isAtStart,\n isAtEnd: scroll.isAtEnd,\n };\n };\n\n Slider.prototype.dispatchSliderEvent = function (name, detail) {\n var payload = this.cloneSlideState(detail);\n try {\n this.root.dispatchEvent(\n new CustomEvent(name, {\n bubbles: true,\n detail: payload,\n }),\n );\n } catch (e) {\n var ev = document.createEvent(\"CustomEvent\");\n ev.initCustomEvent(name, true, false, payload);\n this.root.dispatchEvent(ev);\n }\n };\n\n Slider.prototype.dispatchProgressEvent = function (name, detail) {\n var payload = this.cloneScrollState(detail);\n try {\n this.root.dispatchEvent(\n new CustomEvent(name, {\n bubbles: true,\n detail: payload,\n }),\n );\n } catch (e) {\n var ev = document.createEvent(\"CustomEvent\");\n ev.initCustomEvent(name, true, false, payload);\n this.root.dispatchEvent(ev);\n }\n };\n\n Slider.prototype.applySlideStateAttributes = function (state) {\n var root = this.root;\n root.setAttribute(\n \"data-rt-slider-active-index\",\n String(state.active.index),\n );\n root.setAttribute(\n \"data-rt-slider-from-index\",\n String(state.segment.fromIndex),\n );\n root.setAttribute(\"data-rt-slider-to-index\", String(state.segment.toIndex));\n root.setAttribute(\n \"data-rt-slider-segment-progress\",\n String(round(state.segment.progress, 6)),\n );\n root.setAttribute(\n \"data-rt-slider-segment-progress-percent\",\n String(round(state.segment.progressPercent, 4)),\n );\n root.setAttribute(\n \"data-rt-slider-scroll-current\",\n String(round(state.scroll.current, 4)),\n );\n root.setAttribute(\n \"data-rt-slider-scroll-max\",\n String(round(state.scroll.max, 4)),\n );\n root.setAttribute(\n \"data-rt-slider-scroll-progress\",\n String(round(state.scroll.progress, 6)),\n );\n root.setAttribute(\n \"data-rt-slider-scroll-progress-percent\",\n String(round(state.scroll.progressPercent, 4)),\n );\n root.setAttribute(\n \"data-rt-slider-scroll-direction\",\n state.scroll.direction,\n );\n root.setAttribute(\n \"data-rt-slider-scroll-at-start\",\n state.scroll.isAtStart ? \"true\" : \"false\",\n );\n root.setAttribute(\n \"data-rt-slider-scroll-at-end\",\n state.scroll.isAtEnd ? \"true\" : \"false\",\n );\n\n for (var i = 0; i < state.slides.length; i++) {\n var slide = state.slides[i];\n var el = slide.element;\n if (!el) continue;\n el.setAttribute(\"data-rt-slider-item-index\", String(slide.index));\n el.setAttribute(\n \"data-rt-slider-item-active\",\n slide.isActive ? \"true\" : \"false\",\n );\n el.setAttribute(\n \"data-rt-slider-item-from\",\n slide.isFrom ? \"true\" : \"false\",\n );\n el.setAttribute(\"data-rt-slider-item-to\", slide.isTo ? \"true\" : \"false\");\n el.setAttribute(\n \"data-rt-slider-item-previous\",\n slide.isPrevious ? \"true\" : \"false\",\n );\n el.setAttribute(\n \"data-rt-slider-item-next\",\n slide.isNext ? \"true\" : \"false\",\n );\n el.setAttribute(\n \"data-rt-slider-item-before-active\",\n slide.isBeforeActive ? \"true\" : \"false\",\n );\n el.setAttribute(\n \"data-rt-slider-item-after-active\",\n slide.isAfterActive ? \"true\" : \"false\",\n );\n el.setAttribute(\n \"data-rt-slider-item-anchor-progress\",\n String(round(slide.anchorProgress, 6)),\n );\n el.setAttribute(\n \"data-rt-slider-item-anchor-progress-percent\",\n String(round(slide.anchorProgressPercent, 4)),\n );\n el.setAttribute(\n \"data-rt-slider-item-distance\",\n String(round(slide.distanceFromCurrentPx, 4)),\n );\n }\n };\n\n Slider.prototype.buildSlideState = function () {\n var items = this.getOrderedItems();\n var metrics = this.getLiveScrollMetrics();\n var max = metrics.max;\n var current = metrics.current;\n var prevScroll = this._lastSlideStateScrollLeft;\n var scrollDirection = \"none\";\n\n if (current > prevScroll + 0.01) scrollDirection = \"forward\";\n else if (current < prevScroll - 0.01) scrollDirection = \"backward\";\n\n if (!items.length) {\n return {\n sliderId: this.sliderId,\n itemCount: 0,\n scroll: {\n current: current,\n max: max,\n progress: metrics.progress,\n progressPercent: metrics.progressPercent,\n direction: scrollDirection,\n isAtStart: metrics.isAtStart,\n isAtEnd: metrics.isAtEnd,\n },\n active: {\n index: -1,\n element: null,\n anchorScrollLeft: 0,\n distancePx: 0,\n },\n previous: {\n index: -1,\n element: null,\n },\n next: {\n index: -1,\n element: null,\n },\n segment: {\n fromIndex: -1,\n fromElement: null,\n toIndex: -1,\n toElement: null,\n progress: 0,\n progressPercent: 0,\n distancePx: 0,\n spanPx: 0,\n remainingPx: 0,\n isBetween: false,\n },\n slides: [],\n };\n }\n\n var anchors = this.getItemAnchorScrolls(items);\n var nearestIndex = 0;\n var nearestDistance = Infinity;\n\n for (var i = 0; i < anchors.length; i++) {\n var distance = current - anchors[i];\n var absDistance = Math.abs(distance);\n if (absDistance < nearestDistance) {\n nearestDistance = absDistance;\n nearestIndex = i;\n }\n }\n\n var fromIndex = 0;\n var toIndex = 0;\n var segmentProgress = 0;\n var segmentDistance = 0;\n var segmentSpan = 0;\n var segmentRemaining = 0;\n var isBetween = false;\n\n if (current <= anchors[0]) {\n fromIndex = 0;\n toIndex = 0;\n segmentProgress = 0;\n segmentDistance = 0;\n segmentSpan = 0;\n segmentRemaining = 0;\n isBetween = false;\n } else if (current >= anchors[anchors.length - 1]) {\n fromIndex = anchors.length - 1;\n toIndex = anchors.length - 1;\n segmentProgress = 1;\n segmentDistance = 0;\n segmentSpan = 0;\n segmentRemaining = 0;\n isBetween = false;\n } else {\n for (var j = 0; j < anchors.length - 1; j++) {\n var a = anchors[j];\n var b = anchors[j + 1];\n if (current >= a && current <= b) {\n fromIndex = j;\n toIndex = j + 1;\n segmentSpan = Math.max(0, b - a);\n segmentDistance = Math.max(0, current - a);\n segmentProgress =\n segmentSpan > 0 ? clamp(segmentDistance / segmentSpan) : 0;\n segmentRemaining = Math.max(0, segmentSpan - segmentDistance);\n isBetween = current > a && current < b;\n break;\n }\n }\n }\n\n var slides = [];\n for (var k = 0; k < items.length; k++) {\n var anchor = anchors[k];\n var anchorProgress = max > 0 ? clamp(anchor / max) : 0;\n slides.push({\n index: k,\n element: items[k],\n anchorScrollLeft: anchor,\n anchorProgress: anchorProgress,\n anchorProgressPercent: anchorProgress * 100,\n distanceFromCurrentPx: current - anchor,\n isActive: k === nearestIndex,\n isPrevious: k === nearestIndex - 1,\n isNext: k === nearestIndex + 1,\n isFrom: k === fromIndex,\n isTo: k === toIndex,\n isBeforeActive: k < nearestIndex,\n isAfterActive: k > nearestIndex,\n });\n }\n\n return {\n sliderId: this.sliderId,\n itemCount: items.length,\n scroll: {\n current: current,\n max: max,\n progress: metrics.progress,\n progressPercent: metrics.progressPercent,\n direction: scrollDirection,\n isAtStart: metrics.isAtStart,\n isAtEnd: metrics.isAtEnd,\n },\n active: {\n index: nearestIndex,\n element: items[nearestIndex] || null,\n anchorScrollLeft: anchors[nearestIndex] || 0,\n distancePx: current - (anchors[nearestIndex] || 0),\n },\n previous: {\n index: nearestIndex > 0 ? nearestIndex - 1 : -1,\n element: nearestIndex > 0 ? items[nearestIndex - 1] : null,\n },\n next: {\n index: nearestIndex < items.length - 1 ? nearestIndex + 1 : -1,\n element:\n nearestIndex < items.length - 1 ? items[nearestIndex + 1] : null,\n },\n segment: {\n fromIndex: fromIndex,\n fromElement: items[fromIndex] || null,\n toIndex: toIndex,\n toElement: items[toIndex] || null,\n progress: segmentProgress,\n progressPercent: segmentProgress * 100,\n distancePx: segmentDistance,\n spanPx: segmentSpan,\n remainingPx: segmentRemaining,\n isBetween: isBetween,\n },\n slides: slides,\n };\n };\n\n Slider.prototype.updateSlideState = function (force) {\n var state = this.buildSlideState();\n var prevActiveIndex = this._lastSlideStateActiveIndex;\n var sig =\n state.active.index +\n \"|\" +\n state.segment.fromIndex +\n \"|\" +\n state.segment.toIndex +\n \"|\" +\n round(state.segment.progress, 4) +\n \"|\" +\n round(state.scroll.progress, 4) +\n \"|\" +\n state.scroll.direction;\n\n var progressSig =\n round(state.scroll.progress, 6) +\n \"|\" +\n round(state.scroll.current, 4) +\n \"|\" +\n round(state.scroll.max, 4) +\n \"|\" +\n state.scroll.direction +\n \"|\" +\n (state.scroll.isAtStart ? \"1\" : \"0\") +\n \"|\" +\n (state.scroll.isAtEnd ? \"1\" : \"0\");\n\n this.slideState = state;\n this.applySlideStateAttributes(state);\n this._lastSlideStateScrollLeft = state.scroll.current;\n\n if (force || progressSig !== this._progressSig) {\n this._progressSig = progressSig;\n this.dispatchProgressEvent(\"rtSlider:progress\", state.scroll);\n }\n\n if (force || sig !== this._slideStateSig) {\n this._slideStateSig = sig;\n this.dispatchSliderEvent(\"rtSlider:slide\", state);\n }\n\n if (force || state.active.index !== prevActiveIndex) {\n this._lastSlideStateActiveIndex = state.active.index;\n this.dispatchSliderEvent(\"rtSlider:active\", state);\n }\n };\n\n Slider.prototype.getSlideState = function () {\n if (!this.slideState) this.updateSlideState(true);\n return this.cloneSlideState(this.slideState);\n };\n\n Slider.prototype.getScrollState = function () {\n var state = this.getSlideState();\n return state ? this.cloneScrollState(state.scroll) : null;\n };\n\n Slider.prototype.getProgress = function () {\n var scroll = this.getScrollState();\n return scroll ? scroll.progress : 0;\n };\n\n Slider.prototype.getActiveIndex = function () {\n var state = this.getSlideState();\n return state && state.active ? state.active.index : -1;\n };\n\n Slider.prototype.getActiveElement = function () {\n var state = this.getSlideState();\n return state && state.active ? state.active.element : null;\n };\n\n Slider.prototype.scrollAlignToItem = function (el) {\n if (!el) return;\n var total = this.scroller.scrollWidth;\n var visible = this.scroller.clientWidth;\n if (total <= visible + 1) return;\n\n var alignLeft = this.getAlignTargetLeft();\n var r = el.getBoundingClientRect();\n var delta = r.left - alignLeft;\n if (!Number.isFinite(delta)) return;\n\n var target = this.safeClampScroll(this.scroller.scrollLeft + delta);\n\n if (this.lenis) {\n var duration = 1.2;\n try {\n this.lenis.scrollTo(target, {\n duration: duration,\n easing: function (t) {\n return Math.min(1, 1.001 - Math.pow(2, -10 * t));\n },\n immediate: false,\n lock: false,\n force: true,\n });\n } catch (e) {\n this.scroller.scrollTo({ left: target, behavior: \"smooth\" });\n }\n } else {\n this.scroller.scrollTo({ left: target, behavior: \"smooth\" });\n }\n };\n\n Slider.prototype.scrollByItems = function (n) {\n var total = this.scroller.scrollWidth;\n var visible = this.scroller.clientWidth;\n if (total <= visible + 1) return;\n\n var items = this.getOrderedItems();\n if (!items.length) {\n var step = this.itemStepWidth();\n var fallback =\n n > 0\n ? this.scroller.scrollLeft + step * n\n : this.scroller.scrollLeft - step * Math.abs(n);\n var clamped = this.safeClampScroll(fallback);\n if (this.lenis) {\n try {\n this.lenis.scrollTo(clamped, {\n duration: 1.2,\n easing: function (t) {\n return Math.min(1, 1.001 - Math.pow(2, -10 * t));\n },\n immediate: false,\n lock: false,\n force: true,\n });\n } catch (e) {\n this.scroller.scrollTo({ left: clamped, behavior: \"smooth\" });\n }\n } else {\n this.scroller.scrollTo({ left: clamped, behavior: \"smooth\" });\n }\n return;\n }\n\n var curIdx = this.getCurrentItemIndex(items);\n if (curIdx < 0) curIdx = 0;\n\n var nextIdx = curIdx;\n if (n > 0) nextIdx = Math.min(items.length - 1, curIdx + 1);\n else if (n < 0) nextIdx = Math.max(0, curIdx - 1);\n\n this.scrollAlignToItem(items[nextIdx]);\n };\n\n Slider.prototype.onPrevClick = function (e) {\n e.preventDefault();\n this.scrollByItems(-1);\n };\n\n Slider.prototype.onNextClick = function (e) {\n e.preventDefault();\n this.scrollByItems(1);\n };\n\n Slider.prototype.stopInertia = function () {\n if (this.inertiaId) {\n cancelAnimationFrame(this.inertiaId);\n this.inertiaId = 0;\n }\n };\n\n Slider.prototype.startDrag = function (e) {\n if (this.dragging) return;\n this.dragging = true;\n this.didDrag = true;\n this.didDragTs = performance.now();\n this.dragMovedPx = Math.max(\n this.dragMovedPx,\n Math.abs(e.clientX - this.startX),\n );\n\n if (this.lenis) {\n try {\n this.lenis.stop();\n this._lenisWasStopped = true;\n } catch (err) {\n this._lenisWasStopped = false;\n }\n }\n try {\n this.scroller.setPointerCapture(e.pointerId);\n } catch (err) {}\n this.scroller.classList.add(\"is-dragging\");\n this.scroller.style.userSelect = \"none\";\n this.stopInertia();\n this.lastX = e.clientX;\n this.lastT = performance.now();\n this.velocity = 0;\n };\n\n Slider.prototype.endDrag = function (e) {\n if (!this.dragging) return;\n this.dragging = false;\n this.scroller.classList.remove(\"is-dragging\");\n this.scroller.style.userSelect = \"\";\n if (e && e.pointerId != null) {\n try {\n this.scroller.releasePointerCapture(e.pointerId);\n } catch (err) {}\n }\n var minVel = 0.2;\n if (this.lenis) {\n if (this._lenisWasStopped) {\n try {\n this.lenis.start();\n } catch (err) {}\n }\n this._lenisWasStopped = false;\n if (Math.abs(this.velocity) >= minVel) {\n var throwDist = this.velocity * 24;\n var target = this.safeClampScroll(this.scroller.scrollLeft + throwDist);\n var speed = Math.min(2.0, Math.max(0.35, Math.abs(this.velocity) / 18));\n var duration = Math.min(1.35, Math.max(0.35, 0.85 / speed));\n try {\n this.lenis.scrollTo(target, {\n duration: duration,\n easing: function (t) {\n return Math.min(1, 1.001 - Math.pow(2, -10 * t));\n },\n immediate: false,\n lock: false,\n force: true,\n });\n } catch (err) {\n this.scroller.scrollTo({ left: target, behavior: \"smooth\" });\n }\n }\n return;\n }\n var decay = 0.92;\n var self = this;\n var step = function () {\n var next = self.safeClampScroll(self.scroller.scrollLeft + self.velocity);\n self.scroller.scrollLeft = next;\n self.velocity *= decay;\n var atEdge = next <= 0 || next >= self.maxScroll();\n if (Math.abs(self.velocity) < minVel || atEdge) {\n self.inertiaId = 0;\n return;\n }\n self.inertiaId = requestAnimationFrame(step);\n };\n if (Math.abs(this.velocity) >= minVel) {\n this.inertiaId = requestAnimationFrame(step);\n }\n };\n\n Slider.prototype.onPointerDown = function (e) {\n var total = this.scroller.scrollWidth;\n var visible = this.scroller.clientWidth;\n if (total <= visible + 1) return;\n if (e.pointerType === \"mouse\" && e.button !== 0) return;\n this.maybeDrag = true;\n this.dragging = false;\n this.didDrag = false;\n this.didDragTs = 0;\n this.dragMovedPx = 0;\n this.startX = e.clientX;\n this.startScroll = this.scroller.scrollLeft;\n this.lastX = e.clientX;\n this.lastT = performance.now();\n this.velocity = 0;\n };\n\n Slider.prototype.onPointerMove = function (e) {\n if (!this.maybeDrag && !this.dragging) return;\n var dxFromStart = e.clientX - this.startX;\n this.dragMovedPx = Math.max(this.dragMovedPx, Math.abs(dxFromStart));\n if (!this.dragging) {\n if (Math.abs(dxFromStart) >= 6) this.startDrag(e);\n else return;\n }\n var now = performance.now();\n var dx = e.clientX - this.lastX;\n var dt = Math.max(1, now - this.lastT);\n var target = this.startScroll - (e.clientX - this.startX);\n this.setScroll(target, { immediate: true, lock: true, force: true });\n this.velocity = -(dx / dt) * 16;\n this.lastX = e.clientX;\n this.lastT = now;\n };\n\n Slider.prototype.onPointerUp = function (e) {\n var self = this;\n if (this.dragging) this.endDrag(e);\n this.maybeDrag = false;\n if (this.dragMovedPx < 6) {\n this.didDrag = false;\n this.didDragTs = 0;\n } else {\n this.didDrag = true;\n this.didDragTs = performance.now();\n }\n setTimeout(function () {\n self.didDrag = false;\n self.didDragTs = 0;\n self.dragMovedPx = 0;\n }, 420);\n };\n\n Slider.prototype.onPointerCancel = function () {\n var self = this;\n if (this.dragging) {\n this.dragging = false;\n this.scroller.classList.remove(\"is-dragging\");\n this.scroller.style.userSelect = \"\";\n this.stopInertia();\n if (this.lenis && this._lenisWasStopped) {\n try {\n this.lenis.start();\n } catch (e) {}\n }\n this._lenisWasStopped = false;\n }\n this.maybeDrag = false;\n setTimeout(function () {\n self.didDrag = false;\n self.didDragTs = 0;\n self.dragMovedPx = 0;\n }, 0);\n };\n\n Slider.prototype.trackMetrics = function () {\n if (!this.scrollTrack || !this.scrollBar) {\n return {\n trackWidth: 0,\n barWidth: 0,\n maxX: 0,\n m: Math.max(1, this.maxScroll()),\n };\n }\n var trackWidth = this.scrollTrack.clientWidth;\n var m = Math.max(1, this.maxScroll());\n var barWidth = 0;\n var computed = this.computeScrollbarMetrics();\n if (computed) barWidth = computed.barWidth;\n else barWidth = this.scrollBar.getBoundingClientRect().width || 0;\n var maxX = Math.max(0, trackWidth - barWidth);\n return { trackWidth: trackWidth, barWidth: barWidth, maxX: maxX, m: m };\n };\n\n Slider.prototype.setScrollFromTrackX = function (x, opts) {\n var met = this.trackMetrics();\n var nx = Math.min(Math.max(x, 0), met.maxX);\n if (this.scrollBar)\n this.scrollBar.style.transform = \"translateX(\" + nx + \"px)\";\n var progress = met.maxX === 0 ? 0 : nx / met.maxX;\n var target = progress * met.m;\n this.setScroll(\n target,\n opts || { immediate: true, lock: true, force: true },\n );\n };\n\n Slider.prototype.startBarDrag = function (e) {\n if (!this.scrollTrack || !this.scrollBar) return;\n if (e.pointerType === \"mouse\" && e.button !== 0) return;\n e.preventDefault();\n e.stopPropagation();\n if (this.lenis) {\n try {\n this.lenis.stop();\n this._lenisWasStopped = true;\n } catch (err) {\n this._lenisWasStopped = false;\n }\n }\n this.draggingBar = true;\n this.barPointerId = e.pointerId != null ? e.pointerId : null;\n var barRect = this.scrollBar.getBoundingClientRect();\n this.barOffsetX = e.clientX - barRect.left;\n this.scrollBar.style.cursor = \"grabbing\";\n this.scrollTrack.style.cursor = \"grabbing\";\n try {\n this.scrollTrack.setPointerCapture(e.pointerId);\n } catch (err) {}\n var trackRect = this.scrollTrack.getBoundingClientRect();\n var x = e.clientX - trackRect.left - this.barOffsetX;\n this.setScrollFromTrackX(x, { immediate: true, lock: true, force: true });\n };\n\n Slider.prototype.onTrackPointerDown = function (e) {\n if (!this.scrollTrack || !this.scrollBar) return;\n this.updateScrollbar();\n this.startBarDrag(e);\n };\n\n Slider.prototype.onTrackPointerMove = function (e) {\n if (!this.draggingBar || !this.scrollTrack) return;\n if (\n this.barPointerId != null &&\n e.pointerId != null &&\n e.pointerId !== this.barPointerId\n )\n return;\n e.preventDefault();\n var trackRect = this.scrollTrack.getBoundingClientRect();\n var x = e.clientX - trackRect.left - this.barOffsetX;\n this.setScrollFromTrackX(x, { immediate: true, lock: true, force: true });\n };\n\n Slider.prototype.endBarDrag = function (e) {\n if (!this.draggingBar) return;\n this.draggingBar = false;\n if (this.scrollBar) this.scrollBar.style.cursor = \"grab\";\n if (this.scrollTrack) this.scrollTrack.style.cursor = \"pointer\";\n if (this.scrollTrack && e && e.pointerId != null) {\n try {\n this.scrollTrack.releasePointerCapture(e.pointerId);\n } catch (err) {}\n }\n if (this.lenis && this._lenisWasStopped) {\n try {\n this.lenis.start();\n } catch (err) {}\n }\n this._lenisWasStopped = false;\n this.updateScrollbar();\n this.updateButtons();\n this.updateOverlays();\n this.updateSlideState(false);\n this.barPointerId = null;\n };\n\n Slider.prototype.detectLinksInItems = function () {\n if (!this.conf.item) return false;\n return !!this.list.querySelector(this.conf.item + \" a[href]\");\n };\n\n Slider.prototype.clearCursorBindings = function () {\n for (var i = 0; i < this.cursorBindings.length; i++) {\n var b = this.cursorBindings[i];\n b.el.removeEventListener(b.type, b.fn);\n }\n this.cursorBindings = [];\n };\n\n Slider.prototype.setupCursorMode = function () {\n this.clearCursorBindings();\n var total = this.scroller.scrollWidth;\n var visible = this.scroller.clientWidth;\n var scrollable = total > visible + 1;\n if (!scrollable) {\n this.scroller.style.cursor = \"\";\n return;\n }\n if (!this.mq.matches) {\n this.scroller.style.cursor = \"\";\n return;\n }\n this.hasLinks = this.detectLinksInItems();\n if (this.hasLinks) {\n this.scroller.style.cursor = \"\";\n return;\n }\n var self = this;\n var onEnter = function () {\n if (!self.scroller.classList.contains(\"is-dragging\")) {\n self.scroller.style.cursor = \"grab\";\n }\n };\n var onLeave = function () {\n self.scroller.style.cursor = \"\";\n };\n this.scroller.addEventListener(\"mouseenter\", onEnter);\n this.scroller.addEventListener(\"mouseleave\", onLeave);\n this.cursorBindings.push({\n el: this.scroller,\n type: \"mouseenter\",\n fn: onEnter,\n });\n this.cursorBindings.push({\n el: this.scroller,\n type: \"mouseleave\",\n fn: onLeave,\n });\n };\n\n Slider.prototype.captureBasePaddingBottomOnce = function () {\n if (this._basePaddingCaptured) return;\n var cs = getComputedStyle(this.scroller);\n var pb = parseFloat(cs.paddingBottom || \"0\") || 0;\n this._basePaddingBottomPx = pb;\n this._basePaddingCaptured = true;\n };\n\n Slider.prototype.applyIOSScrollIndicatorMask = function () {\n if (!this._basePaddingCaptured) this.captureBasePaddingBottomOnce();\n if (this.mq.matches) {\n this.scroller.style.removeProperty(\"--rt-slider-mask-bg\");\n this.scroller.style.removeProperty(\"--rt-slider-mask-h\");\n this.scroller.style.removeProperty(\"--rt-slider-base-pb\");\n return;\n }\n var bg = findNearestOpaqueBgColor(this.scroller);\n this.scroller.style.setProperty(\"--rt-slider-mask-bg\", bg);\n this.scroller.style.setProperty(\"--rt-slider-mask-h\", \"12px\");\n this.scroller.style.setProperty(\n \"--rt-slider-base-pb\",\n (this._basePaddingBottomPx || 0) + \"px\",\n );\n };\n\n Slider.prototype.applyListStyles = function () {\n var listUID = assignUID(this.list, \"data-rt-slider-list-uid\");\n var scrollerUID = assignUID(this.scroller, \"data-rt-slider-scroller-uid\");\n var isDesktop = this.mq.matches;\n var scrollbarStyles = \"\";\n if (this.scrollTrack && this.scrollBar) {\n var trackUID = assignUID(this.scrollTrack, \"data-rt-slider-track-uid\");\n var barUID = assignUID(this.scrollBar, \"data-rt-slider-bar-uid\");\n if (isDesktop) {\n scrollbarStyles =\n '[data-rt-slider-track-uid=\"' +\n trackUID +\n '\"]{position:relative; touch-action:none; overflow: visible !important;}' +\n '[data-rt-slider-track-uid=\"' +\n trackUID +\n '\"]::before{content:\"\";position:absolute;top:-30px;bottom:-30px;left:0;right:0;z-index:0; cursor:pointer; pointer-events:auto;}' +\n '[data-rt-slider-bar-uid=\"' +\n barUID +\n '\"]{position:relative; z-index:2; touch-action:none;}' +\n '[data-rt-slider-bar-uid=\"' +\n barUID +\n '\"]::after{content:\"\";position:absolute;top:-30px;bottom:-30px;left:0;right:0;z-index:3; cursor:grab; pointer-events:auto;}';\n } else {\n scrollbarStyles =\n '[data-rt-slider-track-uid=\"' +\n trackUID +\n '\"]{position:relative; touch-action:auto; overflow: visible !important; pointer-events:none !important; user-select:none !important;}' +\n '[data-rt-slider-track-uid=\"' +\n trackUID +\n '\"]::before{content:\"\";position:absolute;top:-30px;bottom:-30px;left:0;right:0;z-index:0; pointer-events:none !important;}' +\n '[data-rt-slider-bar-uid=\"' +\n barUID +\n '\"]{position:relative; z-index:2; touch-action:auto; pointer-events:none !important; user-select:none !important;}' +\n '[data-rt-slider-bar-uid=\"' +\n barUID +\n '\"]::after{content:\"\";position:absolute;top:-30px;bottom:-30px;left:0;right:0;z-index:3; pointer-events:none !important;}';\n }\n }\n var hideNativeScrollbarCSS =\n '[data-rt-slider-list-uid=\"' +\n listUID +\n '\"]::-webkit-scrollbar{width:0 !important;height:0 !important;display:none !important;background:transparent !important;}' +\n '[data-rt-slider-list-uid=\"' +\n listUID +\n '\"]::-webkit-scrollbar-thumb{background:transparent !important;}' +\n '[data-rt-slider-list-uid=\"' +\n listUID +\n '\"]::-webkit-scrollbar-track{background:transparent !important;}' +\n '[data-rt-slider-list-uid=\"' +\n listUID +\n '\"]{scrollbar-width:none !important;-ms-overflow-style:none !important;}' +\n '[data-rt-slider-scroller-uid=\"' +\n scrollerUID +\n '\"]::-webkit-scrollbar{width:0 !important;height:0 !important;display:none !important;background:transparent !important;}' +\n '[data-rt-slider-scroller-uid=\"' +\n scrollerUID +\n '\"]::-webkit-scrollbar-thumb{background:transparent !important;}' +\n '[data-rt-slider-scroller-uid=\"' +\n scrollerUID +\n '\"]::-webkit-scrollbar-track{background:transparent !important;}' +\n '[data-rt-slider-scroller-uid=\"' +\n scrollerUID +\n '\"]{scrollbar-width:none !important;-ms-overflow-style:none !important;}';\n\n var iosMaskCSS = isDesktop\n ? \"\"\n : '[data-rt-slider-scroller-uid=\"' +\n scrollerUID +\n '\"]{position:relative;padding-bottom:calc(var(--rt-slider-base-pb, 0px) + var(--rt-slider-mask-h, 12px));}' +\n '[data-rt-slider-scroller-uid=\"' +\n scrollerUID +\n '\"]::after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:var(--rt-slider-mask-h, 12px);pointer-events:none;z-index:2147483647;background:var(--rt-slider-mask-bg, transparent);}';\n\n var draggingCSS =\n '[data-rt-slider-scroller-uid=\"' +\n scrollerUID +\n '\"].is-dragging{cursor:grabbing !important;user-select:none}' +\n '[data-rt-slider-list-uid=\"' +\n listUID +\n '\"].is-dragging{cursor:grabbing !important;user-select:none}' +\n '[data-rt-slider-scroller-uid=\"' +\n scrollerUID +\n '\"].is-dragging img,[data-rt-slider-scroller-uid=\"' +\n scrollerUID +\n '\"].is-dragging a,[data-rt-slider-scroller-uid=\"' +\n scrollerUID +\n '\"].is-dragging ' +\n this.conf.item +\n \"{user-select:none;-webkit-user-drag:none}\" +\n '[data-rt-slider-list-uid=\"' +\n listUID +\n '\"] img{-webkit-user-drag:none}';\n\n this._injectedKey = \"rt-ss-\" + listUID;\n injectOnce(\n this._injectedKey,\n hideNativeScrollbarCSS + draggingCSS + scrollbarStyles + iosMaskCSS,\n );\n };\n\n Slider.prototype.onResize = function () {\n this.stopInertia();\n this.rafUpdate();\n this.setupCursorMode();\n this.applyIOSScrollIndicatorMask();\n this.applyListStyles();\n this.updateSlideState(true);\n };\n\n Slider.prototype.onClickCapture = function (e) {\n if (!this.didDragTs) return;\n if (performance.now() - this.didDragTs > 420) return;\n var a =\n e.target && e.target.closest\n ? e.target.closest(\n \"a,button,[role='button'],input,textarea,select,label\",\n )\n : null;\n if (!a) return;\n e.preventDefault();\n e.stopPropagation();\n };\n\n Slider.prototype.getLenisOptions = function () {\n var prefix = \"data-rt-slider-\";\n var el = this.root;\n function getAttr(name) {\n return el.getAttribute(prefix + name);\n }\n\n var options = {\n wrapper: this.scroller,\n content: this.list,\n orientation: \"horizontal\",\n gestureOrientation: \"horizontal\",\n smoothWheel: true,\n syncTouch: false,\n };\n\n var lerp = parseNum(getAttr(\"lerp\"), undefined);\n var duration = parseNum(getAttr(\"duration\"), undefined);\n var easing = parseStr(getAttr(\"easing\"), \"\");\n var easingFn = parseEasing(easing);\n\n if (lerp !== undefined) options.lerp = lerp;\n else if (duration !== undefined) options.duration = duration;\n if (easingFn) options.easing = easingFn;\n\n var orientation = parseStr(getAttr(\"orientation\"), \"\");\n if (orientation) options.orientation = orientation;\n var gestureOrientation = parseStr(getAttr(\"gesture-orientation\"), \"\");\n if (gestureOrientation) options.gestureOrientation = gestureOrientation;\n\n var smoothWheel = getAttr(\"smooth-wheel\");\n if (smoothWheel !== null)\n options.smoothWheel = parseBool(smoothWheel, true);\n\n var wheelMultiplier = parseNum(getAttr(\"wheel-multiplier\"), undefined);\n if (wheelMultiplier !== undefined)\n options.wheelMultiplier = wheelMultiplier;\n var touchMultiplier = parseNum(getAttr(\"touch-multiplier\"), undefined);\n if (touchMultiplier !== undefined)\n options.touchMultiplier = touchMultiplier;\n\n var infinite = parseBool(getAttr(\"infinite\"), false);\n if (infinite) options.infinite = true;\n var autoResize = parseBool(getAttr(\"auto-resize\"), true);\n if (autoResize === false) options.autoResize = false;\n\n var jsonStr = getAttr(\"options-json\");\n if (jsonStr) {\n try {\n var jsonOpts = JSON.parse(jsonStr);\n if (jsonOpts && typeof jsonOpts === \"object\") {\n for (var key in jsonOpts) options[key] = jsonOpts[key];\n }\n } catch (e) {}\n }\n return options;\n };\n\n Slider.prototype.setupLenisInstance = function () {\n if (!this.mq.matches) return;\n if (this.lenis) return;\n var options = this.getLenisOptions();\n try {\n this.lenis = new window.Lenis(options);\n LenisHub.add(this.lenis);\n } catch (e) {\n this.lenis = null;\n }\n };\n\n Slider.prototype.bindEvents = function () {\n this._onScroll = this.onScroll.bind(this);\n this.scroller.addEventListener(\"scroll\", this._onScroll, { passive: true });\n\n this._onResize = this.onResize.bind(this);\n window.addEventListener(\"resize\", this._onResize);\n\n if (this.mq.matches) {\n this._onPD = this.onPointerDown.bind(this);\n this.scroller.addEventListener(\"pointerdown\", this._onPD);\n this._onPM = this.onPointerMove.bind(this);\n this.scroller.addEventListener(\"pointermove\", this._onPM);\n this._onPU = this.onPointerUp.bind(this);\n this.scroller.addEventListener(\"pointerup\", this._onPU);\n this._onPC = this.onPointerCancel.bind(this);\n this.scroller.addEventListener(\"pointercancel\", this._onPC);\n this._onPL = this.onPointerCancel.bind(this);\n this.scroller.addEventListener(\"pointerleave\", this._onPL);\n this._onClickCap = this.onClickCapture.bind(this);\n this.scroller.addEventListener(\"click\", this._onClickCap, true);\n }\n\n if (this.btnPrev) {\n this._onPrev = this.onPrevClick.bind(this);\n this.btnPrev.addEventListener(\"click\", this._onPrev);\n }\n if (this.btnNext) {\n this._onNext = this.onNextClick.bind(this);\n this.btnNext.addEventListener(\"click\", this._onNext);\n }\n\n if (this.mq.matches) {\n if (this.scrollBar) {\n this.scrollBar.style.touchAction = \"none\";\n this.scrollBar.style.cursor = \"grab\";\n }\n if (this.scrollTrack) {\n this.scrollTrack.style.userSelect = \"none\";\n this.scrollTrack.style.cursor = \"pointer\";\n this.scrollTrack.style.touchAction = \"none\";\n this._onTPD = this.onTrackPointerDown.bind(this);\n this.scrollTrack.addEventListener(\"pointerdown\", this._onTPD);\n this._onTPM = this.onTrackPointerMove.bind(this);\n this.scrollTrack.addEventListener(\"pointermove\", this._onTPM);\n this._onTPU = this.endBarDrag.bind(this);\n this.scrollTrack.addEventListener(\"pointerup\", this._onTPU);\n this._onTPC = this.endBarDrag.bind(this);\n this.scrollTrack.addEventListener(\"pointercancel\", this._onTPC);\n this._onTPL = this.endBarDrag.bind(this);\n this.scrollTrack.addEventListener(\"pointerleave\", this._onTPL);\n }\n } else {\n if (this.scrollBar) {\n this.scrollBar.style.touchAction = \"\";\n this.scrollBar.style.cursor = \"\";\n }\n if (this.scrollTrack) {\n this.scrollTrack.style.userSelect = \"\";\n this.scrollTrack.style.cursor = \"\";\n this.scrollTrack.style.touchAction = \"\";\n }\n }\n\n var self = this;\n this._onMQ = function () {\n self.applyIOSScrollIndicatorMask();\n self.applyListStyles();\n self.setupCursorMode();\n self.rafUpdate();\n self.updateSlideState(true);\n };\n if (this.mq.addEventListener)\n this.mq.addEventListener(\"change\", this._onMQ);\n else if (this.mq.addListener) this.mq.addListener(this._onMQ);\n\n var imgs = Array.from(this.list.querySelectorAll(\"img\"));\n imgs.forEach(function (img) {\n if (img.complete) return;\n var update = function () {\n self.rafUpdate();\n self.setupCursorMode();\n self.applyIOSScrollIndicatorMask();\n self.applyListStyles();\n self.updateSlideState(true);\n };\n img.addEventListener(\"load\", update, { once: true });\n img.addEventListener(\"error\", update, { once: true });\n self.imgHandlers.push({ img: img, onL: update, onE: update });\n });\n\n if (this.ro) {\n this.ro.observe(this.list);\n this.ro.observe(this.scroller);\n if (this.scrollTrack) this.ro.observe(this.scrollTrack);\n }\n\n this._onPH = this.destroy.bind(this);\n window.addEventListener(\"pagehide\", this._onPH);\n this._onBU = this.destroy.bind(this);\n window.addEventListener(\"beforeunload\", this._onBU);\n };\n\n Slider.prototype.init = function () {\n this.captureBasePaddingBottomOnce();\n this.applyIOSScrollIndicatorMask();\n this.applyListStyles();\n\n var self = this;\n if (this.mq.matches) {\n loadLenis()\n .then(function () {\n self.setupLenisInstance();\n })\n .catch(function () {});\n }\n\n this.rafUpdate();\n this._onWL = function () {\n self.rafUpdate();\n self.applyIOSScrollIndicatorMask();\n self.applyListStyles();\n self.updateSlideState(true);\n };\n window.addEventListener(\"load\", this._onWL);\n this.setupCursorMode();\n this.bindEvents();\n this.updateSlideState(true);\n };\n\n Slider.prototype.destroy = function () {\n this.stopInertia();\n if (this._touchClampTimer) clearTimeout(this._touchClampTimer);\n\n if (this.lenis) {\n try {\n LenisHub.remove(this.lenis);\n } catch (e) {}\n try {\n this.lenis.destroy();\n } catch (e) {}\n this.lenis = null;\n }\n\n if (this._onScroll)\n this.scroller.removeEventListener(\"scroll\", this._onScroll);\n if (this._onResize) window.removeEventListener(\"resize\", this._onResize);\n\n if (this._onPD)\n this.scroller.removeEventListener(\"pointerdown\", this._onPD);\n if (this._onPM)\n this.scroller.removeEventListener(\"pointermove\", this._onPM);\n if (this._onPU) this.scroller.removeEventListener(\"pointerup\", this._onPU);\n if (this._onPC)\n this.scroller.removeEventListener(\"pointercancel\", this._onPC);\n if (this._onPL)\n this.scroller.removeEventListener(\"pointerleave\", this._onPL);\n if (this._onClickCap)\n this.scroller.removeEventListener(\"click\", this._onClickCap, true);\n\n if (this._onPrev && this.btnPrev)\n this.btnPrev.removeEventListener(\"click\", this._onPrev);\n if (this._onNext && this.btnNext)\n this.btnNext.removeEventListener(\"click\", this._onNext);\n\n if (this.scrollTrack) {\n if (this._onTPD)\n this.scrollTrack.removeEventListener(\"pointerdown\", this._onTPD);\n if (this._onTPM)\n this.scrollTrack.removeEventListener(\"pointermove\", this._onTPM);\n if (this._onTPU)\n this.scrollTrack.removeEventListener(\"pointerup\", this._onTPU);\n if (this._onTPC)\n this.scrollTrack.removeEventListener(\"pointercancel\", this._onTPC);\n if (this._onTPL)\n this.scrollTrack.removeEventListener(\"pointerleave\", this._onTPL);\n }\n\n if (this.mq.removeEventListener)\n this.mq.removeEventListener(\"change\", this._onMQ);\n else if (this.mq.removeListener) this.mq.removeListener(this._onMQ);\n\n if (this._onWL) window.removeEventListener(\"load\", this._onWL);\n if (this._onPH) window.removeEventListener(\"pagehide\", this._onPH);\n if (this._onBU) window.removeEventListener(\"beforeunload\", this._onBU);\n\n this.imgHandlers.forEach(function (h) {\n h.img.removeEventListener(\"load\", h.onL);\n h.img.removeEventListener(\"error\", h.onE);\n });\n this.imgHandlers = [];\n\n this.clearCursorBindings();\n\n this.scroller.style.cursor = \"\";\n this.scroller.style.removeProperty(\"--rt-slider-mask-bg\");\n this.scroller.style.removeProperty(\"--rt-slider-mask-h\");\n this.scroller.style.removeProperty(\"--rt-slider-base-pb\");\n\n if (this.ro) this.ro.disconnect();\n if (this._injectedKey) {\n removeInjected(this._injectedKey);\n this._injectedKey = null;\n }\n };\n\n var state = {\n instances: {},\n order: [],\n };\n\n function init() {\n var roots = document.querySelectorAll(\"[data-rt-slider]\");\n var autoCount = 0;\n for (var i = 0; i < roots.length; i++) {\n var root = roots[i];\n var id = root.getAttribute(\"data-rt-slider-id\");\n if (!id) {\n autoCount++;\n id = \"slider-\" + autoCount;\n root.setAttribute(\"data-rt-slider-id\", id);\n }\n if (state.instances[id]) continue;\n\n var inst = new Slider(root, id);\n if (inst.valid) {\n state.instances[id] = inst;\n state.order.push(id);\n inst.init();\n }\n }\n }\n\n function makeApi() {\n return {\n __initialized: true,\n ids: function () {\n return state.order.slice();\n },\n get: function (id) {\n return state.instances[id] || null;\n },\n getSlideState: function (id) {\n var inst = state.instances[id];\n return inst ? inst.getSlideState() : null;\n },\n getScrollState: function (id) {\n var inst = state.instances[id];\n return inst ? inst.getScrollState() : null;\n },\n getProgress: function (id) {\n var inst = state.instances[id];\n return inst ? inst.getProgress() : 0;\n },\n refresh: function () {\n var keys = state.order;\n for (var i = 0; i < keys.length; i++) {\n var inst = state.instances[keys[i]];\n if (inst) inst.onResize();\n }\n },\n destroy: function (id) {\n if (typeof id === \"string\") {\n var inst = state.instances[id];\n if (inst) {\n inst.destroy();\n delete state.instances[id];\n var idx = state.order.indexOf(id);\n if (idx > -1) state.order.splice(idx, 1);\n }\n return;\n }\n for (var i = 0; i < state.order.length; i++) {\n var k = state.order[i];\n if (state.instances[k]) state.instances[k].destroy();\n }\n state.instances = {};\n state.order = [];\n },\n };\n }\n\n if (document.readyState === \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", init);\n } else {\n init();\n }\n\n window[RT_NS] = makeApi();\n})();\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["state"]
|
|
7
7
|
}
|