vue-material
Version:
Material Design for Vue.js
1,785 lines (1,546 loc) • 857 kB
JavaScript
/*!
* vue-material v1.0.0-beta-7
* Made with <3 by marcosmoura 2017
* Released under the MIT License.
*/
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory(require("vue"));
else if(typeof define === 'function' && define.amd)
define(["vue"], factory);
else if(typeof exports === 'object')
exports["VueMaterial"] = factory(require("vue"));
else
root["VueMaterial"] = factory(root["Vue"]);
})(this, function(__WEBPACK_EXTERNAL_MODULE_7__) {
return /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, {
/******/ configurable: false,
/******/ enumerable: true,
/******/ get: getter
/******/ });
/******/ }
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 54);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports) {
/* globals __VUE_SSR_CONTEXT__ */
// IMPORTANT: Do NOT use ES2015 features in this file.
// This module is a runtime utility for cleaner component module output and will
// be included in the final webpack user bundle.
module.exports = function normalizeComponent (
rawScriptExports,
compiledTemplate,
functionalTemplate,
injectStyles,
scopeId,
moduleIdentifier /* server only */
) {
var esModule
var scriptExports = rawScriptExports = rawScriptExports || {}
// ES6 modules interop
var type = typeof rawScriptExports.default
if (type === 'object' || type === 'function') {
esModule = rawScriptExports
scriptExports = rawScriptExports.default
}
// Vue.extend constructor export interop
var options = typeof scriptExports === 'function'
? scriptExports.options
: scriptExports
// render functions
if (compiledTemplate) {
options.render = compiledTemplate.render
options.staticRenderFns = compiledTemplate.staticRenderFns
options._compiled = true
}
// functional template
if (functionalTemplate) {
options.functional = true
}
// scopedId
if (scopeId) {
options._scopeId = scopeId
}
var hook
if (moduleIdentifier) { // server build
hook = function (context) {
// 2.3 injection
context =
context || // cached call
(this.$vnode && this.$vnode.ssrContext) || // stateful
(this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
// 2.2 with runInNewContext: true
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
context = __VUE_SSR_CONTEXT__
}
// inject component styles
if (injectStyles) {
injectStyles.call(this, context)
}
// register component module identifier for async chunk inferrence
if (context && context._registeredComponents) {
context._registeredComponents.add(moduleIdentifier)
}
}
// used by ssr in case component is cached and beforeCreate
// never gets called
options._ssrRegister = hook
} else if (injectStyles) {
hook = injectStyles
}
if (hook) {
var functional = options.functional
var existing = functional
? options.render
: options.beforeCreate
if (!functional) {
// inject component registration as beforeCreate hook
options.beforeCreate = existing
? [].concat(existing, hook)
: [hook]
} else {
// for template-only hot-reload because in that case the render fn doesn't
// go through the normalizer
options._injectStyles = hook
// register for functioal component in vue file
options.render = function renderWithStyleInjection (h, context) {
hook.call(context)
return existing(h, context)
}
}
}
return {
esModule: esModule,
exports: scriptExports,
options: options
}
}
/***/ }),
/* 1 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
__webpack_require__(56);
var _MdReactive = __webpack_require__(28);
var _MdReactive2 = _interopRequireDefault(_MdReactive);
var _MdTheme = __webpack_require__(29);
var _MdTheme2 = _interopRequireDefault(_MdTheme);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var init = function init() {
var material = new _MdReactive2.default({
ripple: true,
theming: {},
locale: {
startYear: 1900,
endYear: 2099,
dateFormat: 'YYYY-MM-DD',
days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
shortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
shorterDays: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
shortMonths: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'June', 'July', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec'],
shorterMonths: ['J', 'F', 'M', 'A', 'M', 'Ju', 'Ju', 'A', 'Se', 'O', 'N', 'D']
}
});
Object.defineProperties(material.theming, {
metaColors: {
get: function get() {
return _MdTheme2.default.metaColors;
},
set: function set(metaColors) {
_MdTheme2.default.metaColors = metaColors;
}
},
theme: {
get: function get() {
return _MdTheme2.default.theme;
},
set: function set(theme) {
_MdTheme2.default.theme = theme;
}
},
enabled: {
get: function get() {
return _MdTheme2.default.enabled;
},
set: function set(enabled) {
_MdTheme2.default.enabled = enabled;
}
}
});
return material;
};
exports.default = function (Vue) {
if (!Vue.material) {
Vue.material = init();
Vue.prototype.$material = Vue.material;
}
};
/***/ }),
/* 2 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = function (newComponent) {
var defaults = {
props: {
mdTheme: null
},
computed: {
$mdActiveTheme: function $mdActiveTheme() {
var enabled = _MdTheme2.default.enabled,
getThemeName = _MdTheme2.default.getThemeName,
getAncestorTheme = _MdTheme2.default.getAncestorTheme;
if (enabled && this.mdTheme !== false) {
return getThemeName(this.mdTheme || getAncestorTheme(this));
}
return null;
}
}
};
return (0, _deepmerge2.default)(defaults, newComponent);
};
var _MdTheme = __webpack_require__(29);
var _MdTheme2 = _interopRequireDefault(_MdTheme);
var _deepmerge = __webpack_require__(30);
var _deepmerge2 = _interopRequireDefault(_deepmerge);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/***/ }),
/* 3 */
/***/ (function(module, exports, __webpack_require__) {
var isDate = __webpack_require__(36)
var MILLISECONDS_IN_HOUR = 3600000
var MILLISECONDS_IN_MINUTE = 60000
var DEFAULT_ADDITIONAL_DIGITS = 2
var parseTokenDateTimeDelimeter = /[T ]/
var parseTokenPlainTime = /:/
// year tokens
var parseTokenYY = /^(\d{2})$/
var parseTokensYYY = [
/^([+-]\d{2})$/, // 0 additional digits
/^([+-]\d{3})$/, // 1 additional digit
/^([+-]\d{4})$/ // 2 additional digits
]
var parseTokenYYYY = /^(\d{4})/
var parseTokensYYYYY = [
/^([+-]\d{4})/, // 0 additional digits
/^([+-]\d{5})/, // 1 additional digit
/^([+-]\d{6})/ // 2 additional digits
]
// date tokens
var parseTokenMM = /^-(\d{2})$/
var parseTokenDDD = /^-?(\d{3})$/
var parseTokenMMDD = /^-?(\d{2})-?(\d{2})$/
var parseTokenWww = /^-?W(\d{2})$/
var parseTokenWwwD = /^-?W(\d{2})-?(\d{1})$/
// time tokens
var parseTokenHH = /^(\d{2}([.,]\d*)?)$/
var parseTokenHHMM = /^(\d{2}):?(\d{2}([.,]\d*)?)$/
var parseTokenHHMMSS = /^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/
// timezone tokens
var parseTokenTimezone = /([Z+-].*)$/
var parseTokenTimezoneZ = /^(Z)$/
var parseTokenTimezoneHH = /^([+-])(\d{2})$/
var parseTokenTimezoneHHMM = /^([+-])(\d{2}):?(\d{2})$/
/**
* @category Common Helpers
* @summary Convert the given argument to an instance of Date.
*
* @description
* Convert the given argument to an instance of Date.
*
* If the argument is an instance of Date, the function returns its clone.
*
* If the argument is a number, it is treated as a timestamp.
*
* If an argument is a string, the function tries to parse it.
* Function accepts complete ISO 8601 formats as well as partial implementations.
* ISO 8601: http://en.wikipedia.org/wiki/ISO_8601
*
* If all above fails, the function passes the given argument to Date constructor.
*
* @param {Date|String|Number} argument - the value to convert
* @param {Object} [options] - the object with options
* @param {0 | 1 | 2} [options.additionalDigits=2] - the additional number of digits in the extended year format
* @returns {Date} the parsed date in the local time zone
*
* @example
* // Convert string '2014-02-11T11:30:30' to date:
* var result = parse('2014-02-11T11:30:30')
* //=> Tue Feb 11 2014 11:30:30
*
* @example
* // Parse string '+02014101',
* // if the additional number of digits in the extended year format is 1:
* var result = parse('+02014101', {additionalDigits: 1})
* //=> Fri Apr 11 2014 00:00:00
*/
function parse (argument, dirtyOptions) {
if (isDate(argument)) {
// Prevent the date to lose the milliseconds when passed to new Date() in IE10
return new Date(argument.getTime())
} else if (typeof argument !== 'string') {
return new Date(argument)
}
var options = dirtyOptions || {}
var additionalDigits = options.additionalDigits
if (additionalDigits == null) {
additionalDigits = DEFAULT_ADDITIONAL_DIGITS
} else {
additionalDigits = Number(additionalDigits)
}
var dateStrings = splitDateString(argument)
var parseYearResult = parseYear(dateStrings.date, additionalDigits)
var year = parseYearResult.year
var restDateString = parseYearResult.restDateString
var date = parseDate(restDateString, year)
if (date) {
var timestamp = date.getTime()
var time = 0
var offset
if (dateStrings.time) {
time = parseTime(dateStrings.time)
}
if (dateStrings.timezone) {
offset = parseTimezone(dateStrings.timezone)
} else {
// get offset accurate to hour in timezones that change offset
offset = new Date(timestamp + time).getTimezoneOffset()
offset = new Date(timestamp + time + offset * MILLISECONDS_IN_MINUTE).getTimezoneOffset()
}
return new Date(timestamp + time + offset * MILLISECONDS_IN_MINUTE)
} else {
return new Date(argument)
}
}
function splitDateString (dateString) {
var dateStrings = {}
var array = dateString.split(parseTokenDateTimeDelimeter)
var timeString
if (parseTokenPlainTime.test(array[0])) {
dateStrings.date = null
timeString = array[0]
} else {
dateStrings.date = array[0]
timeString = array[1]
}
if (timeString) {
var token = parseTokenTimezone.exec(timeString)
if (token) {
dateStrings.time = timeString.replace(token[1], '')
dateStrings.timezone = token[1]
} else {
dateStrings.time = timeString
}
}
return dateStrings
}
function parseYear (dateString, additionalDigits) {
var parseTokenYYY = parseTokensYYY[additionalDigits]
var parseTokenYYYYY = parseTokensYYYYY[additionalDigits]
var token
// YYYY or ±YYYYY
token = parseTokenYYYY.exec(dateString) || parseTokenYYYYY.exec(dateString)
if (token) {
var yearString = token[1]
return {
year: parseInt(yearString, 10),
restDateString: dateString.slice(yearString.length)
}
}
// YY or ±YYY
token = parseTokenYY.exec(dateString) || parseTokenYYY.exec(dateString)
if (token) {
var centuryString = token[1]
return {
year: parseInt(centuryString, 10) * 100,
restDateString: dateString.slice(centuryString.length)
}
}
// Invalid ISO-formatted year
return {
year: null
}
}
function parseDate (dateString, year) {
// Invalid ISO-formatted year
if (year === null) {
return null
}
var token
var date
var month
var week
// YYYY
if (dateString.length === 0) {
date = new Date(0)
date.setUTCFullYear(year)
return date
}
// YYYY-MM
token = parseTokenMM.exec(dateString)
if (token) {
date = new Date(0)
month = parseInt(token[1], 10) - 1
date.setUTCFullYear(year, month)
return date
}
// YYYY-DDD or YYYYDDD
token = parseTokenDDD.exec(dateString)
if (token) {
date = new Date(0)
var dayOfYear = parseInt(token[1], 10)
date.setUTCFullYear(year, 0, dayOfYear)
return date
}
// YYYY-MM-DD or YYYYMMDD
token = parseTokenMMDD.exec(dateString)
if (token) {
date = new Date(0)
month = parseInt(token[1], 10) - 1
var day = parseInt(token[2], 10)
date.setUTCFullYear(year, month, day)
return date
}
// YYYY-Www or YYYYWww
token = parseTokenWww.exec(dateString)
if (token) {
week = parseInt(token[1], 10) - 1
return dayOfISOYear(year, week)
}
// YYYY-Www-D or YYYYWwwD
token = parseTokenWwwD.exec(dateString)
if (token) {
week = parseInt(token[1], 10) - 1
var dayOfWeek = parseInt(token[2], 10) - 1
return dayOfISOYear(year, week, dayOfWeek)
}
// Invalid ISO-formatted date
return null
}
function parseTime (timeString) {
var token
var hours
var minutes
// hh
token = parseTokenHH.exec(timeString)
if (token) {
hours = parseFloat(token[1].replace(',', '.'))
return (hours % 24) * MILLISECONDS_IN_HOUR
}
// hh:mm or hhmm
token = parseTokenHHMM.exec(timeString)
if (token) {
hours = parseInt(token[1], 10)
minutes = parseFloat(token[2].replace(',', '.'))
return (hours % 24) * MILLISECONDS_IN_HOUR +
minutes * MILLISECONDS_IN_MINUTE
}
// hh:mm:ss or hhmmss
token = parseTokenHHMMSS.exec(timeString)
if (token) {
hours = parseInt(token[1], 10)
minutes = parseInt(token[2], 10)
var seconds = parseFloat(token[3].replace(',', '.'))
return (hours % 24) * MILLISECONDS_IN_HOUR +
minutes * MILLISECONDS_IN_MINUTE +
seconds * 1000
}
// Invalid ISO-formatted time
return null
}
function parseTimezone (timezoneString) {
var token
var absoluteOffset
// Z
token = parseTokenTimezoneZ.exec(timezoneString)
if (token) {
return 0
}
// ±hh
token = parseTokenTimezoneHH.exec(timezoneString)
if (token) {
absoluteOffset = parseInt(token[2], 10) * 60
return (token[1] === '+') ? -absoluteOffset : absoluteOffset
}
// ±hh:mm or ±hhmm
token = parseTokenTimezoneHHMM.exec(timezoneString)
if (token) {
absoluteOffset = parseInt(token[2], 10) * 60 + parseInt(token[3], 10)
return (token[1] === '+') ? -absoluteOffset : absoluteOffset
}
return 0
}
function dayOfISOYear (isoYear, week, day) {
week = week || 0
day = day || 0
var date = new Date(0)
date.setUTCFullYear(isoYear, 0, 4)
var fourthOfJanuaryDay = date.getUTCDay() || 7
var diff = week * 7 + day + 1 - fourthOfJanuaryDay
date.setUTCDate(date.getUTCDate() + diff)
return date
}
module.exports = parse
/***/ }),
/* 4 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _vue = __webpack_require__(7);
var _vue2 = _interopRequireDefault(_vue);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = function (name, options) {
return {
validator: function validator(value) {
if (options.includes(value)) {
return true;
}
_vue2.default.util.warn('The ' + name + ' prop is invalid. Given value: ' + value + '. Available options: ' + options.join(', ') + '.', undefined);
return false;
}
};
};
/***/ }),
/* 5 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
// EXTERNAL MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0&bustCache!./src/components/MdIcon/MdIcon.vue
var MdIcon = __webpack_require__(150);
var MdIcon_default = /*#__PURE__*/__webpack_require__.n(MdIcon);
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/template-compiler?{"id":"data-v-59c14b8f","hasScoped":false,"buble":{"transforms":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0&bustCache!./src/components/MdIcon/MdIcon.vue
var render = function() {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _vm.mdSrc
? _c("md-svg-loader", {
staticClass: "md-icon md-icon-image",
class: [_vm.$mdActiveTheme],
attrs: { "md-src": _vm.mdSrc },
on: {
"md-loaded": function($event) {
_vm.$emit("md-loaded")
}
}
})
: _c(
"i",
{ staticClass: "md-icon md-icon-font", class: [_vm.$mdActiveTheme] },
[_vm._t("default")],
2
)
}
var staticRenderFns = []
render._withStripped = true
var esExports = { render: render, staticRenderFns: staticRenderFns }
/* harmony default export */ var MdIcon_MdIcon = (esExports);
if (false) {
module.hot.accept()
if (module.hot.data) {
require("vue-hot-reload-api") .rerender("data-v-59c14b8f", esExports)
}
}
// CONCATENATED MODULE: ./src/components/MdIcon/MdIcon.vue
var disposed = false
function injectStyle (ssrContext) {
if (disposed) return
__webpack_require__(149)
}
var normalizeComponent = __webpack_require__(0)
/* script */
/* template */
/* template functional */
var __vue_template_functional__ = false
/* styles */
var __vue_styles__ = injectStyle
/* scopeId */
var __vue_scopeId__ = null
/* moduleIdentifier (server only) */
var __vue_module_identifier__ = null
var Component = normalizeComponent(
MdIcon_default.a,
MdIcon_MdIcon,
__vue_template_functional__,
__vue_styles__,
__vue_scopeId__,
__vue_module_identifier__
)
Component.options.__file = "src/components/MdIcon/MdIcon.vue"
if (Component.esModule && Object.keys(Component.esModule).some(function (key) { return key !== "default" && key.substr(0, 2) !== "__"})) { console.error("named exports are not supported in *.vue files.")}
/* hot reload */
if (false) {(function () {
var hotAPI = require("vue-hot-reload-api")
hotAPI.install(require("vue"), false)
if (!hotAPI.compatible) return
module.hot.accept()
if (!module.hot.data) {
hotAPI.createRecord("data-v-59c14b8f", Component.options)
} else {
hotAPI.reload("data-v-59c14b8f", Component.options)
' + ' }
module.hot.dispose(function (data) {
disposed = true
})
})()}
/* harmony default export */ var components_MdIcon_MdIcon = __webpack_exports__["default"] = (Component.exports);
/***/ }),
/* 6 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var MdUuid = function MdUuid() {
return Math.random().toString(36).slice(4);
};
exports.default = MdUuid;
/***/ }),
/* 7 */
/***/ (function(module, exports) {
module.exports = __WEBPACK_EXTERNAL_MODULE_7__;
/***/ }),
/* 8 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
// EXTERNAL MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0&bustCache!./src/components/MdRipple/MdRipple.vue
var MdRipple = __webpack_require__(93);
var MdRipple_default = /*#__PURE__*/__webpack_require__.n(MdRipple);
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/template-compiler?{"id":"data-v-7692b1af","hasScoped":false,"buble":{"transforms":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0&bustCache!./src/components/MdRipple/MdRipple.vue
var render = function() {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c(
"div",
{
staticClass: "md-ripple",
class: _vm.rippleClasses,
on: {
"&touchstart": function($event) {
$event.stopPropagation()
_vm.touchStartCheck($event)
},
"&touchmove": function($event) {
$event.stopPropagation()
_vm.touchMoveCheck($event)
},
"&mousedown": function($event) {
$event.stopPropagation()
_vm.startRipple($event)
}
}
},
[
_vm._t("default"),
_vm._v(" "),
!_vm.isDisabled
? _c(
"transition",
{
attrs: { name: "md-ripple" },
on: { "after-enter": _vm.clearWave }
},
[
_vm.animating
? _c("span", {
ref: "rippleWave",
staticClass: "md-ripple-wave",
class: _vm.waveClasses,
style: _vm.waveStyles
})
: _vm._e()
]
)
: _vm._e()
],
2
)
}
var staticRenderFns = []
render._withStripped = true
var esExports = { render: render, staticRenderFns: staticRenderFns }
/* harmony default export */ var MdRipple_MdRipple = (esExports);
if (false) {
module.hot.accept()
if (module.hot.data) {
require("vue-hot-reload-api") .rerender("data-v-7692b1af", esExports)
}
}
// CONCATENATED MODULE: ./src/components/MdRipple/MdRipple.vue
var disposed = false
function injectStyle (ssrContext) {
if (disposed) return
__webpack_require__(92)
}
var normalizeComponent = __webpack_require__(0)
/* script */
/* template */
/* template functional */
var __vue_template_functional__ = false
/* styles */
var __vue_styles__ = injectStyle
/* scopeId */
var __vue_scopeId__ = null
/* moduleIdentifier (server only) */
var __vue_module_identifier__ = null
var Component = normalizeComponent(
MdRipple_default.a,
MdRipple_MdRipple,
__vue_template_functional__,
__vue_styles__,
__vue_scopeId__,
__vue_module_identifier__
)
Component.options.__file = "src/components/MdRipple/MdRipple.vue"
if (Component.esModule && Object.keys(Component.esModule).some(function (key) { return key !== "default" && key.substr(0, 2) !== "__"})) { console.error("named exports are not supported in *.vue files.")}
/* hot reload */
if (false) {(function () {
var hotAPI = require("vue-hot-reload-api")
hotAPI.install(require("vue"), false)
if (!hotAPI.compatible) return
module.hot.accept()
if (!module.hot.data) {
hotAPI.createRecord("data-v-7692b1af", Component.options)
} else {
hotAPI.reload("data-v-7692b1af", Component.options)
' + ' }
module.hot.dispose(function (data) {
disposed = true
})
})()}
/* harmony default export */ var components_MdRipple_MdRipple = __webpack_exports__["default"] = (Component.exports);
/***/ }),
/* 9 */
/***/ (function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(global) {var now = __webpack_require__(65)
, root = typeof window === 'undefined' ? global : window
, vendors = ['moz', 'webkit']
, suffix = 'AnimationFrame'
, raf = root['request' + suffix]
, caf = root['cancel' + suffix] || root['cancelRequest' + suffix]
for(var i = 0; !raf && i < vendors.length; i++) {
raf = root[vendors[i] + 'Request' + suffix]
caf = root[vendors[i] + 'Cancel' + suffix]
|| root[vendors[i] + 'CancelRequest' + suffix]
}
// Some versions of FF have rAF but not cAF
if(!raf || !caf) {
var last = 0
, id = 0
, queue = []
, frameDuration = 1000 / 60
raf = function(callback) {
if(queue.length === 0) {
var _now = now()
, next = Math.max(0, frameDuration - (_now - last))
last = next + _now
setTimeout(function() {
var cp = queue.slice(0)
// Clear queue here to prevent
// callbacks from appending listeners
// to the current frame's queue
queue.length = 0
for(var i = 0; i < cp.length; i++) {
if(!cp[i].cancelled) {
try{
cp[i].callback(last)
} catch(e) {
setTimeout(function() { throw e }, 0)
}
}
}
}, Math.round(next))
}
queue.push({
handle: ++id,
callback: callback,
cancelled: false
})
return id
}
caf = function(handle) {
for(var i = 0; i < queue.length; i++) {
if(queue[i].handle === handle) {
queue[i].cancelled = true
}
}
}
}
module.exports = function(fn) {
// Wrap in a new function to prevent
// `cancel` potentially being assigned
// to the native rAF function
return raf.call(root, fn)
}
module.exports.cancel = function() {
caf.apply(root, arguments)
}
module.exports.polyfill = function(object) {
if (!object) {
object = root;
}
object.requestAnimationFrame = raf
object.cancelAnimationFrame = caf
}
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(17)))
/***/ }),
/* 10 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
// EXTERNAL MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0&bustCache!./src/components/MdDialog/MdDialog.vue
var MdDialog = __webpack_require__(205);
var MdDialog_default = /*#__PURE__*/__webpack_require__.n(MdDialog);
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/template-compiler?{"id":"data-v-f080a6a2","hasScoped":false,"buble":{"transforms":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0&bustCache!./src/components/MdDialog/MdDialog.vue
var render = function() {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c(
"md-portal",
[
_c("transition", { attrs: { name: "md-dialog" } }, [
_vm.mdActive
? _c(
"div",
_vm._g(
{
staticClass: "md-dialog",
class: [_vm.dialogClasses, _vm.$mdActiveTheme],
on: {
keydown: function($event) {
if (
!("button" in $event) &&
_vm._k($event.keyCode, "esc", 27, $event.key)
) {
return null
}
_vm.onEsc($event)
}
}
},
_vm.$listeners
),
[
_c("md-focus-trap", [
_c(
"div",
{ staticClass: "md-dialog-container" },
[
_vm._t("default"),
_vm._v(" "),
_c(
"keep-alive",
[
_vm.mdBackdrop
? _c("md-overlay", {
class: _vm.mdBackdropClass,
attrs: {
"md-fixed": "",
"md-active": _vm.mdActive
},
on: { click: _vm.onClick }
})
: _vm._e()
],
1
)
],
2
)
])
],
1
)
: _vm._e()
])
],
1
)
}
var staticRenderFns = []
render._withStripped = true
var esExports = { render: render, staticRenderFns: staticRenderFns }
/* harmony default export */ var MdDialog_MdDialog = (esExports);
if (false) {
module.hot.accept()
if (module.hot.data) {
require("vue-hot-reload-api") .rerender("data-v-f080a6a2", esExports)
}
}
// CONCATENATED MODULE: ./src/components/MdDialog/MdDialog.vue
var disposed = false
function injectStyle (ssrContext) {
if (disposed) return
__webpack_require__(204)
}
var normalizeComponent = __webpack_require__(0)
/* script */
/* template */
/* template functional */
var __vue_template_functional__ = false
/* styles */
var __vue_styles__ = injectStyle
/* scopeId */
var __vue_scopeId__ = null
/* moduleIdentifier (server only) */
var __vue_module_identifier__ = null
var Component = normalizeComponent(
MdDialog_default.a,
MdDialog_MdDialog,
__vue_template_functional__,
__vue_styles__,
__vue_scopeId__,
__vue_module_identifier__
)
Component.options.__file = "src/components/MdDialog/MdDialog.vue"
if (Component.esModule && Object.keys(Component.esModule).some(function (key) { return key !== "default" && key.substr(0, 2) !== "__"})) { console.error("named exports are not supported in *.vue files.")}
/* hot reload */
if (false) {(function () {
var hotAPI = require("vue-hot-reload-api")
hotAPI.install(require("vue"), false)
if (!hotAPI.compatible) return
module.hot.accept()
if (!module.hot.data) {
hotAPI.createRecord("data-v-f080a6a2", Component.options)
} else {
hotAPI.reload("data-v-f080a6a2", Component.options)
' + ' }
module.hot.dispose(function (data) {
disposed = true
})
})()}
/* harmony default export */ var components_MdDialog_MdDialog = __webpack_exports__["default"] = (Component.exports);
/***/ }),
/* 11 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _MdRipple = __webpack_require__(19);
var _MdRipple2 = _interopRequireDefault(_MdRipple);
var _MdListItemContent = __webpack_require__(282);
var _MdListItemContent2 = _interopRequireDefault(_MdListItemContent);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = {
mixins: [_MdRipple2.default],
components: {
MdListItemContent: _MdListItemContent2.default
},
props: {
disabled: Boolean
},
computed: {
isDisabled: function isDisabled() {
return !this.mdRipple || this.disabled;
}
}
};
/***/ }),
/* 12 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
exports.default = function (context, props) {
return _extends({}, props, context.$options.components['router-link'].options.props);
};
/***/ }),
/* 13 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_bustCache_MdButton_vue__ = __webpack_require__(98);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_bustCache_MdButton_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_bustCache_MdButton_vue__);
var disposed = false
function injectStyle (ssrContext) {
if (disposed) return
__webpack_require__(97)
}
var normalizeComponent = __webpack_require__(0)
/* script */
/* template */
var __vue_template__ = null
/* template functional */
var __vue_template_functional__ = false
/* styles */
var __vue_styles__ = injectStyle
/* scopeId */
var __vue_scopeId__ = null
/* moduleIdentifier (server only) */
var __vue_module_identifier__ = null
var Component = normalizeComponent(
__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_bustCache_MdButton_vue___default.a,
__vue_template__,
__vue_template_functional__,
__vue_styles__,
__vue_scopeId__,
__vue_module_identifier__
)
Component.options.__file = "src/components/MdButton/MdButton.vue"
if (Component.esModule && Object.keys(Component.esModule).some(function (key) { return key !== "default" && key.substr(0, 2) !== "__"})) { console.error("named exports are not supported in *.vue files.")}
/* hot reload */
if (false) {(function () {
var hotAPI = require("vue-hot-reload-api")
hotAPI.install(require("vue"), false)
if (!hotAPI.compatible) return
module.hot.accept()
if (!module.hot.data) {
hotAPI.createRecord("data-v-7d2cd822", Component.options)
} else {
hotAPI.reload("data-v-7d2cd822", Component.options)
' + ' }
module.hot.dispose(function (data) {
disposed = true
})
})()}
/* harmony default export */ __webpack_exports__["default"] = (Component.exports);
/***/ }),
/* 14 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
// EXTERNAL MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0&bustCache!./src/components/MdField/MdInput/MdInput.vue
var MdInput = __webpack_require__(158);
var MdInput_default = /*#__PURE__*/__webpack_require__.n(MdInput);
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/template-compiler?{"id":"data-v-69de42aa","hasScoped":false,"buble":{"transforms":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0&bustCache!./src/components/MdField/MdInput/MdInput.vue
var render = function() {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c(
"input",
_vm._g(
_vm._b(
{
directives: [
{
name: "model",
rawName: "v-model",
value: _vm.model,
expression: "model"
}
],
staticClass: "md-input",
domProps: { value: _vm.model },
on: {
focus: _vm.onFocus,
blur: _vm.onBlur,
input: function($event) {
if ($event.target.composing) {
return
}
_vm.model = $event.target.value
}
}
},
"input",
_vm.attributes,
false
),
_vm.listeners
)
)
}
var staticRenderFns = []
render._withStripped = true
var esExports = { render: render, staticRenderFns: staticRenderFns }
/* harmony default export */ var MdInput_MdInput = (esExports);
if (false) {
module.hot.accept()
if (module.hot.data) {
require("vue-hot-reload-api") .rerender("data-v-69de42aa", esExports)
}
}
// CONCATENATED MODULE: ./src/components/MdField/MdInput/MdInput.vue
var disposed = false
var normalizeComponent = __webpack_require__(0)
/* script */
/* template */
/* template functional */
var __vue_template_functional__ = false
/* styles */
var __vue_styles__ = null
/* scopeId */
var __vue_scopeId__ = null
/* moduleIdentifier (server only) */
var __vue_module_identifier__ = null
var Component = normalizeComponent(
MdInput_default.a,
MdInput_MdInput,
__vue_template_functional__,
__vue_styles__,
__vue_scopeId__,
__vue_module_identifier__
)
Component.options.__file = "src/components/MdField/MdInput/MdInput.vue"
if (Component.esModule && Object.keys(Component.esModule).some(function (key) { return key !== "default" && key.substr(0, 2) !== "__"})) { console.error("named exports are not supported in *.vue files.")}
/* hot reload */
if (false) {(function () {
var hotAPI = require("vue-hot-reload-api")
hotAPI.install(require("vue"), false)
if (!hotAPI.compatible) return
module.hot.accept()
if (!module.hot.data) {
hotAPI.createRecord("data-v-69de42aa", Component.options)
} else {
hotAPI.reload("data-v-69de42aa", Component.options)
' + ' }
module.hot.dispose(function (data) {
disposed = true
})
})()}
/* harmony default export */ var MdField_MdInput_MdInput = __webpack_exports__["default"] = (Component.exports);
/***/ }),
/* 15 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
exports.default = {
props: {
value: {},
placeholder: String,
maxlength: [String, Number],
readonly: Boolean,
required: Boolean,
disabled: Boolean,
mdCounter: [String, Number]
},
data: function data() {
return {
localValue: this.value,
textareaHeight: false
};
},
computed: {
model: {
get: function get() {
return this.localValue;
},
set: function set(value) {
var _this = this;
if (value.constructor.name.toLowerCase() !== 'inputevent') {
this.$nextTick(function () {
_this.localValue = value;
});
}
}
},
clear: function clear() {
return this.MdField.clear;
},
attributes: function attributes() {
return _extends({}, this.$attrs, {
type: this.type,
id: this.id,
name: this.name,
disabled: this.disabled,
required: this.required,
placeholder: this.placeholder,
readonly: this.readonly,
maxlength: this.maxlength
});
}
},
watch: {
model: function model() {
this.setFieldValue();
},
clear: function clear(_clear) {
if (_clear) {
this.clearField();
}
},
placeholder: function placeholder() {
this.setPlaceholder();
},
disabled: function disabled() {
this.setDisabled();
},
required: function required() {
this.setRequired();
},
maxlength: function maxlength() {
this.setMaxlength();
},
mdCounter: function mdCounter() {
this.setMaxlength();
},
localValue: function localValue(val) {
this.$emit('input', val);
},
value: function value(val) {
this.localValue = val;
}
},
methods: {
clearField: function clearField() {
this.$el.value = '';
this.model = '';
this.setFieldValue();
},
setLabelFor: function setLabelFor() {
if (this.$el.parentNode) {
var label = this.$el.parentNode.querySelector('label');
if (label) {
var forAttribute = label.getAttribute('for');
if (!forAttribute || forAttribute.indexOf('md-') >= 0) {
label.setAttribute('for', this.id);
}
}
}
},
setFieldValue: function setFieldValue() {
this.MdField.value = this.model;
},
setPlaceholder: function setPlaceholder() {
this.MdField.placeholder = Boolean(this.placeholder);
},
setDisabled: function setDisabled() {
this.MdField.disabled = Boolean(this.disabled);
},
setRequired: function setRequired() {
this.MdField.required = Boolean(this.required);
},
setMaxlength: function setMaxlength() {
if (this.mdCounter) {
this.MdField.counter = parseInt(this.mdCounter, 10);
} else {
this.MdField.maxlength = parseInt(this.maxlength, 10);
}
},
onFocus: function onFocus() {
this.MdField.focused = true;
},
onBlur: function onBlur() {
this.MdField.focused = false;
}
},
created: function created() {
this.setFieldValue();
this.setPlaceholder();
this.setDisabled();
this.setRequired();
this.setMaxlength();
},
mounted: function mounted() {
this.setLabelFor();
}
};
/***/ }),
/* 16 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _vue = __webpack_require__(7);
var _vue2 = _interopRequireDefault(_vue);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
exports.default = {
name: 'MdPortal',
abstract: true,
props: {
mdAttachToParent: Boolean,
mdTarget: {
type: null,
validator: function validator(value) {
if (HTMLElement && value && value instanceof HTMLElement) {
return true;
}
_vue2.default.util.warn('The md-target-el prop is invalid. You should pass a valid HTMLElement.', this);
return false;
}
}
},
data: function data() {
return {
leaveTimeout: null,
originalParentEl: null
};
},
computed: {
transitionName: function transitionName() {
var childrenComponent = this._vnode.componentOptions.children[0];
if (childrenComponent) {
var transition = childrenComponent.data.transition;
if (transition) {
return transition.name;
} else {
var _transition = childrenComponent.componentOptions.propsData.name;
if (_transition) {
return _transition;
}
}
}
return 'v';
},
leaveClass: function leaveClass() {
return this.transitionName + '-leave';
},
leaveActiveClass: function leaveActiveClass() {
return this.transitionName + '-leave-active';
},
leaveToClass: function leaveToClass() {
return this.transitionName + '-leave-to';
}
},
watch: {
mdTarget: function mdTarget(newTarget, oldTarget) {
this.changeParentEl(newTarget);
if (oldTarget) {
this.$forceUpdate();
}
}
},
methods: {
getTransitionDuration: function getTransitionDuration(el) {
var duration = getComputedStyle(el).transitionDuration;
var num = parseFloat(duration, 10);
var unit = duration.match(/m?s/);
var milliseconds = null;
if (unit) {
unit = unit[0];
}
switch (unit) {
case 's':
milliseconds = num * 1000;
break;
case 'ms':
milliseconds = num;
break;
default:
milliseconds = 0;
break;
}
return milliseconds;
},
killGhostElement: function killGhostElement(el) {
if (el.parentNode) {
this.changeParentEl(this.originalParentEl);
this.$options._parentElm = this.originalParentEl;
el.parentNode.removeChild(el);
}
},
initDestroy: function () {
var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(manualCall) {
var _this = this;
var el;
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
el = this.$el;
if (manualCall && this.$el.constructor.name.toLowerCase() === 'comment') {
el = this.$vnode.elm;
}
el.classList.add(this.leaveClass);
el.classList.add(this.leaveActiveClass);
_context.next = 6;
return this.$nextTick();
case 6:
el.classList.add(this.leaveToClass);
clearTimeout(this.leaveTimeout);
this.leaveTimeout = setTimeout(function () {
_this.destroyElement(el);
}, this.getTransitionDuration(el));
case 9:
case 'end':
return _context.stop();
}
}
}, _callee, this);
}));
function initDestroy(_x) {
return _ref.apply(this, arguments);
}
return initDestroy;
}(),
destroyElement: function destroyElement(el) {
var _this2 = this;
requestAnimationFrame(function () {
el.classList.remove(_this2.leaveClass);
el.classList.remove(_this2.leaveActiveClass);
el.classList.remove(_this2.leaveToClass);
_this2.$emit('md-destroy');
_this2.killGhostElement(el);
});
},
changeParentEl: function changeParentEl(newTarget) {
newTarget && newTarget.appendChild(this.$el);
}
},
mounted: function mounted() {
if (!this.originalParentEl) {
this.originalParentEl = this.$el.parentNode;
this.$emit('md-initial-parent', this.$el.parentNode);
}
if (this.mdAttachToParent && this.$el.parentNode.parentNode) {
this.changeParentEl(this.$el.parentNode.parentNode);
} else if (document) {
this.changeParentEl(this.mdTarget || document.body);
}
},
beforeDestroy: function beforeDestroy() {
if (this.$el.classList) {
this.initDestroy();
} else {
this.killGhostElement(this.$el);
}
},
render: function render(createElement) {
var defaultSlot = this.$slots.default;
if (defaultSlot && defaultSlot[0]) {
return defaultSlot[0];
}
}
};
/***/ }),
/* 17 */
/***/ (function(module, exports) {
var g;
// This works in non-strict mode
g = (function() {
return this;
})();
try {
// This works if eval is allowed (see CSP)
g = g || Function("return this")() || (1,eval)("this");
} catch(e) {
// This works if the window reference is available
if(typeof window === "object")
g = window;
}
// g can still be undefined, but nothing to do about it...
// We return undefined, instead of nothing here, so it's
// easier to handle this case. if(!global) { ...}
module.exports = g;
/***/ }),
/* 18 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = {
methods: {
isAssetIcon: function isAssetIcon(icon) {
return (/\w+[/\\.]\w+/.test(icon)
);
}
}
};
/***/ }),
/* 19 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _MdRipple = __webpack_require__(8);
var _MdRipple2 = _interopRequireDefault(_MdRipple);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = {
components: {
MdRipple: _MdRipple2.default
},
props: {
mdRipple: {
type: Boolean,
default: true
}
}
};
/***/ }),
/* 20 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
// EXTERNAL MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0&bustCache!./src/components/MdField/MdField.vue
var MdField = __webpack_require__(147);
var MdField_default = /*#__PURE__*/__webpack_require__.n(MdField);
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/template-compiler?{"id":"data-v-2ecd7b97","hasScoped":false,"buble":{"transforms":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0&bustCache!./src/components/MdField/MdField.vue
var render = function() {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c(
"div",
{
staticClass: "md-field",
class: [_vm.$mdActiveTheme, _vm.fieldClasses],
on: { blur: _vm