feat: use floating-ui for better popover positioning
| | |
| | | throwOnError: false |
| | | }) |
| | | } |
| | | |
| | | li.addEventListener("mouseover", () => { |
| | | // fix tooltip positioning |
| | | window.FloatingUIDOM.computePosition(li, el, { |
| | | middleware: [window.FloatingUIDOM.offset(15), window.FloatingUIDOM.inline(), window.FloatingUIDOM.shift()], |
| | | }).then(({ x, y }) => { |
| | | Object.assign(el.style, { |
| | | left: `${x}px`, |
| | | top: `${y}px`, |
| | | }) |
| | | }) |
| | | |
| | | el.classList.add("visible") |
| | | }) |
| | | li.addEventListener("mouseout", () => { |
| | |
| | | cursor: pointer; |
| | | & > p { |
| | | display: inline; |
| | | padding-left: 0.5em; |
| | | padding: 0 0.5em 0 1em; |
| | | } |
| | | } |
| | | |
| | |
| | | 1% { |
| | | display: inline-block; |
| | | opacity: 0; |
| | | transform: translate(-50%, 40%); |
| | | } |
| | | 100% { |
| | | opacity: 1; |
| | | visibility: visible; |
| | | transform: translate(-50%, 20%); |
| | | } |
| | | } |
| | | |
| | |
| | | display: none; |
| | | background-color: var(--light); |
| | | padding: 1em; |
| | | margin: 1em; |
| | | border: 1px solid var(--outlinegray); |
| | | border-radius: 5px; |
| | | transform: translate(-50%, 40%); |
| | | pointer-events: none; |
| | | transition: opacity 0.2s ease, transform 0.2s ease; |
| | | user-select: none; |
| | |
| | | &.visible { |
| | | opacity: 1; |
| | | visibility: visible; |
| | | transform: translate(-50%, 20%); |
| | | display: inline-block; |
| | | animation: dropin 0.2s ease; |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | #contact_buttons ul { |
| | | list-style-type: none; |
| | | |
| | |
| | | <script src="{{$darkMode.Permalink}}"></script> |
| | | {{partial "katex.html" .}} |
| | | |
| | | |
| | | <script src="https://unpkg.com/@floating-ui/core@0.7.3"></script> |
| | | <script src="https://unpkg.com/@floating-ui/dom@0.5.4"></script> |
| | | {{ $popover := resources.Get "js/popover.js" | resources.Fingerprint "md5" | |
| | | resources.Minify }} |
| | | <script src="{{$popover.Permalink}}"></script> |