馃殌 New Features
- Support i18n for the UI components:
- Allow to provide custom bundles with translation strings and (optionally) disable the default one with
translations and useDefaultTranslation properties for the Workspace;
- Provide
i18n/i18n.schema.json JSON schema to validate partial translation bundles.
- Basic design system and a built-in dark theme:
- Define a basic design system with CSS custom properties for colors, fonts, borders, spacing and transitions;
- Support base
border-radius on inputs, buttons, panels, etc if provided via --reactodia-border-radius-base;
- Change
StandardTemplate to use a common CSS property for entity color: --reactodia-element-style-color (previously was --reactodia-standard-entity-color);
- Force specific color scheme (theme) via
colorSchema property on WorkspaceRoot and DefaultWorkspace with default auto mode;
- Expose
useColorScheme() hook to observe current color scheme for the workspace.
- Exporting the diagram (to SVG/PNG or printing it) always exports if the workspace is using the light theme.
- Ability to add, remove or modify property values in the "Edit entity" dialog:
- [馃ИExperimental] Change
MetadataApi.getElementTypeShape() into getElementShape() with a more specific contract, add getLiteralLanguages().
馃悰 Fixed
- Disallow selection of already present but grouped entities in
ConnectionsMenu and place them again onto the canvas.
- Fix incorrect handling of a relation in the "Edit relation" dialog when reversing the its direction (e.g. a change from "Person isAuthorOf Book" to "Book isNamedAfter Person"), including validation against duplicate relations and the displayed direction.
- Fix error when trying to render a
ToolbarActionOpen or ToolbarActionSave in the toolbar instead of a dropdown menu.
- Fix links having unresolved labels and no markers when importing the same diagram layout twice.
馃拝 Polish
- Relax assignment compatibility for branded IRI types (
ElementIri, ElementTypeIri, LinkTypeIri, PropertyTypeIri) to allow assignment from a raw string type but not between them.
馃敡 Maintenance
- Deprecate
DiagramModel.locale usage: use Translation object to perform locale-specific formatting instead.
- Remove unused
raceAbortSignal() function.
Link to the CHANGELOG v0.28.0