diff --git a/.changeset/hdx-4405-trailing-action-hint.md b/.changeset/hdx-4405-trailing-action-hint.md new file mode 100644 index 0000000000..2dba609e2b --- /dev/null +++ b/.changeset/hdx-4405-trailing-action-hint.md @@ -0,0 +1,5 @@ +--- +"@hyperdx/app": patch +--- + +Dashboard table tiles configured with a row-click action now show a trailing arrow-up-right icon at the right edge of each row, revealed on hover, with a small tooltip that names the destination. Actionable rows get a stronger background highlight on hover to reinforce interactivity before the user sees the arrow fade in. The icon click navigates to the same URL as a row click, with all the standard native browser behaviors (cmd-click new tab, middle-click new tab, right-click context menu). diff --git a/packages/app/src/HDXMultiSeriesTableChart.module.scss b/packages/app/src/HDXMultiSeriesTableChart.module.scss new file mode 100644 index 0000000000..416ffe0642 --- /dev/null +++ b/packages/app/src/HDXMultiSeriesTableChart.module.scss @@ -0,0 +1,68 @@ +// Trailing arrow hint for dashboard table tile rows with a +// configured onClick row action. The icon sits at the right edge of +// the last cell and is revealed on row hover. Mirrors the +// .rowButtons pattern from LogTable.module.scss (lines 156-172), +// scoped down to a single icon. See HDX-4405. + +.tableRow { + // Row hover is the visibility trigger for the trailing-icon hint. + // We rely on a descendant selector rather than wrapping a
+ // tooltip because anchored visibility is tied to the row's own + // lifecycle and never strands a popup after a virtual row + // unmounts. + &:hover .rowActionHint { + opacity: 1; + pointer-events: auto; + } +} + +.actionableRow { + // Stronger hover background on rows that resolve to a click + // destination. Non-actionable rows keep the default + // `bg-muted-hover` utility (`--color-bg-muted`), so the visual + // delta between the two reinforces interactivity before the + // user even sees the trailing arrow fade in. + &:hover { + background-color: var(--color-bg-highlighted); + } +} + +.lastCell { + // Containing block for the absolute-positioned .rowActionHint. + //