Skip to content

v4.0.0

Compare
Choose a tag to compare
@based-ghost based-ghost released this 23 Nov 21:43
· 18 commits to master since this release

Change Log

💥 Breaking Changes

  • Removal of property empty exposed on forwarded ref to Select component.
  • Removal of key placeholder from theme object.
  • No longer exporting type SelectProps - equivalent can be achieved by creating new type using React.ComponentProps<typeof Select>.

🚀 Feature

  • New property: pageSize | number | default: 5. Number of options to jump in menu when page{up|down} keys are used.

🐞 Bugfix

  • Fix issue in Chrome browser where detection of touch-enabled devices was not working properly.
  • Replace deprecated String.substr with String.startsWith (in custom useMenuOptions hook).

🛠 Misc

  • Large internal rewrite that accomplishes: 1). large performance boost; 2). reduction in code/bundle size of package. Changes focused on removing logic from useEffects and moving it to memoized functions (that way updates happen quicker and are not occurring after previous renders - and causing additional renders). Additionally, dependency lists were trimmed by making use of refs that keep up to date values between renders.
  • Refactor AutosizeInput component to handle resizing via CSS + data-value attribute mapped to a psuedo element's content property. This replaces the inefficent logic consisting of a dummy node with a ref to measure the width based on input and referencing input in an useEffect and updating the actual width from the ref's calculated width. Also, removed the memo wrapper from the AutosizeInput component.