primevue
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primevue) [ • 3.42 kB
JavaScript
import{DomHandler as t}from"primevue/utils";import e from"primevue/basedirective";import{useStyle as n}from"primevue/usestyle";var i=n("\n.p-ripple {\n overflow: hidden;\n position: relative;\n}\n\n.p-ink {\n display: block;\n position: absolute;\n background: rgba(255, 255, 255, 0.5);\n border-radius: 100%;\n transform: scale(0);\n pointer-events: none;\n}\n\n.p-ink-active {\n animation: ripple 0.4s linear;\n}\n\n.p-ripple-disabled .p-ink {\n display: none !important;\n}\n\n@keyframes ripple {\n 100% {\n opacity: 0;\n transform: scale(2.5);\n }\n}\n",{name:"ripple",manual:!0});function r(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function o(t,e){if(t){if("string"==typeof t)return l(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(t,e):void 0}}function a(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}function s(t){if(Array.isArray(t))return l(t)}function l(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}var u=e.extend({css:{classes:{root:"p-ink"},loadStyle:i.load}}).extend("ripple",{mounted:function(t,e){var n,i=e.instance.$primevue;i&&i.config&&i.config.ripple&&(t.unstyled=i.config.unstyled||(null===(n=e.value)||void 0===n?void 0:n.unstyled)||!1,this.create(t),this.bindEvents(t));t.setAttribute("data-pd-ripple",!0)},unmounted:function(t){this.remove(t)},timeout:void 0,methods:{bindEvents:function(t){t.addEventListener("mousedown",this.onMouseDown.bind(this))},unbindEvents:function(t){t.removeEventListener("mousedown",this.onMouseDown.bind(this))},create:function(e){var n=t.createElement("span",{role:"presentation","aria-hidden":!0,"data-p-ink":!0,"data-p-ink-active":!1,class:!e.unstyled&&this.cx("root"),onAnimationEnd:this.onAnimationEnd,"p-bind":this.ptm("root")});e.appendChild(n),this.$el=n},remove:function(t){var e=this.getInk(t);e&&(this.unbindEvents(t),e.removeEventListener("animationend",this.onAnimationEnd),e.remove())},onMouseDown:function(e){var n=e.currentTarget,i=this.getInk(n);if(i&&"none"!==getComputedStyle(i,null).display){if(!n.unstyled&&t.removeClass(i,"p-ink-active"),i.setAttribute("data-p-ink-active","false"),!t.getHeight(i)&&!t.getWidth(i)){var r=Math.max(t.getOuterWidth(n),t.getOuterHeight(n));i.style.height=r+"px",i.style.width=r+"px"}var o=t.getOffset(n),a=e.pageX-o.left+document.body.scrollTop-t.getWidth(i)/2,s=e.pageY-o.top+document.body.scrollLeft-t.getHeight(i)/2;i.style.top=s+"px",i.style.left=a+"px",!n.unstyled&&t.addClass(i,"p-ink-active"),i.setAttribute("data-p-ink-active","true"),this.timeout=setTimeout((function(){i&&(!n.unstyled&&t.removeClass(i,"p-ink-active"),i.setAttribute("data-p-ink-active","false"))}),401)}},onAnimationEnd:function(e){this.timeout&&clearTimeout(this.timeout),!e.currentTarget.unstyled&&t.removeClass(e.currentTarget,"p-ink-active"),e.currentTarget.setAttribute("data-p-ink-active","false")},getInk:function(e){return e&&e.children?(n=e.children,s(n)||a(n)||o(n)||r()).find((function(e){return"ripple"===t.getAttribute(e,"data-pc-name")})):void 0;var n}}});export{u as default};