🚀 New Features
- Make tree- and list-like components more accessible:
- Change
ClassTree, InstancesSearch, ConnectionsMenu, SearchResults and DropdownMenu to be "focus group" components with support for keyboard interaction (arrow keys to move focus or toggle tree items, space to select);
- Add proper
aria-* attributes for "focus group" containers and children e.g. tree and treeitem roles;
- Support creating standalone workspace state (context) separated from UI components:
- Workspace state can be created with
createWorkspace() and provided to the UI components via WorkspaceProvider;
- Allow nested definitions of
WorkspaceRoot to use built-in styling outside the workspace component.
🐛 Fixed
- Fix partially or fully hidden outlines for
WorkspaceLayoutItem headers and Navigator toggle button.
- Fix undo/redo not adding or removing graph elements or links after
DataDiagramModel.discardLayout() call (e.g. by a reload from useLoadedWorkspace()).
- Fix small input width overflow in
UnifiedSearch when resized to the minimum size.
- Fix
Navigator to avoid animating expand/collapse transition on the initial mount.
- Fix unintended scroll instead of canvas zoom on mouse wheel event over non-scrollable elements rendered with
CanvasPlaceAt (when zoomOptions.requireCtrl is false):
- Allow to explicitly prevent zoom on mouse wheel over a non-scrollable element with
data-reactodia-prevent-zoom attribute.
- Fix accidentally moving elements or links with touch controls when panning which were also not recorded in the command history.
⏱ Performance
- Fix canvas panning optimization not being applied due to incorrect
z-index value.
🔧 Maintenance
- Update dev-depencies:
vite to v8, typescript to v6, other packages to lastest minor versions: sass, vitest, playwright, @comunica/query-sparql-rdfjs-lite, eslint-related.
💅 Polish
- Improve
WorkspaceLayout* item resize handing:
- Enable size transition on expand/collapse
WorkspaceLayoutRow items;
- Set a default minimum non-wrapping size on item width via
--reactodia-accordion-item-min-width;
- Auto-collapse items after resize if the final size is less than
minSize for that item;
- Prevent toggle buttons on
WorkspaceLayoutRow children from being partially hidden when corresponding item is collapsed.
- Export
TranslationProvider and DefaultTranslation to be able to use useTranslation() outside the workspace component:
- Export default (fallback) bundle for
en language: DefaultTranslationBundle.
- Remove deprecated
Translation.formatIri() method (use DataLocaleProvider.formatIri() instead).
- Extend
CommandBatch.discard() to accept revert option to be able to revert the batch without storing it first.
- Always display ungroup buttons on
StandardGroup when the element is single-selected.
- Allow to configure
SearchResults utility component with isItemDisabled and multiSelection props:
- Remove
singleSelectOnClick mode from SearchResults as it mostly superseded by multiSelection.
- Extend
ListElementView utility component to accept any other additional HTML props.
Link to the CHANGELOG v0.35.0