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

Replace Bootstrap plugins #984

Open
5 tasks
matthew-white opened this issue Apr 30, 2024 · 0 comments
Open
5 tasks

Replace Bootstrap plugins #984

matthew-white opened this issue Apr 30, 2024 · 0 comments
Labels

Comments

@matthew-white
Copy link
Member

matthew-white commented Apr 30, 2024

We use several Bootstrap 3 plugins. It'd be nice to remove them, for a few reasons:

  • The plugins require jQuery, which is one of our heaviest dependencies. We have removed all other uses of jQuery.
  • The plugins don't always play well with Vue. For example, our Popover component has significant limitations due to its use of the Bootstrap popover plugin.
  • Bootstrap 3 has reached EOL. I doubt that it'd be simple to migrate to Bootstrap 4 or 5. We also don't really want to continue using Bootstrap from a design perspective.

These are the Bootstrap plugins that we currently use:

  • collapse
    • This is just needed for the Navbar component I think.
    • Possibly it won't be needed anymore once we implement Set minimum width #785
  • popover + tooltip
    • These are needed for the Popover component.
    • We use Floating UI for our tooltips, and I'd like to replace these plugins with Floating UI.
  • modal
    • This is needed for the Modal component.
    • I doubt this plugin is doing that much, so I think we should just implement the modal functionality ourselves. Our Modal component does a lot beyond what the plugin does, so I think it'd be better if we could control everything related to it rather than using an external component.
  • dropdown
    • Unlike some of the other plugins, this isn't used in a single generic component. Instead, it's used throughout Frontend, mostly via data attributes.
    • I think the main thing that the plugin's doing is positioning the dropdown menu once the dropdown has been opened. We could probably use Floating UI for that.
  • transition
    • This is imported, but I'm actually not sure that we use it for anything.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant