vuematerial/vue-material

View on GitHub
src/core/MdComponent.js

Summary

Maintainability
A
0 mins
Test Coverage
B
83%
import MdTheme from 'core/MdTheme'
import deepmerge from 'deepmerge'

export default function (newComponent) {
  const defaults = {
    props: {
      mdTheme: null
    },
    computed: {
      $mdActiveTheme () {
        const { enabled, getThemeName, getAncestorTheme } = MdTheme

        if (enabled && this.mdTheme !== false) {
          return getThemeName(this.mdTheme || getAncestorTheme(this))
        }

        return null
      }
    }
  }

  return deepmerge(defaults, newComponent)
}