vue-mdc-adapter-forked

Disgruntled web developer fixing some of Vue wrapper arround Material Components for the Web

Usage no npm install needed!

<script type="module">
  import vueMdcAdapterForked from 'https://cdn.skypack.dev/vue-mdc-adapter-forked';
</script>

README

npm version

Material Components for Vue

This is a fork of vue-mdc-adapter. Back in May of 2018, I was excited to learn Vue.js and make use of this clean looking framework. It was getting a thumbs up from Google and NPM was showing 9,000 weekly downloads. How could things go wrong? Afterall, Google was promoting it. Who doesn't trust Google? (Sigh). Anyway, needless to say, things eventually went down the poop chute. For months I tried requesting changes, but it all fell on deaf ears. I was a sad panda. But, not all was lost. After many nights of crying and no sleep, I decided to fork the project and make the changes myself. Great success!!! It's nice!!!

vue-mdc-adapter is an integration of Material Components for Vue.js which follows the best practices recommended by Google: Using Foundations and Adapters

This project aims to find the right balance between ease of use and customization while sticking to the Vue Spirit (approachable, versatile, and performant)

Some Fixes & Removals

  • I was spending too much time trying to get the chips component to build correctly. The auto generated code basically created some component called VueMDCChips which of course does not exist. When I'd install the module from NPM and run it, NPM would tell me VueMDCChips is not defined. Why you ask? Whatever auto generator was used probably can't interpret the word ChipSet or something. I don't know. So, I said screw it and removed chips from the package. People have day jobs ya know.
  • For the longest time I wanted to remove the damn href=#" in the top-app-bar component. FFS!!!! The Material Design standard does not even have it in there. Without that stupid # I can finally click on my other components without the whole screen jumping to the top of the page. (Sigh of relief).

Quick Links

Project Status

This project is under active development. The focus is on known issues, validation, and keeping up with MDC updates.
Do not hesitate to open an issue on GitHub, contact us on Gitter, or follow us on Twitter @vuemdc

Each MDCWeb component is mapped to a single vue plugin

Extra plugins

  • layout-app: provides a flexible layout to simplify toolbar vs drawer positioning
  • icon: provides a material icon wrapper with support for font-awesome, svg, etc.

Quick Start

Playground

Fork the reference codepen template or one of the vue-mdc-adapter codepen collection or the CodeSandbox

CDN

<head>
  <!-- import reset material icons, fonts and vue-mdc-adapter stylesheets -->
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/7.0.0/normalize.min.css">
  <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500" type="text/css">

  <!-- import vue and then vue-mdc-adapter -->
  <script src="https://unpkg.com/vue"></script>
  <script src="https://unpkg.com/vue-mdc-adapter"></script>
</head>
<body>
  <!-- vue mdc markup -->
<body>

Vue CLI

Simple
npm install -g vue-cli
vue init stasson/vue-mdc-adapter-simple my-project
Webpack
npm install -g vue-cli
vue init stasson/vue-mdc-adapter-webpack my-project
cd my-project
npm install
npm run dev

Check out the Getting Started guide for more.