111 lines
3.4 KiB
JavaScript
111 lines
3.4 KiB
JavaScript
'use strict';
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.checkVueVersion = checkVueVersion;
|
|
|
|
var _vue = require('vue');
|
|
|
|
var _vue2 = _interopRequireDefault(_vue);
|
|
|
|
var _application = require('./mixins/application');
|
|
|
|
var _application2 = _interopRequireDefault(_application);
|
|
|
|
var _breakpoint = require('./mixins/breakpoint');
|
|
|
|
var _breakpoint2 = _interopRequireDefault(_breakpoint);
|
|
|
|
var _theme = require('./mixins/theme');
|
|
|
|
var _theme2 = _interopRequireDefault(_theme);
|
|
|
|
var _icons = require('./mixins/icons');
|
|
|
|
var _icons2 = _interopRequireDefault(_icons);
|
|
|
|
var _options = require('./mixins/options');
|
|
|
|
var _options2 = _interopRequireDefault(_options);
|
|
|
|
var _lang = require('./mixins/lang');
|
|
|
|
var _lang2 = _interopRequireDefault(_lang);
|
|
|
|
var _goTo = require('./goTo');
|
|
|
|
var _goTo2 = _interopRequireDefault(_goTo);
|
|
|
|
var _console = require('../../util/console');
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
var Vuetify = {
|
|
install: function install(Vue) {
|
|
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
|
|
if (this.installed) return;
|
|
this.installed = true;
|
|
if (_vue2.default !== Vue) {
|
|
(0, _console.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 = (0, _lang2.default)(opts.lang);
|
|
Vue.prototype.$vuetify = new Vue({
|
|
mixins: [(0, _breakpoint2.default)(opts.breakpoint)],
|
|
data: {
|
|
application: _application2.default,
|
|
dark: false,
|
|
icons: (0, _icons2.default)(opts.iconfont, opts.icons),
|
|
lang: lang,
|
|
options: (0, _options2.default)(opts.options),
|
|
rtl: opts.rtl,
|
|
theme: (0, _theme2.default)(opts.theme)
|
|
},
|
|
methods: {
|
|
goTo: _goTo2.default,
|
|
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'
|
|
};
|
|
// Utils
|
|
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) {
|
|
(0, _console.consoleWarn)('Vuetify requires Vue version ' + vueDep);
|
|
}
|
|
}
|
|
exports.default = Vuetify;
|
|
//# sourceMappingURL=index.js.map
|