import BaseDirective from 'primevue/basedirective'; import { useStyle } from 'primevue/usestyle'; const styles = ` @keyframes ripple { 100% { opacity: 0; transform: scale(2.5); } } @layer primevue.core { .p-ripple { overflow: hidden; position: relative; } .p-ink { display: block; position: absolute; background: rgba(255, 255, 255, 0.5); border-radius: 100%; transform: scale(0); pointer-events: none; } .p-ink-active { animation: ripple 0.4s linear; } .p-ripple-disabled .p-ink { display: none !important; } } `; const classes = { root: 'p-ink' }; const { load: loadStyle } = useStyle(styles, { name: 'ripple', manual: true }); const BaseRipple = BaseDirective.extend({ css: { classes, loadStyle } }); export default BaseRipple;