@vuesax-alpha/nightly
Version:
A Component Library for Vue 3
1 lines • 11.8 kB
Source Map (JSON)
{"version":3,"file":"ripple.mjs","sources":["../../../../packages/utils/ripple.ts"],"sourcesContent":["import { setColor } from './color'\n\nconst ripple = (evs: any, color?: string, solid?: boolean) => {\n const el = evs.currentTarget\n const offset = el.getBoundingClientRect()\n const x = evs.clientX - offset.left\n const y = evs.clientY - offset.top\n\n let time = 0.6\n\n if (el.clientWidth > 150) {\n time = 1.2\n }\n\n const effectContent = document.createElement('div')\n\n effectContent.className = 'vs-ripple'\n\n if (!color) {\n setColor('color', '#fff', effectContent)\n }\n\n const effect = document.createElement('div')\n\n effect.className = 'vs-ripple--default'\n if (solid) {\n effect.classList.add('vs-ripple--solid')\n // setColor('color', color || 'primary', effectContent)\n }\n effect.style.transition = `all ${time}s ease`\n\n effect.style.left = `${x}px`\n effect.style.top = `${y}px`\n\n effectContent.appendChild(effect)\n\n el.appendChild(effectContent)\n\n effect.style.width = `${el.clientWidth * 2.5}px`\n effect.style.height = `${el.clientWidth * 2.5}px`\n effect.style.opacity = `1`\n\n let noTime = false\n setTimeout(() => {\n noTime = true\n }, 300)\n\n function removeEffect(evs: any) {\n effect.style.transition = `all 0.${time * 600}s ease`\n setTimeout(\n () => {\n effect.style.opacity = '0'\n setTimeout(() => {\n el.removeChild(effectContent)\n }, time * 300)\n },\n noTime ? 0 : time * 400\n )\n\n evs.target.removeEventListener('mouseup', removeEffect)\n evs.target.removeEventListener('mouseleave', removeEffect)\n }\n\n evs.target.addEventListener('mouseup', removeEffect)\n evs.target.addEventListener('mouseleave', removeEffect)\n}\n\nconst rippleReverse = (evs: any) => {\n const el = evs.currentTarget\n const offset = el.getBoundingClientRect()\n const x = evs.clientX - offset.left\n const y = evs.clientY - offset.top\n\n let time = 0.6\n\n if (el.clientWidth > 150) {\n time = 1.2\n }\n\n const effectContent = document.createElement('div')\n\n effectContent.className = 'vs-ripple'\n\n const effect = document.createElement('div')\n\n effect.className = 'vs-ripple--invert'\n // effect.style.transition = `all ${time}s ease`\n\n effect.style.left = `${x}px`\n effect.style.top = `${y}px`\n effect.style.width = `${el.clientWidth * 2.5}px`\n effect.style.height = `${el.clientWidth * 2.5}px`\n effect.style.opacity = '0'\n\n effectContent.appendChild(effect)\n\n el.appendChild(effectContent)\n\n setTimeout(() => {\n effect.style.width = '0px'\n effect.style.height = '0px'\n effect.style.opacity = '0.5'\n }, 1)\n\n let noTime = false\n setTimeout(() => {\n noTime = true\n }, 300)\n\n function removeEffect(evs: any) {\n effect.style.transition = `all 0.${time * 600}s ease`\n setTimeout(\n () => {\n effect.style.opacity = '0'\n setTimeout(() => {\n el.removeChild(effectContent)\n }, time * 300)\n },\n noTime ? 0 : time * 400\n )\n\n evs.target.removeEventListener('mouseup', removeEffect)\n evs.target.removeEventListener('mouseleave', removeEffect)\n }\n\n evs.target.addEventListener('mouseup', removeEffect)\n evs.target.addEventListener('mouseleave', removeEffect)\n}\n\n//\nconst rippleCut = (evs: any) => {\n const el = evs.currentTarget\n const offset = el.getBoundingClientRect()\n const x = evs.clientX - offset.left\n const y = evs.clientY - offset.top\n\n let time = 0.6\n\n if (el.clientWidth > 150) {\n time = 1.2\n }\n\n const effectContent = document.createElement('div')\n\n effectContent.className = 'vs-ripple'\n\n const effect = document.createElement('div')\n const effect2 = document.createElement('div')\n\n effect.className = 'vs-ripple--cut-1'\n effect2.className = 'vs-ripple--cut-2'\n // effect.style.transition = `all ${time}s ease`\n\n effect.style.left = effect2.style.left = `${x}px`\n effect.style.top = effect2.style.top = `${y}px`\n effect.style.width = effect2.style.width = `${el.clientWidth * 2.5}px`\n effect.style.height = effect2.style.height = `${el.clientWidth * 2.5}px`\n effect.style.opacity = effect2.style.opacity = `1`\n\n effectContent.appendChild(effect)\n effectContent.appendChild(effect2)\n\n el.appendChild(effectContent)\n\n setTimeout(() => {\n effect.style.left = `-${el.clientWidth * 1.3}px`\n effect.style.opacity = '1'\n\n effect2.style.left = `${el.clientWidth * 1.3}px`\n effect2.style.opacity = '1'\n }, 1)\n\n let noTime = false\n setTimeout(() => {\n noTime = true\n }, 300)\n\n function removeEffect(evs: any) {\n effect.style.transition = `all 0.${time * 600}s ease`\n setTimeout(\n () => {\n effect.style.opacity = '0'\n setTimeout(() => {\n el.removeChild(effectContent)\n }, time * 300)\n },\n noTime ? 0 : time * 400\n )\n\n evs.target.removeEventListener('mouseup', removeEffect)\n evs.target.removeEventListener('mouseleave', removeEffect)\n }\n\n evs.target.addEventListener('mouseup', removeEffect)\n evs.target.addEventListener('mouseleave', removeEffect)\n}\n\nexport { rippleReverse, rippleCut, ripple }\n"],"names":["evs"],"mappings":";;AAEA,MAAM,MAAS,GAAA,CAAC,GAAU,EAAA,KAAA,EAAgB,KAAoB,KAAA;AAC5D,EAAA,MAAM,KAAK,GAAI,CAAA,aAAA,CAAA;AACf,EAAM,MAAA,MAAA,GAAS,GAAG,qBAAsB,EAAA,CAAA;AACxC,EAAM,MAAA,CAAA,GAAI,GAAI,CAAA,OAAA,GAAU,MAAO,CAAA,IAAA,CAAA;AAC/B,EAAM,MAAA,CAAA,GAAI,GAAI,CAAA,OAAA,GAAU,MAAO,CAAA,GAAA,CAAA;AAE/B,EAAA,IAAI,IAAO,GAAA,GAAA,CAAA;AAEX,EAAI,IAAA,EAAA,CAAG,cAAc,GAAK,EAAA;AACxB,IAAO,IAAA,GAAA,GAAA,CAAA;AAAA,GACT;AAEA,EAAM,MAAA,aAAA,GAAgB,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AAElD,EAAA,aAAA,CAAc,SAAY,GAAA,WAAA,CAAA;AAE1B,EAAA,IAAI,CAAC,KAAO,EAAA;AACV,IAAS,QAAA,CAAA,OAAA,EAAS,QAAQ,aAAa,CAAA,CAAA;AAAA,GACzC;AAEA,EAAM,MAAA,MAAA,GAAS,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AAE3C,EAAA,MAAA,CAAO,SAAY,GAAA,oBAAA,CAAA;AACnB,EAAA,IAAI,KAAO,EAAA;AACT,IAAO,MAAA,CAAA,SAAA,CAAU,IAAI,kBAAkB,CAAA,CAAA;AAAA,GAEzC;AACA,EAAO,MAAA,CAAA,KAAA,CAAM,aAAa,CAAO,IAAA,EAAA,IAAA,CAAA,MAAA,CAAA,CAAA;AAEjC,EAAO,MAAA,CAAA,KAAA,CAAM,OAAO,CAAG,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AACvB,EAAO,MAAA,CAAA,KAAA,CAAM,MAAM,CAAG,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAEtB,EAAA,aAAA,CAAc,YAAY,MAAM,CAAA,CAAA;AAEhC,EAAA,EAAA,CAAG,YAAY,aAAa,CAAA,CAAA;AAE5B,EAAA,MAAA,CAAO,KAAM,CAAA,KAAA,GAAQ,CAAG,EAAA,EAAA,CAAG,WAAc,GAAA,GAAA,CAAA,EAAA,CAAA,CAAA;AACzC,EAAA,MAAA,CAAO,KAAM,CAAA,MAAA,GAAS,CAAG,EAAA,EAAA,CAAG,WAAc,GAAA,GAAA,CAAA,EAAA,CAAA,CAAA;AAC1C,EAAA,MAAA,CAAO,MAAM,OAAU,GAAA,CAAA,CAAA,CAAA,CAAA;AAEvB,EAAA,IAAI,MAAS,GAAA,KAAA,CAAA;AACb,EAAA,UAAA,CAAW,MAAM;AACf,IAAS,MAAA,GAAA,IAAA,CAAA;AAAA,KACR,GAAG,CAAA,CAAA;AAEN,EAAA,SAAS,aAAaA,IAAU,EAAA;AAC9B,IAAO,MAAA,CAAA,KAAA,CAAM,UAAa,GAAA,CAAA,MAAA,EAAS,IAAO,GAAA,GAAA,CAAA,MAAA,CAAA,CAAA;AAC1C,IAAA,UAAA;AAAA,MACE,MAAM;AACJ,QAAA,MAAA,CAAO,MAAM,OAAU,GAAA,GAAA,CAAA;AACvB,QAAA,UAAA,CAAW,MAAM;AACf,UAAA,EAAA,CAAG,YAAY,aAAa,CAAA,CAAA;AAAA,SAC9B,EAAG,OAAO,GAAG,CAAA,CAAA;AAAA,OACf;AAAA,MACA,MAAA,GAAS,IAAI,IAAO,GAAA,GAAA;AAAA,KACtB,CAAA;AAEA,IAAAA,IAAI,CAAA,MAAA,CAAO,mBAAoB,CAAA,SAAA,EAAW,YAAY,CAAA,CAAA;AACtD,IAAAA,IAAI,CAAA,MAAA,CAAO,mBAAoB,CAAA,YAAA,EAAc,YAAY,CAAA,CAAA;AAAA,GAC3D;AAEA,EAAI,GAAA,CAAA,MAAA,CAAO,gBAAiB,CAAA,SAAA,EAAW,YAAY,CAAA,CAAA;AACnD,EAAI,GAAA,CAAA,MAAA,CAAO,gBAAiB,CAAA,YAAA,EAAc,YAAY,CAAA,CAAA;AACxD,EAAA;AAEM,MAAA,aAAA,GAAgB,CAAC,GAAa,KAAA;AAClC,EAAA,MAAM,KAAK,GAAI,CAAA,aAAA,CAAA;AACf,EAAM,MAAA,MAAA,GAAS,GAAG,qBAAsB,EAAA,CAAA;AACxC,EAAM,MAAA,CAAA,GAAI,GAAI,CAAA,OAAA,GAAU,MAAO,CAAA,IAAA,CAAA;AAC/B,EAAM,MAAA,CAAA,GAAI,GAAI,CAAA,OAAA,GAAU,MAAO,CAAA,GAAA,CAAA;AAE/B,EAAA,IAAI,IAAO,GAAA,GAAA,CAAA;AAEX,EAAI,IAAA,EAAA,CAAG,cAAc,GAAK,EAAA;AACxB,IAAO,IAAA,GAAA,GAAA,CAAA;AAAA,GACT;AAEA,EAAM,MAAA,aAAA,GAAgB,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AAElD,EAAA,aAAA,CAAc,SAAY,GAAA,WAAA,CAAA;AAE1B,EAAM,MAAA,MAAA,GAAS,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AAE3C,EAAA,MAAA,CAAO,SAAY,GAAA,mBAAA,CAAA;AAGnB,EAAO,MAAA,CAAA,KAAA,CAAM,OAAO,CAAG,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AACvB,EAAO,MAAA,CAAA,KAAA,CAAM,MAAM,CAAG,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AACtB,EAAA,MAAA,CAAO,KAAM,CAAA,KAAA,GAAQ,CAAG,EAAA,EAAA,CAAG,WAAc,GAAA,GAAA,CAAA,EAAA,CAAA,CAAA;AACzC,EAAA,MAAA,CAAO,KAAM,CAAA,MAAA,GAAS,CAAG,EAAA,EAAA,CAAG,WAAc,GAAA,GAAA,CAAA,EAAA,CAAA,CAAA;AAC1C,EAAA,MAAA,CAAO,MAAM,OAAU,GAAA,GAAA,CAAA;AAEvB,EAAA,aAAA,CAAc,YAAY,MAAM,CAAA,CAAA;AAEhC,EAAA,EAAA,CAAG,YAAY,aAAa,CAAA,CAAA;AAE5B,EAAA,UAAA,CAAW,MAAM;AACf,IAAA,MAAA,CAAO,MAAM,KAAQ,GAAA,KAAA,CAAA;AACrB,IAAA,MAAA,CAAO,MAAM,MAAS,GAAA,KAAA,CAAA;AACtB,IAAA,MAAA,CAAO,MAAM,OAAU,GAAA,KAAA,CAAA;AAAA,KACtB,CAAC,CAAA,CAAA;AAEJ,EAAA,IAAI,MAAS,GAAA,KAAA,CAAA;AACb,EAAA,UAAA,CAAW,MAAM;AACf,IAAS,MAAA,GAAA,IAAA,CAAA;AAAA,KACR,GAAG,CAAA,CAAA;AAEN,EAAA,SAAS,aAAaA,IAAU,EAAA;AAC9B,IAAO,MAAA,CAAA,KAAA,CAAM,UAAa,GAAA,CAAA,MAAA,EAAS,IAAO,GAAA,GAAA,CAAA,MAAA,CAAA,CAAA;AAC1C,IAAA,UAAA;AAAA,MACE,MAAM;AACJ,QAAA,MAAA,CAAO,MAAM,OAAU,GAAA,GAAA,CAAA;AACvB,QAAA,UAAA,CAAW,MAAM;AACf,UAAA,EAAA,CAAG,YAAY,aAAa,CAAA,CAAA;AAAA,SAC9B,EAAG,OAAO,GAAG,CAAA,CAAA;AAAA,OACf;AAAA,MACA,MAAA,GAAS,IAAI,IAAO,GAAA,GAAA;AAAA,KACtB,CAAA;AAEA,IAAAA,IAAI,CAAA,MAAA,CAAO,mBAAoB,CAAA,SAAA,EAAW,YAAY,CAAA,CAAA;AACtD,IAAAA,IAAI,CAAA,MAAA,CAAO,mBAAoB,CAAA,YAAA,EAAc,YAAY,CAAA,CAAA;AAAA,GAC3D;AAEA,EAAI,GAAA,CAAA,MAAA,CAAO,gBAAiB,CAAA,SAAA,EAAW,YAAY,CAAA,CAAA;AACnD,EAAI,GAAA,CAAA,MAAA,CAAO,gBAAiB,CAAA,YAAA,EAAc,YAAY,CAAA,CAAA;AACxD,EAAA;AAGM,MAAA,SAAA,GAAY,CAAC,GAAa,KAAA;AAC9B,EAAA,MAAM,KAAK,GAAI,CAAA,aAAA,CAAA;AACf,EAAM,MAAA,MAAA,GAAS,GAAG,qBAAsB,EAAA,CAAA;AACxC,EAAM,MAAA,CAAA,GAAI,GAAI,CAAA,OAAA,GAAU,MAAO,CAAA,IAAA,CAAA;AAC/B,EAAM,MAAA,CAAA,GAAI,GAAI,CAAA,OAAA,GAAU,MAAO,CAAA,GAAA,CAAA;AAE/B,EAAA,IAAI,IAAO,GAAA,GAAA,CAAA;AAEX,EAAI,IAAA,EAAA,CAAG,cAAc,GAAK,EAAA;AACxB,IAAO,IAAA,GAAA,GAAA,CAAA;AAAA,GACT;AAEA,EAAM,MAAA,aAAA,GAAgB,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AAElD,EAAA,aAAA,CAAc,SAAY,GAAA,WAAA,CAAA;AAE1B,EAAM,MAAA,MAAA,GAAS,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AAC3C,EAAM,MAAA,OAAA,GAAU,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AAE5C,EAAA,MAAA,CAAO,SAAY,GAAA,kBAAA,CAAA;AACnB,EAAA,OAAA,CAAQ,SAAY,GAAA,kBAAA,CAAA;AAGpB,EAAA,MAAA,CAAO,KAAM,CAAA,IAAA,GAAO,OAAQ,CAAA,KAAA,CAAM,OAAO,CAAG,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAC5C,EAAA,MAAA,CAAO,KAAM,CAAA,GAAA,GAAM,OAAQ,CAAA,KAAA,CAAM,MAAM,CAAG,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAC1C,EAAA,MAAA,CAAO,MAAM,KAAQ,GAAA,OAAA,CAAQ,MAAM,KAAQ,GAAA,CAAA,EAAG,GAAG,WAAc,GAAA,GAAA,CAAA,EAAA,CAAA,CAAA;AAC/D,EAAA,MAAA,CAAO,MAAM,MAAS,GAAA,OAAA,CAAQ,MAAM,MAAS,GAAA,CAAA,EAAG,GAAG,WAAc,GAAA,GAAA,CAAA,EAAA,CAAA,CAAA;AACjE,EAAA,MAAA,CAAO,KAAM,CAAA,OAAA,GAAU,OAAQ,CAAA,KAAA,CAAM,OAAU,GAAA,CAAA,CAAA,CAAA,CAAA;AAE/C,EAAA,aAAA,CAAc,YAAY,MAAM,CAAA,CAAA;AAChC,EAAA,aAAA,CAAc,YAAY,OAAO,CAAA,CAAA;AAEjC,EAAA,EAAA,CAAG,YAAY,aAAa,CAAA,CAAA;AAE5B,EAAA,UAAA,CAAW,MAAM;AACf,IAAA,MAAA,CAAO,KAAM,CAAA,IAAA,GAAO,CAAI,CAAA,EAAA,EAAA,CAAG,WAAc,GAAA,GAAA,CAAA,EAAA,CAAA,CAAA;AACzC,IAAA,MAAA,CAAO,MAAM,OAAU,GAAA,GAAA,CAAA;AAEvB,IAAA,OAAA,CAAQ,KAAM,CAAA,IAAA,GAAO,CAAG,EAAA,EAAA,CAAG,WAAc,GAAA,GAAA,CAAA,EAAA,CAAA,CAAA;AACzC,IAAA,OAAA,CAAQ,MAAM,OAAU,GAAA,GAAA,CAAA;AAAA,KACvB,CAAC,CAAA,CAAA;AAEJ,EAAA,IAAI,MAAS,GAAA,KAAA,CAAA;AACb,EAAA,UAAA,CAAW,MAAM;AACf,IAAS,MAAA,GAAA,IAAA,CAAA;AAAA,KACR,GAAG,CAAA,CAAA;AAEN,EAAA,SAAS,aAAaA,IAAU,EAAA;AAC9B,IAAO,MAAA,CAAA,KAAA,CAAM,UAAa,GAAA,CAAA,MAAA,EAAS,IAAO,GAAA,GAAA,CAAA,MAAA,CAAA,CAAA;AAC1C,IAAA,UAAA;AAAA,MACE,MAAM;AACJ,QAAA,MAAA,CAAO,MAAM,OAAU,GAAA,GAAA,CAAA;AACvB,QAAA,UAAA,CAAW,MAAM;AACf,UAAA,EAAA,CAAG,YAAY,aAAa,CAAA,CAAA;AAAA,SAC9B,EAAG,OAAO,GAAG,CAAA,CAAA;AAAA,OACf;AAAA,MACA,MAAA,GAAS,IAAI,IAAO,GAAA,GAAA;AAAA,KACtB,CAAA;AAEA,IAAAA,IAAI,CAAA,MAAA,CAAO,mBAAoB,CAAA,SAAA,EAAW,YAAY,CAAA,CAAA;AACtD,IAAAA,IAAI,CAAA,MAAA,CAAO,mBAAoB,CAAA,YAAA,EAAc,YAAY,CAAA,CAAA;AAAA,GAC3D;AAEA,EAAI,GAAA,CAAA,MAAA,CAAO,gBAAiB,CAAA,SAAA,EAAW,YAAY,CAAA,CAAA;AACnD,EAAI,GAAA,CAAA,MAAA,CAAO,gBAAiB,CAAA,YAAA,EAAc,YAAY,CAAA,CAAA;AACxD;;;;"}