Skip to content

Releases: f5/unovis

Release 1.3.0

09 Nov 00:03
Compare
Choose a tag to compare

Unovis 1.3 introduces Vue support and a new pattern theme to further improve our support for accessibility features.

Release Highlights

🎉 Vue 3 support

Long-awaited support for Vue, the third most popular front-end UI framework. Kudos to our community member @zernonia for this amazing contribution!

👨‍🎨 Patterns

A new theme with pattern fills that can be enabled by adding the theme-patterns class to the body element of your document. See the documentation and this pull request for more details.

unovis-patterns unovis-patterns

Other changes

Other changes were aimed at improving the overall stability of the library making the codebase more robust to future changes

  • Refactoring: From Config Classes to Objects #279
  • Refactoring: No Implicit Any #290
  • Component | Tooltip | Fix: Prevent container overflow when viewport size is reduced #292
  • Component | NestedDonut | Fix: TS errors #296
  • Svelte: Fixing SingleContainer props and adding support for class property #294
  • Theme | Patterns: Adjust injected SVG style #298

Full Changelog: 1.2.2...1.3.0

Release 1.2.3

23 Oct 22:29
Compare
Choose a tag to compare

This patch release contains the fix for the "hidden tooltip overflows viewport" issue descried in #286

Release 1.2.2

11 Oct 22:28
Compare
Choose a tag to compare

This release of Unovis contains a few tweaks and fixes. See details below.

What's new

  • Component | BulletLegend: Added support for bullet shapes #280
  • Component | Axis: Setting label and tick text color via config #268
  • Container | XY: Smarter preventEmptyDomain handling #270
  • Utils | Text: Supporting fontWeight in UnovisText; Supporting x and y in UnovisTextOptions (it was supported only by UnovisTextFrameOptions before). #274

Fixes:

  • Component | Graph: Autofit the layout if it was recalculated #284
  • Component | Nested Donut | Using fill-opacity for segment shading #277

Full Changelog: 1.2.1...1.2.2

Release 1.2.1

22 Aug 20:46
Compare
Choose a tag to compare

Unovis 1.2.1 is a minor release containing bug fixes and some minor enhancements to existing components.

Enhancements

  • Component | Crosshair: Adding stroke-width CSS variables #245
  • Scatter: Configuration property to hide / show overlapping labels; Doc tweakshttps://github.com//pull/253
  • Chord Diagram | Adding forced highlighting to config #258
  • Vulnerability fixes #246

Fixes

  • Component | Nested Donut: Alignment #252

Website

  • Website | Docs | Donut: Tweaking the Empty Segments section #254
  • Website | Fixing dark theme synchronization issue #260

Release 1.2.0

27 Jun 21:12
Compare
Choose a tag to compare

Unovis 1.2.0

A new version of Unovis is waiting for you on NPM! This update introduces a new component: Nested Donut (aka Sunburst). It also adds better support for accessibility features, allows you to apply additional styles to axes, and much more.

Release highlights:

🍩 New component: Nested Donut

Nested Donut is a captivating graphical representation that displays hierarchical data in a circular format. Its nested design allows for multiple concentric rings, each representing a different level of data, enabling users to explore relationships and proportions effortlessly.

Check out Nested Donut's documentation and example to learn how to use it.

nested-donut-1 nested-donut-2

👓 Accessibility: Supporting ARIA tags #214

You can now set the aria-label attribute for your visualization by providing the ariaLabel config property to the container you use. Unovis will automatically apply role="figure" attribute to the container element, making it accessible to assistive technologies.
Image showing aria-label support in Unovis

Screen.Recording.2023-05-26.at.10.56.18.AM.web.mp4

🔠 New CSS variables for styling Axis #203 #223

If you want to customize the width of your tick and grid lines, you can do so using the new --vis-axis-tick-line-width and --vis-axis-grid-line-width variables.

The color of the domain line by default equals the tick color (that can be specified with --vis-axis-tick-color), but Unovis 1.2 allows you to explicitly set it via --vis-axis-domain-color.

Additionally you can apply custom cursor and text-decoration to your tick labels with --vis-axis-tick-label-cursor and --vis-axis-tick-label-text-decoration variables.

image

Other changes

