primefaces / primevue

Next Generation Vue UI Component Library
https://primevue.org
MIT License
10.18k stars 1.21k forks source link

Custom icon support in all related components #2979

Closed Magiczne closed 2 years ago

Magiczne commented 2 years ago

Describe the feature you would like to see added

Currently only few components like menu support icon classes. When using PrimeVue with custom theme it is very hard to customize icons without including svgs in the css.

A way to change icons with props would be great

Is your feature request related to a problem?

No response

Describe the solution you'd like

No response

Describe alternatives you have considered

No response

Additional context

No response

bahadirsofuoglu commented 2 years ago

Hi, In which components do you think this need is necessary? Components that are usually used with an icon have this prop. But if there is a component that you think is missing, we would like to evaluate it. For such cases, templating can be used. You can look at the documentation.

Magiczne commented 2 years ago

Thanks for quick response

tugcekucukoglu commented 2 years ago

It's on our roadmap.

Thanks for your attention.

Magiczne commented 2 years ago

@tugcekucukoglu are you open for Pull requests? I think i am able to do it.

tugcekucukoglu commented 2 years ago

We would be grateful if you create a PR with the possible solution. As you know, this is a huge change. If you want to contribute PrimeVue, please create a separate issue and a PR for each component.

Thanks for your understanding.

ineshbose commented 1 year ago

I appreciate that this has been considered and really fast, promising progress is being made. I wonder if this issue can remain open until the whole checklist of components is done, but that is still a call based on the maintainer's preferences, however I wanted to point out a PR ahead of it's time: https://github.com/primefaces/primevue/pull/1643

PrimeIcons is set-up as default and there's motivation to continue using it because PrimeVue is configured already so it's rather easy; and while the custom icons are now available to be used as props passed to the components as strings specifying icon CSS classes, there are some other aspects that may make icons as components preferable. This popular post (which I'm sure you've come across) discusses it a bit I believe - https://antfu.me/posts/icons-in-pure-css. So even though these changes are being made, I wonder if these could've been in a Icon component provider (doesn't need to be Iconify, because people may still use others, so that can hopefully be passed in configuration), or maybe it would be considered in the roadmap?

bahadirsofuoglu commented 1 year ago

Hi @ineshbose, This enhancement was the first step to icon customizability. It continues to happen with the awesome support of @Magiczne. The next step will be for the headless mode. Templating will be possible in the fields given for the icon. Thank you very much for your suggestions and kind message.

BryceBarbara commented 1 year ago

@ineshbose Thanks for the call out. It's nice knowing someone else saw the work even if it eventually got tossed in the end

ineshbose commented 1 year ago

Being a third-party spectator of this PR and using PrimeVue for a bit with recent updates, I wouldn't say it was tossed. If that were the case, 90% of my PRs to open source have been tossed 😄

Thanks again for this PR for historical records!

r25s commented 1 year ago

Hi. I just started using this fantastic framework. However, the first thing I'm trying to do is add a Menubar, and I realize there isn't the possibility to use custom icons. Prime Icons is just not the style I want, nor does it contain all the icons I need - so this is a bit of a dealbreaker for me. I would prefer to simply specify the icon component I wish to use.

But I really like the promise of this framework, so I hope this can be resolved soon.

Please add the Menubar to the list of components which need custom icons. Thank you.