Skip to content

Conversation

@cconard96
Copy link
Contributor

Checklist before requesting a review

  • I have read the CONTRIBUTING document.
  • I have performed a self-review of my code.

Description

POC for using PrimeVue for base components in Vue code.

I mentioned this Outline but to reiterate the reasoning for using this:

  • WCAG 2.1 AA compliance by default.
  • "Your component, not ours" philosophy including a flexible "passthrough" API. Other component libraries tend to be too opinionated.
  • Has components that can directly replace (or make replacements easier) of Flatpickr, Select2, Photoswipe, spin.js, FancyTree and RateIT.
  • Has unstyled mode so there are no default styles we need to override and we can drop-in Bootstrap/Tabler styles instead. It also means if we switch CSS frameworks for whatever reason later, it is easier to change out the classes/styles without trying to override default ones.

This is the same component library I chose for the GLPI Vue frontend prototype.

@trasher trasher marked this pull request as draft November 28, 2025 06:46
@trasher trasher added ux javascript Pull requests that update Javascript code ui labels Dec 1, 2025
@trasher trasher added this to the 12.0.0 milestone Dec 1, 2025
@trasher
Copy link
Contributor

trasher commented Dec 1, 2025

So far, is there something to test on this PR?

@cconard96
Copy link
Contributor Author

cconard96 commented Dec 1, 2025

So far, is there something to test on this PR?

The PR is more about the underlying code and library choice.
You can see the changes for the fuzzy search modal and custom asset field designer, but there are no visual changes at all. since they use the same CSS styles as before.
It is a more standardized way to use "components" similar to how the "templates/components/form/basic_inputs_macros.html.twig` template is used.

I explained in the PR description I chose to go with an unstyled library so that we had more control over it and could continue with Tabler.
You can see on this site the current main Vue component libraries.
https://ui-libs.vercel.app/

Filtered to show only unstyled, PrimeVue is the one with the largest number of components and the largest community.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

javascript Pull requests that update Javascript code ui ux

2 participants