The only <input> that is annoying to style is the “select” one because it’s hard to style the “options”. The rest seem reasonable and quite customizable in my experience.
I admit I haven’t had to use the date picker in a long time but I looked at the MDN for an example of the default implementation of it and it seemed fine on my iPhone. What issues have you encountered with it? I imagine it’s a different story on desktop browsers.
It’s been good on mobile for a while, and it’s a travesty on desktop.
Then if you want something a little bit complicated you have to do it all yourself.
- What if I need a date range instead of a single date?
- What if I have excluded dates? (Only weekdays/only in the future/blackout dates)
- What if I want to show other metadata with each day? (Like in a calendar showing each day with some metadata next to it)
Beyond “give a whatever the system thinks is a good date picker that I have no control over” the input with type date isn’t very useful.