Show HN: Nue – A React/Vue/Vite/Astro Alternative
Your comparison of the various ListBox implementations[0] feels disingenuous. I know Vue best, so I looked at that implementation in detail, and it's got a lot going on that you don't attempt to replicate in your version. A few key features that are missing:<p>* Search—in the Headless UI version there are several hundred lines dedicated to making typing work for jumping to specific list items.<p>* Multiselect—Headless UI supports multiple selections, yours does not appear to. Again, this accounts for a large number of extra lines in the Vue implementation.<p>* Focus management—Headless UI has a lot of code dedicated to smoothing out the focus management. In my testing, your implementation has pretty buggy support for using tab to navigate.<p>* The Headless UI version dedicates a lot of lines to types, where your Nue implementation is dynamically typed. This may be a feature for you, but in my mind those type declarations are doing important work.<p>* In general, the Headless UI implementation tries to be flexible for many use cases [1], while yours only needs to support the one demo list.<p>These kinds of comparisons are most persuasive if you can write all the implementations from the ground up, using idiomatic patterns for each framework and identical feature sets for each implementation. When you do that, it's easy to compare and contrast the frameworks. As it is, it's like comparing a house to a garden shed: yes, you've used fewer lines of code, but it's not obvious to me that that's a feature of Nue and not just a byproduct of a less ambitious component.<p>[0] <a href="https://nuejs.org/compare/component.html" rel="nofollow noreferrer">https://nuejs.org/compare/component.html</a><p>[1] <a href="https://headlessui.com/vue/listbox#component-api" rel="nofollow noreferrer">https://headlessui.com/vue/listbox#component-api</a>