Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add date picker #1860

Open
3 tasks done
dword-design-honestly opened this issue Apr 22, 2024 · 10 comments
Open
3 tasks done

Add date picker #1860

dword-design-honestly opened this issue Apr 22, 2024 · 10 comments
Labels
enhancement New feature or request

Comments

@dword-design-honestly
Copy link

dword-design-honestly commented Apr 22, 2024

Clear and concise description of the problem

BootstrapVue has a date picker component with styling integrated into the Bootstrap theme. Would be great to have this guy also in bootstrap-vue-next.

Suggested solution

Migrate the date picker to this project.

Validations

@dword-design-honestly dword-design-honestly added the enhancement New feature or request label Apr 22, 2024
@xvaara
Copy link
Contributor

xvaara commented Apr 22, 2024

imho. We already have type="datetime-local" so we don't need a picker anymore in the main libary.

I have bootstrap style date/time -pickers in one client project, I could maybe clean that up for us.
@VividLemon thoughts?

@dword-design-honestly
Copy link
Author

@xvaara afaik the dropdowns system date inputs aren't styleable because they depend on the OS.

@xvaara
Copy link
Contributor

xvaara commented Apr 22, 2024

@dword-design-honestly yes, that's why they work universally, and on mobile I prefer the native widget over any other picker.

@VividLemon
Copy link
Member

Also the bootstrap vue versions appearance is quite dated looking. The native variants simplify things

@VividLemon
Copy link
Member

imho. We already have type="datetime-local" so we don't need a picker anymore in the main libary.

I have bootstrap style date/time -pickers in one client project, I could maybe clean that up for us. @VividLemon thoughts?

I have no opinion. It's your call.

@dword-design-honestly
Copy link
Author

@VividLemon Would not reuse the styling from BootstrapVue probably, doesn't look that good. Having the option to have a custom widget makes sense to me since, although having the universal one is a pro because it just works, if you have a specific design, it sometimes doesn't integrate well (color of selected date, border radius, padding and stuff).

@xvaara
Copy link
Contributor

xvaara commented Apr 24, 2024

@VividLemon imho, I'm two minds about this. I'd like to keep the core components simple. Maybe have another repo for more complex components that aren't "bootstrap"... but we already have BTable that's quite complex and "violates that divide"

I'd like us not to have to "create css" only use what bootstrap has provided.

I'd probably just take https://www.radix-vue.com/components/date-picker.html and style that to match my site.

on the other hand, multiselect and date/time picker, better number input, range selector, range on datetime, pin input, color picker, tree, wysiwyg editor (tiptap) ... I've done all of those for client sites that use bootstrap-vue-next and they are nice to have :)

@VividLemon
Copy link
Member

VividLemon commented Apr 24, 2024

but we already have BTable that's quite complex and "violates that divide"

There are places where it does seem appropriate to take over. Tables can have a lot of nested html making it difficult to create many tables. This isn't something that is related to bootstrap, nor is it something that they could fix given their limited knowledge of the app.

However, other components like spinbutton, date picker, etc are all really bootstrap components. These things could be implemented in bootstrap (within reason, a single "spinbutton" is really just a collection of multiple buttons... So a bootstrap component seems odd for this)

It's a complicated issue. Realistically the only downside is that there is more maintenance on our end. Which is why strategies of abstraction are the best imo (since these things have already been created, and we're just reinventing the wheel), such as embedding radix Vue. Although we have talked about this before. If we were able to abstract things like pin input, date-picker, to an external source, I would be significantly more comfortable with adding many more "standard" components. I'd be fine with rewriting existing components, but I recall you having issues with that idea @xvaara

@dword-design-honestly
Copy link
Author

Throwing in the argument that most UI frameworks have a themeable date picker component (in contrast to more special components e.g. like a WYSIWYG editor). Ofc. the difficulty is to set the boundary where the framework ends and contributed packages with special components consuming Bootstrap variables start.

I also think that reusing a Vue 3 date picker component and then styling it with Bootstrap makes more sense than reimplementing it.

@VividLemon
Copy link
Member

If the implementation is a wrapper around https://www.radix-vue.com/components/date-picker , then I'm going to "okay" it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants