import BaseStyle from 'primevue/base/style'; const css = ` @layer primevue { .p-skeleton { overflow: hidden; } .p-skeleton::after { content: ''; animation: p-skeleton-animation 1.2s infinite; height: 100%; left: 0; position: absolute; right: 0; top: 0; transform: translateX(-100%); z-index: 1; } .p-skeleton.p-skeleton-circle { border-radius: 50%; } .p-skeleton-none::after { animation: none; } @keyframes p-skeleton-animation { from { transform: translateX(-100%); } to { transform: translateX(100%); } } } `; const inlineStyles = { root: { position: 'relative' } }; const classes = { root: ({ props }) => [ 'p-skeleton p-component', { 'p-skeleton-circle': props.shape === 'circle', 'p-skeleton-none': props.animation === 'none' } ] }; export default BaseStyle.extend({ name: 'skeleton', css, classes, inlineStyles });