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

Is it possible to not add dependence styled-components?

Open fourteenmeister opened this issue 5 years ago • 4 comments

fourteenmeister avatar Dec 16 '19 10:12 fourteenmeister

No, not at the moment at least. However, looking at the roadmap for v5 of styled-components made it the best choice of all of the CSS-in-JS libraries in my opinion (in terms of performance and bundle-size). Version 5 is currently in a release-candidate state but it is stable and I have been using it in various projects with no issues, so, if you are worried about how it contributes to your bundle size v5 has a 31% smaller bundle-size than v4:

npm i [email protected]

based-ghost avatar Dec 16 '19 22:12 based-ghost

Hi, I just wanted to open the same issue. The lib looks really promising. I don't want to be forced to use a specific CSS-in-JS solution. I only want to reuse the logic of a select component. @based-ghost what do you think about this approach https://github.com/JedWatson/react-select/issues/2706#issuecomment-614794918

StarpTech avatar May 02 '20 19:05 StarpTech

@StarpTech - Ahhh, yes in retrospect I wish I would have taken the time to build this out in a more modular way upfront, so that consumers of the package could opt-out of styled-components (thereby, avoiding the need to eat that dependency). At the time I started deving this lib the React Hooks API was fairly new, so writing the lib without the use of classic class components + providing the opt-out of CSS-in-JS functionality proved to be a little more than I was able to handle at the time.

Your comment reminded me to take another look at this though, since this is something I did want to investigate and there is probably a way to smoothly integrate this with the current lib. I wrote this lib in a way that would make it flexible for additions/changes like this - so, hopefully that proves to be the case with this functionality.

I'll keep you posted and also take a look into how react-select handled this - as that package was a source of inspiration for many other features I incorporated.

based-ghost avatar May 06 '20 20:05 based-ghost

Hi @based-ghost thanks for the feedback and keep up the good work.

StarpTech avatar May 06 '20 21:05 StarpTech