Releases: sa-si-dev/virtual-select
Releases · sa-si-dev/virtual-select
v1.1.2
Added
- Improved memory leak prevention by enhancing event listener cleanup and timeout management in the VirtualSelect component (#437 by @gnbm)
- Updated the code base dependencies to modernize build and styles, fix linting/formatting, and ensure a clean, reproducible build and test run (#438 by @gnbm)
Fixed
- #432 - Fixed an issue where when using a dropdown with search, when we were focused on the input search, the arrow down and arrow up keys were being used to navigate through the list options, and this was blocking a normal behavior of an input (that is, moving the cursor to the start/end of the string) (#435 by @gnbm)
- #440 - Fixed an issue where when the Dropdown with values as tags was focused on TAB navigation, we couldn't move to another element since it got focus trapped (#441 by @gnbm)
- Fixed an accessibility issue that caused incorrect focus behavior when using the down arrow key to navigate through a list of options (#445 by @joselrio)
- Fixed a related console warning/error that occurred when an options list closed. This was caused by the application attempting to keep focus on an element that was simultaneously being hidden (via aria-hidden="true"), which is now correctly handled (#445 by @joselrio)
v1.1.0
Added
Fixed
- #244 - Fixed an issue where the dropbox entrance animation looked clunky when opened, calling openDropbox programmatically (#402 by @gnbm)
- #293 - Fixed an issue where the onChange event was fired twice when selecting an option from the search input (#422 by @bes-internal)
- #388 - Fixed an issue where using booleans as dropdown options (values) made the values to be returned as empty when selecting
false
(#411 by @gnbm) - #404 - Fixed an issue where pressing ESC under certain configurations (like
keepAlwaysOpen=true
) was throwing the following errorUncaught TypeError: Cannot read properties of undefined (reading 'contains') at VirtualSelect.onKeyDown
(#408 by @gnbm) - #406 - Fixed an issue where the
removeMutationObserver()
logic was not consistent withaddMutationObserver
(#407 by @Nilotaviano) - #412 - Fixed an issue where we got an error when using Virtual Select with the properties
allowNewOption: true
andsearchNormalize: true
when adding a new option (#413 by @gnbm) - #414 - Fixed an issue where using Virtual Select with the
showSelectedOptionsFirst=true
, after the selection, the dropdown was only updated properly with the selected options coming first after closing and opening it twice (#415 by @gnbm) - #416 - Fixed an issue where, when clicking between multiple VirtualSelect dropdowns, previously opened dropdowns remain open, which creates a confusing UI where multiple dropdowns can be open simultaneously (#418 by @gnbm)
- #419 - Fixed an issue where, when using the open-source library Virtual Select, if we have two dropdowns, when we open dropdown A, then scroll down to dropdown B without closing dropdown A, and once we click on dropdown B to open it, dropdown A remains focused when closed. This focus shouldn't exist; only the focus on dropdown B should be retained (#421 by @gnbm)
- #423 - Fixed an issue where the Dropdown didn't contain search, which was causing a focus on the onScroll event (#430 by @joselrio)
- #425 - Fixed an issue where, when clicking on the dropdown and then on an input, the input briefly got focused but immediately lost it (previously, it always stayed focused) (#427 by @gnbm)
- Improved label validation to only use
labelNormalized
if it exists AND is notundefined
/null
(#420 by @gnbm)
v1.0.49
v1.0.48
Added
- Added the following accessibility configuration options:
- Added the following configuration options:
showDuration
- dropdown opening animation time in millisecondshideDuration
- dropdown closing animation time in milliseconds (PR #390 by @Nilotaviano)
Fixed
- #339/#386/#387 – Fixed an issue that prevented the dropdown from displaying options after a user scrolled down, selected an option, cleared the selection, and reopened the dropdown. (PR #375 by @joselrio)
- Improved accessibility by adding aria-labels to several elements and updating the tabindex values when the dropdown is opened/closed, ensuring better keyboard navigation (PR #375 by @joselrio)
- Fixed a memory leak in the
destroy()
method by ensuringremoveEvents()
is always called (PR #390 by @Nilotaviano) - Fixed some linebreak style errors to make it more compatible with Windows/Mac (PR #394 by @gnbm)
v1.0.47
Fixed
-
#268 - Fixed a regression issue where pressing Shift+Tab in the search bar from the dropbox didn't focus the toggle-all checkbox (PR #372 by @OS-pedrolourenco)
-
Fixed an accessibility issue where focus was lost after closing the dropdown when navigating with the keyboard. (PR #375 by @joselrio)
-
#365 - Fixed an issue where unsafe options like JavaScript inline events being passed on the
label
orvalue
fields were executed, leading to a potential XSS vulnerability. SettingenableSecureText: true
is required for this use case to work as expected (PR #381 by @gnbm)
v1.0.46
v1.0.45
Added
- #312 - Added the following configuration options:
additionalDropboxClasses
- additional classes for dropbox elementadditionalDropboxContainerClasses
- additional classes for the dropbox container elementadditionalToggleButtonClasses
- additional classes for the toggle button element (PR #334 by @gnbm)- A new documentation section called Custom styling was added to better showcase the usage of these new options
- Added a callback function called
selectedLabelRenderer
to render the label of the selected item when select is closed, similar to labelRenderer (PR #337 by @AlexeySemenko )
Fixed
- Fixed an accessibility issue to guarantee that the component's focus occurs when the dropdown is closed. (PR #350 by @JoaoFerreira-FrontEnd)
v1.0.44
v1.0.43
Added
- #320 - A new option called
disableChangeEvent
was added to the methodreset()
to control if it will trigger the change event. (PR #322 by @gnbm)
Fixed
- #318 - Fixed an issue when using a dropdown with the search feature on, where the search feature became unresponsive after setting an empty options list. (PR #321 by @gnbm)
- #319 - Fixed an issue when using a dropdown with a custom
onServerSearch
function, where when a user searched for a specific term, the scroll-down got broken and all options disappeared. (PR #319 by @gnbm) - #320 - Fixed an issue on the
reset()
method that triggered the change event and caused an infinite loop when used for instance inside the change event listener. (PR #322 by @gnbm) - Improved the method
setOptionsPosition()
by adding aparseInt()
to help fix the issue with translate3D that in Chromium-based browsers under specific window sizes/resolutions, the dropdowns can have their content blurry.
To have this fixed it requires a fix in popper and popover plugins that are used as dependencies. (PR #324 by @gnbm)
v1.0.42
Added
- Accessibility improvements to the clear button present on the dropdowns. (PR #314 by @joselrio)
- New property ariaLabelClearButtonText: 'Clear button' that will help enhance accessibility when focusing on the dropdown clear button making it more verbose. (PR #316 by @gnbm )
Fixed
- #298 - Fixed an issue when destroying an instance of the virtual select, where the event listeners associated with it were not being properly removed. (PR #304 by @OS-giulianasilva)
- #311 - Fixed an issue when using dropdown with options shown as tags where the options had HTML content, causing the display of the tags to get broken. (PR #315 by @gnbm)
- #313 - Fixed an issue when using dropdown with settings including
allowNewOption: true
with an empty list of options that caused the search input to be disabled. (PR #315 by @gnbm) - Fixed an issue when using popup mode and preselected values that forced the focus to go to the dropdown when entering a screen. (PR #307 by @bmarcelino-fe)