Skip to content

Releases: bootstarted/flowtip

v5.2.1

17 May 07:32
737da67
Compare
Choose a tag to compare
  • Updates to internal flow type annotations
  • Exported getContentStyle and getTailStyle utils

v5.2.0

02 Apr 21:43
Compare
Choose a tag to compare

Features:

  • Updated flowtip-core to include edgeOffset in layout calculation. #61
  • Added es module build to support webpack tree shaking. #64
  • Added a new decoupled render interface in flowtip-react-dom. #62

Bug Fixes:

  • Fixed an issue where the tooltip would jitter while scrolling when constrained to the viewport edge. #63
  • Fixed an issue where numeric values to align were discarded and replaced with 0.5. #65

v5.1.0

15 Mar 20:07
Compare
Choose a tag to compare

Features:

  • Removed deprecated props warning #49
  • Improved parent container detection #54

Bug Fixes:

  • Fixed errors in flowtip-react-dom README.md #52 #42
  • Added support for React 16 #53

v5.0.0

15 Mar 20:07
Compare
Choose a tag to compare

This is a major overhaul of both the internal mechanics and public interface of the FlowTip library.

The most important changes are a total separation of the layout algorithm from the React component and an a much simpler React component implementation.

With the React component and layout algorithm decoupled, the stage is set for additional FlowTip implementations on other platforms.

flowtip-core

The new layout algorithm (now published as flowtip-core) is now an entirely pure function with no coupling to React or to the DOM environment. It now has very clearly defined behavior around even the most unusual layout edge cases.

The algorithm is designed to serve the FlowTip React component, but exists as a separate module for both test isolation and to be available for additional uses.

The algorithm also now features full test coverage using a novel ascii renderer combined with Jest snapshots.

flowtip-react-dom

The previous flowtip component module is succeeded by flowtip-react-dom. It provides a friendly React interface to the underlying flowtip-core algorithm with specific bindings to DOM events and the React component lifecycle.

The main architectural motivations for the design of the new of the React component are simplicity and declarative composability with a simple interface inspired by modules like react-motion, react-router, and redux-form.

The component behaves as an inline "decorator" which enhances a provided Content component with tooltip layout behavior. Because it avoids owning any unnecessary state, it requires a parent component (or global state e.g. Redux) to manage the target rect and "active" state.

It also forgoes implementing what could be seen as valuable core features for the sake of simplicity. Additional libraries like react-resize-observer, react-motion, tj/react-click-outside, and focus-trap-react are recommended to compose a full user experience. Since flowtip-react-dom renders no markup of it's own and defers all rendering responsibility to consumer defined components, composition with the mentioned libraries should be without conflict.

This minimal approach offers the best balance of core features and compatibility with various consumer use cases.

Root element update

06 May 05:09
Compare
Choose a tag to compare

The root rendered FlowTip is no longer a relatively positioned div but instead the actual FlowTipRoot component.

Re-release without legacy version in master

04 Feb 22:02
Compare
Choose a tag to compare

Release as node package

04 Feb 21:56
Compare
Choose a tag to compare