I made a React UI Component library for XSplit plugins even though I am aware that there are existing internal UI libraries available within the team. Although I'm just a consultant for SplitmediaLabs, I still do have access to their internal repository.
To answer the question quickly, it's mainly because I do not like to eject or do any custom configuration to my Create React App generated project. Yes, the existing UI library required me to
eject and the other more modern library (which is better than what I made) required me to use rescript just to use their components, apart from the fact that it does not yet have a XSplit Broadcaster source properties theme, which I have to create if I am to use it.
I didn't like that. Even though the latter even has accessibility in mind and uses the new hip CSS-in-JS in the form of styled components, it still required me to use rescript to add some babel configuration. I believe it's because it used the
css prop, which could've totally worked without rescripts if it imported the macro package. There might be other reasons why rescripts was necessary, but in the end, I always prefer a library that is less intrusive.
With that in mind, I just compiled my already existing components from other projects and just kept them in one repository. It uses emotion instead of styled components mainly because of... benchmarks. It's a plug-and-use library wherein you can use it in a CRA-generated project without any custom configuration.
The XSplit frontend team wanted to consolidate their UI libraries and use just one official library. Some other developers within the team are using my library, and thus I was informed about the current efforts on the new UI library that is to be used across XSplit projects.
I'll be contributing to that internal project to consolidate the efforts to improve the official UI library and add in components that's currently being used by existing plugins.
Will I archive my unofficial project?
I am still using xui-react for a couple of plugins that I'm working on for SplitmediaLabs, so no, not yet, unless the internal library that the XSplit team is using goes public.
There might be times where 3rd party developers might want to have an XSplit-themed UI for their plugins, specially for the very limited real estate of the source properties window, and I think this unofficial project could be the right fit. This is considering the fact that accessibility isn't really usable in the source property window anyways, thus the new internal library's best feature (in my opinion, the reason why it's better) wouldn't be useful. I mean, you could still use your keyboard, but you'll need to right click on the plugin first to show the source property window anyways.
Will I use xui-react for all my projects moving forward? No. I'll most likely use their internal library for all official plugins that I might develop. But as for my own 3rd party personal plugins, I'll continue to use xui-react.