UNPKG

vue-material

Version:
1,785 lines (1,546 loc) 857 kB
/*! * 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