{"version":3,"file":"index.mjs","sources":["../../src/ripple/BaseRipple.js","../../src/ripple/Ripple.js"],"sourcesContent":["import BaseDirective from '@primevue/core/basedirective';\nimport RippleStyle from 'primevue/ripple/style';\n\nconst BaseRipple = BaseDirective.extend({\n style: RippleStyle\n});\n\nexport default BaseRipple;\n","import { addClass, createElement, getAttribute, getHeight, getOffset, getOuterHeight, getOuterWidth, getWidth, removeClass } from '@primeuix/utils/dom';\nimport BaseRipple from './BaseRipple';\n\nconst Ripple = BaseRipple.extend('ripple', {\n watch: {\n 'config.ripple'(newValue) {\n if (newValue) {\n this.createRipple(this.$host);\n this.bindEvents(this.$host);\n\n this.$host.setAttribute('data-pd-ripple', true);\n this.$host.style['overflow'] = 'hidden';\n this.$host.style['position'] = 'relative';\n } else {\n this.remove(this.$host);\n this.$host.removeAttribute('data-pd-ripple');\n }\n }\n },\n unmounted(el) {\n this.remove(el);\n },\n timeout: undefined,\n methods: {\n bindEvents(el) {\n el.addEventListener('mousedown', this.onMouseDown.bind(this));\n },\n unbindEvents(el) {\n el.removeEventListener('mousedown', this.onMouseDown.bind(this));\n },\n createRipple(el) {\n const ink = createElement('span', {\n role: 'presentation',\n 'aria-hidden': true,\n 'data-p-ink': true,\n 'data-p-ink-active': false,\n class: !this.isUnstyled() && this.cx('root'),\n onAnimationEnd: this.onAnimationEnd.bind(this),\n [this.$attrSelector]: '',\n 'p-bind': this.ptm('root')\n });\n\n el.appendChild(ink);\n\n this.$el = ink;\n },\n remove(el) {\n let ink = this.getInk(el);\n\n if (ink) {\n this.$host.style['overflow'] = '';\n this.$host.style['position'] = '';\n\n this.unbindEvents(el);\n ink.removeEventListener('animationend', this.onAnimationEnd);\n ink.remove();\n }\n },\n onMouseDown(event) {\n let target = event.currentTarget;\n let ink = this.getInk(target);\n\n if (!ink || getComputedStyle(ink, null).display === 'none') {\n return;\n }\n\n !this.isUnstyled() && removeClass(ink, 'p-ink-active');\n ink.setAttribute('data-p-ink-active', 'false');\n\n if (!getHeight(ink) && !getWidth(ink)) {\n let d = Math.max(getOuterWidth(target), getOuterHeight(target));\n\n ink.style.height = d + 'px';\n ink.style.width = d + 'px';\n }\n\n let offset = getOffset(target);\n let x = event.pageX - offset.left + document.body.scrollTop - getWidth(ink) / 2;\n let y = event.pageY - offset.top + document.body.scrollLeft - getHeight(ink) / 2;\n\n ink.style.top = y + 'px';\n ink.style.left = x + 'px';\n\n !this.isUnstyled() && addClass(ink, 'p-ink-active');\n ink.setAttribute('data-p-ink-active', 'true');\n\n this.timeout = setTimeout(() => {\n if (ink) {\n !this.isUnstyled() && removeClass(ink, 'p-ink-active');\n ink.setAttribute('data-p-ink-active', 'false');\n }\n }, 401);\n },\n onAnimationEnd(event) {\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n\n !this.isUnstyled() && removeClass(event.currentTarget, 'p-ink-active');\n event.currentTarget.setAttribute('data-p-ink-active', 'false');\n },\n getInk(el) {\n return el && el.children ? [...el.children].find((child) => getAttribute(child, 'data-pc-name') === 'ripple') : undefined;\n }\n }\n});\n\nexport default Ripple;\n"],"names":["BaseRipple","BaseDirective","extend","style","RippleStyle","Ripple","watch","configRipple","newValue","createRipple","$host","bindEvents","setAttribute","remove","removeAttribute","unmounted","el","timeout","undefined","methods","addEventListener","onMouseDown","bind","unbindEvents","removeEventListener","ink","createElement","_defineProperty","role","isUnstyled","cx","onAnimationEnd","$attrSelector","ptm","appendChild","$el","getInk","event","_this","target","currentTarget","getComputedStyle","display","removeClass","getHeight","getWidth","d","Math","max","getOuterWidth","getOuterHeight","height","width","offset","getOffset","x","pageX","left","document","body","scrollTop","y","pageY","top","scrollLeft","addClass","setTimeout","clearTimeout","children","_toConsumableArray","find","child","getAttribute"],"mappings":"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"}