| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- /* Visual spec mirrors deepsuite @deepseek/ui Tooltip.css (size m, no arrow),
- except padding tightened 6/12 -> 3/7, type 14/22 -> 13/20, radius
- 10 -> 8, a tooltip-bg plate,
- one text color across both themes (the plate stays dark in light and dark
- mode). Behavior (fixed positioning off the anchor rect) is local — the
- upstream Floating stack is intentionally not vendored. */
- .bubble {
- position: fixed;
- z-index: 100;
- /* Fixed-position shrink-to-fit measures only the space from `left` to the
- viewport edge, so anchors near the right edge would wrap early;
- max-content sizes by the label alone, capped at half the viewport. */
- width: max-content;
- max-width: 50vw;
- padding: 3px 7px;
- border-radius: 8px;
- background: var(--dsw-alias-tooltip-bg);
- color: var(--dsw-static-neutral-bluish-00);
- font-size: 13px;
- line-height: 20px;
- white-space: pre-line;
- /* Unbreakable tokens (URLs, paths) must not push past max-width. */
- overflow-wrap: break-word;
- pointer-events: none;
- animation: tooltip-in 150ms var(--ds-ease-in-out);
- }
- .bubble[data-side='right'] {
- transform: translateY(-50%);
- }
- .bubble[data-side='bottom'] {
- transform: translateX(-50%);
- }
- .bubble[data-side='top'] {
- transform: translate(-50%, -100%);
- }
- @keyframes tooltip-in {
- from { opacity: 0; }
- }
- @media (prefers-reduced-motion: reduce) {
- .bubble {
- animation: none;
- }
- }
|