Tooltips

Hover each trigger, then use its companion button to mutate data-tooltip. Contract: generated text is a snapshot at show time — cases 1 and 5 keep the old text while visible, the rest pick the new value up on the next show. Case 6 shows the explicit-tip way.

1. Hover tip, text changed while visible

Expected: the visible tip keeps Copy until the next show; re-hover displays Copied!.

2. Hover tip, text changed while hidden

Expected: next hover displays Saved (resync on show).

3. Click-toggle tip, text changed between toggles

Expected: reopening after the mutation displays Updated.

4. Explicit tip, markup changed

Expected: explicit tips are author-owned; the runtime never rewrites them, so the mutation shows as written.

5. Always-visible tip, text changed

Expected: stays Pinned. Generated text is a snapshot at show time and this tip only ever shows once — use an explicit tooltip (case 6) for content that must update.

6. Always-visible explicit tip, rewritten via DOM

Expected: the rewrite applies immediately — the dedicated API for dynamic content, side by side with the frozen shorthand of case 5.