import { Directive } from 'vue'; export default { mounted(src) { const header = src.children[0]; const body = src.children[1]; const currentStickyTop = getComputedStyle(src).getPropertyValue('--stickyTop') || '0px'; src.style.setProperty('--stickyTop', `calc(${currentStickyTop} + ${header.offsetHeight}px)`); if (body) body.dataset.stickyContainerHeaderHeight = header.offsetHeight.toString(); header.style.setProperty('--stickyTop', currentStickyTop); header.style.position = 'sticky'; header.style.top = 'var(--stickyTop)'; header.style.zIndex = '1'; }, } as Directive;