Releases: based-ghost/react-functional-select
Releases · based-ghost/react-functional-select
v2.3.5
Change Log
🐞 Bugfix
- Merged pull request #12 from @stephenwf (Updated useIsTouchDevice to work when rendering with SSR).
v.2.3.4
Change Log
🛠 Misc
- Performance micro-optimization in
IndicatorIcons.tsx(pertaining to previous release:v2.3.3) - only create new object forforwardStateifclearIconorcaretIconproperty is a function.
v2.3.3
Change Log
🚀 Feature
- Addresses issue: To styling with different states #11 . Expanded the typings for
clearIconandcaretIconproperties to beReactNode | ((state: Partial<IndicatorIconsProps>) => ReactNode)- allowing a function as an option enables the ability to work with state values from the wrapping componentIndicatorIcons.tsx. The state forwarded to the function would be:
const state = {
menuOpen,
isLoading: !!isLoading,
isInvalid: !!isInvalid,
isDisabled: !!isDisabled
};Properties isLoading, isInvalid, isDisabled are all undefined by default, so normalizing to boolean.
v2.3.2
Change Log
🐞 Bugfix
- Replacing touch-screen capable device detection tests in hook
useIsTouchDevice.ts. Test usingwindow.matchMedia('(pointer: coarse)').matchesbegan returningfalsein Edge.
v2.3.1
Change Log
🐞 Bugfix
- Need to test browser for IE and Edge (& chromium) when conditionally applying
CSSrule of::-ms-clear { display: none; }inAutosizeInput.tsxcomponent.
v2.3.0
Change Log
🚀 Feature
- Improved, cleaner looking default clear icon - convert from a
<div />wrapping a special character to<svg />. This has some small implications for theThemeobject as some of the properties have changed - at pathDefaultTheme.icon.clear:fontFamily,fontWeight, andfontSizeproperties were removed andheight,widthwere added with default values of16px,14pxrespectively.
🛠 Misc
- Add new hook
useIsTouchDevice.ts- which uses a ref to calculate just once if device is touch-enabled - only if true, then will various touch events be added to elements (before touch events were always just being added regardless).. - Bump some dev dependencies.
💥 Breaking Changes
- 1 minor breaking change that, while not resulting in any runtime errors, could impact prior versions style/display for the
Clear Icon. Please see the feature item outlined in this realse above.
v2.2.0
Change Log
🚀 Feature
- Added new property
menuPosition(typeof 'top' | 'auto' | 'bottom'). Determines where menu will be placed in relation to the control -'auto'will first check if menu has space to open below the control, otherwise it will open above the control. Defaults to'bottom', which essentially keeps current functionality intact.
🛠 Misc
- Add
height: 100%;andalign-items: center;style toIndicatorIcondiv - expands size of active icon element for easier user manipulation. - Bump some dev dependencies.
v2.1.0
Change Log
🚀 Feature
- New 'async' mode for fetching dynamic options from a remote server using the search input value - Async Story
- New optional property:
async: boolean - New optional property:
loadingMsg: string - New optional property:
onInputChange: (value?: string) => void - New optional property:
onSearchChange: (value?: string) => void
🛠 Misc
- Optimization by removing extraneous
<div>element that wrapped the<input>element in theAutosizeInput.tsxcomponent (replaced withReact.Fragment). - Bump some dev dependencies.
💥 Breaking Changes
- 1 minor breaking change that, while not resulting in any runtime errors, could in rare scenarios alter custom styling. The change is outlined in the first bullet point under the Misc header above. Since a
<div>element was removed from the html rendered, any CSS rules targeting the<input>element may need to be updated to account for this.
v2.0.6
Change Log
🛠 Misc
- Primarily trivial code refactoring that have little to no impact on functionality and/or performance.
- Bump some dev dependencies.
v2.0.5
Change Log
🚀 Feature
- Merge PR 'Added aria props' (commit 8b9a6a7) which expands aria spec adherence by adding aria attributes to root div element.
🛠 Misc
- Bump some dev dependencies.
- optimize validateSetValueParam() utility function by replacing
filter + mapwithreduceand then use[...new Set(arr)]to make unique.