Skip to content

feat(table): cap surfaced row actions at 2 icons once a kebab exists#2191

Open
Fiona2016 wants to merge 5 commits into
prefrom
feat-table-actions-expand-0716
Open

feat(table): cap surfaced row actions at 2 icons once a kebab exists#2191
Fiona2016 wants to merge 5 commits into
prefrom
feat-table-actions-expand-0716

Conversation

@Fiona2016

@Fiona2016 Fiona2016 commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

Follow-up to #2188 after testing on the 9000 env.

Rule change (2026-07-17)

  • Rows with at most 3 actions (and no node/collapsed items) expand fully into icon buttons — no kebab (was: up to 4).
  • Bigger rows (or rows carrying node/collapsed items) now surface at most 2 icons: inline items stay out, non-danger menu items are promoted in order to fill up to 2; everything else — danger items included — collapses into the kebab (menu order preserved, divider before danger).
  • The kebab always holds at least 2 items: promoted icons are demoted back when needed, so a one-item overflow menu (extra click, no space saved) can no longer occur — this was visible on the metric-pool table where a bespoke node item sat alone in the kebab.
  • Default actionMaxIcons drops from 4 to 3; it now means "full-expansion threshold".

Also carries the RowActions.menu semantics doc commit that missed the #2188 merge window.

Verification

  • splitRowActions unit tests rewritten for the new rule: 8 cases, 27/27 suite green.
  • tsc --noEmit: 3 errors, all pre-existing Loki/monaco issues untouched by this change (branch baseline was 4).
  • Prettier clean.

Spec updated in fc-dev-docs (a22c5c8): table-action-inventory §1, design-system-table §12/§12.1, table-checklist §1, table-migration-playbook.

🤖 Generated with Claude Code

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: b13da943-0a15-4ad2-a05f-c04d18c2971c

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat-table-actions-expand-0716

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Rows with at most 3 actions (and no node/collapsed items) still expand
fully. Bigger rows now surface inline items plus non-danger menu items
up to 2 icons and collapse the rest - danger items included - into the
kebab, which always keeps at least 2 items (icons are demoted back when
needed). Default actionMaxIcons drops from 4 to 3.
@Fiona2016 Fiona2016 changed the title docs(table): state the new menu semantics on RowActions feat(table): cap surfaced row actions at 2 icons once a kebab exists Jul 17, 2026
Decide expand-vs-kebab once per table instead of per row: if any row
needs a kebab (too many actions, or node/collapsed items), every row
renders in kebab layout, so icons align vertically and the kebab sits
in a fixed position. Light rows may then hold a single kebab item -
the accepted price of column-aligned consistency, replacing the
per-row min-2-kebab-items demotion.
No caller across the three repos ever set it; the expand threshold (3)
and surfaced-icon cap (2) are design constants of the row-action rule,
not per-table knobs. splitRowActions keeps an internal maxIcons
parameter for tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant