Skip to content

v0.35.0

Choose a tag to compare

@AlexeyMz AlexeyMz released this 21 Jun 10:55
· 11 commits to master since this release

🚀 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