├── .gitignore ├── docs ├── _config.yml ├── index.md └── js │ ├── manifest.ce28c628.js.map │ ├── app.21d54ec6.js │ └── app.21d54ec6.js.map ├── .babelrc ├── package.json ├── README.md ├── src └── vue-react.js └── dist └── build.js /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ -------------------------------------------------------------------------------- /docs/_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-cayman -------------------------------------------------------------------------------- /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | ["env", { 4 | "modules": "umd", 5 | "targets": { 6 | "browsers": ["> 1%", "last 2 versions", "not ie <= 8"] 7 | } 8 | }], 9 | ], 10 | } 11 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vue-react", 3 | "version": "1.2.0", 4 | "description": "Use React components as Vue components inside a Vue app.", 5 | "main": "dist/build.js", 6 | "dependencies": {}, 7 | "devDependencies": { 8 | "babel-cli": "^6.26.0", 9 | "babel-preset-env": "^1.6.0" 10 | }, 11 | "scripts": { 12 | "build": "babel src --out-file dist/build.js" 13 | }, 14 | "repository": { 15 | "type": "git", 16 | "url": "git@github.com:alkin/vue-react.git" 17 | }, 18 | "keywords": [ 19 | "vue", 20 | "react", 21 | "react", 22 | "component", 23 | "vue", 24 | "component", 25 | "vue", 26 | "plugin" 27 | ], 28 | "author": "Ricardo Faust ", 29 | "license": "MIT" 30 | } 31 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # vue-react 2 | 3 | vue-react is a plugin for Vue.js that allows you to use React components just like if they were Vue components. 4 | 5 | [View Demo](https://alkin.github.io/vue-react) 6 | 7 | ### Installation 8 | 9 | #### npm 10 | 11 | ``` 12 | npm install vue-react --save 13 | ``` 14 | 15 | If you dont have already, install react and react-dom packages. Install the babel plugin also. 16 | 17 | ``` 18 | npm install react react-dom babel-plugin-transform-react-jsx --save 19 | ``` 20 | 21 | Add the plugin in your `.babelrc` file: 22 | 23 | ```json 24 | { 25 | "plugins": ["transform-react-jsx"] 26 | } 27 | ``` 28 | 29 | ### Usage 30 | 31 | First of all, import and install the plugin: 32 | 33 | ```javascript 34 | import VueReact from 'vue-react'; 35 | 36 | Vue.use(VueReact); 37 | ``` 38 | 39 | After that, import and register your React components using the new `react` method: 40 | 41 | ```javascript 42 | import { Button } from 'antd'; 43 | Vue.react('Button', Button); 44 | ``` 45 | 46 | Use your registered component inside your App as usual Vue component. 47 | 48 | ```vue 49 | 50 | ``` 51 | 52 | ### How it works ? 53 | 54 | The `react` method creates a new Vue component that maps props and events to the React component. Once mounted, the vue component creates and renders the React component. 55 | 56 | This way the registered component works exactly as a Vue component. 57 | 58 | ### Further improvements 59 | 60 | - Support for slots. -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- 1 | **This is a Work in Progress** 2 | 3 | To demonstrate how to use React components inside your Vue application we will be using some components from the Ant Design UI Framework. 4 | 5 | # Install the plugin 6 | 7 | First of all, import and install the plugin: 8 | 9 | ```javascript 10 | import VueReact from 'vue-react'; 11 | Vue.use(VueReact); 12 | 13 | require('../node_modules/antd/dist/antd.min.css'); 14 | ``` 15 | 16 | # Button 17 | 18 | You can set attributes, events and the inner HTML in this simple button. See Button Component 19 | 20 |
21 |
22 |
23 | 24 | ```javascript 25 | // app.js 26 | import { Button } from 'antd'; 27 | Vue.react('Button', Button); 28 | ``` 29 | 30 | ```vue 31 | 32 | 37 | 38 | 47 | ``` 48 | 49 | *PRO Tip: All events names will be changed to React pattern (onEvent). Both `@click` and `@onClick` will be registered as `onClick`.* 50 | 51 | 52 | 53 | 54 | 58 | 59 | -------------------------------------------------------------------------------- /src/vue-react.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | 4 | function eventAttribute(event) { 5 | return (event.indexOf('on') === 0) ? event : 'on' + event.charAt(0).toUpperCase() + event.slice(1); 6 | } 7 | 8 | function getAttributes(el) { 9 | for (var i = 0, attributes = el.attributes, n = attributes.length, obj = {}; i < n; i++) { 10 | var name = attributes[i].nodeName; 11 | var value = attributes[i].nodeValue; 12 | 13 | name = (name === 'class') ? 'className' : 'class'; 14 | obj[name] = value; 15 | } 16 | return obj; 17 | }; 18 | 19 | function VNodeToReact(VNode) { 20 | if (typeof VNode.tag === 'undefined') { 21 | // Trim 22 | return VNode.text.replace(/^\s+|\s+$/g, ''); 23 | } 24 | 25 | if (VNode.tag.indexOf('vue-') === 0) { 26 | return; 27 | } 28 | 29 | // Attributes 30 | 31 | // children 32 | if (typeof VNode.children === 'undefined') { 33 | return React.createElement(VNode.tag, {}); 34 | } 35 | 36 | return React.createElement(VNode.tag, getAttributes(VNode.elm), ...VNodesToChildren(VNode.children)); 37 | }; 38 | 39 | function VNodesToChildren(VNodes) { 40 | VNodes = VNodes || []; 41 | var children = []; 42 | Object.keys(VNodes).forEach(function (i) { 43 | var VNode = VNodes[i]; 44 | var child = VNodeToReact(VNode); 45 | if (child) { 46 | children.push(child); 47 | } 48 | }); 49 | return children; 50 | }; 51 | 52 | export default { 53 | install(Vue, options) { 54 | Vue.react = function (name, Component) { 55 | const VueComponent = { 56 | data() { 57 | return { 58 | props: {}, 59 | component: {}, 60 | children: [], 61 | }; 62 | }, 63 | methods: { 64 | refresh() { 65 | this.component = ReactDOM.render(React.createElement(Component, this.props, ...this.children), this.$el); 66 | }, 67 | }, 68 | render(createElement) { 69 | return createElement('div', this.$slots.default); 70 | }, 71 | mounted() { 72 | // Copy all attributes to props 73 | Object.assign(this.props, this.$attrs); 74 | 75 | // Register Events and Handlers 76 | Object.keys(this._events).forEach((event) => { 77 | event = eventAttribute(event); 78 | this.props[event] = (...args) => this.$emit(event, ...args); 79 | }); 80 | 81 | // Map default slot to children 82 | this.children = VNodesToChildren(this.$slots.default); 83 | 84 | // Render 85 | this.refresh(); 86 | 87 | // Watch attrs and refresh 88 | Object.keys(this.$attrs).forEach((prop) => { 89 | this.$watch(() => this.$attrs[prop], (value) => { 90 | this.props[prop] = value; 91 | this.refresh(); 92 | }); 93 | }); 94 | }, 95 | }; 96 | 97 | Vue.component(name, VueComponent); 98 | } 99 | } 100 | } 101 | -------------------------------------------------------------------------------- /docs/js/manifest.ce28c628.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///webpack/bootstrap d58aff6044f4f88e397f"],"names":["parentJsonpFunction","window","chunkIds","moreModules","executeModules","moduleId","chunkId","result","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","shift","__webpack_require__","s","installedModules","2","exports","module","l","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","p","oe","err","console","error"],"mappings":"aACA,IAAAA,EAAAC,OAAA,gBACAA,OAAA,yBAAAC,EAAAC,EAAAC,GAIA,IADA,IAAAC,EAAAC,EAAAC,EAAAC,EAAA,EAAAC,KACQD,EAAAN,EAAAQ,OAAoBF,IAC5BF,EAAAJ,EAAAM,GACAG,EAAAL,IACAG,EAAAG,KAAAD,EAAAL,GAAA,IAEAK,EAAAL,GAAA,EAEA,IAAAD,KAAAF,EACAU,OAAAC,UAAAC,eAAAC,KAAAb,EAAAE,KACAY,EAAAZ,GAAAF,EAAAE,IAGAL,KAAAE,EAAAC,EAAAC,GACA,MAAAK,EAAAC,OACAD,EAAAS,OAAAT,GAEA,GAAAL,EACA,IAAAI,EAAA,EAAYA,EAAAJ,EAAAM,OAA2BF,IACvCD,EAAAY,IAAAC,EAAAhB,EAAAI,IAGA,OAAAD,GAIA,IAAAc,KAGAV,GACAW,EAAA,GAIA,SAAAH,EAAAd,GAGA,GAAAgB,EAAAhB,GACA,OAAAgB,EAAAhB,GAAAkB,QAGA,IAAAC,EAAAH,EAAAhB,IACAG,EAAAH,EACAoB,GAAA,EACAF,YAUA,OANAN,EAAAZ,GAAAW,KAAAQ,EAAAD,QAAAC,IAAAD,QAAAJ,GAGAK,EAAAC,GAAA,EAGAD,EAAAD,QAKAJ,EAAAO,EAAAT,EAGAE,EAAAQ,EAAAN,EAGAF,EAAAS,EAAA,SAAAL,EAAAM,EAAAC,GACAX,EAAAY,EAAAR,EAAAM,IACAhB,OAAAmB,eAAAT,EAAAM,GACAI,cAAA,EACAC,YAAA,EACAC,IAAAL,KAMAX,EAAAiB,EAAA,SAAAZ,GACA,IAAAM,EAAAN,KAAAa,WACA,WAA2B,OAAAb,EAAA,YAC3B,WAAiC,OAAAA,GAEjC,OADAL,EAAAS,EAAAE,EAAA,IAAAA,GACAA,GAIAX,EAAAY,EAAA,SAAAO,EAAAC,GAAsD,OAAA1B,OAAAC,UAAAC,eAAAC,KAAAsB,EAAAC,IAGtDpB,EAAAqB,EAAA,IAGArB,EAAAsB,GAAA,SAAAC,GAA8D,MAApBC,QAAAC,MAAAF,GAAoBA","file":"js/manifest.ce28c628.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t2: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap d58aff6044f4f88e397f"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/build.js: -------------------------------------------------------------------------------- 1 | (function (global, factory) { 2 | if (typeof define === "function" && define.amd) { 3 | define(['exports', 'react', 'react-dom'], factory); 4 | } else if (typeof exports !== "undefined") { 5 | factory(exports, require('react'), require('react-dom')); 6 | } else { 7 | var mod = { 8 | exports: {} 9 | }; 10 | factory(mod.exports, global.react, global.reactDom); 11 | global.vueReact = mod.exports; 12 | } 13 | })(this, function (exports, _react, _reactDom) { 14 | 'use strict'; 15 | 16 | Object.defineProperty(exports, "__esModule", { 17 | value: true 18 | }); 19 | 20 | var _react2 = _interopRequireDefault(_react); 21 | 22 | var _reactDom2 = _interopRequireDefault(_reactDom); 23 | 24 | function _interopRequireDefault(obj) { 25 | return obj && obj.__esModule ? obj : { 26 | default: obj 27 | }; 28 | } 29 | 30 | function _toConsumableArray(arr) { 31 | if (Array.isArray(arr)) { 32 | for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { 33 | arr2[i] = arr[i]; 34 | } 35 | 36 | return arr2; 37 | } else { 38 | return Array.from(arr); 39 | } 40 | } 41 | 42 | function eventAttribute(event) { 43 | return event.indexOf('on') === 0 ? event : 'on' + event.charAt(0).toUpperCase() + event.slice(1); 44 | } 45 | 46 | function getAttributes(el) { 47 | for (var i = 0, attributes = el.attributes, n = attributes.length, obj = {}; i < n; i++) { 48 | var name = attributes[i].nodeName; 49 | var value = attributes[i].nodeValue; 50 | 51 | name = name === 'class' ? 'className' : 'class'; 52 | obj[name] = value; 53 | } 54 | return obj; 55 | }; 56 | 57 | function VNodeToReact(VNode) { 58 | if (typeof VNode.tag === 'undefined') { 59 | // Trim 60 | return VNode.text.replace(/^\s+|\s+$/g, ''); 61 | } 62 | 63 | if (VNode.tag.indexOf('vue-') === 0) { 64 | return; 65 | } 66 | 67 | // Attributes 68 | 69 | // children 70 | if (typeof VNode.children === 'undefined') { 71 | return _react2.default.createElement(VNode.tag, {}); 72 | } 73 | 74 | return _react2.default.createElement.apply(_react2.default, [VNode.tag, getAttributes(VNode.elm)].concat(_toConsumableArray(VNodesToChildren(VNode.children)))); 75 | }; 76 | 77 | function VNodesToChildren(VNodes) { 78 | VNodes = VNodes || []; 79 | var children = []; 80 | Object.keys(VNodes).forEach(function (i) { 81 | var VNode = VNodes[i]; 82 | var child = VNodeToReact(VNode); 83 | if (child) { 84 | children.push(child); 85 | } 86 | }); 87 | return children; 88 | }; 89 | 90 | exports.default = { 91 | install: function install(Vue, options) { 92 | Vue.react = function (name, Component) { 93 | var VueComponent = { 94 | data: function data() { 95 | return { 96 | props: {}, 97 | component: {}, 98 | children: [] 99 | }; 100 | }, 101 | 102 | methods: { 103 | refresh: function refresh() { 104 | this.component = _reactDom2.default.render(_react2.default.createElement.apply(_react2.default, [Component, this.props].concat(_toConsumableArray(this.children))), this.$el); 105 | } 106 | }, 107 | render: function render(createElement) { 108 | return createElement('div', this.$slots.default); 109 | }, 110 | mounted: function mounted() { 111 | var _this = this; 112 | 113 | // Copy all attributes to props 114 | Object.assign(this.props, this.$attrs); 115 | 116 | // Register Events and Handlers 117 | Object.keys(this._events).forEach(function (event) { 118 | event = eventAttribute(event); 119 | _this.props[event] = function () { 120 | for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { 121 | args[_key] = arguments[_key]; 122 | } 123 | 124 | return _this.$emit.apply(_this, [event].concat(args)); 125 | }; 126 | }); 127 | 128 | // Map default slot to children 129 | this.children = VNodesToChildren(this.$slots.default); 130 | 131 | // Render 132 | this.refresh(); 133 | 134 | // Watch attrs and refresh 135 | Object.keys(this.$attrs).forEach(function (prop) { 136 | _this.$watch(function () { 137 | return _this.$attrs[prop]; 138 | }, function (value) { 139 | _this.props[prop] = value; 140 | _this.refresh(); 141 | }); 142 | }); 143 | } 144 | }; 145 | 146 | Vue.component(name, VueComponent); 147 | }; 148 | } 149 | }; 150 | }); 151 | -------------------------------------------------------------------------------- /docs/js/app.21d54ec6.js: -------------------------------------------------------------------------------- 1 | webpackJsonp([1],{0:function(e,t,s){e.exports=s("NHnr")},NHnr:function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=s("/5sW"),r={},a=function(){var e=this,t=e.$createElement;e._self._c;return e._m(0)},i=[function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{attrs:{id:"app"}},[s("div",{attrs:{id:"demo-button"}})])}],o=s("XyMi");function c(e){s("QPJL")}var l=!1,d=c,u=null,p=null,m=Object(o["a"])(r,a,i,l,d,u,p),j=m.exports,g={methods:{buttonClicked:function(){alert("Button Clicked")}}},f=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("Button",{attrs:{type:"danger",size:"large"},on:{onClick:e.buttonClicked}},[e._v("I am a React Button")])},b=[],h=!1,y=null,v=null,k=null,x=Object(o["a"])(g,f,b,h,y,v,k),z=x.exports,w=s("yziM"),E=s.n(w),O=s("nFWT");n["a"].use(E.a),s("meaY"),n["a"].react("Button",O["a"]),new n["a"]({render:function(e){return e(j)}}).$mount("#app"),new n["a"]({render:function(e){return e(z)}}).$mount("#demo-button"),console.log("Demo started !")},QPJL:function(e,t){},meaY:function(e,t){},uslO:function(e,t,s){var n={"./af":"3CJN","./af.js":"3CJN","./ar":"3MVc","./ar-dz":"tkWw","./ar-dz.js":"tkWw","./ar-kw":"j8cJ","./ar-kw.js":"j8cJ","./ar-ly":"wPpW","./ar-ly.js":"wPpW","./ar-ma":"dURR","./ar-ma.js":"dURR","./ar-sa":"7OnE","./ar-sa.js":"7OnE","./ar-tn":"BEem","./ar-tn.js":"BEem","./ar.js":"3MVc","./az":"eHwN","./az.js":"eHwN","./be":"3hfc","./be.js":"3hfc","./bg":"lOED","./bg.js":"lOED","./bm":"hng5","./bm.js":"hng5","./bn":"aM0x","./bn.js":"aM0x","./bo":"w2Hs","./bo.js":"w2Hs","./br":"OSsP","./br.js":"OSsP","./bs":"aqvp","./bs.js":"aqvp","./ca":"wIgY","./ca.js":"wIgY","./cs":"ssxj","./cs.js":"ssxj","./cv":"N3vo","./cv.js":"N3vo","./cy":"ZFGz","./cy.js":"ZFGz","./da":"YBA/","./da.js":"YBA/","./de":"DOkx","./de-at":"8v14","./de-at.js":"8v14","./de-ch":"Frex","./de-ch.js":"Frex","./de.js":"DOkx","./dv":"rIuo","./dv.js":"rIuo","./el":"CFqe","./el.js":"CFqe","./en-au":"Sjoy","./en-au.js":"Sjoy","./en-ca":"Tqun","./en-ca.js":"Tqun","./en-gb":"hPuz","./en-gb.js":"hPuz","./en-ie":"ALEw","./en-ie.js":"ALEw","./en-nz":"dyB6","./en-nz.js":"dyB6","./eo":"Nd3h","./eo.js":"Nd3h","./es":"LT9G","./es-do":"7MHZ","./es-do.js":"7MHZ","./es-us":"INcR","./es-us.js":"INcR","./es.js":"LT9G","./et":"XlWM","./et.js":"XlWM","./eu":"sqLM","./eu.js":"sqLM","./fa":"2pmY","./fa.js":"2pmY","./fi":"nS2h","./fi.js":"nS2h","./fo":"OVPi","./fo.js":"OVPi","./fr":"tzHd","./fr-ca":"bXQP","./fr-ca.js":"bXQP","./fr-ch":"VK9h","./fr-ch.js":"VK9h","./fr.js":"tzHd","./fy":"g7KF","./fy.js":"g7KF","./gd":"nLOz","./gd.js":"nLOz","./gl":"FuaP","./gl.js":"FuaP","./gom-latn":"+27R","./gom-latn.js":"+27R","./gu":"rtsW","./gu.js":"rtsW","./he":"Nzt2","./he.js":"Nzt2","./hi":"ETHv","./hi.js":"ETHv","./hr":"V4qH","./hr.js":"V4qH","./hu":"xne+","./hu.js":"xne+","./hy-am":"GrS7","./hy-am.js":"GrS7","./id":"yRTJ","./id.js":"yRTJ","./is":"upln","./is.js":"upln","./it":"FKXc","./it.js":"FKXc","./ja":"ORgI","./ja.js":"ORgI","./jv":"JwiF","./jv.js":"JwiF","./ka":"RnJI","./ka.js":"RnJI","./kk":"j+vx","./kk.js":"j+vx","./km":"5j66","./km.js":"5j66","./kn":"gEQe","./kn.js":"gEQe","./ko":"eBB/","./ko.js":"eBB/","./ky":"6cf8","./ky.js":"6cf8","./lb":"z3hR","./lb.js":"z3hR","./lo":"nE8X","./lo.js":"nE8X","./lt":"/6P1","./lt.js":"/6P1","./lv":"jxEH","./lv.js":"jxEH","./me":"svD2","./me.js":"svD2","./mi":"gEU3","./mi.js":"gEU3","./mk":"Ab7C","./mk.js":"Ab7C","./ml":"oo1B","./ml.js":"oo1B","./mr":"5vPg","./mr.js":"5vPg","./ms":"ooba","./ms-my":"G++c","./ms-my.js":"G++c","./ms.js":"ooba","./mt":"oCzW","./mt.js":"oCzW","./my":"F+2e","./my.js":"F+2e","./nb":"FlzV","./nb.js":"FlzV","./ne":"/mhn","./ne.js":"/mhn","./nl":"3K28","./nl-be":"Bp2f","./nl-be.js":"Bp2f","./nl.js":"3K28","./nn":"C7av","./nn.js":"C7av","./pa-in":"pfs9","./pa-in.js":"pfs9","./pl":"7LV+","./pl.js":"7LV+","./pt":"ZoSI","./pt-br":"AoDM","./pt-br.js":"AoDM","./pt.js":"ZoSI","./ro":"wT5f","./ro.js":"wT5f","./ru":"ulq9","./ru.js":"ulq9","./sd":"fW1y","./sd.js":"fW1y","./se":"5Omq","./se.js":"5Omq","./si":"Lgqo","./si.js":"Lgqo","./sk":"OUMt","./sk.js":"OUMt","./sl":"2s1U","./sl.js":"2s1U","./sq":"V0td","./sq.js":"V0td","./sr":"f4W3","./sr-cyrl":"c1x4","./sr-cyrl.js":"c1x4","./sr.js":"f4W3","./ss":"7Q8x","./ss.js":"7Q8x","./sv":"Fpqq","./sv.js":"Fpqq","./sw":"DSXN","./sw.js":"DSXN","./ta":"+7/x","./ta.js":"+7/x","./te":"Nlnz","./te.js":"Nlnz","./tet":"gUgh","./tet.js":"gUgh","./th":"XzD+","./th.js":"XzD+","./tl-ph":"3LKG","./tl-ph.js":"3LKG","./tlh":"m7yE","./tlh.js":"m7yE","./tr":"k+5o","./tr.js":"k+5o","./tzl":"iNtv","./tzl.js":"iNtv","./tzm":"FRPF","./tzm-latn":"krPU","./tzm-latn.js":"krPU","./tzm.js":"FRPF","./uk":"ntHu","./uk.js":"ntHu","./ur":"uSe8","./ur.js":"uSe8","./uz":"XU1s","./uz-latn":"/bsm","./uz-latn.js":"/bsm","./uz.js":"XU1s","./vi":"0X8Q","./vi.js":"0X8Q","./x-pseudo":"e/KL","./x-pseudo.js":"e/KL","./yo":"YXlc","./yo.js":"YXlc","./zh-cn":"Vz2w","./zh-cn.js":"Vz2w","./zh-hk":"ZUyn","./zh-hk.js":"ZUyn","./zh-tw":"BbgG","./zh-tw.js":"BbgG"};function r(e){return s(a(e))}function a(e){var t=n[e];if(!(t+1))throw new Error("Cannot find module '"+e+"'.");return t}r.keys=function(){return Object.keys(n)},r.resolve=a,e.exports=r,r.id="uslO"},y2so:function(e,t){e.exports={_from:"antd",_id:"antd@3.2.1",_inBundle:!1,_integrity:"sha512-GtY4PmELQffxS4hWjAxvrWWrbNhWIvW+sshAVQ5BrsjF9OwBypx5koc7BzG7lsWoGewFiCBMVIuPVvBMocwrfA==",_location:"/antd",_phantomChildren:{},_requested:{type:"tag",registry:!0,raw:"antd",name:"antd",escapedName:"antd",rawSpec:"",saveSpec:null,fetchSpec:"latest"},_requiredBy:["#USER","/"],_resolved:"https://registry.npmjs.org/antd/-/antd-3.2.1.tgz",_shasum:"141d87b61063b58aa1cd392d0bf5fb953e96eeec",_spec:"antd",_where:"/home/ricardo/Code/vue-react-demo",bugs:{url:"https://github.com/ant-design/ant-design/issues"},bundleDependencies:!1,contributors:[{name:"ant"}],dependencies:{"array-tree-filter":"^2.0.0","babel-runtime":"6.x",classnames:"~2.2.0","create-react-class":"^15.6.0","css-animation":"^1.2.5","dom-closest":"^0.2.0","enquire.js":"^2.1.1","lodash.debounce":"^4.0.8","lodash.uniqby":"^4.7.0",moment:"^2.19.3","omit.js":"^1.0.0","prop-types":"^15.5.7","rc-animate":"^2.4.1","rc-calendar":"~9.5.0","rc-cascader":"~0.12.0","rc-checkbox":"~2.1.1","rc-collapse":"~1.8.0","rc-dialog":"~7.1.0","rc-dropdown":"~2.1.0","rc-editor-mention":"^1.0.2","rc-form":"^2.1.0","rc-input-number":"~4.0.0","rc-menu":"~6.2.0","rc-notification":"~3.0.0","rc-pagination":"~1.15.0","rc-progress":"~2.2.2","rc-rate":"~2.4.0","rc-select":"~7.7.0","rc-slider":"~8.6.0","rc-steps":"~3.1.0","rc-switch":"~1.6.0","rc-table":"~6.1.0","rc-tabs":"~9.2.0","rc-time-picker":"~3.2.1","rc-tooltip":"~3.7.0","rc-tree":"~1.7.0","rc-tree-select":"~1.12.0","rc-upload":"~2.4.0","rc-util":"^4.0.4","react-lazy-load":"^3.0.12","react-slick":"~0.17.0",shallowequal:"^1.0.1",warning:"~3.0.0"},deprecated:!1,description:"An enterprise-class UI design language and React-based implementation",devDependencies:{"@babel/types":"7.0.0-beta.36","@types/react":"^16.0.0","@types/react-dom":"^16.0.0","ansi-styles":"^3.2.0","antd-tools":"^5.1.0","babel-cli":"^6.18.0","babel-eslint":"^8.1.1","babel-plugin-import":"^1.0.0","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.18.0","babel-preset-react":"^6.16.0","babel-preset-stage-0":"^6.16.0","bezier-easing":"^2.0.3",bisheng:"^0.28.0","bisheng-plugin-antd":"^0.16.0","bisheng-plugin-description":"^0.1.1","bisheng-plugin-react":"^0.6.0","bisheng-plugin-toc":"^0.4.0","color-standalone":"^0.11.6",commander:"^2.11.0","cross-env":"^5.0.3","css-split-webpack-plugin":"^0.2.3",dekko:"^0.2.0",delegate:"^3.1.2","docsearch.js":"^2.5.2","dora-plugin-upload":"^0.3.1","enquire-js":"^0.1.2",enzyme:"^3.1.0","enzyme-adapter-react-16":"^1.0.0","enzyme-to-json":"^3.1.2",eslint:"^4.8.0","eslint-config-airbnb":"latest","eslint-plugin-babel":"^4.0.0","eslint-plugin-import":"^2.2.0","eslint-plugin-jsx-a11y":"^6.0.2","eslint-plugin-markdown":"~1.0.0-beta.4","eslint-plugin-react":"7.5.1","eslint-tinker":"^0.4.0","fetch-jsonp":"^1.0.3",glob:"^7.1.1","immutability-helper":"^2.5.0",jest:"^21.1.0","jsonml.js":"^0.1.0","lint-staged":"^6.0.0","lz-string":"^1.4.4",majo:"^0.4.1",mockdate:"^2.0.1","moment-timezone":"^0.5.5","pre-commit":"^1.2.2",preact:"^8.2.5","preact-compat":"^3.17.0",querystring:"^0.2.0","rc-drawer-menu":"^0.5.3","rc-queue-anim":"^1.4.1","rc-scroll-anim":"^2.2.1","rc-tween-one":"^1.7.2",react:"^16.0.0","react-color":"^2.11.7","react-copy-to-clipboard":"^5.0.0","react-dnd":"^2.5.4","react-dnd-html5-backend":"^2.5.4","react-document-title":"^2.0.1","react-dom":"^16.0.0","react-github-button":"^0.1.1","react-infinite-scroller":"^1.0.15","react-intl":"^2.0.1","react-sublime-video":"^0.2.0","react-virtualized":"~9.13.0","remark-frontmatter":"^1.1.0","remark-parse":"^4.0.0","remark-stringify":"^4.0.0","remark-yaml-config":"^4.0.1",reqwest:"^2.0.5",rimraf:"^2.5.4",scrollama:"^0.6.1",stylelint:"^8.0.0","stylelint-config-standard":"^18.0.0",typescript:"~2.6.1",unified:"^6.1.5","values.js":"^1.0.3",xhr2:"^0.1.3"},files:["dist","lib","es"],homepage:"http://ant.design/",keywords:["ant","design","react","react-component","component","components","ui","framework","frontend"],license:"MIT","lint-staged":{"components/**/*.tsx":["lint-staged:ts"],"{tests,site,scripts,components}/**/*.{js,jsx}":["lint-staged:es"],"{site,components}/**/*.less":"stylelint --syntax less","components/*/demo/*.md":["lint-staged:demo"]},main:"lib/index.js",module:"es/index.js",name:"antd",peerDependencies:{react:">=16.0.0","react-dom":">=16.0.0"},"pre-commit":["lint-staged"],repository:{type:"git",url:"git+https://github.com/ant-design/ant-design.git"},scripts:{authors:"git log --format='%aN <%aE>' | sort -u | grep -v 'users.noreply.github.com' | grep -v 'gitter.im' | grep -v '.local>' | grep -v 'alibaba-inc.com' | grep -v 'alipay.com' | grep -v 'taobao.com' > AUTHORS.txt",compile:"antd-tools run compile",deploy:"bisheng gh-pages --push-only",dist:"antd-tools run dist",lint:"npm run lint:ts && npm run lint:es && npm run lint:demo && npm run lint:style","lint-fix":"npm run lint-fix:code && npm run lint-fix:demo","lint-fix:code":"eslint --fix tests site scripts components ./.eslintrc.js ./webpack.config.js --ext '.js,.jsx'","lint-fix:demo":"eslint-tinker ./components/*/demo/*.md","lint-fix:ts":"npm run tsc && antd-tools run ts-lint-fix","lint-staged":"lint-staged","lint-staged:demo":"cross-env RUN_ENV=DEMO eslint --ext '.md'","lint-staged:es":"eslint ./.eslintrc.js ./webpack.config.js","lint-staged:ts":"tsc && node node_modules/tslint/bin/tslint -c node_modules/antd-tools/lib/tslint.json","lint:demo":"cross-env RUN_ENV=DEMO eslint components/*/demo/*.md --ext '.md'","lint:es":"eslint tests site scripts components ./.eslintrc.js ./webpack.config.js --ext '.js,.jsx'","lint:style":'stylelint "{site,components}/**/*.less" --syntax less',"lint:ts":"npm run tsc && antd-tools run ts-lint","pre-publish":"npm run test-all && node ./scripts/prepub",predeploy:"antd-tools run clean && npm run site",prepublish:"antd-tools run guard",pub:"antd-tools run pub",site:"cross-env NODE_ENV=production bisheng build --ssr -c ./site/bisheng.config.js && node ./scripts/generateColorLess.js","sort-api":"node ./scripts/sort-api-table.js",start:"rimraf _site && node ./scripts/generateColorLess.js && cross-env NODE_ENV=development bisheng start -c ./site/bisheng.config.js","start:preact":"node ./scripts/generateColorLess.js && cross-env NODE_ENV=development REACT_ENV=preact bisheng start -c ./site/bisheng.config.js",test:"jest --config .jest.js","test-all":"./scripts/test-all.sh","test-node":"jest --config .jest.node.js",tsc:"tsc"},title:"Ant Design",typings:"lib/index.d.ts",version:"3.2.1"}},yziM:function(e,t,s){var n,r,a;(function(i,o){r=[t,s("GiK3"),s("O27J")],n=o,a="function"===typeof n?n.apply(t,r):n,void 0===a||(e.exports=a)})(0,function(e,t,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=a(t),r=a(s);function a(e){return e&&e.__esModule?e:{default:e}}function i(e){if(Array.isArray(e)){for(var t=0,s=Array(e.length);t\n
\n
\n
\n\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/App.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('div',{attrs:{\"id\":\"demo-button\"}})])}]\nexport { render, staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-f2d460c6\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/App.vue\n// module id = null\n// module chunks = ","function injectStyle (context) {\n require(\"!!../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":false,\\\"minimize\\\":true}!../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-f2d460c6\\\",\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../node_modules/vue-loader/lib/selector?type=styles&index=0!./App.vue\")\n}\n/* script */\nexport * from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"/home/ricardo/Code/vue-react-demo/node_modules/.cache/cache-loader\\\"}!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\nimport __vue_script__ from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"/home/ricardo/Code/vue-react-demo/node_modules/.cache/cache-loader\\\"}!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-f2d460c6\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./App.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/App.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n// WEBPACK FOOTER //\n// src/DemoButton.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Button',{attrs:{\"type\":\"danger\",\"size\":\"large\"},on:{\"onClick\":_vm.buttonClicked}},[_vm._v(\"I am a React Button\")])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-67605153\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/DemoButton.vue\n// module id = null\n// module chunks = ","/* script */\nexport * from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"/home/ricardo/Code/vue-react-demo/node_modules/.cache/cache-loader\\\"}!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./DemoButton.vue\"\nimport __vue_script__ from \"!!cache-loader?{\\\"cacheDirectory\\\":\\\"/home/ricardo/Code/vue-react-demo/node_modules/.cache/cache-loader\\\"}!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./DemoButton.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-67605153\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./DemoButton.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/DemoButton.vue\n// module id = null\n// module chunks = ","import Vue from 'vue'\nimport App from './App.vue'\nimport DemoButton from './DemoButton.vue'\n\nimport VueReact from '../../vue-react/dist/build';\n//import VueReact from 'vue-react';\nVue.use(VueReact);\n\n//require('node_modules/antd/dist/antd.min.js');\nrequire('../node_modules/antd/dist/antd.min.css');\n\nimport { Button } from 'antd';\nVue.react('Button', Button);\n\nnew Vue({\n render: h => h(App)\n}).$mount('#app');\n\nnew Vue({\n render: h => h(DemoButton)\n}).$mount('#demo-button');\n\nconsole.log('Demo started !');\n\n\n// WEBPACK FOOTER //\n// ./src/main.js","var map = {\n\t\"./af\": \"3CJN\",\n\t\"./af.js\": \"3CJN\",\n\t\"./ar\": \"3MVc\",\n\t\"./ar-dz\": \"tkWw\",\n\t\"./ar-dz.js\": \"tkWw\",\n\t\"./ar-kw\": \"j8cJ\",\n\t\"./ar-kw.js\": \"j8cJ\",\n\t\"./ar-ly\": \"wPpW\",\n\t\"./ar-ly.js\": \"wPpW\",\n\t\"./ar-ma\": \"dURR\",\n\t\"./ar-ma.js\": \"dURR\",\n\t\"./ar-sa\": \"7OnE\",\n\t\"./ar-sa.js\": \"7OnE\",\n\t\"./ar-tn\": \"BEem\",\n\t\"./ar-tn.js\": \"BEem\",\n\t\"./ar.js\": \"3MVc\",\n\t\"./az\": \"eHwN\",\n\t\"./az.js\": \"eHwN\",\n\t\"./be\": \"3hfc\",\n\t\"./be.js\": \"3hfc\",\n\t\"./bg\": \"lOED\",\n\t\"./bg.js\": \"lOED\",\n\t\"./bm\": \"hng5\",\n\t\"./bm.js\": \"hng5\",\n\t\"./bn\": \"aM0x\",\n\t\"./bn.js\": \"aM0x\",\n\t\"./bo\": \"w2Hs\",\n\t\"./bo.js\": \"w2Hs\",\n\t\"./br\": \"OSsP\",\n\t\"./br.js\": \"OSsP\",\n\t\"./bs\": \"aqvp\",\n\t\"./bs.js\": \"aqvp\",\n\t\"./ca\": \"wIgY\",\n\t\"./ca.js\": \"wIgY\",\n\t\"./cs\": \"ssxj\",\n\t\"./cs.js\": \"ssxj\",\n\t\"./cv\": \"N3vo\",\n\t\"./cv.js\": \"N3vo\",\n\t\"./cy\": \"ZFGz\",\n\t\"./cy.js\": \"ZFGz\",\n\t\"./da\": \"YBA/\",\n\t\"./da.js\": \"YBA/\",\n\t\"./de\": \"DOkx\",\n\t\"./de-at\": \"8v14\",\n\t\"./de-at.js\": \"8v14\",\n\t\"./de-ch\": \"Frex\",\n\t\"./de-ch.js\": \"Frex\",\n\t\"./de.js\": \"DOkx\",\n\t\"./dv\": \"rIuo\",\n\t\"./dv.js\": \"rIuo\",\n\t\"./el\": \"CFqe\",\n\t\"./el.js\": \"CFqe\",\n\t\"./en-au\": \"Sjoy\",\n\t\"./en-au.js\": \"Sjoy\",\n\t\"./en-ca\": \"Tqun\",\n\t\"./en-ca.js\": \"Tqun\",\n\t\"./en-gb\": \"hPuz\",\n\t\"./en-gb.js\": \"hPuz\",\n\t\"./en-ie\": \"ALEw\",\n\t\"./en-ie.js\": \"ALEw\",\n\t\"./en-nz\": \"dyB6\",\n\t\"./en-nz.js\": \"dyB6\",\n\t\"./eo\": \"Nd3h\",\n\t\"./eo.js\": \"Nd3h\",\n\t\"./es\": \"LT9G\",\n\t\"./es-do\": \"7MHZ\",\n\t\"./es-do.js\": \"7MHZ\",\n\t\"./es-us\": \"INcR\",\n\t\"./es-us.js\": \"INcR\",\n\t\"./es.js\": \"LT9G\",\n\t\"./et\": \"XlWM\",\n\t\"./et.js\": \"XlWM\",\n\t\"./eu\": \"sqLM\",\n\t\"./eu.js\": \"sqLM\",\n\t\"./fa\": \"2pmY\",\n\t\"./fa.js\": \"2pmY\",\n\t\"./fi\": \"nS2h\",\n\t\"./fi.js\": \"nS2h\",\n\t\"./fo\": \"OVPi\",\n\t\"./fo.js\": \"OVPi\",\n\t\"./fr\": \"tzHd\",\n\t\"./fr-ca\": \"bXQP\",\n\t\"./fr-ca.js\": \"bXQP\",\n\t\"./fr-ch\": \"VK9h\",\n\t\"./fr-ch.js\": \"VK9h\",\n\t\"./fr.js\": \"tzHd\",\n\t\"./fy\": \"g7KF\",\n\t\"./fy.js\": \"g7KF\",\n\t\"./gd\": \"nLOz\",\n\t\"./gd.js\": \"nLOz\",\n\t\"./gl\": \"FuaP\",\n\t\"./gl.js\": \"FuaP\",\n\t\"./gom-latn\": \"+27R\",\n\t\"./gom-latn.js\": \"+27R\",\n\t\"./gu\": \"rtsW\",\n\t\"./gu.js\": \"rtsW\",\n\t\"./he\": \"Nzt2\",\n\t\"./he.js\": \"Nzt2\",\n\t\"./hi\": \"ETHv\",\n\t\"./hi.js\": \"ETHv\",\n\t\"./hr\": \"V4qH\",\n\t\"./hr.js\": \"V4qH\",\n\t\"./hu\": \"xne+\",\n\t\"./hu.js\": \"xne+\",\n\t\"./hy-am\": \"GrS7\",\n\t\"./hy-am.js\": \"GrS7\",\n\t\"./id\": \"yRTJ\",\n\t\"./id.js\": \"yRTJ\",\n\t\"./is\": \"upln\",\n\t\"./is.js\": \"upln\",\n\t\"./it\": \"FKXc\",\n\t\"./it.js\": \"FKXc\",\n\t\"./ja\": \"ORgI\",\n\t\"./ja.js\": \"ORgI\",\n\t\"./jv\": \"JwiF\",\n\t\"./jv.js\": \"JwiF\",\n\t\"./ka\": \"RnJI\",\n\t\"./ka.js\": \"RnJI\",\n\t\"./kk\": \"j+vx\",\n\t\"./kk.js\": \"j+vx\",\n\t\"./km\": \"5j66\",\n\t\"./km.js\": \"5j66\",\n\t\"./kn\": \"gEQe\",\n\t\"./kn.js\": \"gEQe\",\n\t\"./ko\": \"eBB/\",\n\t\"./ko.js\": \"eBB/\",\n\t\"./ky\": \"6cf8\",\n\t\"./ky.js\": \"6cf8\",\n\t\"./lb\": \"z3hR\",\n\t\"./lb.js\": \"z3hR\",\n\t\"./lo\": \"nE8X\",\n\t\"./lo.js\": \"nE8X\",\n\t\"./lt\": \"/6P1\",\n\t\"./lt.js\": \"/6P1\",\n\t\"./lv\": \"jxEH\",\n\t\"./lv.js\": \"jxEH\",\n\t\"./me\": \"svD2\",\n\t\"./me.js\": \"svD2\",\n\t\"./mi\": \"gEU3\",\n\t\"./mi.js\": \"gEU3\",\n\t\"./mk\": \"Ab7C\",\n\t\"./mk.js\": \"Ab7C\",\n\t\"./ml\": \"oo1B\",\n\t\"./ml.js\": \"oo1B\",\n\t\"./mr\": \"5vPg\",\n\t\"./mr.js\": \"5vPg\",\n\t\"./ms\": \"ooba\",\n\t\"./ms-my\": \"G++c\",\n\t\"./ms-my.js\": \"G++c\",\n\t\"./ms.js\": \"ooba\",\n\t\"./mt\": \"oCzW\",\n\t\"./mt.js\": \"oCzW\",\n\t\"./my\": \"F+2e\",\n\t\"./my.js\": \"F+2e\",\n\t\"./nb\": \"FlzV\",\n\t\"./nb.js\": \"FlzV\",\n\t\"./ne\": \"/mhn\",\n\t\"./ne.js\": \"/mhn\",\n\t\"./nl\": \"3K28\",\n\t\"./nl-be\": \"Bp2f\",\n\t\"./nl-be.js\": \"Bp2f\",\n\t\"./nl.js\": \"3K28\",\n\t\"./nn\": \"C7av\",\n\t\"./nn.js\": \"C7av\",\n\t\"./pa-in\": \"pfs9\",\n\t\"./pa-in.js\": \"pfs9\",\n\t\"./pl\": \"7LV+\",\n\t\"./pl.js\": \"7LV+\",\n\t\"./pt\": \"ZoSI\",\n\t\"./pt-br\": \"AoDM\",\n\t\"./pt-br.js\": \"AoDM\",\n\t\"./pt.js\": \"ZoSI\",\n\t\"./ro\": \"wT5f\",\n\t\"./ro.js\": \"wT5f\",\n\t\"./ru\": \"ulq9\",\n\t\"./ru.js\": \"ulq9\",\n\t\"./sd\": \"fW1y\",\n\t\"./sd.js\": \"fW1y\",\n\t\"./se\": \"5Omq\",\n\t\"./se.js\": \"5Omq\",\n\t\"./si\": \"Lgqo\",\n\t\"./si.js\": \"Lgqo\",\n\t\"./sk\": \"OUMt\",\n\t\"./sk.js\": \"OUMt\",\n\t\"./sl\": \"2s1U\",\n\t\"./sl.js\": \"2s1U\",\n\t\"./sq\": \"V0td\",\n\t\"./sq.js\": \"V0td\",\n\t\"./sr\": \"f4W3\",\n\t\"./sr-cyrl\": \"c1x4\",\n\t\"./sr-cyrl.js\": \"c1x4\",\n\t\"./sr.js\": \"f4W3\",\n\t\"./ss\": \"7Q8x\",\n\t\"./ss.js\": \"7Q8x\",\n\t\"./sv\": \"Fpqq\",\n\t\"./sv.js\": \"Fpqq\",\n\t\"./sw\": \"DSXN\",\n\t\"./sw.js\": \"DSXN\",\n\t\"./ta\": \"+7/x\",\n\t\"./ta.js\": \"+7/x\",\n\t\"./te\": \"Nlnz\",\n\t\"./te.js\": \"Nlnz\",\n\t\"./tet\": \"gUgh\",\n\t\"./tet.js\": \"gUgh\",\n\t\"./th\": \"XzD+\",\n\t\"./th.js\": \"XzD+\",\n\t\"./tl-ph\": \"3LKG\",\n\t\"./tl-ph.js\": \"3LKG\",\n\t\"./tlh\": \"m7yE\",\n\t\"./tlh.js\": \"m7yE\",\n\t\"./tr\": \"k+5o\",\n\t\"./tr.js\": \"k+5o\",\n\t\"./tzl\": \"iNtv\",\n\t\"./tzl.js\": \"iNtv\",\n\t\"./tzm\": \"FRPF\",\n\t\"./tzm-latn\": \"krPU\",\n\t\"./tzm-latn.js\": \"krPU\",\n\t\"./tzm.js\": \"FRPF\",\n\t\"./uk\": \"ntHu\",\n\t\"./uk.js\": \"ntHu\",\n\t\"./ur\": \"uSe8\",\n\t\"./ur.js\": \"uSe8\",\n\t\"./uz\": \"XU1s\",\n\t\"./uz-latn\": \"/bsm\",\n\t\"./uz-latn.js\": \"/bsm\",\n\t\"./uz.js\": \"XU1s\",\n\t\"./vi\": \"0X8Q\",\n\t\"./vi.js\": \"0X8Q\",\n\t\"./x-pseudo\": \"e/KL\",\n\t\"./x-pseudo.js\": \"e/KL\",\n\t\"./yo\": \"YXlc\",\n\t\"./yo.js\": \"YXlc\",\n\t\"./zh-cn\": \"Vz2w\",\n\t\"./zh-cn.js\": \"Vz2w\",\n\t\"./zh-hk\": \"ZUyn\",\n\t\"./zh-hk.js\": \"ZUyn\",\n\t\"./zh-tw\": \"BbgG\",\n\t\"./zh-tw.js\": \"BbgG\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"uslO\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/moment/locale ^\\.\\/.*$\n// module id = uslO\n// module chunks = 1","module.exports = {\"_from\":\"antd\",\"_id\":\"antd@3.2.1\",\"_inBundle\":false,\"_integrity\":\"sha512-GtY4PmELQffxS4hWjAxvrWWrbNhWIvW+sshAVQ5BrsjF9OwBypx5koc7BzG7lsWoGewFiCBMVIuPVvBMocwrfA==\",\"_location\":\"/antd\",\"_phantomChildren\":{},\"_requested\":{\"type\":\"tag\",\"registry\":true,\"raw\":\"antd\",\"name\":\"antd\",\"escapedName\":\"antd\",\"rawSpec\":\"\",\"saveSpec\":null,\"fetchSpec\":\"latest\"},\"_requiredBy\":[\"#USER\",\"/\"],\"_resolved\":\"https://registry.npmjs.org/antd/-/antd-3.2.1.tgz\",\"_shasum\":\"141d87b61063b58aa1cd392d0bf5fb953e96eeec\",\"_spec\":\"antd\",\"_where\":\"/home/ricardo/Code/vue-react-demo\",\"bugs\":{\"url\":\"https://github.com/ant-design/ant-design/issues\"},\"bundleDependencies\":false,\"contributors\":[{\"name\":\"ant\"}],\"dependencies\":{\"array-tree-filter\":\"^2.0.0\",\"babel-runtime\":\"6.x\",\"classnames\":\"~2.2.0\",\"create-react-class\":\"^15.6.0\",\"css-animation\":\"^1.2.5\",\"dom-closest\":\"^0.2.0\",\"enquire.js\":\"^2.1.1\",\"lodash.debounce\":\"^4.0.8\",\"lodash.uniqby\":\"^4.7.0\",\"moment\":\"^2.19.3\",\"omit.js\":\"^1.0.0\",\"prop-types\":\"^15.5.7\",\"rc-animate\":\"^2.4.1\",\"rc-calendar\":\"~9.5.0\",\"rc-cascader\":\"~0.12.0\",\"rc-checkbox\":\"~2.1.1\",\"rc-collapse\":\"~1.8.0\",\"rc-dialog\":\"~7.1.0\",\"rc-dropdown\":\"~2.1.0\",\"rc-editor-mention\":\"^1.0.2\",\"rc-form\":\"^2.1.0\",\"rc-input-number\":\"~4.0.0\",\"rc-menu\":\"~6.2.0\",\"rc-notification\":\"~3.0.0\",\"rc-pagination\":\"~1.15.0\",\"rc-progress\":\"~2.2.2\",\"rc-rate\":\"~2.4.0\",\"rc-select\":\"~7.7.0\",\"rc-slider\":\"~8.6.0\",\"rc-steps\":\"~3.1.0\",\"rc-switch\":\"~1.6.0\",\"rc-table\":\"~6.1.0\",\"rc-tabs\":\"~9.2.0\",\"rc-time-picker\":\"~3.2.1\",\"rc-tooltip\":\"~3.7.0\",\"rc-tree\":\"~1.7.0\",\"rc-tree-select\":\"~1.12.0\",\"rc-upload\":\"~2.4.0\",\"rc-util\":\"^4.0.4\",\"react-lazy-load\":\"^3.0.12\",\"react-slick\":\"~0.17.0\",\"shallowequal\":\"^1.0.1\",\"warning\":\"~3.0.0\"},\"deprecated\":false,\"description\":\"An enterprise-class UI design language and React-based implementation\",\"devDependencies\":{\"@babel/types\":\"7.0.0-beta.36\",\"@types/react\":\"^16.0.0\",\"@types/react-dom\":\"^16.0.0\",\"ansi-styles\":\"^3.2.0\",\"antd-tools\":\"^5.1.0\",\"babel-cli\":\"^6.18.0\",\"babel-eslint\":\"^8.1.1\",\"babel-plugin-import\":\"^1.0.0\",\"babel-plugin-transform-runtime\":\"^6.23.0\",\"babel-preset-es2015\":\"^6.18.0\",\"babel-preset-react\":\"^6.16.0\",\"babel-preset-stage-0\":\"^6.16.0\",\"bezier-easing\":\"^2.0.3\",\"bisheng\":\"^0.28.0\",\"bisheng-plugin-antd\":\"^0.16.0\",\"bisheng-plugin-description\":\"^0.1.1\",\"bisheng-plugin-react\":\"^0.6.0\",\"bisheng-plugin-toc\":\"^0.4.0\",\"color-standalone\":\"^0.11.6\",\"commander\":\"^2.11.0\",\"cross-env\":\"^5.0.3\",\"css-split-webpack-plugin\":\"^0.2.3\",\"dekko\":\"^0.2.0\",\"delegate\":\"^3.1.2\",\"docsearch.js\":\"^2.5.2\",\"dora-plugin-upload\":\"^0.3.1\",\"enquire-js\":\"^0.1.2\",\"enzyme\":\"^3.1.0\",\"enzyme-adapter-react-16\":\"^1.0.0\",\"enzyme-to-json\":\"^3.1.2\",\"eslint\":\"^4.8.0\",\"eslint-config-airbnb\":\"latest\",\"eslint-plugin-babel\":\"^4.0.0\",\"eslint-plugin-import\":\"^2.2.0\",\"eslint-plugin-jsx-a11y\":\"^6.0.2\",\"eslint-plugin-markdown\":\"~1.0.0-beta.4\",\"eslint-plugin-react\":\"7.5.1\",\"eslint-tinker\":\"^0.4.0\",\"fetch-jsonp\":\"^1.0.3\",\"glob\":\"^7.1.1\",\"immutability-helper\":\"^2.5.0\",\"jest\":\"^21.1.0\",\"jsonml.js\":\"^0.1.0\",\"lint-staged\":\"^6.0.0\",\"lz-string\":\"^1.4.4\",\"majo\":\"^0.4.1\",\"mockdate\":\"^2.0.1\",\"moment-timezone\":\"^0.5.5\",\"pre-commit\":\"^1.2.2\",\"preact\":\"^8.2.5\",\"preact-compat\":\"^3.17.0\",\"querystring\":\"^0.2.0\",\"rc-drawer-menu\":\"^0.5.3\",\"rc-queue-anim\":\"^1.4.1\",\"rc-scroll-anim\":\"^2.2.1\",\"rc-tween-one\":\"^1.7.2\",\"react\":\"^16.0.0\",\"react-color\":\"^2.11.7\",\"react-copy-to-clipboard\":\"^5.0.0\",\"react-dnd\":\"^2.5.4\",\"react-dnd-html5-backend\":\"^2.5.4\",\"react-document-title\":\"^2.0.1\",\"react-dom\":\"^16.0.0\",\"react-github-button\":\"^0.1.1\",\"react-infinite-scroller\":\"^1.0.15\",\"react-intl\":\"^2.0.1\",\"react-sublime-video\":\"^0.2.0\",\"react-virtualized\":\"~9.13.0\",\"remark-frontmatter\":\"^1.1.0\",\"remark-parse\":\"^4.0.0\",\"remark-stringify\":\"^4.0.0\",\"remark-yaml-config\":\"^4.0.1\",\"reqwest\":\"^2.0.5\",\"rimraf\":\"^2.5.4\",\"scrollama\":\"^0.6.1\",\"stylelint\":\"^8.0.0\",\"stylelint-config-standard\":\"^18.0.0\",\"typescript\":\"~2.6.1\",\"unified\":\"^6.1.5\",\"values.js\":\"^1.0.3\",\"xhr2\":\"^0.1.3\"},\"files\":[\"dist\",\"lib\",\"es\"],\"homepage\":\"http://ant.design/\",\"keywords\":[\"ant\",\"design\",\"react\",\"react-component\",\"component\",\"components\",\"ui\",\"framework\",\"frontend\"],\"license\":\"MIT\",\"lint-staged\":{\"components/**/*.tsx\":[\"lint-staged:ts\"],\"{tests,site,scripts,components}/**/*.{js,jsx}\":[\"lint-staged:es\"],\"{site,components}/**/*.less\":\"stylelint --syntax less\",\"components/*/demo/*.md\":[\"lint-staged:demo\"]},\"main\":\"lib/index.js\",\"module\":\"es/index.js\",\"name\":\"antd\",\"peerDependencies\":{\"react\":\">=16.0.0\",\"react-dom\":\">=16.0.0\"},\"pre-commit\":[\"lint-staged\"],\"repository\":{\"type\":\"git\",\"url\":\"git+https://github.com/ant-design/ant-design.git\"},\"scripts\":{\"authors\":\"git log --format='%aN <%aE>' | sort -u | grep -v 'users.noreply.github.com' | grep -v 'gitter.im' | grep -v '.local>' | grep -v 'alibaba-inc.com' | grep -v 'alipay.com' | grep -v 'taobao.com' > AUTHORS.txt\",\"compile\":\"antd-tools run compile\",\"deploy\":\"bisheng gh-pages --push-only\",\"dist\":\"antd-tools run dist\",\"lint\":\"npm run lint:ts && npm run lint:es && npm run lint:demo && npm run lint:style\",\"lint-fix\":\"npm run lint-fix:code && npm run lint-fix:demo\",\"lint-fix:code\":\"eslint --fix tests site scripts components ./.eslintrc.js ./webpack.config.js --ext '.js,.jsx'\",\"lint-fix:demo\":\"eslint-tinker ./components/*/demo/*.md\",\"lint-fix:ts\":\"npm run tsc && antd-tools run ts-lint-fix\",\"lint-staged\":\"lint-staged\",\"lint-staged:demo\":\"cross-env RUN_ENV=DEMO eslint --ext '.md'\",\"lint-staged:es\":\"eslint ./.eslintrc.js ./webpack.config.js\",\"lint-staged:ts\":\"tsc && node node_modules/tslint/bin/tslint -c node_modules/antd-tools/lib/tslint.json\",\"lint:demo\":\"cross-env RUN_ENV=DEMO eslint components/*/demo/*.md --ext '.md'\",\"lint:es\":\"eslint tests site scripts components ./.eslintrc.js ./webpack.config.js --ext '.js,.jsx'\",\"lint:style\":\"stylelint \\\"{site,components}/**/*.less\\\" --syntax less\",\"lint:ts\":\"npm run tsc && antd-tools run ts-lint\",\"pre-publish\":\"npm run test-all && node ./scripts/prepub\",\"predeploy\":\"antd-tools run clean && npm run site\",\"prepublish\":\"antd-tools run guard\",\"pub\":\"antd-tools run pub\",\"site\":\"cross-env NODE_ENV=production bisheng build --ssr -c ./site/bisheng.config.js && node ./scripts/generateColorLess.js\",\"sort-api\":\"node ./scripts/sort-api-table.js\",\"start\":\"rimraf _site && node ./scripts/generateColorLess.js && cross-env NODE_ENV=development bisheng start -c ./site/bisheng.config.js\",\"start:preact\":\"node ./scripts/generateColorLess.js && cross-env NODE_ENV=development REACT_ENV=preact bisheng start -c ./site/bisheng.config.js\",\"test\":\"jest --config .jest.js\",\"test-all\":\"./scripts/test-all.sh\",\"test-node\":\"jest --config .jest.node.js\",\"tsc\":\"tsc\"},\"title\":\"Ant Design\",\"typings\":\"lib/index.d.ts\",\"version\":\"3.2.1\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/antd/package.json\n// module id = y2so\n// module chunks = 1","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(['exports', 'react', 'react-dom'], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(exports, require('react'), require('react-dom'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports, global.react, global.reactDom);\n global.vueReact = mod.exports;\n }\n})(this, function (exports, _react, _reactDom) {\n 'use strict';\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _react2 = _interopRequireDefault(_react);\n\n var _reactDom2 = _interopRequireDefault(_reactDom);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _toConsumableArray(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n }\n\n function eventAttribute(event) {\n return event.indexOf('on') === 0 ? event : 'on' + event.charAt(0).toUpperCase() + event.slice(1);\n }\n\n function getAttributes(el) {\n for (var i = 0, attributes = el.attributes, n = attributes.length, obj = {}; i < n; i++) {\n var name = attributes[i].nodeName;\n var value = attributes[i].nodeValue;\n\n name = name === 'class' ? 'className' : 'class';\n obj[name] = value;\n }\n return obj;\n };\n\n function VNodeToReact(VNode) {\n if (typeof VNode.tag === 'undefined') {\n // Trim\n return VNode.text.replace(/^\\s+|\\s+$/g, '');\n }\n\n if (VNode.tag.indexOf('vue-') === 0) {\n return;\n }\n\n // Attributes\n\n // children\n if (typeof VNode.children === 'undefined') {\n return _react2.default.createElement(VNode.tag, {});\n }\n\n return _react2.default.createElement.apply(_react2.default, [VNode.tag, getAttributes(VNode.elm)].concat(_toConsumableArray(VNodesToChildren(VNode.children))));\n };\n\n function VNodesToChildren(VNodes) {\n VNodes = VNodes || [];\n var children = [];\n Object.keys(VNodes).forEach(function (i) {\n var VNode = VNodes[i];\n var child = VNodeToReact(VNode);\n if (child) {\n children.push(child);\n }\n });\n return children;\n };\n\n exports.default = {\n install: function install(Vue, options) {\n Vue.react = function (name, Component) {\n var VueComponent = {\n data: function data() {\n return {\n props: {},\n component: {},\n children: []\n };\n },\n\n methods: {\n refresh: function refresh() {\n this.component = _reactDom2.default.render(_react2.default.createElement.apply(_react2.default, [Component, this.props].concat(_toConsumableArray(this.children))), this.$el);\n }\n },\n render: function render(createElement) {\n return createElement('div', this.$slots.default);\n },\n mounted: function mounted() {\n var _this = this;\n\n // Copy all attributes to props\n Object.assign(this.props, this.$attrs);\n\n // Register Events and Handlers\n Object.keys(this._events).forEach(function (event) {\n event = eventAttribute(event);\n _this.props[event] = function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _this.$emit.apply(_this, [event].concat(args));\n };\n });\n\n // Map default slot to children\n this.children = VNodesToChildren(this.$slots.default);\n\n // Render\n this.refresh();\n\n // Watch attrs and refresh\n Object.keys(this.$attrs).forEach(function (prop) {\n _this.$watch(function () {\n return _this.$attrs[prop];\n }, function (value) {\n _this.props[prop] = value;\n _this.refresh();\n });\n });\n }\n };\n\n Vue.component(name, VueComponent);\n };\n }\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../vue-react/dist/build.js\n// module id = yziM\n// module chunks = 1"],"sourceRoot":""} --------------------------------------------------------------------------------