npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@solar-icons/vue

v1.2.0

Published

Solar Icons for Vue

Downloads

1,415

Readme

@solar-icons/vue

The @solar-icons/vue package provides a robust, flexible, and easy-to-use library of Vue components for the Solar icon set. This package enables developers to seamlessly integrate Solar's multi-style icons into Vue applications. While this package is compatible with Nuxt, Nuxt users should consider using the dedicated @solar-icons/nuxt package for deeper integration with the Nuxt ecosystem.

Installation

Install the package using npm, pnpm or yarn for Vue applications:

npm install @solar-icons/vue

Note for Nuxt users: For enhanced Nuxt integration with auto-import capabilities and optimized performance, consider using the dedicated @solar-icons/nuxt package instead.

Usage

Basic Vue Usage

To use an icon in your Vue application, simply import it from the package:

<template>
    <div>
        <ArrowUp :size="24" weight="Outline" :mirrored="true" /> 
         
        <solar.Arrows.ArrowDown
            :size="32"
            weight="BoldDuotone" 
        />
        
        <Arrows.AltArrowLeft
            color="#fff"
            class="bg-black"
            weight="Bold" 
        />
    </div>
</template>
<script setup>
import { ArrowUp } from '@solar-icons/vue'
import solar from '@solar-icons/vue/category'
import { Arrows } from '@solar-icons/vue/category'
</script>

Properties

Each icon component supports the following properties:

  • size: Defines the size of the icon (e.g., 24, "1.5em").
  • color: Sets the color of the icon (e.g., "#000", "currentColor").
  • weight: Specifies the icon style. Options include "Bold", "Linear", "Outline", "BoldDuotone", "LineDuotone", and "Broken".
  • mirrored: Flips the icon horizontally when set to true.
  • alt: Provides alternative text for accessibility.

Advanced Usage

Global Icon Configuration

To apply consistent styles across multiple icons, use the SolarProvider component to wrap your application:

<template>
     <SolarProvider :size="32" color="purple" weight="Linear"> <YourComponents /> </SolarProvider>
</template>
<script setup>
import { SolarProvider } from '@solar-icons/vue'
</script>

Using the Vue Plugin

Alternatively, you can install the package as a Vue plugin:

import { createApp } from 'vue'
import { SolarIconsPlugin } from '@solar-icons/vue'
const app = createApp(App)
app.use(SolarIconsPlugin, {
    color: 'currentColor',
    size: '24',
    weight: 'Linear',
    mirrored: false,
})
app.mount('#app')

Using Composition API

You can also access and modify the icon configuration using the Composition API:

<template>
    <div>
         <ArrowUp :size="iconSize" weight="Outline" /> <button @click="increaseSize">
             Increase Size</button
        >
    </div>
</template>
<script setup>
import { ref } from 'vue'
import { ArrowUp, useSolar } from '@solar-icons/vue'
const { config, setSize } = useSolar()
const iconSize = ref(24)
const increaseSize = () => {
    const newSize = parseInt(iconSize.value) + 4
    iconSize.value = newSize
    setSize(newSize)
}
</script>

Contributing

As an open-source project, contributions are welcome. However, please note that while the Solar project is maintained by a single developer, we encourage anyone interested to contribute through pull requests and issues.

License

This library is licensed under the MIT License, making it free for both personal and commercial use. However, the Solar icon pack is licensed under CC BY 4.0 by 480 Design, which allows commercial use with attribution. Please visit 480 Design's Figma page to explore the original icon set or see the LICENSE-THIRD-PARTY file.

Acknowledgements

Special thanks to 480 Design for creating the original Solar icon pack. Additional appreciation goes to Phosphor Icons and Lucide Icons for their inspiration in shaping the structure and approach of the @solar-icons packages.


For detailed documentation and examples, refer to the project's main documentation.