49 lines
807 B
JavaScript
49 lines
807 B
JavaScript
|
import BaseDirective from 'primevue/basedirective';
|
||
|
import { useStyle } from 'primevue/usestyle';
|
||
|
|
||
|
const styles = `
|
||
|
.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;
|
||
|
}
|
||
|
|
||
|
@keyframes ripple {
|
||
|
100% {
|
||
|
opacity: 0;
|
||
|
transform: scale(2.5);
|
||
|
}
|
||
|
}
|
||
|
`;
|
||
|
|
||
|
const classes = {
|
||
|
root: 'p-ink'
|
||
|
};
|
||
|
|
||
|
const { load: loadStyle } = useStyle(styles, { name: 'ripple', manual: true });
|
||
|
|
||
|
const BaseRipple = BaseDirective.extend({
|
||
|
css: {
|
||
|
classes,
|
||
|
loadStyle
|
||
|
}
|
||
|
});
|
||
|
|
||
|
export default BaseRipple;
|