Skip to content

Release v4.21.0

Choose a tag to compare

@github-actions github-actions released this 29 Sep 07:41
b0e00d8

Toolbars can offer a single Tab stop, chat hosts can add their own content to messages and the sidebar header, and DataTableCore can have its sort, filter and search state controlled by the host.

Added

  • ToolbarFocusMode.SingleTabStop for Toolbar and ActionMenubar implements the WAI-ARIA toolbar pattern. The toolbar's own tools share one Tab stop, which starts at the first available tool, moves with the arrow keys and returns to the last focused tool. When that tool is disabled, hidden or removed, the Tab stop moves to the next available tool. Controls you add yourself, widgets such as inputs, tools rendered outside the toolbar's markup (for example through a portal), and tools with an explicit tab index keep their own Tab stop. Arrows remains the default until the next major release. (#353)
  • ChatConversation.renderMessageExtra renders your content under a message body, for example reactions or a notice that a reply failed. ChatSidebar forwards it. (#194)
  • ChatSidebar.renderHeaderActions renders your content between the sidebar title and its close button, and receives the open topic. Neither slot adds markup when you leave it unset. (#194)
  • DataTableCore accepts sort with onSortChange, filters (reported through the existing onFilter), and globalFilter with onGlobalFilterChange, so the host can own that state. When a value is left undefined, the table keeps managing it as before. Set rowProcessing={DataTableRowProcessing.None} to render rows exactly as given when the source has already filtered and sorted them. DataTableSort, DataTableSortDirection and DataTableRowProcessing are exported from @cratis/components/DataTables. (#178)

Closes #353, closes #194. Refs #178.