react-select-event icon indicating copy to clipboard operation
react-select-event copied to clipboard

Dynamic selection of react-select parent breaks for empty select and with custom className

Open tupton opened this issue 3 years ago β€’ 5 comments

Empty selects have a ValueContainer whose class name ends with value-container. This gets picked up by the attribute selector matcher added in #86, which then causes value container to be erroneously treated as the react-select parent.

$0.closest('[class^="css-"][class$="-container"]')
<div class=​"css-1hwfws3 value-container">​…​</div>​

When a select has a value, this is no longer an issue because value-container--has-value becomes the last class in the list and the parent is correctly found:

$0.closest('[class^="css-"][class$="-container"]')
<div class=​"css-1pcexqc-container">​…​</div>​

However, this also breaks if you provide a className to the react-select component because react-select places it at the end.

It seems that we need to make the matcher for the parent only look at the first class in the class attribute value, but I'm unsure if that's possible with contains.

tupton avatar Apr 05 '22 15:04 tupton

@tupton apologies for this issue - would you mind pinning the library to version 5.3.0 until we find a solution?

@th3fallen would you mind taking a quick look at this? please let me know if you think you’d be able to contribute a fix for this, otherwise we might have to revert your PR 😒

romgain avatar Apr 05 '22 15:04 romgain

ahhh, it may be for the best to revert it for now, and I can revisit it and add tests for those cases.

th3fallen avatar Apr 05 '22 15:04 th3fallen

Thanks @th3fallen !

I don’t currently have access to a computer, but I’ll do that later today :)

romgain avatar Apr 05 '22 15:04 romgain

@tupton apologies for this issue - would you mind pinning the library to version 5.3.0 until we find a solution?

No need to apologize. Thankfully, we already pin this (and every) dependency – dependabot wanted to update it and tests failed for that branch, which is how I discovered this issue.

We haven't updated in our development branch yet and can stay at 5.3.0 with no repercussions.

Thanks for taking a look!

tupton avatar Apr 05 '22 16:04 tupton

Done, this is reverted in v5.5.0

Thanks again for reporting this @tupton !

romgain avatar Apr 07 '22 10:04 romgain