This is definitely not HTML first, though. This is TS first, JS second, CSS third, and only then, HTML last. I'm all for clean frameworks, but this is very far removed from the idea of putting HTML first.
I'd really like a set of elements like this that is truly HTML + CSS. Vanilla. Layer on some _optional_ JS for some enhancements.
But this franken <form> element requires JavaScript to even render. Same for the tooltip, leader, cover, totop, ++ components; all of which can be done with HTML and CSS.
Fine, write your HTML is JS, but that isn't "HTML first".
edit: I stand corrected. the form will render without JS. The tab element in the docs wrapping the form doesn't render.
The form does not need JS. There are two labels black and red "Requires JS". The black one should've been "May Require JS". It is use for the "custom controls" provided by UIkit. But it is not required.
Cover, leader, dropdowns and even modals, you can always use the CSS class instead of UIkit custom attributes and toggle it manually via server.
Ah so the tab component doesn't render without JS. Because I can't see the form render in the docs. Which is in a tab.
Tabs can also be plain HTML + CSS. Even easier now with :has
The extreme version of HTML first: classless CSS libraries. IMO every web developer should be aware that these are sometimes a great option https://github.com/dbohdan/classless-css
I'ma huge fan of these. They often have a built in CSS "reset" and then nice base styling for all the HTML elements most folks typically use in a website. Overlay a tiny little bit of custom CSS to "make it your own", and you're off to the races!
Let me disagree. This is HTML-first because you can always grab the compiled CSS and optionally, compiled JS and reference it in your plain HTML file via <link rel="" href=""> and it will work just fine.
The TypeScript and Tailwind insanities are just there for easier development and my convenience. ;)
Maybe soon, someone will publish the compiled CSS. IDK
> This is HTML-first because you can always grab the compiled CSS and optionally, compiled JS and reference it in your plain HTML file via <link rel="" href=""> and it will work just fine.
But this is true for almost every web thing, and every web framework - you can just grab the final outputs and stick it into your web page.
So either your thing is "HTML-first", but so is everything else, or your thing is not "HTML-first", and some other things are.
> Maybe soon, someone will publish the compiled CSS.
So, until then, not only is this not HTML-first, it's not HTML at all.
To me (and maybe others), there's a difference between web development and Node/npm.