All Projects → robcresswell → Vue Material Design Icons

robcresswell / Vue Material Design Icons

Licence: mit
Material Design Icons as Vue Single File Components

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Vue Material Design Icons

Shards Dashboard
🔥A beautiful Bootstrap 4 admin dashboard templates pack.
Stars: ✭ 1,143 (+1424%)
Mutual labels:  material-design
Floatingactionbuttonspeeddial
A Floating Action Button Speed Dial implementation for Android that follows the Material Design specification (https://material.io/components/buttons-floating-action-button#types-of-transitions)
Stars: ✭ 1,164 (+1452%)
Mutual labels:  material-design
Gitexplorer Android
Find the right git commands 🔥 without digging through the web.😊😊😉
Stars: ✭ 72 (-4%)
Mutual labels:  material-design
Android Material Design In Practice
A project to demonstrate the latest material design principles with simple examples. It has additional examples on how to easily scale texts on different screen sizes without extra effort.
Stars: ✭ 67 (-10.67%)
Mutual labels:  material-design
Movieflutter
The Movienator is a beautiful and complete app for anyone who is looking for a quick opinion about any movie or TV Show.
Stars: ✭ 69 (-8%)
Mutual labels:  material-design
Retromusicplayer
Best material design music player for Android
Stars: ✭ 1,171 (+1461.33%)
Mutual labels:  material-design
Materialstyleddialogs
A library that shows a beautiful and customizable Material-based dialog with header. API 14+ required.
Stars: ✭ 1,139 (+1418.67%)
Mutual labels:  material-design
Laravel Vuetify Spa
Laravel-Vue SPA starter project template with Vuetify frontend.
Stars: ✭ 73 (-2.67%)
Mutual labels:  material-design
Material Message Box
A WPF Message Box implementing material design
Stars: ✭ 69 (-8%)
Mutual labels:  material-design
Hexoplusplus
🎁基于CloudFlareWorker的无服务器Hexo后端,目标:解决静态博客所有痛点[文章编辑、图片上传、博主活跃信息统计、博主说说、Twikoo加强版、阅读量统计【尚未完成】]
Stars: ✭ 72 (-4%)
Mutual labels:  material-design
Propeller
Propeller - Develop more, Code less. Propeller is a front-end responsive framework based on Google's Material Design Standards & Bootstrap.
Stars: ✭ 1,150 (+1433.33%)
Mutual labels:  material-design
Mahapps.metro.iconpacks
Awesome icon packs for WPF and UWP in one library
Stars: ✭ 1,157 (+1442.67%)
Mutual labels:  material-design
Materialspinner
A spinner view for Android
Stars: ✭ 1,173 (+1464%)
Mutual labels:  material-design
Android data
Some Android learning materials, hoping to help you learn Android development.
Stars: ✭ 8,461 (+11181.33%)
Mutual labels:  material-design
Materialchipview
Material Chip view. Can be used as tags for categories, contacts or creating text clouds
Stars: ✭ 1,181 (+1474.67%)
Mutual labels:  material-design
Moviefinderusingmvvm Android
🔥 MVVM + Clean Architecture + Best Practices | 🍿Movie Finder is a sample Android application 📱to search movies using OMDb API which is built to demonstrate use of Modern Android development tools - (Kotlin, Coroutines, Kodein, Architecture Components, MVVM, Retrofit, Gson, Material Components) 😊😊😉
Stars: ✭ 66 (-12%)
Mutual labels:  material-design
Material Ui Layout
Declarative layout for Material UI
Stars: ✭ 71 (-5.33%)
Mutual labels:  material-design
Bottombar
(Deprecated) A custom view component that mimics the new Material Design Bottom Navigation pattern.
Stars: ✭ 8,459 (+11178.67%)
Mutual labels:  material-design
Material Components Web Elm
Material Components for Elm
Stars: ✭ 73 (-2.67%)
Mutual labels:  material-design
Snackbarbuilder
[ARCHIVED] Builder pattern for support library Snackbars, that makes them easier to customise and use
Stars: ✭ 71 (-5.33%)
Mutual labels:  material-design

Vue Material Design Icon Components

This library is a collection of Vue single-file components to render Material Design Icons, sourced from the MaterialDesign project. It also includes some CSS that helps make the scaling of the icons a little easier.

Getting started

  1. Install the package

    yarn add vue-material-design-icons
    

    OR

    npm i vue-material-design-icons
    
  2. Import the icon, and declare it as a local component:

    import MenuIcon from 'vue-material-design-icons/Menu.vue';
    
    components: {
      MenuIcon;
    }
    

    OR

    Declare it as a global component:

    import MenuIcon from 'vue-material-design-icons/Menu.vue';
    
    Vue.component('menu-icon', MenuIcon);
    

    Note Icon files are pascal cased, e.g. CheckboxMarkedCircle.vue, and their default name has Icon appended e.g. CheckboxMarkedCircleIcon.

  3. Then use it in your template code!

    <menu-icon />
    
  4. Optional Add the included stylesheet. This few lines of CSS will cause the icons to scale with any surrounding text, which can be helpful when you primarily style with CSS. Note that if you intend to handle sizing with the size prop, you probably don't want to use this as it may conflict.

    import 'vue-material-design-icons/styles.css';
    

Props

  • title - This changes the hover tooltip as well as the title shown to screen readers. By default, those values are a "human readable" conversion of the icon names; for example chevron-down-icon becomes "Chevron down icon".

    Example:

    <android-icon title="this is an icon!" />
    
  • decorative - This denotes whether an icon is purely decorative, or has some meaninfgul value. If an icon is decorative, it will be hidden from screen readers. By default, this is false.

    Example:

    <android-icon decorative />
    
  • fillColor - This property allows you to set the fill colour of an icon via JS instead of requiring CSS changes. Note that any CSS values, such as fill: currentColor; provided by the optional CSS file, may override colours set with this prop.

    Example:

    <android-icon fillColor="#FF0000" />
    
  • size - This property overrides the width and height attributes on the SVG. The default is 24.

    Example:

    <android-icon :size="48" />
    

Icons

A list of the icons can be found at the Material Design Icons website. The icons packaged here are pascal cased versions of the names displayed on the website, to match the Vue Style Guide. For example, the icon named ultra-high-definition would be imported as "vue-material-design-icons/UltraHighDefinition.vue".

Tips

  • Use resolve in your Webpack config to clean up the imports:

    resolve: {
      alias : {
        "icons": path.resolve(__dirname, "node_modules/vue-material-design-icons")
      },
      extensions: [
        ".vue"
      ]
    }
    

    This will give you much shorter and more readable imports, like import Android from "icons/Android", rather than import Android from "vue-material-design-icons/Android.vue". Much better!

  • If you want custom sizing, add your own css to adjust the height and width of the icons

    .material-design-icon.icon-2x {
      height: 2em;
      width: 2em;
    }
    
    .material-design-icon.icon-2x > .material-design-icon__svg {
      height: 2em;
      width: 2em;
    }
    

    Then add your size class

    <fullscreen-icon class="icon-2x" />
    

    While I recommend using CSS for styling, you can also pass in a size prop, detailed in the Props section above.

Credits

Austin Andrews / Templarian for the MaterialDesign project. This supplies the SVG icons for this project, which are packaged as Vue single file components.

Elliot Dahl for this article on prototypr.io. This is where the recommended CSS comes from.

Attila Max Ruf / therufa for the mdi-vue library which inspired this one. It also produces single file components from material design icons.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].