Skip to content

feat: add generic toolbar - #548

Draft
IzumiSy wants to merge 3 commits into
feat/core/1699-datatable-toolbar-apifrom
feat/core/1699-toolbar-implementation
Draft

IzumiSy wants to merge 3 commits into
feat/core/1699-datatable-toolbar-apifrom
feat/core/1699-toolbar-implementation

Conversation

@IzumiSy

@IzumiSy IzumiSy commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

Motivation

The existing table-specific toolbar owns both DataTable controls and their layout. That prevents the same interaction model from serving other action bars and forces consumers into a fixed placement model.

This change introduces a reusable full-width Toolbar and demonstrates it in standalone and DataTable list-screen scenarios.

Design Decision

Explicit layout structure

Toolbar.Root stacks horizontal rows. Each Toolbar.Row contains related Toolbar.Group controls and optional separators; justify="between" places the row's leading and trailing groups at opposite edges without special end-slot APIs.

Seamless control participation

AppShell Button, Input, Select, Combobox, and Tabs controls register their focus target through the row context. Plain controls participate in row-level Arrow/Home/End navigation, while composite controls keep their own directional-key behavior.

DataTable composition

DataTable.ColumnSettings is now placeable. A generic Toolbar directly inside DataTable.Root becomes the table's top bar: its side/top borders are removed while its top corners and bottom divider are retained.

Summary

  • Add the public Toolbar component, its documentation, tests, and a runnable example page.
  • Make existing AppShell controls toolbar-aware without consumer wrappers.
  • Compose the generic toolbar into DataTable examples and expose DataTable.ColumnSettings.

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