2019-04-17 15:58:15 +02:00
import OurVue from 'vue' ;
import application from './mixins/application' ;
import breakpoint from './mixins/breakpoint' ;
import theme from './mixins/theme' ;
import icons from './mixins/icons' ;
import options from './mixins/options' ;
import genLang from './mixins/lang' ;
import goTo from './goTo' ;
// Utils
import { consoleWarn , consoleError } from '../../util/console' ;
var Vuetify = {
install : function install ( Vue ) {
var opts = arguments . length > 1 && arguments [ 1 ] !== undefined ? arguments [ 1 ] : { } ;
if ( this . installed ) return ;
this . installed = true ;
if ( OurVue !== Vue ) {
consoleError ( 'Multiple instances of Vue detected\nSee https://github.com/vuetifyjs/vuetify/issues/4068\n\nIf you\'re seeing "$attrs is readonly", it\'s caused by this' ) ;
}
checkVueVersion ( Vue ) ;
var lang = genLang ( opts . lang ) ;
Vue . prototype . $vuetify = new Vue ( {
mixins : [ breakpoint ( opts . breakpoint ) ] ,
data : {
application : application ,
dark : false ,
icons : icons ( opts . iconfont , opts . icons ) ,
lang : lang ,
options : options ( opts . options ) ,
rtl : opts . rtl ,
theme : theme ( opts . theme )
} ,
methods : {
goTo : goTo ,
t : lang . t . bind ( lang )
}
} ) ;
if ( opts . directives ) {
for ( var name in opts . directives ) {
Vue . directive ( name , opts . directives [ name ] ) ;
}
}
( function registerComponents ( components ) {
if ( components ) {
for ( var key in components ) {
var component = components [ key ] ;
if ( component && ! registerComponents ( component . $ _vuetify _subcomponents ) ) {
Vue . component ( key , component ) ;
}
}
return true ;
}
return false ;
} ) ( opts . components ) ;
} ,
version : '1.5.12'
} ;
export function checkVueVersion ( Vue , requiredVue ) {
var vueDep = requiredVue || '^2.5.18' ;
var required = vueDep . split ( '.' , 3 ) . map ( function ( v ) {
return v . replace ( /\D/g , '' ) ;
} ) . map ( Number ) ;
var actual = Vue . version . split ( '.' , 3 ) . map ( function ( n ) {
return parseInt ( n , 10 ) ;
} ) ;
// Simple semver caret range comparison
var passes = actual [ 0 ] === required [ 0 ] && ( // major matches
actual [ 1 ] > required [ 1 ] || // minor is greater
actual [ 1 ] === required [ 1 ] && actual [ 2 ] >= required [ 2 ] // or minor is eq and patch is >=
) ;
if ( ! passes ) {
consoleWarn ( 'Vuetify requires Vue version ' + vueDep ) ;
}
}
export default Vuetify ;
2019-06-04 14:29:48 +02:00
//# sourceMappingURL=index.js.map