UNPKG

weex-flymeui

Version:

A Flyme Style UI library based on Weex for Creator.

1,612 lines (1,408 loc) 767 kB
// { "framework": "Vue" } (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); else if(typeof define === 'function' && define.amd) define([], factory); else if(typeof exports === 'object') exports["npm/weex-flymeui/index"] = factory(); else root["npm/weex-flymeui/index"] = factory(); })(typeof self !== 'undefined' ? self : this, function() { 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 = 277); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports) { /* globals __VUE_SSR_CONTEXT__ */ // 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, 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 } // 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 { // 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) { /* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ // css base code, injected by the css-loader module.exports = function(useSourceMap) { var list = []; // return the list of modules as css string list.toString = function toString() { return this.map(function (item) { var content = cssWithMappingToString(item, useSourceMap); if(item[2]) { return "@media " + item[2] + "{" + content + "}"; } else { return content; } }).join(""); }; // import a list of modules into the list list.i = function(modules, mediaQuery) { if(typeof modules === "string") modules = [[null, modules, ""]]; var alreadyImportedModules = {}; for(var i = 0; i < this.length; i++) { var id = this[i][0]; if(typeof id === "number") alreadyImportedModules[id] = true; } for(i = 0; i < modules.length; i++) { var item = modules[i]; // skip already imported module // this implementation is not 100% perfect for weird media query combinations // when a module is imported multiple times with different media queries. // I hope this will never occur (Hey this way we have smaller bundles) if(typeof item[0] !== "number" || !alreadyImportedModules[item[0]]) { if(mediaQuery && !item[2]) { item[2] = mediaQuery; } else if(mediaQuery) { item[2] = "(" + item[2] + ") and (" + mediaQuery + ")"; } list.push(item); } } }; return list; }; function cssWithMappingToString(item, useSourceMap) { var content = item[1] || ''; var cssMapping = item[3]; if (!cssMapping) { return content; } if (useSourceMap && typeof btoa === 'function') { var sourceMapping = toComment(cssMapping); var sourceURLs = cssMapping.sources.map(function (source) { return '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */' }); return [content].concat(sourceURLs).concat([sourceMapping]).join('\n'); } return [content].join('\n'); } // Adapted from convert-source-map (MIT) function toComment(sourceMap) { // eslint-disable-next-line no-undef var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))); var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64; return '/*# ' + data + ' */'; } /***/ }), /* 2 */ /***/ (function(module, exports, __webpack_require__) { /* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra Modified by Evan You @yyx990803 */ var hasDocument = typeof document !== 'undefined' if (typeof DEBUG !== 'undefined' && DEBUG) { if (!hasDocument) { throw new Error( 'vue-style-loader cannot be used in a non-browser environment. ' + "Use { target: 'node' } in your Webpack config to indicate a server-rendering environment." ) } } var listToStyles = __webpack_require__(6) /* type StyleObject = { id: number; parts: Array<StyleObjectPart> } type StyleObjectPart = { css: string; media: string; sourceMap: ?string } */ var stylesInDom = {/* [id: number]: { id: number, refs: number, parts: Array<(obj?: StyleObjectPart) => void> } */} var head = hasDocument && (document.head || document.getElementsByTagName('head')[0]) var singletonElement = null var singletonCounter = 0 var isProduction = false var noop = function () {} var options = null var ssrIdKey = 'data-vue-ssr-id' // Force single-tag solution on IE6-9, which has a hard limit on the # of <style> // tags it will allow on a page var isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\b/.test(navigator.userAgent.toLowerCase()) module.exports = function (parentId, list, _isProduction, _options) { isProduction = _isProduction options = _options || {} var styles = listToStyles(parentId, list) addStylesToDom(styles) return function update (newList) { var mayRemove = [] for (var i = 0; i < styles.length; i++) { var item = styles[i] var domStyle = stylesInDom[item.id] domStyle.refs-- mayRemove.push(domStyle) } if (newList) { styles = listToStyles(parentId, newList) addStylesToDom(styles) } else { styles = [] } for (var i = 0; i < mayRemove.length; i++) { var domStyle = mayRemove[i] if (domStyle.refs === 0) { for (var j = 0; j < domStyle.parts.length; j++) { domStyle.parts[j]() } delete stylesInDom[domStyle.id] } } } } function addStylesToDom (styles /* Array<StyleObject> */) { for (var i = 0; i < styles.length; i++) { var item = styles[i] var domStyle = stylesInDom[item.id] if (domStyle) { domStyle.refs++ for (var j = 0; j < domStyle.parts.length; j++) { domStyle.parts[j](item.parts[j]) } for (; j < item.parts.length; j++) { domStyle.parts.push(addStyle(item.parts[j])) } if (domStyle.parts.length > item.parts.length) { domStyle.parts.length = item.parts.length } } else { var parts = [] for (var j = 0; j < item.parts.length; j++) { parts.push(addStyle(item.parts[j])) } stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts } } } } function createStyleElement () { var styleElement = document.createElement('style') styleElement.type = 'text/css' head.appendChild(styleElement) return styleElement } function addStyle (obj /* StyleObjectPart */) { var update, remove var styleElement = document.querySelector('style[' + ssrIdKey + '~="' + obj.id + '"]') if (styleElement) { if (isProduction) { // has SSR styles and in production mode. // simply do nothing. return noop } else { // has SSR styles but in dev mode. // for some reason Chrome can't handle source map in server-rendered // style tags - source maps in <style> only works if the style tag is // created and inserted dynamically. So we remove the server rendered // styles and inject new ones. styleElement.parentNode.removeChild(styleElement) } } if (isOldIE) { // use singleton mode for IE9. var styleIndex = singletonCounter++ styleElement = singletonElement || (singletonElement = createStyleElement()) update = applyToSingletonTag.bind(null, styleElement, styleIndex, false) remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true) } else { // use multi-style-tag mode in all other cases styleElement = createStyleElement() update = applyToTag.bind(null, styleElement) remove = function () { styleElement.parentNode.removeChild(styleElement) } } update(obj) return function updateStyle (newObj /* StyleObjectPart */) { if (newObj) { if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) { return } update(obj = newObj) } else { remove() } } } var replaceText = (function () { var textStore = [] return function (index, replacement) { textStore[index] = replacement return textStore.filter(Boolean).join('\n') } })() function applyToSingletonTag (styleElement, index, remove, obj) { var css = remove ? '' : obj.css if (styleElement.styleSheet) { styleElement.styleSheet.cssText = replaceText(index, css) } else { var cssNode = document.createTextNode(css) var childNodes = styleElement.childNodes if (childNodes[index]) styleElement.removeChild(childNodes[index]) if (childNodes.length) { styleElement.insertBefore(cssNode, childNodes[index]) } else { styleElement.appendChild(cssNode) } } } function applyToTag (styleElement, obj) { var css = obj.css var media = obj.media var sourceMap = obj.sourceMap if (media) { styleElement.setAttribute('media', media) } if (options.ssrId) { styleElement.setAttribute(ssrIdKey, obj.id) } if (sourceMap) { // https://developer.chrome.com/devtools/docs/javascript-debugging // this makes source maps inside style tags work properly in Chrome css += '\n/*# sourceURL=' + sourceMap.sources[0] + ' */' // http://stackoverflow.com/a/26603875 css += '\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */' } if (styleElement.styleSheet) { styleElement.styleSheet.cssText = css } else { while (styleElement.firstChild) { styleElement.removeChild(styleElement.firstChild) } styleElement.appendChild(document.createTextNode(css)) } } /***/ }), /* 3 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _index = __webpack_require__(8); Object.defineProperty(exports, 'default', { enumerable: true, get: function get() { return _interopRequireDefault(_index).default; } }); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /***/ }), /* 4 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _index = __webpack_require__(28); Object.defineProperty(exports, 'default', { enumerable: true, get: function get() { return _interopRequireDefault(_index).default; } }); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /***/ }), /* 5 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _index = __webpack_require__(13); Object.defineProperty(exports, 'default', { enumerable: true, get: function get() { return _interopRequireDefault(_index).default; } }); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /***/ }), /* 6 */ /***/ (function(module, exports) { /** * Translates the list format produced by css-loader into something * easier to manipulate. */ module.exports = function listToStyles (parentId, list) { var styles = [] var newStyles = {} for (var i = 0; i < list.length; i++) { var item = list[i] var id = item[0] var css = item[1] var media = item[2] var sourceMap = item[3] var part = { id: parentId + ':' + i, css: css, media: media, sourceMap: sourceMap } if (!newStyles[id]) { styles.push(newStyles[id] = { id: id, parts: [part] }) } else { newStyles[id].parts.push(part) } } return styles } /***/ }), /* 7 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.use = exports.t = undefined; var _zhCN = __webpack_require__(40); var _zhCN2 = _interopRequireDefault(_zhCN); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var lang = _zhCN2.default; var t = exports.t = function t(path, options) { var value = void 0; var array = path.split('.'); var current = lang; for (var i = 0, j = array.length; i < j; i++) { var property = array[i]; value = current[property]; if (i === j - 1) return value; if (!value) return ''; current = value; } return ''; }; var use = exports.use = function use(l) { lang = l || lang; }; exports.default = { t: t, use: use }; /***/ }), /* 8 */ /***/ (function(module, exports, __webpack_require__) { var disposed = false function injectStyle (ssrContext) { if (disposed) return __webpack_require__(9) } var Component = __webpack_require__(0)( /* script */ __webpack_require__(11), /* template */ __webpack_require__(12), /* styles */ injectStyle, /* scopeId */ "data-v-68596e9c", /* moduleIdentifier (server only) */ null ) Component.options.__file = "/Users/suen/Documents/develop/project/weex-flymeui/packages/fm-text/index.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.")} if (Component.options.functional) {console.error("[vue-loader] index.vue: functional components are not supported with templates, they should use render functions.")} /* 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-68596e9c", Component.options) } else { hotAPI.reload("data-v-68596e9c", Component.options) } module.hot.dispose(function (data) { disposed = true }) })()} module.exports = Component.exports /***/ }), /* 9 */ /***/ (function(module, exports, __webpack_require__) { // style-loader: Adds some css to the DOM by adding a <style> tag // load the styles var content = __webpack_require__(10); if(typeof content === 'string') content = [[module.i, content, '']]; if(content.locals) module.exports = content.locals; // add the styles to the DOM var update = __webpack_require__(2)("b4010522", content, false, {}); // Hot Module Replacement if(false) { // When the styles change, update the <style> tags if(!content.locals) { module.hot.accept("!!../../node_modules/css-loader/index.js?sourceMap!../../node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-68596e9c\",\"scoped\":true,\"hasInlineConfig\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./index.vue", function() { var newContent = require("!!../../node_modules/css-loader/index.js?sourceMap!../../node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-68596e9c\",\"scoped\":true,\"hasInlineConfig\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./index.vue"); if(typeof newContent === 'string') newContent = [[module.id, newContent, '']]; update(newContent); }); } // When the module is disposed, remove the <style> tags module.hot.dispose(function() { update(); }); } /***/ }), /* 10 */ /***/ (function(module, exports, __webpack_require__) { exports = module.exports = __webpack_require__(1)(true); // imports // module exports.push([module.i, "\n.text[data-v-68596e9c] {\n\tfont-size: 0.38889rem;\n\tline-height: 0.58333rem;\n\tcolor: #999999;\n\tfont-family: \"Source Han Sans CN\", Roboto, sans-serif;\n}\n.medium[data-v-68596e9c] {\n\tfont-family: sans-serif-medium;\n\tfont-weight: 500;\n}\n.bold[data-v-68596e9c] {\n\tfont-weight: 700;\n}\n.light[data-v-68596e9c] {\n\tfont-weight: 400;\n}\n.small[data-v-68596e9c] {\n\tfont-size: 0.33333rem;\n}\n.large[data-v-68596e9c] {\n\tfont-size: 0.44444rem;\n\tfont-weight: 500;\n\tline-height: 0.66667rem;\n\tcolor: #000000;\n}\n.huge[data-v-68596e9c] {\n\tfont-size: 0.5rem;\n\tline-height: 0.75rem;\n\tcolor: #000000;\n}\n.margin-text[data-v-68596e9c] {\n\tmargin-right: 0.08333rem;\n}\n", "", {"version":3,"sources":["/Users/suen/Documents/develop/project/weex-flymeui/packages/fm-text/index.vue?79ad515b"],"names":[],"mappings":";AAOA;CACA,sBAAA;CACA,wBAAA;CACA,eAAA;CACA,sDAAA;CACA;AACA;CACA,+BAAA;CACA,iBAAA;CACA;AACA;CACA,iBAAA;CACA;AACA;CACA,iBAAA;CACA;AACA;CACA,sBAAA;CACA;AACA;CACA,sBAAA;CACA,iBAAA;CACA,wBAAA;CACA,eAAA;CACA;AACA;CACA,kBAAA;CACA,qBAAA;CACA,eAAA;CACA;AACA;CACA,yBAAA;CACA","file":"index.vue","sourcesContent":["<!-- CopyRight (C) 2018-2022 FlymeApps Team Holding Limited. -->\n<!-- Created and Update by Yanjiie on 2018/04/12. -->\n<template>\n <text :class=\"textClz\" :style=\"textStyle\"><slot></slot><template v-if=\"!$slots.default\">{{ inValue }}</template></text>\n</template>\n\n<style scoped>\n\t.text {\n\t\tfont-size: 42px;\n\t\tline-height: 63px;\n\t\tcolor: #999999;\n\t\tfont-family: \"Source Han Sans CN\", Roboto, sans-serif;\n\t}\n\t.medium {\n\t\tfont-family: sans-serif-medium;\n\t\tfont-weight: 500;\n\t}\n\t.bold {\n\t\tfont-weight: 700;\n\t}\n\t.light {\n\t\tfont-weight: 400;\n\t}\n\t.small {\n\t\tfont-size: 36px;\n\t}\n\t.large {\n\t\tfont-size: 48px;\n\t\tfont-weight: 500;\n\t\tline-height: 72px;\n\t\tcolor: #000000;\n\t}\n\t.huge {\n\t\tfont-size: 54px;\n\t\tline-height: 81px;\n\t\tcolor: #000000;\n\t}\n\t.margin-text {\n\t\tmargin-right: 9px;\n\t}\n</style>\n\n<script>\nexport default {\n name: 'FmText',\n props: {\n value: String,\n fontWeight: {\n type: String,\n default: 'normal'\n },\n size: {\n type: String,\n default: 'normal'\n },\n textStyle: {\n type: Object,\n default: () => ({})\n },\n hasTextMargin: {\n type: Boolean,\n default: true\n }\n },\n data: () => ({\n inValue: ''\n }),\n watch: {\n value (val) {\n this.inValue = val;\n }\n },\n computed: {\n textClz () {\n const clz = ['text'];\n if (this.hasTextMargin) {\n clz.push('margin-text');\n }\n if (this.size !== 'normal') {\n clz.push(`${this.size}`);\n }\n if (this.fontWeight !== 'normal') {\n clz.push(`${this.fontWeight}`);\n }\n return clz;\n }\n },\n created () {\n this.value && (this.inValue = this.value);\n this.$slots.default && (this.inValue = this.$slots.default[0].text);\n }\n};\n</script>\n"],"sourceRoot":""}]); // exports /***/ }), /* 11 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // exports.default = { name: 'FmText', props: { value: String, fontWeight: { type: String, default: 'normal' }, size: { type: String, default: 'normal' }, textStyle: { type: Object, default: function _default() { return {}; } }, hasTextMargin: { type: Boolean, default: true } }, data: function data() { return { inValue: '' }; }, watch: { value: function value(val) { this.inValue = val; } }, computed: { textClz: function textClz() { var clz = ['text']; if (this.hasTextMargin) { clz.push('margin-text'); } if (this.size !== 'normal') { clz.push('' + this.size); } if (this.fontWeight !== 'normal') { clz.push('' + this.fontWeight); } return clz; } }, created: function created() { this.value && (this.inValue = this.value); this.$slots.default && (this.inValue = this.$slots.default[0].text); } }; /***/ }), /* 12 */ /***/ (function(module, exports, __webpack_require__) { module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h; return _c('text', { class: _vm.textClz, staticStyle: _vm.$processStyle(undefined), style: (_vm.$processStyle(_vm.textStyle)) }, [_vm._t("default"), (!_vm.$slots.default) ? [_vm._v(_vm._s(_vm.inValue))] : _vm._e()], 2) },staticRenderFns: []} module.exports.render._withStripped = true if (false) { module.hot.accept() if (module.hot.data) { require("vue-hot-reload-api").rerender("data-v-68596e9c", module.exports) } } /***/ }), /* 13 */ /***/ (function(module, exports, __webpack_require__) { var disposed = false var Component = __webpack_require__(0)( /* script */ __webpack_require__(14), /* template */ __webpack_require__(15), /* styles */ null, /* scopeId */ null, /* moduleIdentifier (server only) */ null ) Component.options.__file = "/Users/suen/Documents/develop/project/weex-flymeui/packages/fm-image/index.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.")} if (Component.options.functional) {console.error("[vue-loader] index.vue: functional components are not supported with templates, they should use render functions.")} /* 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-120a0168", Component.options) } else { hotAPI.reload("data-v-120a0168", Component.options) } module.hot.dispose(function (data) { disposed = true }) })()} module.exports = Component.exports /***/ }), /* 14 */ /***/ (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 = { name: 'FmImage', data: function data() { return { loaded: false }; }, props: { src: { type: String, default: '' }, scale: { type: Number, default: 0 }, width: { type: Number, default: 1 }, height: { type: Number, default: 1 }, occupyingColor: { type: String, default: 'transparent' }, imgStyle: { type: Object } }, computed: { getStyle: function getStyle() { return _extends({ width: this.width + 'px', height: this.height + 'px', backgroundColor: this.loaded ? 'transparent' : this.occupyingColor }, this.imgStyle); } }, methods: { onLoad: function onLoad(e) { this.$emit('fmImageLoaded', e); e.success && (this.loaded = true); if (e.success && e.size && e.size.naturalWidth > 0 && this.scale) { this.width = e.size.naturalWidth * this.scale; this.height = e.size.naturalHeight * this.scale; } } } }; /***/ }), /* 15 */ /***/ (function(module, exports, __webpack_require__) { module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h; return _c('image', { ref: "img", staticStyle: _vm.$processStyle(undefined), style: (_vm.$processStyle(_vm.getStyle)), attrs: { "src": _vm.src }, on: { "load": _vm.onLoad } }) },staticRenderFns: []} module.exports.render._withStripped = true if (false) { module.hot.accept() if (module.hot.data) { require("vue-hot-reload-api").rerender("data-v-120a0168", module.exports) } } /***/ }), /* 16 */, /* 17 */, /* 18 */, /* 19 */, /* 20 */, /* 21 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = { biaoqing: '&#xe6a3;', bofang: '&#xe6a4;', bianji: '&#xe6a5;', bofang2: '&#xe6a7;', cebianlan: '&#xe6a7;', caijian: '&#xe6a8;', chakan: '&#xe6a9;', chexiao: '&#xe6aa;', chuangkouhua: '&#xe6ab;', daojishi: '&#xe6ac;', dianzan: '&#xe6ad;', chuangkouhua2: '&#xe6ae;', dianhua: '&#xe6af;', diannao: '&#xe6b0;', dingwei2: '&#xe6b1;', dingwei: '&#xe6b2;', dingyue: '&#xe6b3;', erweima: '&#xe6b4;', fanhui: '&#xe6b5;', fasong: '&#xe6b6;', fujian: '&#xe6b7;', fenlei: '&#xe6b8;', fanhui2: '&#xeb9;', fenxiang: '&#xe6ba;', fuzhi: '&#xe6bb;', gengduo: '&#xe6bc;', gouwuche: '&#xe6bd;', gongjuxiang: '&#xe6be;', gengduo2: '&#xe6bf;', guanbi: '&#xe6c0;', jishi: '&#xe6c1;', hongxin: '&#xe6c2;', jingyin: '&#xe6c3;', jianpan: '&#xe6c3;', jiesuo: '&#xe6c5;', jisuanqi: '&#xe6c36;', liangdu: '&#xe6c7;', lvjing: '&#xe6c8;', paixu: '&#xe6c9;', paihang: '&#xe6ca;', paizhao: '&#xe6cb;', pingmutoushe: '&#xe6cc;', riqi: '&#xe6cd;', shanchu: '&#xe6ce;', shangchaun: '&#xe6cf;', shangyishou: '&#xe6d0;', shezhi: '&#xe6d1;', shizhong: '&#xe6d2;', shezhi1: '&#xe6d3;', sousuo: '&#xe6d4;', shuqian: '&#xe6d5;', shuoming: '&#xe6d6;', shuaxin: '&#xe6d7;', suoding: '&#xe6d8;', shipin: '&#xe6d9;', tuichu: '&#xe6da;', tupian: '&#xe6db;', tianjia: '&#xe6dc;', tixing: '&#xe6dd;', wancheng: '&#xe6de;', wengao: '&#xe6df;', xiayishou: '&#xe6e0;', xinxi: '&#xe6e1;', xiazai: '&#xe6e2;', xingxing: '&#xe6e3;', xinxi1: '&#xe6e4;', xuanxiangliebiao: '&#xe6e5;', yidu: '&#xe6e6;', yinliang: '&#xe6e7;', yinbi: '&#xe6e8;', yuyin: '&#xe6e9;', zanting: '&#xe6ea;', yonghu: '&#xe6eb;', youjian: '&#xe6ec;', zhiding: '&#xe6ed;', chongzuo: '&#xe6ee;', zhuye: '&#xe6ef;', ziti: '&#xe6f0;', VPN: '&#xe6f1;', 'Wi-Fi': '&#xe6f2;', zhuti: '&#xe6f3;', lanya: '&#xe6f4;', quanping: '&#xe6f5;', pingmufanzhuan: '&#xe6f6;', gouwu: '&#xe6f7;', saomiao: '&#xe6f8;' }; /***/ }), /* 22 */, /* 23 */, /* 24 */, /* 25 */, /* 26 */, /* 27 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** * CopyRight (C) 2017-2022 Alibaba Group Holding Limited. * Created by Yanjiie on 18/04/01 */ exports.default = { primaryColor: '#198DED', disabledColor: '#BDE2FB', highlightColor: '#156DC9', lightColor: '#42A2F1', weakColor: '#E6F8FF', grayColor: '#F2F3F4', fontColorLight: '#FFFFFF', fontColorDark: '#3D3D3D', fontColorGray: '#F2F3F4' }; /***/ }), /* 28 */ /***/ (function(module, exports, __webpack_require__) { var disposed = false function injectStyle (ssrContext) { if (disposed) return __webpack_require__(29) } var Component = __webpack_require__(0)( /* script */ __webpack_require__(31), /* template */ __webpack_require__(32), /* styles */ injectStyle, /* scopeId */ "data-v-77aa90fe", /* moduleIdentifier (server only) */ null ) Component.options.__file = "/Users/suen/Documents/develop/project/weex-flymeui/packages/fm-icon/index.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.")} if (Component.options.functional) {console.error("[vue-loader] index.vue: functional components are not supported with templates, they should use render functions.")} /* 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-77aa90fe", Component.options) } else { hotAPI.reload("data-v-77aa90fe", Component.options) } module.hot.dispose(function (data) { disposed = true }) })()} module.exports = Component.exports /***/ }), /* 29 */ /***/ (function(module, exports, __webpack_require__) { // style-loader: Adds some css to the DOM by adding a <style> tag // load the styles var content = __webpack_require__(30); if(typeof content === 'string') content = [[module.i, content, '']]; if(content.locals) module.exports = content.locals; // add the styles to the DOM var update = __webpack_require__(2)("95f1bc1c", content, false, {}); // Hot Module Replacement if(false) { // When the styles change, update the <style> tags if(!content.locals) { module.hot.accept("!!../../node_modules/css-loader/index.js?sourceMap!../../node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-77aa90fe\",\"scoped\":true,\"hasInlineConfig\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./index.vue", function() { var newContent = require("!!../../node_modules/css-loader/index.js?sourceMap!../../node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-77aa90fe\",\"scoped\":true,\"hasInlineConfig\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./index.vue"); if(typeof newContent === 'string') newContent = [[module.id, newContent, '']]; update(newContent); }); } // When the module is disposed, remove the <style> tags module.hot.dispose(function() { update(); }); } /***/ }), /* 30 */ /***/ (function(module, exports, __webpack_require__) { exports = module.exports = __webpack_require__(1)(true); // imports // module exports.push([module.i, "\n\n\n\n\n\n\n", "", {"version":3,"sources":[],"names":[],"mappings":"","file":"index.vue","sourceRoot":""}]); // exports /***/ }), /* 31 */ /***/ (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; }; // // // // // // // // // var _map = __webpack_require__(21); var _map2 = _interopRequireDefault(_map); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var dom = weex.requireModule('dom'); exports.default = { name: 'FmIcon', props: { name: { default: 'wancheng', type: String }, value: { type: String, default: '' }, iconStyle: { type: [Number, Object, String], default: 42 }, color: { type: String, default: '#666666' } }, data: function data() { return { Icon: _map2.default }; }, computed: { getIcon: function getIcon() { var Icon = this.Icon, name = this.name, value = this.value; return decode(value === '' ? Icon[name] || 'wancheng' : value); }, mergeStyle: function mergeStyle() { var iconStyle = this.iconStyle; var style = { fontFamily: 'flymeicon', color: this.color }; if (Object.prototype.toString.call(this.iconStyle).slice(8, -1).toLowerCase() !== 'object') { style.fontSize = iconStyle + 'px'; style.height = iconStyle + 'px'; } else { style = Object.assign({}, style, _extends({}, iconStyle)); } return style; } }, beforeCreate: function beforeCreate() { if (!this.isCreator) { dom.addRule('fontFace', { 'fontFamily': 'flymeicon', 'src': "url('http://weixin-res.flyme.cn/resources/weex-flymeui/assets/iconfont.ttf')" }); } }, methods: { itemClicked: function itemClicked(name) { this.$emit('fmIconClicked', { name: name }); } } }; var reg = /&([^;]{2,});?/g; var decode = function decode(html) { html = html.replace(reg, function (match, entity) { if (entity.charAt(0) === '#') { var num = 0; if (entity.charAt(1).toLowerCase() === 'x') { num = parseInt(entity.slice(2), 16); } else { num = parseInt(entity.slice(1), 10); } if (!isNaN(num) && num >= -32768 && num <= 65535) { return String.fromCharCode(num); } } return match; }); return html; }; /***/ }), /* 32 */ /***/ (function(module, exports, __webpack_require__) { module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h; return _c('text', { staticStyle: _vm.$processStyle(undefined), style: (_vm.$processStyle(_vm.mergeStyle)), on: { "click": function($event) { _vm.itemClicked(_vm.name) } } }, [_vm._v(_vm._s(_vm.getIcon))]) },staticRenderFns: []} module.exports.render._withStripped = true if (false) { module.hot.accept() if (module.hot.data) { require("vue-hot-reload-api").rerender("data-v-77aa90fe", module.exports) } } /***/ }), /* 33 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _locale = __webpack_require__(7); exports.default = { methods: { t: function t() { for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return _locale.t.apply(this, args); } } }; /***/ }), /* 34 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _index = __webpack_require__(35); Object.defineProperty(exports, 'default', { enumerable: true, get: function get() { return _interopRequireDefault(_index).default; } }); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /***/ }), /* 35 */ /***/ (function(module, exports, __webpack_require__) { var disposed = false function injectStyle (ssrContext) { if (disposed) return __webpack_require__(36) } var Component = __webpack_require__(0)( /* script */ __webpack_require__(38), /* template */ __webpack_require__(39), /* styles */ injectStyle, /* scopeId */ "data-v-45eab412", /* moduleIdentifier (server only) */ null ) Component.options.__file = "/Users/suen/Documents/develop/project/weex-flymeui/packages/fm-button/index.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.")} if (Component.options.functional) {console.error("[vue-loader] index.vue: functional components are not supported with templates, they should use render functions.")} /* 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-45eab412", Component.options) } else { hotAPI.reload("data-v-45eab412", Component.options) } module.hot.dispose(function (data) { disposed = true }) })()} module.exports = Component.exports /***/ }), /* 36 */ /***/ (function(module, exports, __webpack_require__) { // style-loader: Adds some css to the DOM by adding a <style> tag // load the styles var content = __webpack_require__(37); if(typeof content === 'string') content = [[module.i, content, '']]; if(content.locals) module.exports = content.locals; // add the styles to the DOM var update = __webpack_require__(2)("7062c965", content, false, {}); // Hot Module Replacement if(false) { // When the styles change, update the <style> tags if(!content.locals) { module.hot.accept("!!../../node_modules/css-loader/index.js?sourceMap!../../node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-45eab412\",\"scoped\":true,\"hasInlineConfig\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./index.vue", function() { var newContent = require("!!../../node_modules/css-loader/index.js?sourceMap!../../node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-45eab412\",\"scoped\":true,\"hasInlineConfig\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./index.vue"); if(typeof newContent === 'string') newContent = [[module.id, newContent, '']]; update(newContent); }); } // When the module is disposed, remove the <style> tags module.hot.dispose(function() { update(); }); } /***/ }), /* 37 */ /***/ (function(module, exports, __webpack_require__) { exports = module.exports = __webpack_require__(1)(true); // imports // module exports.push([module.i, "\n.fm-button[data-v-45eab412] {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -webkit-flex-direction: row;\n flex-direction: row;\n -webkit-box-align: center;\n -webkit-align-items: center;\n align-items: center;\n -webkit-box-pack: center;\n -webkit-justify-content: center;\n justify-content: center;\n overflow: hidden;\n -webkit-transform: scale(1);\n transform: scale(1);\n -webkit-transition-property: backgroundColor,-webkit-transform;\n transition-property: backgroundColor,-webkit-transform;\n transition-property: transform,backgroundColor;\n transition-property: transform,backgroundColor,-webkit-transform;\n -webkit-transition-duration: 0.2s;\n transition-duration: 0.2s;\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n.fm-button-hollow[data-v-45eab412] {\n border-width: 0.03704rem;\n}\n.button-text[data-v-45eab412] {\n -webkit-box-flex: 1;\n -webkit-flex: 1;\n flex: 1;\n text-align: center;\n color: #FFFFFF;\n font-weight: 500;\n font-family: sans-serif-medium;\n}\n.fm-button-small[data-v-45eab412] {\n height: 0.66667rem;\n border-radius: 0.33333rem;\n}\n.fm-button-middle[data-v-45eab412] {\n width: 2.88889rem;\n height: 1.05556rem;\n border-radius: 0.52778rem;\n}\n.fm-button-large[data-v-45eab412] {\n width: 3.66667rem;\n height: 1.05556rem;\n border-radius: 0.52778rem;\n}\n.fm-button-circle[data-v-45eab412] {\n width: 1.55556rem;\n height: 1.55556rem;\n border-radius: 0.77778rem;\n}\n.fm-button-huge[data-v-45eab412] {\n width: 6.66667rem;\n height: 1.05556rem;\n border-radius: 0.52778rem;\n}\n.button-text-small[data-v-45eab412] {\n font-size: 0.33333rem;\n}\n.button-text-middle[data-v-45eab412],\n.button-text-large[data-v-45eab412],\n.button-text-huge[data-v-45eab412] {\n font-size: 0.44444rem;\n}\n.overlay[data-v-45eab412] {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 30;\n border-radius: 1.85185rem;\n}\n.overlay[data-v-45eab412]:active {\n background-color: rgba(0, 0, 0, 0.1);\n}\n", "", {"version":3,"sources":["/Users/suen/Documents/develop/project/weex-flymeui/packages/fm-button/index.vue?71b38c2e"],"names":[],"mappings":";AAwBA;EACA,+BAAA;EAAA,8BAAA;EAAA,4BAAA;UAAA,oBAAA;EACA,0BAAA;EAAA,4BAAA;UAAA,oBAAA;EACA,yBAAA;EAAA,gCAAA;UAAA,wBAAA;EACA,iBAAA;EACA,4BAAA;UAAA,oBAAA;EACA,+DAAA;EAAA,uDAAA;EAAA,+CAAA;EAAA,iEAAA;EACA,kCAAA;UAAA,0BAAA;EACA,wEAAA;UAAA,gEAAA;CACA;AAEA;EACA,yBAAA;CACA;AAEA;EACA,oBAAA;EAAA,gBAAA;UAAA,QAAA;EACA,mBAAA;EACA,eAAA;EACA,iBAAA;EACA,+BAAA;CACA;AAEA;EACA,mBAAA;EACA,0BAAA;CACA;AAEA;EACA,kBAAA;EACA,mBAAA;EACA,0BAAA;CACA;AAEA;EACA,kBAAA;EACA,mBAAA;EACA,0BAAA;CACA;AAEA;EACA,kBAAA;EACA,mBAAA;EACA,0BAAA;CACA;AAEA;EACA,kBAAA;EACA,mBAAA;EACA,0BAAA;CACA;AAEA;EACA,sBAAA;CACA;AAEA;;;EAGA,sBAAA;CACA;AAEA;EACA,mBAAA;EACA,OAAA;EACA,QAAA;EACA,SAAA;EACA,UAAA;EACA,YAAA;EACA,0BAAA;CACA;AAEA;EACA,qCAAA;CACA","file":"index.vue","sourcesContent":["<!-- CopyRight (C) 2018-2022 FlymeApps Team Holding Limited. -->\n<!-- Created and Update by Yanjiie on 2018/04/12. -->\n<template>\n <div ref=\"fm-button\"\n class=\"fm-button\"\n :class=\"buttonClass\"\n @click=\"btnClick\"\n @touchstart=\"_startHandle\"\n @touchend=\"_endHandle\"\n :style=\"computedStyle\">\n <div v-if=\"!disabled\" class=\"overlay\" @click=\"btnClick\"></div>\n <fm-icon v-if=\"type === 'circle'\"\n :color=\"(type !== 'hollow') ? titleColor : color\"\n :name=\"icon\"\n icon-style=\"72\"></fm-icon>\n <slot v-else name=\"title\">\n <text :class=\"['button-text-' + size]\"\n :style=\"Object.assign({}, { color: (type !== 'hollow') ? titleColor : computedColor }, (titleSize ? { fontSize: titleSize } : {}))\"\n class=\"button-text\" ><slot></slot><template v-if=\"!$slots.default\">{{ title }}</template></text>\n </slot>\n </div>\n</template>\n\n<style scoped>\n .fm-button {\n flex-direction: row;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n transform: scale(1);\n transition-property: transform,backgroundColor;\n transition-duration: 0.2s;\n transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n\n .fm-button-hollow {\n border-width: 4px;\n }\n\n .button-text {\n flex: 1;\n text-align: center;\n color: #FFFFFF;\n font-weight: 500;\n font-family: sans-serif-medium;\n }\n\n .fm-button-small {\n height: 72px;\n border-radius: 36px;\n }\n\n .fm-button-middle {\n width: 312px;\n height: 114px;\n border-radius: 57px;\n }\n\n .fm-button-large {\n width: 396px;\n height: 114px;\n border-radius: 57px;\n }\n\n .fm-button-circle {\n width: 168px;\n height: 168px;\n border-radius: 84px;\n }\n\n .fm-button-huge {\n width: 720px;\n height: 114px;\n border-radius: 57px;\n }\n\n .button-text-small {\n font-size: 36px;\n }\n\n .button-text-middle,\n .button-text-large,\n .button-text-huge {\n font-size: 48px;\n }\n\n .overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 30;\n border-radius: 200px;\n }\n\n .overlay:active {\n background-color: rgba(0, 0, 0, 0.1);\n }\n</style>\n\n<script>\nimport FmIcon from '../fm-icon';\nimport STYLE from 'weex-flymeui/lib/theme/default/index.js';\nconst dom = weex.requireModule('dom');\n\nexport default {\n name: 'FmButton',\n components: { FmIcon },\n props: {\n size: {\n type: String,\n default: 'small'\n },\n type: String,\n color: {\n type: String,\n default: STYLE.primaryColor\n },\n titleColor: {\n type: String,\n default: '#FFFFFF'\n },\n titleSize: {\n type: Number,\n default: 0\n },\n icon: {\n type: String,\n default: 'wancheng'\n },\n width: Number,\n height: Number,\n animated: Boolean,\n disabled: Boolean,\n title: String\n },\n data: () => ({\n active: false,\n padding: 36\n }),\n computed: {\n buttonClass () {\n const clz = [];\n this.size && clz.push(`fm-button-${this.size}`);\n this.type && clz.push(`fm-button-${this.type}`);\n return clz;\n },\n computedColor () {\n return this.color || STYLE.primaryColor;\n },\n computedStyle () {\n const { color, active, disabled, padding, animated, type, width, height } = this;\n const transform = !animated || disabled ? 'scale(1)' : `scale(${active ? 0.95 : 1})`;\n const style = {\n borderColor: (type === 'hollow') ? color : '',\n backgroundColor: (type !== 'hollow') ? color : '',\n opacity: disabled ? 0.2 : 1,\n transform,\n paddingLeft: padding + 'px',\n paddingRight: padding + 'px'\n };\n if (type !== 'circle') {\n width && (style.width = `${width}px`);\n height && (style.height = `${height}px`) && (style.borderRadius = `${Math.ceil(height * 1000 / 2000)}px`);\n }\n return style;\n }\n },\n methods: {\n btnClick (e) {\n !this.disabled && this.$emit('buttonClicked', e);\n },\n _startHandle (e) {\n this.active = true;\n },\n _endHandle (e) {\n this.active = false;\n }\n },\n mounted () {\n this.$nextTick(() => {\n dom.getComponentRect(this.$refs['fm-button'], option => {\n if (option.size.width >= 240) {\n this.padding = 24;\n }\n });\n });\n }\n};\n</script>\n"],"sourceRoot":""}]); // exports /***/ }), /* 38 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _index = __webpack_require__(27); var _index2 = _interopRequireDefault(_index); var _fmIcon = __webpack_require__(4); var _fmIcon2 = _interopRequireDefault(_fmIcon); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // var dom = weex.requireModule('dom'); exports.default = { name: 'FmButton', components: { FmIcon: _fmIcon2.default }, props: { size: { type: String, default: 'small' }, type: String, color: { type: String, default: _index2.default.primaryColor }, titleColor: { type: String, default: '#FFFFFF' }, titleSize: { type: Number, default: 0 }, icon: { type: String, default: 'wancheng' }, width: Number, height: Number, animated: Bo