Enhancements

  • Component | LeafletMap: Adding getExpandedCluster public method (#205)
  • Component | Line: Better enter transition for broken lines #227
  • Component | Scatter: Fixing the missing points issue #227
  • Component | Scatter: Stroke color and width support #232

Bug Fixes:

  • Container | XY: Calling render right after initialization if there are axes or components with data (#212)
  • @unovis/svelte: Updating component lifecycles to prevent DOM related errors with SvelteKt (SSR) #216

Other

  • Core: Using native ResizeObserver when available (#209)
  • Dependencies: Updating Dagre packages to work with Angular 16 (#210)

Release 1.1.1

09 May 22:44
Compare
Choose a tag to compare

Unovis 1.1.1

This release contains several fixes and enhancements to improve the overall functionality of Unovis.

Fixes:

  • Axis: Calling tickFormat only for the actual ticks;
  • Axis: Fixed tickFormat calling when tickValues are explicitly specified;
  • Website | Gallery: Fixed expandable Sankey data model
  • Container: Set up Resize Observer in render() instead of constructor;
  • Container: Fallback to DEFAULT_CONTAINER_HEIGHT if the height is not defined;
  • Data Utils: Fixed cloning of arrays.

Enhancements:

  • Core: New text rendering utils and refactoring;
  • Text Utils: Added configurable force word break option;
  • Text Utils: Prevent empty first line when the first word is too long;
  • Dev Demo: Removed category exports from example files and added transition component
  • Examples: Added color map and attributes example for LeafletMap;
  • LeafletMap Component: Added custom attributes support, fixing config initialization, handling expanded cluster on setData.

PR history:

  • Website | Gallery: Fix expandable sankey data model by @reb-dev in #185
  • Component | LeafletMap: POC of having an object of CSS variable names by @rokotyan in #171
  • Dev Demo | Adding data transition pages by @reb-dev in #189
  • POC: Universal text utils; Refactoring by @rokotyan in #182
  • Component | Leaflet Map: Custom attributes support, config initialization fix, handling expanded cluster on setData by @rokotyan in #188
  • Utils | Clone Deep: Fixing cloning of arrays by @rokotyan in #192
  • Utils | Text: Preventing empty first line when the first word is too long by @rokotyan in #193
  • Component | Axis: Calling tickFormat only for the actual ticks by @rokotyan in #197
  • Container: Fixing Reize Observer configuration by @rokotyan in #195
  • Utils | Text: Adding configurable force word break option by @rokotyan in #196
  • Component | Axis: Fixing tickFormat calling when tickValues are set explicitly by @rokotyan in #199

Full Changelog: 1.1.0...1.1.1

Release 1.1.0

20 Apr 20:48
Compare
Choose a tag to compare

Unovis 1.1.0

We're excited to announce the release of Unovis 1.1.0! This update brings new features, enhancements, and bug fixes that improve the overall user experience and stability of the library.

Release highlights:

  • 🦌 ELK support for Graph

    We've added ELK integration to our Graph component. Now you can render complex hierarchical graphs ELK is famous for!
    SCR-20230405-ngtd

  • 🥨 New component: Multi-Level Chord Diagram

    Multi-Level Chord Diagram can display hierarchical relationships and interactions between multiple entities, often used to visualize complex systems or networks. It showcases the flow of data or connections between different levels, allowing users to understand the intricacies of interconnected components and their relative importance within the system.
    SCR-20230419-lhbu

  • 👋 Goodbye lodash

    Unovis doesn't have lodash as it's dependency anymore saving precious 90KB (unzipped) of your app bundle!
    SCR-20230419-llma

Pull Request History:

New Features

Enhancements

  • Goodbye lodash by @rokotyan (#100)
  • Component | Timeline: Fixing odd rows fill color by @rokotyan (#145)
  • Component | LeafletMap: Calling fitView and fitToPoints in the next frame by @rokotyan (#148)
  • Code Quality: Enabling strictFunctionTypes by @rokotyan (#158)
  • React | Tweaks: Supporting style and className; Removing @emotion/css dependency by @rokotyan (#162)
  • Component | LeafletMap | Styles: Updating MapLibreArcticLight style by @rokotyan (#165)
  • Component | LeafletMap: Configurable inner label color by @rokotyan (#156)
  • Component | Chord Diagram: Better accessor support for non-leaf nodes by @reb-dev (#160)
  • Website: Updating Docusaurus and fixing editUrl by @rokotyan (#175)
  • Container | Core, Single: Setting SVG size in render() by @rokotyan (#174)

Bug Fixes:

  • Component | Graph | Link fixes by @reb-dev (#151)
  • React: Fixing double-render on component initialization by @rokotyan (#154)
  • React: Fixing component initialization flow by @rokotyan (#164)
  • Component | Chord Diagram: Fixing invisible nodes by @reb-dev (#169)

Other

Release 1.0.3

15 Feb 23:04
Compare
Choose a tag to compare

Version 1.0.3 contains multiple fixes for Graph, Donut, Timeline, LeafletMap, XYLabels components, and the React adaptor.

What's new:

  • Component | Graph: Configurable node labels trimming #121
  • Component | Flow Legend: Supporting custom arrow color, padding, ... #130

Fixed:

  • Component | XYLables: Setting stroke via CSS variables #99
  • Component | Donut: Rendering empty segments #116
  • Component | Graph: Fixing labels rendering for links, configurable label text color #119
  • Component | Timeline: Enabling pointer-events for lines even when no events were set up #122
  • Component | Timeline: Changing the way we handle scrolling #138
  • Component | Leaflet: Fix rendering logic for raster files #136
  • React: Fix rendering issue #109 (Unovis React | Components only update when data is passed to container #108)
  • @unovis/react: Handling undefined and null children when comparing props #125

Website:

  • Website: Adding Search #118

Other

  • Dev: More dev examples added

Release: 1.0.2

10 Jan 20:38
Compare
Choose a tag to compare

What's new:

Fixed:

  • Component | Axis: Handling interrupted transitions #85
  • Component | Graph: Node icon color when using CSS variables #90
  • Component | Graph: Cancelling render if the component has been destroyed #93
  • Svelte: More error-proof component lifecycle #89

Website:

  • Docs | Graph: Custom SVG nodes #85
  • Docs | Intro: Adding information about types in tsconfig.json

Other

  • Dev: Better publishing workflow #91

Release 1.0.1

10 Jan 20:38
Compare
Choose a tag to compare

What's new:

  • Styles: Large and Extra Large themes #62

Fixed:

  • Angular integration: Type errors when importing into an Angular app with the "strict" option enabled in tsconfig.json #81
  • Svelte Integration: Fixed unused variable console warnings #65
  • Component | LeafletFlowMap: Fixing the destroy method (making the component compatible with React 18 Strict Mode) #82
  • Component | Timeline: Console warning when the item length is zero #72
  • Component | Graph: Supporting node fill set with a url() or CSS variable #83
  • Component | TopoJSONMap: Console errors when the width and height of the container is zero (i.e. when it's hidden) #78

Website:

  • New doc page: Bullet Legend #61
  • Gallery | Open in StackBlitz: Updated configuration for Angular examples #73

Other