{"version":3,"file":"DAlWIUUG.js","sources":["../../../../node_modules/vuetify/lib/directives/ripple/index.mjs"],"sourcesContent":["// Styles\nimport \"./VRipple.css\";\n\n// Utilities\nimport { isObject, keyCodes } from \"../../util/index.mjs\"; // Types\nconst stopSymbol = Symbol('rippleStop');\nconst DELAY_RIPPLE = 80;\nfunction transform(el, value) {\n el.style.transform = value;\n el.style.webkitTransform = value;\n}\nfunction isTouchEvent(e) {\n return e.constructor.name === 'TouchEvent';\n}\nfunction isKeyboardEvent(e) {\n return e.constructor.name === 'KeyboardEvent';\n}\nconst calculate = function (e, el) {\n let value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n let localX = 0;\n let localY = 0;\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect();\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e;\n localX = target.clientX - offset.left;\n localY = target.clientY - offset.top;\n }\n let radius = 0;\n let scale = 0.3;\n if (el._ripple?.circle) {\n scale = 0.15;\n radius = el.clientWidth / 2;\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4;\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2;\n }\n const centerX = `${(el.clientWidth - radius * 2) / 2}px`;\n const centerY = `${(el.clientHeight - radius * 2) / 2}px`;\n const x = value.center ? centerX : `${localX - radius}px`;\n const y = value.center ? centerY : `${localY - radius}px`;\n return {\n radius,\n scale,\n x,\n y,\n centerX,\n centerY\n };\n};\nconst ripples = {\n /* eslint-disable max-statements */\n show(e, el) {\n let value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n if (!el?._ripple?.enabled) {\n return;\n }\n const container = document.createElement('span');\n const animation = document.createElement('span');\n container.appendChild(animation);\n container.className = 'v-ripple__container';\n if (value.class) {\n container.className += ` ${value.class}`;\n }\n const {\n radius,\n scale,\n x,\n y,\n centerX,\n centerY\n } = calculate(e, el, value);\n const size = `${radius * 2}px`;\n animation.className = 'v-ripple__animation';\n animation.style.width = size;\n animation.style.height = size;\n el.appendChild(container);\n const computed = window.getComputedStyle(el);\n if (computed && computed.position === 'static') {\n el.style.position = 'relative';\n el.dataset.previousPosition = 'static';\n }\n animation.classList.add('v-ripple__animation--enter');\n animation.classList.add('v-ripple__animation--visible');\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`);\n animation.dataset.activated = String(performance.now());\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--enter');\n animation.classList.add('v-ripple__animation--in');\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`);\n }, 0);\n },\n hide(el) {\n if (!el?._ripple?.enabled) return;\n const ripples = el.getElementsByClassName('v-ripple__animation');\n if (ripples.length === 0) return;\n const animation = ripples[ripples.length - 1];\n if (animation.dataset.isHiding) return;else animation.dataset.isHiding = 'true';\n const diff = performance.now() - Number(animation.dataset.activated);\n const delay = Math.max(250 - diff, 0);\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in');\n animation.classList.add('v-ripple__animation--out');\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation');\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition;\n delete el.dataset.previousPosition;\n }\n if (animation.parentNode?.parentNode === el) el.removeChild(animation.parentNode);\n }, 300);\n }, delay);\n }\n};\nfunction isRippleEnabled(value) {\n return typeof value === 'undefined' || !!value;\n}\nfunction rippleShow(e) {\n const value = {};\n const element = e.currentTarget;\n if (!element?._ripple || element._ripple.touched || e[stopSymbol]) return;\n\n // Don't allow the event to trigger ripples on any other elements\n e[stopSymbol] = true;\n if (isTouchEvent(e)) {\n element._ripple.touched = true;\n element._ripple.isTouch = true;\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return;\n }\n value.center = element._ripple.centered || isKeyboardEvent(e);\n if (element._ripple.class) {\n value.class = element._ripple.class;\n }\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return;\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value);\n };\n element._ripple.showTimer = window.setTimeout(() => {\n if (element?._ripple?.showTimerCommit) {\n element._ripple.showTimerCommit();\n element._ripple.showTimerCommit = null;\n }\n }, DELAY_RIPPLE);\n } else {\n ripples.show(e, element, value);\n }\n}\nfunction rippleStop(e) {\n e[stopSymbol] = true;\n}\nfunction rippleHide(e) {\n const element = e.currentTarget;\n if (!element?._ripple) return;\n window.clearTimeout(element._ripple.showTimer);\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit();\n element._ripple.showTimerCommit = null;\n\n // re-queue ripple hiding\n element._ripple.showTimer = window.setTimeout(() => {\n rippleHide(e);\n });\n return;\n }\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false;\n }\n });\n ripples.hide(element);\n}\nfunction rippleCancelShow(e) {\n const element = e.currentTarget;\n if (!element?._ripple) return;\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null;\n }\n window.clearTimeout(element._ripple.showTimer);\n}\nlet keyboardRipple = false;\nfunction keyboardRippleShow(e) {\n if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {\n keyboardRipple = true;\n rippleShow(e);\n }\n}\nfunction keyboardRippleHide(e) {\n keyboardRipple = false;\n rippleHide(e);\n}\nfunction focusRippleHide(e) {\n if (keyboardRipple) {\n keyboardRipple = false;\n rippleHide(e);\n }\n}\nfunction updateRipple(el, binding, wasEnabled) {\n const {\n value,\n modifiers\n } = binding;\n const enabled = isRippleEnabled(value);\n if (!enabled) {\n ripples.hide(el);\n }\n el._ripple = el._ripple ?? {};\n el._ripple.enabled = enabled;\n el._ripple.centered = modifiers.center;\n el._ripple.circle = modifiers.circle;\n if (isObject(value) && value.class) {\n el._ripple.class = value.class;\n }\n if (enabled && !wasEnabled) {\n if (modifiers.stop) {\n el.addEventListener('touchstart', rippleStop, {\n passive: true\n });\n el.addEventListener('mousedown', rippleStop);\n return;\n }\n el.addEventListener('touchstart', rippleShow, {\n passive: true\n });\n el.addEventListener('touchend', rippleHide, {\n passive: true\n });\n el.addEventListener('touchmove', rippleCancelShow, {\n passive: true\n });\n el.addEventListener('touchcancel', rippleHide);\n el.addEventListener('mousedown', rippleShow);\n el.addEventListener('mouseup', rippleHide);\n el.addEventListener('mouseleave', rippleHide);\n el.addEventListener('keydown', keyboardRippleShow);\n el.addEventListener('keyup', keyboardRippleHide);\n el.addEventListener('blur', focusRippleHide);\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, {\n passive: true\n });\n } else if (!enabled && wasEnabled) {\n removeListeners(el);\n }\n}\nfunction removeListeners(el) {\n el.removeEventListener('mousedown', rippleShow);\n el.removeEventListener('touchstart', rippleShow);\n el.removeEventListener('touchend', rippleHide);\n el.removeEventListener('touchmove', rippleCancelShow);\n el.removeEventListener('touchcancel', rippleHide);\n el.removeEventListener('mouseup', rippleHide);\n el.removeEventListener('mouseleave', rippleHide);\n el.removeEventListener('keydown', keyboardRippleShow);\n el.removeEventListener('keyup', keyboardRippleHide);\n el.removeEventListener('dragstart', rippleHide);\n el.removeEventListener('blur', focusRippleHide);\n}\nfunction mounted(el, binding) {\n updateRipple(el, binding, false);\n}\nfunction unmounted(el) {\n delete el._ripple;\n removeListeners(el);\n}\nfunction updated(el, binding) {\n if (binding.value === binding.oldValue) {\n return;\n }\n const wasEnabled = isRippleEnabled(binding.oldValue);\n updateRipple(el, binding, wasEnabled);\n}\nexport const Ripple = {\n mounted,\n unmounted,\n updated\n};\nexport default Ripple;\n//# sourceMappingURL=index.mjs.map"],"names":["stopSymbol","DELAY_RIPPLE","transform","el","value","isTouchEvent","isKeyboardEvent","calculate","localX","localY","offset","target","radius","scale","_a","centerX","centerY","x","y","ripples","container","animation","size","computed","diff","delay","isRippleEnabled","rippleShow","element","rippleStop","rippleHide","rippleCancelShow","keyboardRipple","keyboardRippleShow","keyCodes","keyboardRippleHide","focusRippleHide","updateRipple","binding","wasEnabled","modifiers","enabled","isObject","removeListeners","mounted","unmounted","updated","Ripple"],"mappings":"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","debug_id":"4f468861-013a-5b86-9a87-87afb53a5e87"}