aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Tooltip
Commit message (Collapse)AuthorAgeFilesLines
* fix(tooltip): park off-screen on create, enable glide after first placementFuwn2026-04-192-4/+9
| | | | | | | | | | | | | | | The tooltip was appended to body with no top/left, so its static-flow position extended body.scrollWidth/scrollHeight during measurement. Fix by setting initial top/left to -9999px so the node never lands in the flow. Previously this slid the tooltip in from off-screen because the top/left 0.3s transition was already live. Now the transition starts as opacity-only at creation time; after the first updateTooltipPosition snaps into place, a requestAnimationFrame re-enables the top/left easing so subsequent mousemove updates keep the original smooth glide and 100ms debounce behavior. LinkedTooltip's measurement div is parked the same way plus visibility:hidden, since it exists only to read offsetWidth for the Svelte-rendered tooltip.
* Revert "fix(tooltip): use fixed positioning and snappy cursor tracking"Fuwn2026-04-192-12/+15
| | | | This reverts commit 28860bb88da4c08e3ba383adc9c23ae3689310b6.
* fix(tooltip): use fixed positioning and snappy cursor trackingFuwn2026-04-192-15/+12
| | | | | | | | | | | | | Body grew on hover because the absolutely-positioned tooltip was appended to document.body without top/left, so its static-flow position extended body.scrollWidth/scrollHeight during layout measurement. Switch both the use:tooltip directive and LinkedTooltip's measurement div to position:fixed, which is relative to the viewport and does not contribute to the body's scroll area. The directive now also uses clientX/clientY (dropping the scrollY offset for the pin branch), removes the 100ms mousemove debounce, and drops the top/left transition so the tooltip tracks the cursor without feeling laggy or sliding in from the page top.
* Revert "fix(tooltip): park measurement node off-screen to stop body resize"Fuwn2026-04-192-5/+0
| | | | This reverts commit 6865cae76cb88aa78d7c297c637557468fdce8fc.
* Revert "fix(tooltip): drop position transition so tooltip snaps instead of ↵Fuwn2026-04-191-1/+1
| | | | | | sliding" This reverts commit 6e780fdb76155669a72692c64fd51c0da2c932d2.
* fix(tooltip): drop position transition so tooltip snaps instead of slidingFuwn2026-04-191-1/+1
| | | | | | | The opacity+top+left transition combined with the off-screen parking caused tooltips to animate from -9999px into place ("pops down from the top") and lagged cursor tracking in the non-pinned variant used by birthdays. Keep only the opacity fade; position updates snap.
* fix(tooltip): park measurement node off-screen to stop body resizeFuwn2026-04-192-0/+5
| | | | | | Absolute-positioned tooltips were appended to document.body without initial left/top, so their static-flow position extended body scrollWidth/scrollHeight during layout, briefly enlarging the page on hover.
* fix(tooltip): remove body-appended tooltip node on destroyFuwn2026-04-181-0/+12
| | | | | | | | | | | | LinkedTooltip appends its tooltip div directly to document.body in createTooltip and only removes it from hideTooltip. If the component was destroyed while the tooltip was visible (e.g. parent navigated mid-hover), the div leaked and stayed in the DOM forever. Add an onDestroy handler that clears the pending hide/debounce timers and, if the tooltip div is still parented to document.body, removes it. Guarding on parentNode avoids double-removal when hideTooltip has already run.
* chore(biome): drop formatter style overridesFuwn2026-03-012-307/+338
|
* chore(biome): enable svelte formattingFuwn2026-03-011-176/+172
|
* fix: Resolve all ESLint errors and warningsFuwn2026-01-291-1/+1
|
* refactor: Migrate event handlers to new Svelte 5 syntaxFuwn2026-01-231-3/+3
|
* chore(prettier): use spaces instead of tabsFuwn2024-10-092-390/+390
|
* fix(SequelCatcher): tooltipsFuwn2024-08-231-0/+6
|
* feat(list): pin text, transform coverFuwn2024-04-221-1/+3
|
* fix(LinkedTooltip): hide tooltip content divFuwn2024-04-211-1/+1
|
* feat(user): hololive badges pinned tooltipFuwn2024-04-201-18/+54
|
* refactor(tooltip): move sliding tooltip componentFuwn2024-04-181-0/+200
|
* fix(tooltip): fix despawn on quick hoverFuwn2024-04-161-4/+11
|
* fix(tooltip): scrollYFuwn2024-04-151-1/+1
|
* feat(tooltip): preserve newlinesFuwn2024-04-151-2/+5
|
* feat(tooltip): pinningFuwn2024-04-151-0/+24
|
* fix(css): use sane z-index valuesFuwn2024-02-041-0/+1
|
* fix(tooltip): remove hiding limitFuwn2024-02-031-5/+0
|
* fix(tooltip): disable methodFuwn2024-02-031-0/+2
|
* feat(tooltip): visible state flagsFuwn2024-02-031-1/+9
|
* fix(tooltip): clean upFuwn2024-02-031-15/+24
|
* feat(tooltip): debounce for moveFuwn2024-02-031-3/+11
|
* feat(tooltip): tooltip animationFuwn2024-02-021-49/+86
|
* feat(birthdays): show origin if availableFuwn2024-01-311-0/+8
|
* fix(tooltip): z-indexFuwn2024-01-311-1/+2
|
* fix(airingtime): smaller subtitle max differenceFuwn2024-01-181-1/+0
|
* refactor(tooltip): remove unused timerFuwn2024-01-181-14/+9
|
* fix(tooltip): tooltip stuck fixFuwn2024-01-181-3/+3
|
* fix(tooltip): force aboveFuwn2024-01-151-0/+1
|
* fix(tooltip): off screen alignmentFuwn2024-01-151-1/+2
|
* feat(settings): add tooltip for rssFuwn2024-01-131-1/+6
|
* feat(lib): tooltip actionFuwn2024-01-131-0/+58