Skip to content

Releases: based-ghost/react-functional-select

v2.8.1

26 Sep 23:06

Choose a tag to compare

Change Log

🐞 Bugfix

  • CSS bug fix that addresses minor cosmetic discrepancy where the menu scrollbar does not vertically span the full height of the menu (remove the top and bottom padding from the default themeConfig.menu style property.

v2.8.0

26 Sep 19:33

Choose a tag to compare

Change Log

🚀 Feature

  • New property: required | boolean | undefined | default: undefined. Wether the control is required or not - this attribute is applied to the child input element and if true will apply any optionally specified CSS found in themeConfig.input.cssRequired.
  • New property: itemKeySelector | ReactText | undefined | default: undefined. If defined, will use the property in your original options as each option's key, rather than the parsed stateful value menuOptions index (this needs to be a unique property - so properties such as id or value). This relates to the itemKey property in dependency react-window - more info here

🐞 Bugfix

  • Fix rendering/display issue in AriaLiveRegion.tsx component - change the child <p> elements to <span> elements under the <A11yText> (styled.span) element. Can't nest <p> elements in <span> elements.

🛠 Misc

  • Performance optimization: reduce re-render events by writing stateful value menuOpen to a ref in order to reference in memoized functions to determine whether or not to perform state updates. This is particularly highlighted when a user is triggering change events on the input's value while searching - every change would always set menuOpen to true.
  • Updates to rollup.config.js - specifically the babel plugin. Switch all loose flags from true to false and make bundled output more es6-ish.

v2.7.2

04 Sep 02:15

Choose a tag to compare

Change Log

🐞 Bugfix

  • Merge of fix for issue #18 (Order of multi-select tags not preserved).

v2.7.1

10 Aug 00:41

Choose a tag to compare

Change Log

🚀 Feature

  • Add additional parameters to be forwarded to the onKeyDown callback property - input (the value of the input control) and focusedOption (the currently focused option)

v2.7.0

02 Aug 13:08

Choose a tag to compare

Change Log

🚀 Feature

  • When css property height on themeConfig.control has a value, also apply that value to the min-height css rule for the control container
  • New css property focusedCss: string | FlattenSimpleInterpolation added to control property of themeConfig style object. Similar to existing css property, except it is only applied to control container when focused (and removed when blurred)

v2.6.0

20 Jul 05:26

Choose a tag to compare

Change Log

🛠 Misc

  • Updated rollup.config.js - added @babel/plugin-transform-runtime plugin to the plugins array of @rollup/plugin-babel plugin's configuration (to import helpers, rather than declare in package - size reduction); reordered plugins and added @rollup/plugin-node-resolve

v2.5.1

13 Jun 17:42

Choose a tag to compare

Change Log

🛠 Misc

  • Tweaked a config setting in rollup.config.js (for the typescript styled-component plugin - set displayName: false so that component names do not get prepended to className attributes)

v2.5.0

13 Jun 16:30

Choose a tag to compare

Change Log

🛠 Misc

  • Reduce global data allocations and refactor how some config data is defined/consumed
  • Minor code refactoring (in relation to actual source code)
  • Updates to rollup.config.js and babel.config.js to ensure that all code in package is fully transpiled (previous package versions were offloading some transpilation work to consuming packages/libs)

v2.4.1

11 Jun 22:37

Choose a tag to compare

Change Log

🛠 Misc

  • Minor code refactoring/cleanup
  • Generate package using updated rollup.js configuration

v2.4.0

30 May 05:41

Choose a tag to compare

Change Log

🚀 Feature

  • New property renderMultiOptions: Optional callback function of type (params: MultiParams): ReactNode. Allows for further customization of the selected options label in multi-select scenarios. See the Multi-select story for documentation and examples.