Skip to content

feat(design-system): add submenus and tooltips to DsTable secondary row actions [AR-81152] - #747

Open
iromanchuk-dn wants to merge 5 commits into
drivenets:mainfrom
iromanchuk-dn:claude/ar-81152-implementation-plan-78e2e9
Open

iromanchuk-dn wants to merge 5 commits into
drivenets:mainfrom
iromanchuk-dn:claude/ar-81152-implementation-plan-78e2e9

Conversation

@iromanchuk-dn

@iromanchuk-dn iromanchuk-dn commented Sep 30, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Unblocks Workflow Catalog's move onto DsTable's secondaryRowActions (AR-81152, blocking AR-72353).

  • Nested submenus. A secondary action can declare children instead of onClick, and it renders as a submenu opening to the right. The type is a union, so an item has either onClick or children, never both; existing flat actions still type-check.
    • hidden and disabled on a parent apply to the whole submenu.
    • A parent whose children are all hidden is omitted.
    • A disabled parent renders as a disabled item with a greyed chevron, shows its tooltip, and never opens.
  • Reason tooltips on disabled items. tooltip was declared but never rendered for secondary actions. It now shows on hover, including on disabled items, for the permissions "visible but disabled" pattern. The tooltip wraps the item's content, not the menu item itself, so it doesn't override the item's id and data attributes.
  • Per-row tooltips. tooltip also accepts (row) => string | undefined. Primary actions resolve it the same way for their title.
  • Stacking. Tooltips on menu items are raised above submenus, whose z-index is 10000. Without this, a tooltip on a submenu item rendered underneath the submenu.

Stories

Components/Table/Row Actions gets two new stories:

  • WithNestedSecondaryActions: the Workflow Catalog "Review PR" and "Filter by workflow" menus.
  • WithDisabledActionReasons: the permissions case.

The docs snapshot is regenerated.

Tests

There are 5 new browser tests in ds-table-row-actions.browser.test.tsx:

  • A secondary onClick receives the row data and doesn't trigger onRowClick.
  • A submenu child's onClick receives the row data and doesn't trigger onRowClick.
  • Hidden children are filtered, and a parent with no visible children is omitted.
  • A disabled item shows its tooltip and doesn't call onClick.
  • A disabled parent shows its tooltip and doesn't open.

ds-table-columns "toggle column visibility" and ds-table-selection "select column alongside the reorder drag handle" fail on main too; they don't involve row actions.

Follow-ups (not in this PR)

  • Disabled primary actions set pointer-events: none, so their title never shows. It's the same permissions gap.
  • Zag skips disabled menu items during keyboard navigation, so a disabled item's reason can only be reached by hover.

…able secondary row actions [AR-81152]

- `secondaryRowActions` items can declare `children` (instead of `onClick`)
  to render a cascading submenu; `hidden`/`disabled` apply to the subtree
  and parents with no visible children are omitted
- `tooltip` is now rendered for secondary actions, including on disabled
  items, and can be resolved per row
- a disabled parent renders as a disabled item with a greyed chevron and
  never opens

Co-authored-by: Claude <noreply@anthropic.com>
@netlify

netlify Bot commented Sep 30, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for drivenets-design-system ready!

Name Link
🔨 Latest commit 328805e
🔍 Latest deploy log https://app.netlify.com/projects/drivenets-design-system/deploys/6abcfd0f2773fb00085aba8d
😎 Deploy Preview https://deploy-preview-747--drivenets-design-system.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@iromanchuk-dn iromanchuk-dn changed the title feat(design-system): add submenus and disabled-reason tooltips to DsTable secondary row actions [AR-81152] feat(design-system): add submenus and tooltips to DsTable secondary row actions [AR-81152] Sep 30, 2026
Comment thread .changeset/table-secondary-row-actions-submenus.md Outdated
iromanchuk-dn and others added 2 commits September 30, 2026 13:20
…-81152]

Co-authored-by: Claude <noreply@anthropic.com>
…om:iromanchuk-dn/design-system into claude/ar-81152-implementation-plan-78e2e9

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants