UNPKG

svelte-tailwind-ripple

Version:

Use Material Design Ripple Effects With TailwindCss 4

24 lines (23 loc) 725 B
import * as utils from "./utils.js"; const ripple = (node, params) => { let parent = $state(null); function create(e) { const rect = node.getBoundingClientRect(); const r = utils.findFurthestPoint(e.clientX, node.offsetWidth, rect.left, e.clientY, node.offsetHeight, rect.top); utils.createEffect(node, e.clientX, e.clientY, rect, r, params.duration, params.classes); } function exec() { parent = node.parentElement; parent.addEventListener("mousedown", create); } exec(); return { update() { exec(); }, destroy() { parent.removeEventListener("mousedown", create); }, }; }; export default ripple;