Releases: based-ghost/react-functional-select
Releases · based-ghost/react-functional-select
v2.8.1
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
Change Log
🚀 Feature
- New property:
required
|boolean | undefined
| default:undefined
. Wether the control is required or not - this attribute is applied to the childinput
element and iftrue
will apply any optionally specified CSS found inthemeConfig.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 valuemenuOptions
index (this needs to be a unique property - so properties such asid
orvalue
). This relates to theitemKey
property in dependencyreact-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 aref
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 setmenuOpen
totrue
. - Updates to
rollup.config.js
- specifically the babel plugin. Switch allloose
flags fromtrue
tofalse
and make bundled output more es6-ish.
v2.7.2
v2.7.1
Change Log
🚀 Feature
- Add additional parameters to be forwarded to the
onKeyDown
callback property -input
(the value of the input control) andfocusedOption
(the currently focused option)
v2.7.0
Change Log
🚀 Feature
- When css property
height
onthemeConfig.control
has a value, also apply that value to themin-height
css rule for the control container - New css property
focusedCss
:string | FlattenSimpleInterpolation
added tocontrol
property ofthemeConfig
style object. Similar to existingcss
property, except it is only applied to control container when focused (and removed when blurred)
v2.6.0
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
Change Log
🛠 Misc
- Tweaked a config setting in
rollup.config.js
(for the typescript styled-component plugin - setdisplayName: false
so that component names do not get prepended toclassName
attributes)
v2.5.0
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
andbabel.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
Change Log
🛠 Misc
- Minor code refactoring/cleanup
- Generate package using updated
rollup.js
configuration
v2.4.0
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.