remove Litepicker and update TimeRangeSelector to new menu system
To resolve #3808, I propose removing Litepicker from our codebase. This PR does not yet remove the Litepicker code, but simply replaces its functionality with native date pickers.
Litepicker has been archived as of December 18th and the codebase is no longer supported. Additionally, the structure and API of the library does not mesh well with the rest of our components. For instance, Litepicker does not provide a straightforward way to control where the element renders, a requirement for using it with the ShadCN menus.
I would normally include in this PR a proposal for a replacement date picker, perhaps the one from ShadCN, but the current implementation, wherein the date picker is presented as a submenu, has a number of inherent UX problems that would require input from other team members. The intent of this PR is to fix the underlying usability issue and update the menu.
This PR also solves an issue where the min/max boundaries on the inputs were not functional as min/max are not attributes on the text input type.
I'd recommend syncing with @mindspank and @jkhwu to get their perspectives on the UX. For background, here's an old Notion doc that explains requirements and the Litepicker choice.
I very much agree that Litepicker does not integrate well with our codebase. I'm not so much a fan of the native datepickers, but, as you mention, the ShadCN Date Picker could be a great pick. Importantly, it supports date ranges. My cursory vote would be to replace Litepicker with ShadCN's date picker outright.
I'm in support of switching to ShadCN's date picker.
Closing in favor of #4422