- Updates SASS from @import to @use to fix deprecation warnings (potentially breaking)
- Updates SASS to fix mixed declaration errors
- Do not close a combo-box or drop-down if the focus is leaving the browser window
- Add Node 22 to testing matrix
- Switch to eslint 9
- If the value is updated for a combo-box and the listbox is visible and there is no user entered search, onSearch will be triggered
- React 18.3 support
- Remove default props in favour of default parameters
- Fix warnings on spreading
key
- Remove Node 16 from the test matrix
- Fix misspelled condition means layout functions are run without the listbox or input
- (Potentially breaking): Layout functions are now called when the listbox is hidden, allowing clean-up methods to be run
layout_popover
is not hiding the popover when a listbox is closed which can result in the listbox not being in the top layer
- Added a new
layout_popover
to resolves issues displaying list boxes inside of scrolling areas or a modal<dialog>
. This has a peer dependency of floating-ui
placeholderOption
should not produce an option for<Radios>
and<Checkboxes>
- layout functions could be called without the listbox or input as null if the ref changed before the animation frame
placeholderOption
should allow a blank value
marked-highlight
should have been a devDependency
- Simplification of how focus is managed to fix issues with the focus jumping back when tabbing from a combo-box
- The remove cross will no longer show if a selected option's label is blank
- Search suggestions example was not displaying any options
onSearch
was not being called with an empty string when a combo-box was cleared
renderGroupName
option added to<ComboBox>
and<DropDown>
- Visually hidden incorrectly applied on non-breaking spaces in a list box
renderGroupName
option added to<ComboBox>
and<DropDown>
- Visually hidden incorrectly applied on non-breaking spaces in a list box
<Checkboxes>
and<Radios>
now have a space between the label and description
<Checkboxes>
and<Radios>
now have arenderLabelWrapper
option
- Table layout now allows a
cellClass
property on columns to add additional classes to cells.
<Radios>
and<Checkboxes>
now support anonChange
event handlername
andtitle
are now used as fallbacks forlabel
when passing optionshint
is now used as a fallback fordescription
when passing options to<Checkboxes>
and<Radios>
- Added
clearOnSelect
option to<ComboBox>
- Fixed an issue with VoiceOver on Chrome on Monterey removing spaces while reading grouped or table options
- (Breaking) The project is now distributed as es6 modules only
- (Breaking)
onLayoutListBox
now takes an array of handlers anduseLayoutListBox
is removed - (Breaking) All
highlight…
methods have been replaced withHighlight…
react components - Substring highlight now highlights all matching parts
- Some optimisations to reduce renders
- All top level components are now wrapped in memo
- The listbox will now scroll to the top when the options change and no option is focused
layoutMaxHeight
will not move the list-box above the combo-box if there is room below.
- Added a
userEvent
option toselectComboBoxOption
- Added
closeOnEnter
option
- React 18 support
- Fixed some unnecessary state updates when selecting options
- Fix label is set to
undefined
if option is supplied with no label - Fix useAsyncSearch not setting options to
null
- Fix focused option not scrolling into view in some circumstances
userEvent
is now an optional "peer dependency" and not an "optional dependency"
- Fix the highlighter helpers not being exported
- Fix layoutColumnsAlignLeft not aligning columns where there are groups and no table header
- Fix layoutMaxHeight and layoutMaxWidth should use the window height if contain does not resolve to an element
- Fix support for @testing-library/user-event version 14
- Fix scrollbars not being accounted for when using
layoutMaxWidth
andlayoutMaxHeight
- Added the
<Radios>
component - Added the
<Checkboxes>
component - Added
multiple
support to<Select>
component
- Fix using mapOption combined with setting the value using the option identity did not work.
- Fix disabled and read-only could still open the combo-box
- Disable the clear button if the combo-box is disabled or read-only
- Added
property
option to highlighters - Adding highlighters examples
- Remove bold from highlight style
- Fix layoutColumnsAlignLeft wrapping
- Fix layoutColumnsAlignLeft wrapping in Microsoft Edge
- Fix useAsyncSearch should return undefined when catching errors
- fix accessible labels are not separated from value with a space
- do not read accessible column header if the column is empty
- allow custom cell classes in columns
- added tabBetweenOptions
- switched to ARIA 1.0
- redo layout handlers
- added the selectOnBlur option to combo box
- settings options to undefined on a combo-box suppresses the not found message
- changed highlight methods to return a render function
- export highlighters
- swapped order of the returned values for useConfineListBox
- simplified useAsyncSearch
- Update focus and contrast styles
- Added
classPrefix
property and restructured classes <ListBoxTable>
is refactored intoComboBoxTable
andDropDownTable
components- Customization
- Customization now uses render functions
- Removed
context
as it is no longer required - Removed
useConfineListBoxTable
is it is no longer required
- Highlighters
- Highlighters are now render functions
<PreHighlighter>
renamed todelimitedHighlight
- Searchers
- useSearch is now useAsyncSearch and has a different signature
- useTokenSearch and useAsyncSearch have a different signature
- Combo box
- onChange is no longer called when selecting a value