├── .babelrc
├── .gitignore
├── README.md
├── assets
└── share_buttons@2x.png
├── dist
├── 9ac2cc5ae8616eb50c033525dc14a5eb.ttf
├── bf0fc2ec6e2a614635e0ab6e81d059ef.woff
├── e83ffaa95463f987abe5db5bbbe303cc.eot
├── eb5d36236b96681900e300ab19c620b6.svg
└── react-share-buttons.js
├── example
├── build
│ └── index.html
├── main.js
├── server.js
└── webpack.config.js
├── package.json
├── src
├── css
│ └── share.scss
├── fonts
│ ├── iconfont.eot
│ ├── iconfont.svg
│ ├── iconfont.ttf
│ └── iconfont.woff
└── index.js
└── webpack.production.config.js
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": ["es2015", "stage-0", "react"],
3 | "plugins": [
4 | "add-module-exports"
5 | ],
6 | // "env": {
7 | // // this plugin will be included only in development mode, e.g.
8 | // // if NODE_ENV (or BABEL_ENV) environment variable is not set
9 | // // or is equal to "development"
10 | // "development": {
11 | // "plugins": [
12 | // // must be an array with options object as second item
13 | // ["react-transform", {
14 | // // must be an array of objects
15 | // "transforms": [{
16 | // // can be an NPM module name or a local path
17 | // "transform": "react-transform-hmr",
18 | // // see transform docs for "imports" and "locals" dependencies
19 | // "imports": ["react"],
20 | // "locals": ["module"]
21 | // }, {
22 | // // you can have many transforms, not just one
23 | // "transform": "react-transform-catch-errors",
24 | // "imports": ["react", "redbox-react"]
25 | // }]
26 | // // by default we only look for `React.createClass` (and ES6 classes)
27 | // // but you can tell the plugin to look for different component factories:
28 | // // factoryMethods: ["React.createClass", "createClass"]
29 | // }]
30 | // ]
31 | // },
32 | // "production": {
33 | // "plugins": [
34 | // "add-module-exports"
35 | // ]
36 | // }
37 | // }
38 | }
39 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /node_modules
2 | node_modules
3 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | react-share-buttons
2 | ===
3 | 一键分享到各大社交网站的react组件
4 |
5 | 支持微信二维码扫描
6 |
7 | 
8 |
9 | # DEMO
10 |
11 | ```js
12 | git clone https://github.com/DawnyWu/react-share-buttons.git
13 | npm install
14 | npm start
15 | ```
16 | 在浏览器中打开 http://localhost:3001 即可查看例子
17 |
18 |
19 | # 使用
20 |
21 | ```js
22 |
28 | ```
29 |
30 | #### props 有如下这些,无特殊要求无需输入,使用默认即可:smile:
31 | ```js
32 |
33 | sites : ["qzone", "weibo", "google", "twitter", "qq",
34 | "tencent", "wechat", "douban", "linkedin", "facebook"], // 启用的站点
35 | url : '', // 网址,默认使用 window.location.href
36 | source : '', // 来源(QQ空间会用到), 默认读取head标签:
37 | title : '', // 标题,默认读取 document.title 或者
38 | description : '', // 描述, 默认读取head标签:
39 | image : '', // 图片, 默认取网页中第一个img标签
40 | wechatQrcodeTitle : '微信扫一扫:分享', // 微信二维码提示文字
41 | wechatQrcodeHelper : '微信里点“发现”,扫一下二维码便可将本文分享至朋友圈'
42 | ```
43 | ## Inspired by
44 | [share.js](https://github.com/overtrue/share.js)
45 |
46 | [react-recaptcha](https://github.com/appleboy/react-recaptcha)
47 |
48 | # License
49 |
50 | MIT
51 |
52 |
53 |
--------------------------------------------------------------------------------
/assets/share_buttons@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DawnyWu/react-share-buttons/2836b0693f665e177a4b7d9c390065aefaf46095/assets/share_buttons@2x.png
--------------------------------------------------------------------------------
/dist/9ac2cc5ae8616eb50c033525dc14a5eb.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DawnyWu/react-share-buttons/2836b0693f665e177a4b7d9c390065aefaf46095/dist/9ac2cc5ae8616eb50c033525dc14a5eb.ttf
--------------------------------------------------------------------------------
/dist/bf0fc2ec6e2a614635e0ab6e81d059ef.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DawnyWu/react-share-buttons/2836b0693f665e177a4b7d9c390065aefaf46095/dist/bf0fc2ec6e2a614635e0ab6e81d059ef.woff
--------------------------------------------------------------------------------
/dist/e83ffaa95463f987abe5db5bbbe303cc.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DawnyWu/react-share-buttons/2836b0693f665e177a4b7d9c390065aefaf46095/dist/e83ffaa95463f987abe5db5bbbe303cc.eot
--------------------------------------------------------------------------------
/dist/eb5d36236b96681900e300ab19c620b6.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
89 |
--------------------------------------------------------------------------------
/dist/react-share-buttons.js:
--------------------------------------------------------------------------------
1 | !function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n(require("react")):"function"==typeof define&&define.amd?define(["react"],n):"object"==typeof exports?exports.ReactShareButtons=n(require("react")):t.ReactShareButtons=n(t.React)}(this,function(t){return function(t){function n(e){if(r[e])return r[e].exports;var o=r[e]={exports:{},id:e,loaded:!1};return t[e].call(o.exports,o,o.exports,n),o.loaded=!0,o.exports}var r={};return n.m=t,n.c=r,n.p="",n(0)}([function(t,n,r){"use strict";function e(t){return t&&t.__esModule?t:{"default":t}}function o(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}function i(t,n){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!==("undefined"==typeof n?"undefined":c(n))&&"function"!=typeof n?t:n}function u(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof n?"undefined":c(n)));t.prototype=Object.create(n&&n.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(t,n):t.__proto__=n)}function a(t){return(document.getElementsByName(t)[0]||0).content}var c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t};Object.defineProperty(n,"__esModule",{value:!0});var f=function(){function t(t,n){for(var r=0;rt)throw new Error("glog("+t+")");return r.LOG_TABLE[t]},gexp:function(t){for(;0>t;)t+=255;for(;t>=256;)t-=255;return r.EXP_TABLE[t]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)},e=0;8>e;e++)r.EXP_TABLE[e]=1<e;e++)r.EXP_TABLE[e]=r.EXP_TABLE[e-4]^r.EXP_TABLE[e-5]^r.EXP_TABLE[e-6]^r.EXP_TABLE[e-8];for(var e=0;255>e;e++)r.LOG_TABLE[r.EXP_TABLE[e]]=e;t.exports=r},function(t,n){t.exports={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8}},function(n,r){n.exports=t},function(t,n,r){n=t.exports=r(8)(),n.push([t.id,"@font-face{font-family:socialshare;src:url("+r(1)+");src:url("+r(1)+'?#iefix) format("embedded-opentype"),url('+r(11)+') format("woff"),url('+r(10)+') format("truetype"),url('+r(9)+'#iconfont) format("svg")}.social-share{font-family:socialshare!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-webkit-text-stroke-width:.2px;-moz-osx-font-smoothing:grayscale}.social-share .icon-tencent:before{content:"\\F07A"}.social-share .icon-qq:before{content:"\\F11A"}.social-share .icon-weibo:before{content:"\\F12A"}.social-share .icon-wechat:before{content:"\\F09A"}.social-share .icon-douban:before{content:"\\F10A"}.social-share .icon-heart:before{content:"\\F20A"}.social-share .icon-like:before{content:"\\F00A"}.social-share .icon-qzone:before{content:"\\F08A"}.social-share .icon-linkedin:before{content:"\\F01A"}.social-share .icon-diandian:before{content:"\\F05A"}.social-share .icon-facebook:before{content:"\\F03A"}.social-share .icon-google:before{content:"\\F04A"}.social-share .icon-twitter:before{content:"\\F06A"}.social-share a{position:relative;text-decoration:none;margin:4px;display:inline-block;outline:none}.social-share .social-share-icon{position:relative;display:inline-block;width:32px;height:32px;font-size:20px;border-radius:50%;line-height:32px;border:1px solid #666;color:#666;text-align:center;vertical-align:middle;transition:background .6s ease-out 0s}.social-share .social-share-icon:hover{background:#666;color:#fff}.social-share .icon-weibo{color:#ff763b;border-color:#ff763b}.social-share .icon-weibo:hover{background:#ff763b}.social-share .icon-tencent{color:#56b6e7;border-color:#56b6e7}.social-share .icon-tencent:hover{background:#56b6e7}.social-share .icon-qq{color:#56b6e7;border-color:#56b6e7}.social-share .icon-qq:hover{background:#56b6e7}.social-share .icon-qzone{color:#fdbe3d;border-color:#fdbe3d}.social-share .icon-qzone:hover{background:#fdbe3d}.social-share .icon-douban{color:#33b045;border-color:#33b045}.social-share .icon-douban:hover{background:#33b045}.social-share .icon-linkedin{color:#0077b5;border-color:#0077b5}.social-share .icon-linkedin:hover{background:#0077b5}.social-share .icon-facebook{color:#44619d;border-color:#44619d}.social-share .icon-facebook:hover{background:#44619d}.social-share .icon-google{color:#db4437;border-color:#db4437}.social-share .icon-google:hover{background:#db4437}.social-share .icon-twitter{color:#55acee;border-color:#55acee}.social-share .icon-twitter:hover{background:#55acee}.social-share .icon-diandian{color:#307dca;border-color:#307dca}.social-share .icon-diandian:hover{background:#307dca}.social-share .icon-wechat{position:relative;color:#7bc549;border-color:#7bc549}.social-share .icon-wechat:hover{background:#7bc549}.social-share .icon-wechat .wechat-qrcode{display:none;border:1px solid #eee;position:absolute;z-index:9;top:-205px;left:-84px;width:200px;height:192px;color:#666;font-size:12px;text-align:center;background-color:#fff;box-shadow:0 2px 10px #aaa;transition:all .2s;-webkit-tansition:all .35s;-moz-transition:all .35s}.social-share .icon-wechat .wechat-qrcode h4{font-weight:400;height:26px;line-height:26px;font-size:12px;background-color:#f3f3f3;margin:0;padding:0;color:#777}.social-share .icon-wechat .wechat-qrcode .qrcode{width:105px;margin:10px auto}.social-share .icon-wechat .wechat-qrcode .qrcode table{margin:0!important}.social-share .icon-wechat .wechat-qrcode .help p{font-weight:400;line-height:16px;padding:0;margin:0}.social-share .icon-wechat .wechat-qrcode:after{content:\'\';position:absolute;left:50%;margin-left:-6px;bottom:-13px;width:0;height:0;border-width:8px 6px 6px;border-style:solid;border-color:#fff transparent transparent}.social-share .icon-wechat:hover .wechat-qrcode{display:block}',""])},function(t,n){t.exports=function(){var t=[];return t.toString=function(){for(var t=[],n=0;n-1}function g(t,n,r){for(var e=-1,o=t.length;++e-1;);return r}function I(t,n){for(var r=t.length;r--&&k(n,t[r],0)>-1;);return r}function M(t){return t&&t.Object===Object?t:null}function D(t,n){if(t!==n){var r=null===t,e=t===V,o=t===t,i=null===n,u=n===V,a=n===n;if(t>n&&!i||!o||r&&!u&&a||e&&a)return 1;if(n>t&&!r||!a||i&&!e&&o||u&&o)return-1}return 0}function N(t,n,r){for(var e=-1,o=t.criteria,i=n.criteria,u=o.length,a=r.length;++e=a)return c;var f=r[e];return c*("desc"==f?-1:1)}}return t.index-n.index}function S(t,n){for(var r=t.length,e=0;r--;)t[r]===n&&e++;return e}function q(t){return kr[t]}function U(t){return Er[t]}function z(t){return"\\"+Br[t]}function F(t,n,r){for(var e=t.length,o=n+(r?0:-1);r?o--:++o-1&&t%1==0&&n>t}function H(t){for(var n,r=[];!(n=t.next()).done;)r.push(n.value);return r}function K(t){var n=-1,r=Array(t.size);return t.forEach(function(t,e){r[++n]=[e,t]}),r}function G(t,n){for(var r=-1,e=t.length,o=0,i=[];++rn,o=r?t.length:0,i=yo(0,o,this.__views__),u=i.start,a=i.end,c=a-u,f=e?a:u-1,s=this.__iteratees__,l=s.length,h=0,p=bf(c,this.__takeCount__);if(!r||nt>o||o==c&&p==c)return Te(t,this.__actions__);var v=[];t:for(;c--&&p>h;){f+=n;for(var g=-1,d=t[f];++gr)return!1;var e=t.length-1;return r==e?t.pop():pf.call(t,r,1),!0}function rr(t,n){var r=or(t,n);return 0>r?V:t[r][1]}function er(t,n){return or(t,n)>-1}function or(t,n){for(var r=t.length;r--;)if(xu(t[r][0],n))return r;return-1}function ir(t,n,r){var e=or(t,n);0>e?t.push([n,r]):t[e][1]=r}function ur(t,n,r,e){return t===V||xu(t,Kc[r])&&!Xc.call(e,r)?n:t}function ar(t,n,r){(r===V||xu(t[n],r))&&("number"!=typeof n||r!==V||n in t)||(t[n]=r)}function cr(t,n,r){var e=t[n];Xc.call(t,n)&&xu(e,r)&&(r!==V||n in t)||(t[n]=r)}function fr(t,n,r,e){return Nf(t,function(t,o,i){n(e,t,r(t),i)}),e}function sr(t,n){return t&&Ue(n,Ta(n),t)}function lr(t,n){for(var r=-1,e=null==t,o=n.length,i=Array(o);++r=t?t:r),n!==V&&(t=t>=n?t:n)),t}function Er(t,n,r,e,o,i,u){var a;if(e&&(a=i?e(t,o,i,u):e(t)),a!==V)return a;if(!Uu(t))return t;var c=Ts(t);if(c){if(a=bo(t),!n)return qe(t,a)}else{var f=_o(t),l=f==Dt||f==Nt;if(Bs(t))return Oe(t,n);if(f==Ut||f==jt||l&&!i){if(W(t))return i?t:{};if(a=wo(l?{}:t),!n)return a=sr(a,t),r?Fe(t,a):a}else{if(!Ar[f])return i?t:{};a=xo(t,f,n)}}u||(u=new Qn);var h=u.get(t);return h?h:(u.set(t,a),(c?s:Ur)(t,function(o,i){cr(a,i,Er(o,n,r,e,i,t,u))}),r&&!c?Fe(t,a):a)}function Cr(t){var n=Ta(t),r=n.length;return function(e){if(null==e)return!r;for(var o=r;o--;){var i=n[o],u=t[i],a=e[i];if(a===V&&!(i in Object(e))||!u(a))return!1}return!0}}function Tr(t){return Uu(t)?sf(t):{}}function Br(t,n,r){if("function"!=typeof t)throw new $c(rt);return hf(function(){t.apply(V,r)},n)}function jr(t,n,r,e){var o=-1,i=v,u=!0,a=t.length,c=[],f=n.length;if(!a)return c;r&&(n=d(n,j(r))),e?(i=g,u=!1):n.length>=nt&&(i=Gn,u=!1,n=new Kn(n));t:for(;++or&&(r=-r>o?0:o+r),e=e===V||e>o?o:fa(e),0>e&&(e+=o),e=r>e?0:sa(e);e>r;)t[r++]=n;return t}function Mr(t,n){var r=[];return Nf(t,function(t,e,o){n(t,e,o)&&r.push(t)}),r}function Dr(t,n,r,e){e||(e=[]);for(var o=-1,i=t.length;++o0&&Bu(u)&&(r||Ts(u)||Eu(u))?n>1?Dr(u,n-1,r,e):_(e,u):r||(e[e.length]=u)}return e}function Nr(t,n){return null==t?t:qf(t,n,Ba)}function Ur(t,n){return t&&qf(t,n,Ta)}function zr(t,n){return t&&Uf(t,n,Ta)}function Fr(t,n){return p(n,function(n){return Nu(t[n])})}function Wr(t,n){n=Eo(n,t)?[n+""]:gr(n);for(var r=0,e=n.length;null!=t&&e>r;)t=t[n[r++]];return r&&r==e?t:V}function $r(t,n){return Xc.call(t,n)||"object"==typeof t&&n in t&&null===af(t)}function Hr(t,n){return n in Object(t)}function Kr(t,n,r){return t>=bf(n,r)&&t=120&&s.length>=120)?new Kn(u&&s):V}s=t[0];var l=-1,h=a[0];t:for(;++l-1;)a!==t&&pf.call(a,c,1),pf.call(t,c,1);return t}function pe(t,n){for(var r=t?n.length:0,e=r-1;r--;){var o=n[r];if(e==r||o!=i){var i=o;if($(o))pf.call(t,o,1);else if(Eo(o,t))delete t[o];else{var u=gr(o),a=Ro(t,u);null!=a&&delete a[Vo(u)]}}}return t}function ve(t,n){return t+gf(xf()*(n-t+1))}function ge(t,n,r,e){for(var o=-1,i=mf(vf((n-t)/(r||1)),0),u=Array(i);i--;)u[e?i:++o]=t,t+=r;return u}function de(t,n,r,e){n=Eo(n,t)?[n+""]:gr(n);for(var o=-1,i=n.length,u=i-1,a=t;null!=a&&++on&&(n=-n>o?0:o+n),r=r>o?o:r,0>r&&(r+=o),o=n>r?0:r-n>>>0,n>>>=0;for(var i=Array(o);++e=o){for(;o>e;){var i=e+o>>>1,u=t[i];(r?n>=u:n>u)&&null!==u?e=i+1:o=i}return o}return be(t,n,yc,r)}function be(t,n,r,e){n=r(n);for(var o=0,i=t?t.length:0,u=n!==n,a=null===n,c=n===V;i>o;){var f=gf((o+i)/2),s=r(t[f]),l=s!==V,h=s===s;if(u)var p=h||e;else p=a?h&&l&&(e||null!=s):c?h&&(e||l):null==s?!1:e?n>=s:n>s;p?o=f+1:i=f}return bf(i,Lt)}function we(t){return xe(t)}function xe(t,n){for(var r=0,e=t.length,o=t[0],i=n?n(o):o,u=i,a=1,c=[o];++r=nt){var f=n?null:Ff(t);if(f)return X(f);u=!1,o=Gn,c=new Kn}else c=n?[]:a;t:for(;++ee?n[e]:V);return u}function Oe(t,n){if(n)return t.slice();var r=new t.constructor(t.length);return t.copy(r),r}function je(t){var n=new t.constructor(t.byteLength);return new ef(n).set(new ef(t)),n}function Re(t){return y(K(t),i,new t.constructor)}function Pe(t){var n=new t.constructor(t.source,kn.exec(t));return n.lastIndex=t.lastIndex,n}function Ie(t){return y(X(t),u,new t.constructor)}function Me(t){return Mf?Object(Mf.call(t)):{}}function De(t,n){var r=n?je(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}function Ne(t,n,r,e){for(var o=-1,i=t.length,u=r.length,a=-1,c=n.length,f=mf(i-u,0),s=Array(c+f),l=!e;++ao)&&(s[r[o]]=t[o]);for(;f--;)s[a++]=t[o++];return s}function Se(t,n,r,e){for(var o=-1,i=t.length,u=-1,a=r.length,c=-1,f=n.length,s=mf(i-a,0),l=Array(s+f),h=!e;++oo)&&(l[p+r[u]]=t[o++]);return l}function qe(t,n){var r=-1,e=t.length;for(n||(n=Array(e));++r1?r[o-1]:V,u=o>2?r[2]:V;for(i="function"==typeof i?(o--,i):V,u&&ko(r[0],r[1],u)&&(i=3>o?V:i,o=1),n=Object(n);++ei&&u[0]!==f&&u[i-1]!==f?[]:G(u,f);if(i-=s.length,r>i)return io(t,n,Ve,e.placeholder,V,u,s,V,V,r-i);var l=this&&this!==Sr&&this instanceof e?o:t;return a(l,this,u)}var o=Je(t);return e}function Ze(t){return hu(function(n){n=Dr(n,1);var r=n.length,o=r,i=e.prototype.thru;for(t&&n.reverse();o--;){var u=n[o];if("function"!=typeof u)throw new $c(rt);if(i&&!a&&"wrapper"==lo(u))var a=new e([],!0)}for(o=a?o:r;++o=nt)return a.plant(e).value();for(var o=0,i=r?n[o].apply(this,t):e;++o_){var x=G(m,b);return io(t,n,Ve,s.placeholder,r,m,x,a,c,f-_)}var A=h?r:this,k=p?A[t]:t;return _=m.length,a?m=Po(m,a):g&&_>1&&m.reverse(),l&&_>c&&(m.length=c),this&&this!==Sr&&this instanceof s&&(k=d||Je(k)),k.apply(A,m)}var l=n&ht,h=n&it,p=n&ut,v=n&(ct|ft),g=n&vt,d=p?V:Je(t);return s}function to(t,n){return function(r,e){return Xr(r,t,n(e),{})}}function no(t){return hu(function(n){return n=d(Dr(n,1),ho()),hu(function(r){var e=this;return t(n,function(t){return a(t,e,r)})})})}function ro(t,n,r){n=fa(n);var e=Q(t);if(!n||e>=n)return"";var o=n-e;r=r===V?" ":r+"";var i=rc(r,vf(o/Q(r)));return dr.test(r)?J(i).slice(0,o).join(""):i.slice(0,o)}function eo(t,n,r,e){function o(){for(var n=-1,c=arguments.length,f=-1,s=e.length,l=Array(s+c),h=this&&this!==Sr&&this instanceof o?u:t;++fn?1:-1:la(e)||0,ge(n,r,e,t)}}function io(t,n,r,e,o,i,u,a,c,f){var s=n&ct,l=a?qe(a):V,h=s?u:V,p=s?V:u,v=s?i:V,g=s?V:i;n|=s?st:lt,n&=~(s?lt:st),n&at||(n&=~(it|ut));var d=[t,n,o,v,h,g,p,l,c,f],_=r.apply(V,d);return To(t)&&Kf(_,d),_.placeholder=e,_}function uo(t){var n=Fc[t];return function(t,r){if(t=la(t),r=fa(r)){var e=(va(t)+"e").split("e"),o=n(e[0]+"e"+(+e[1]+r));return e=(va(o)+"e").split("e"),+(e[0]+"e"+(+e[1]-r))}return n(t)}}function ao(t,n,r,e,o,i,u,a){var c=n&ut;if(!c&&"function"!=typeof t)throw new $c(rt);var f=e?e.length:0;if(f||(n&=~(st|lt),e=o=V),u=u===V?u:mf(fa(u),0),a=a===V?a:fa(a),f-=o?o.length:0,n<){var s=e,l=o;e=o=V}var h=c?V:Wf(t),p=[t,n,r,e,o,s,l,i,u,a];if(h&&Oo(p,h),t=p[0],n=p[1],r=p[2],e=p[3],o=p[4],a=p[9]=null==p[9]?c?0:t.length:mf(p[9]-f,0),!a&&n&(ct|ft)&&(n&=~(ct|ft)),n&&n!=it)v=n==ct||n==ft?Ye(t,n,a):n!=st&&n!=(it|st)||o.length?Ve.apply(V,p):eo(t,n,r,e);else var v=Ge(t,n,r);var g=h?zf:Kf;return g(v,p)}function co(t,n,r,e,o,i){var u=-1,a=o&dt,c=o>,f=t.length,s=n.length;if(f!=s&&!(a&&s>f))return!1;var l=i.get(t);if(l)return l==n;var h=!0;for(i.set(t,n);++uo,u=e==ht&&r==ct||e==ht&&r==pt&&t[7].length<=n[8]||e==(ht|pt)&&n[7].length<=n[8]&&r==ct;if(!i&&!u)return t;e&it&&(t[2]=n[2],o|=r&it?0:at);var a=n[3];if(a){var c=t[3];t[3]=c?Ne(c,a,n[4]):qe(a),t[4]=c?G(t[3],ot):qe(n[4])}return a=n[5],a&&(c=t[5],t[5]=c?Se(c,a,n[6]):qe(a),t[6]=c?G(t[5],ot):qe(n[6])),a=n[7],a&&(t[7]=qe(a)),e&ht&&(t[8]=null==t[8]?n[8]:bf(t[8],n[8])),null==t[9]&&(t[9]=n[9]),t[0]=n[0],t[1]=o,t}function jo(t,n,r,e,o,i){return Uu(t)&&Uu(n)&&ie(t,n,V,jo,i.set(n,t)),t}function Ro(t,n){return 1==n.length?t:ka(t,_e(n,0,-1))}function Po(t,n){for(var r=t.length,e=bf(n.length,r),o=qe(t);e--;){var i=n[e];t[e]=$(i,r)?o[i]:V}return t}function Io(t){var n=[];return va(t).replace(dn,function(t,r,e,o){n.push(e?o.replace(xn,"$1"):r||t)}),n}function Mo(t){if(t instanceof o)return t.clone();var n=new e(t.__wrapped__,t.__chain__);return n.__actions__=qe(t.__actions__),n.__index__=t.__index__,n.__values__=t.__values__,n}function Do(t,n){n=mf(fa(n),0);var r=t?t.length:0;if(!r||1>n)return[];for(var e=0,o=0,i=Array(vf(r/n));r>e;)i[o++]=_e(t,e,e+=n);return i}function No(t){for(var n=-1,r=t?t.length:0,e=0,o=[];++nn?0:n,e)):[]}function qo(t,n,r){var e=t?t.length:0;return e?(n=r||n===V?1:fa(n),n=e-n,_e(t,0,0>n?0:n)):[]}function Uo(t,n){return t&&t.length?Ce(t,ho(n,3),!0,!0):[]}function zo(t,n){return t&&t.length?Ce(t,ho(n,3),!0):[]}function Fo(t,n,r,e){var o=t?t.length:0;return o?(r&&"number"!=typeof r&&ko(t,n,r)&&(r=0,e=o),Ir(t,n,r,e)):[]}function Wo(t,n){return t&&t.length?A(t,ho(n,3)):-1}function $o(t,n){return t&&t.length?A(t,ho(n,3),!0):-1}function Ho(t){var n=t?t.length:0;return n?Dr(t,1):[]}function Ko(t){var n=t?t.length:0;return n?Dr(t,kt):[]}function Go(t,n){var r=t?t.length:0;return r?(n=n===V?1:fa(n),Dr(t,n)):[]}function Xo(t){for(var n=-1,r=t?t.length:0,e={};++nr&&(r=mf(e+r,0)),k(t,n,r)):-1}function Yo(t){return qo(t,1)}function Zo(t,n){return t?_f.call(t,n):""}function Vo(t){var n=t?t.length:0;return n?t[n-1]:V}function ti(t,n,r){var e=t?t.length:0;if(!e)return-1;var o=e;if(r!==V&&(o=fa(r),o=(0>o?mf(e+o,0):bf(o,e-1))+1),n!==n)return F(t,o,!0);for(;o--;)if(t[o]===n)return o;return-1}function ni(t,n){return t&&t.length&&n&&n.length?he(t,n):t}function ri(t,n,r){return t&&t.length&&n&&n.length?he(t,n,ho(r)):t}function ei(t,n,r){return t&&t.length&&n&&n.length?he(t,n,V,r):t}function oi(t,n){var r=[];if(!t||!t.length)return r;var e=-1,o=[],i=t.length;for(n=ho(n,3);++ee&&xu(t[e],n))return e}return-1}function si(t,n){return me(t,n,!0)}function li(t,n,r){return be(t,n,ho(r),!0)}function hi(t,n){var r=t?t.length:0;if(r){var e=me(t,n,!0)-1;if(xu(t[e],n))return e}return-1}function pi(t){return t&&t.length?we(t):[]}function vi(t,n){return t&&t.length?xe(t,ho(n)):[]}function gi(t){return So(t,1)}function di(t,n,r){return t&&t.length?(n=r||n===V?1:fa(n),_e(t,0,0>n?0:n)):[]}function _i(t,n,r){var e=t?t.length:0;return e?(n=r||n===V?1:fa(n),n=e-n,_e(t,0>n?0:n,e)):[]}function yi(t,n){return t&&t.length?Ce(t,ho(n,3),!1,!0):[]}function mi(t,n){return t&&t.length?Ce(t,ho(n,3)):[]}function bi(t){return t&&t.length?Ae(t):[]}function wi(t,n){return t&&t.length?Ae(t,ho(n)):[]}function xi(t,n){return t&&t.length?Ae(t,V,n):[]}function Ai(t){if(!t||!t.length)return[];var n=0;return t=p(t,function(t){return Bu(t)?(n=mf(t.length,n),!0):void 0}),L(n,function(n){return d(t,se(n))})}function ki(t,n){if(!t||!t.length)return[];var r=Ai(t);return null==n?r:d(r,function(t){return a(n,V,t)})}function Ei(t,n){return Le(t||[],n||[],cr)}function Ci(t,n){return Le(t||[],n||[],de)}function Ti(t){var r=n(t);return r.__chain__=!0,r}function Bi(t,n){return n(t),t}function Li(t,n){return n(t)}function Oi(){return Ti(this)}function ji(){return new e(this.value(),this.__chain__)}function Ri(t){return this.map(t).flatten()}function Pi(){this.__values__===V&&(this.__values__=ca(this.value()));var t=this.__index__>=this.__values__.length,n=t?V:this.__values__[this.__index__++];return{done:t,value:n}}function Ii(){return this}function Mi(t){for(var n,e=this;e instanceof r;){var o=Mo(e);o.__index__=0,o.__values__=V,n?i.__wrapped__=o:n=o;var i=o;e=e.__wrapped__}return i.__wrapped__=t,n}function Di(){var t=this.__wrapped__;if(t instanceof o){var n=t;return this.__actions__.length&&(n=new o(this)),n=n.reverse(),n.__actions__.push({func:Li,args:[ii],thisArg:V}),new e(n,this.__chain__)}return this.thru(ii)}function Ni(){return Te(this.__wrapped__,this.__actions__)}function Si(t,n,r){var e=Ts(t)?h:Rr;return r&&ko(t,n,r)&&(n=V),e(t,ho(n,3))}function qi(t,n){var r=Ts(t)?p:Mr;return r(t,ho(n,3))}function Ui(t,n){if(n=ho(n,3),Ts(t)){var r=A(t,n);return r>-1?t[r]:V}return x(t,n,Nf)}function zi(t,n){if(n=ho(n,3),Ts(t)){var r=A(t,n,!0);return r>-1?t[r]:V}return x(t,n,Sf)}function Fi(t,n){return Dr(Ki(t,n),1)}function Wi(t,n){return"function"==typeof n&&Ts(t)?s(t,n):Nf(t,pr(n))}function $i(t,n){return"function"==typeof n&&Ts(t)?l(t,n):Sf(t,pr(n))}function Hi(t,n,r,e){t=Tu(t)?t:Fa(t),r=r&&!e?fa(r):0;var o=t.length;return 0>r&&(r=mf(o+r,0)),ta(t)?o>=r&&t.indexOf(n,r)>-1:!!o&&k(t,n,r)>-1}function Ki(t,n){var r=Ts(t)?d:re;return r(t,ho(n,3))}function Gi(t,n,r,e){return null==t?[]:(Ts(n)||(n=null==n?[]:[n]),r=e?V:r,Ts(r)||(r=null==r?[]:[r]),ae(t,n,r))}function Xi(t,n,r){var e=Ts(t)?y:C,o=arguments.length<3;return e(t,ho(n,4),r,o,Nf)}function Qi(t,n,r){var e=Ts(t)?m:C,o=arguments.length<3;return e(t,ho(n,4),r,o,Sf)}function Ji(t,n){var r=Ts(t)?p:Mr;return n=ho(n,3),r(t,function(t,r,e){return!n(t,r,e)})}function Yi(t){var n=Tu(t)?t:Fa(t),r=n.length;return r>0?n[ve(0,r-1)]:V}function Zi(t,n){var r=-1,e=ca(t),o=e.length,i=o-1;for(n=kr(fa(n),0,o);++r0&&(r=n.apply(this,arguments)),1>=t&&(n=V),r}}function iu(t,n,r){n=r?V:n;var e=ao(t,ct,V,V,V,V,V,n);return e.placeholder=iu.placeholder,e}function uu(t,n,r){n=r?V:n;var e=ao(t,ft,V,V,V,V,V,n);return e.placeholder=uu.placeholder,e}function au(t,n,r){function e(){v&&of(v),s&&of(s),d=0,f=s=p=v=g=V}function o(n,r){r&&of(r),s=v=g=V,n&&(d=ys(),l=t.apply(p,f),v||s||(f=p=V))}function i(){var t=n-(ys()-h);0>=t||t>n?o(g,s):v=hf(i,t)}function u(){return(v&&g||s&&m)&&(l=t.apply(p,f)),e(),l}function a(){o(m,v)}function c(){if(f=arguments,h=ys(),p=this,g=m&&(v||!_),y===!1)var r=_&&!v;else{d||s||_||(d=h);var e=y-(h-d),o=(0>=e||e>y)&&(_||s);o?(s&&(s=of(s)),d=h,l=t.apply(p,f)):s||(s=hf(a,e))}return o&&v?v=of(v):v||n===y||(v=hf(i,n)),r&&(o=!0,l=t.apply(p,f)),!o||v||s||(f=p=V),l}var f,s,l,h,p,v,g,d=0,_=!1,y=!1,m=!0;if("function"!=typeof t)throw new $c(rt);return n=la(n)||0,Uu(r)&&(_=!!r.leading,y="maxWait"in r&&mf(la(r.maxWait)||0,n),m="trailing"in r?!!r.trailing:m),c.cancel=e,c.flush=u,c}function cu(t){return ao(t,vt)}function fu(t,n){if("function"!=typeof t||n&&"function"!=typeof n)throw new $c(rt);var r=function(){var e=arguments,o=n?n.apply(this,e):e[0],i=r.cache;if(i.has(o))return i.get(o);var u=t.apply(this,e);return r.cache=i.set(o,u),u};return r.cache=new fu.Cache,r}function su(t){if("function"!=typeof t)throw new $c(rt);return function(){return!t.apply(this,arguments)}}function lu(t){return ou(2,t)}function hu(t,n){if("function"!=typeof t)throw new $c(rt);return n=mf(n===V?t.length-1:fa(n),0),function(){for(var r=arguments,e=-1,o=mf(r.length-n,0),i=Array(o);++en}function ku(t,n){return t>=n}function Eu(t){return Bu(t)&&Xc.call(t,"callee")&&(!lf.call(t,"callee")||Yc.call(t)==jt)}function Cu(t){return zu(t)&&Yc.call(t)==Gt}function Tu(t){return null!=t&&qu($f(t))&&!Nu(t)}function Bu(t){return zu(t)&&Tu(t)}function Lu(t){return t===!0||t===!1||zu(t)&&Yc.call(t)==Pt}function Ou(t){return zu(t)&&Yc.call(t)==It}function ju(t){return!!t&&1===t.nodeType&&zu(t)&&!Ju(t)}function Ru(t){if(Tu(t)&&(Ts(t)||ta(t)||Nu(t.splice)||Eu(t)))return!t.length;for(var n in t)if(Xc.call(t,n))return!1;return!0}function Pu(t,n){return Jr(t,n)}function Iu(t,n,r){r="function"==typeof r?r:V;var e=r?r(t,n):V;return e===V?Jr(t,n,r):!!e}function Mu(t){return zu(t)?Yc.call(t)==Mt||"string"==typeof t.message&&"string"==typeof t.name:!1}function Du(t){return"number"==typeof t&&df(t)}function Nu(t){var n=Uu(t)?Yc.call(t):"";return n==Dt||n==Nt}function Su(t){return"number"==typeof t&&t==fa(t)}function qu(t){return"number"==typeof t&&t>-1&&t%1==0&&Et>=t}function Uu(t){var n=typeof t;return!!t&&("object"==n||"function"==n)}function zu(t){return!!t&&"object"==typeof t}function Fu(t){return zu(t)&&_o(t)==St}function Wu(t,n){return t===n||Zr(t,n,po(n))}function $u(t,n,r){return r="function"==typeof r?r:V,Zr(t,n,po(n),r)}function Hu(t){return Qu(t)&&t!=+t}function Ku(t){return null==t?!1:Nu(t)?Vc.test(Gc.call(t)):zu(t)&&(W(t)?Vc:Bn).test(t)}function Gu(t){return null===t}function Xu(t){return null==t}function Qu(t){return"number"==typeof t||zu(t)&&Yc.call(t)==qt}function Ju(t){if(!zu(t)||Yc.call(t)!=Ut||W(t))return!1;var n=af(t);if(null===n)return!0;var r=n.constructor;return"function"==typeof r&&r instanceof r&&Gc.call(r)==Jc}function Yu(t){return Uu(t)&&Yc.call(t)==zt}function Zu(t){return Su(t)&&t>=-Et&&Et>=t}function Vu(t){return zu(t)&&_o(t)==Ft}function ta(t){return"string"==typeof t||!Ts(t)&&zu(t)&&Yc.call(t)==Wt}function na(t){return"symbol"==typeof t||zu(t)&&Yc.call(t)==$t}function ra(t){return zu(t)&&qu(t.length)&&!!xr[Yc.call(t)]}function ea(t){return t===V}function oa(t){return zu(t)&&_o(t)==Ht}function ia(t){return zu(t)&&Yc.call(t)==Kt}function ua(t,n){return n>t}function aa(t,n){return n>=t}function ca(t){if(!t)return[];if(Tu(t))return ta(t)?J(t):qe(t);if(ff&&t[ff])return H(t[ff]());var n=_o(t),r=n==St?K:n==Ft?X:Fa;return r(t)}function fa(t){if(!t)return 0===t?t:0;if(t=la(t),t===kt||t===-kt){var n=0>t?-1:1;return n*Ct}var r=t%1;return t===t?r?t-r:t:0}function sa(t){return t?kr(fa(t),0,Bt):0}function la(t){if(Uu(t)){var n=Nu(t.valueOf)?t.valueOf():t;t=Uu(n)?n+"":n}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(mn,"");var r=Tn.test(t);return r||Ln.test(t)?Or(t.slice(2),r?2:8):Cn.test(t)?Tt:+t}function ha(t){return Ue(t,Ba(t))}function pa(t){return kr(fa(t),-Et,Et)}function va(t){if("string"==typeof t)return t;if(null==t)return"";if(na(t))return Df?Df.call(t):"";var n=t+"";return"0"==n&&1/t==-kt?"-0":n}function ga(t,n){var r=Tr(t);return n?sr(r,n):r}function da(t,n){return x(t,ho(n,3),Ur,!0)}function _a(t,n){return x(t,ho(n,3),zr,!0)}function ya(t,n){return null==t?t:qf(t,pr(n),Ba)}function ma(t,n){return null==t?t:Uf(t,pr(n),Ba)}function ba(t,n){return t&&Ur(t,pr(n))}function wa(t,n){return t&&zr(t,pr(n))}function xa(t){return null==t?[]:Fr(t,Ta(t))}function Aa(t){return null==t?[]:Fr(t,Ba(t))}function ka(t,n,r){var e=null==t?V:Wr(t,n);return e===V?r:e}function Ea(t,n){return mo(t,n,$r)}function Ca(t,n){return mo(t,n,Hr)}function Ta(t){var n=Bo(t);if(!n&&!Tu(t))return te(t);var r=Ao(t),e=!!r,o=r||[],i=o.length;for(var u in t)!$r(t,u)||e&&("length"==u||$(u,i))||n&&"constructor"==u||o.push(u);return o}function Ba(t){for(var n=-1,r=Bo(t),e=ne(t),o=e.length,i=Ao(t),u=!!i,a=i||[],c=a.length;++nn){var e=t;t=n,n=e}if(r||t%1||n%1){var o=xf();return bf(t+o*(n-t+Lr("1e-"+((o+"").length-1))),n)}return ve(t,n)}function Ga(t){return Gs(va(t).toLowerCase())}function Xa(t){return t=va(t),t&&t.replace(jn,q).replace(vr,"")}function Qa(t,n,r){t=va(t),n="string"==typeof n?n:n+"";var e=t.length;return r=r===V?e:kr(fa(r),0,e),r-=n.length,r>=0&&t.indexOf(n,r)==r}function Ja(t){return t=va(t),t&&sn.test(t)?t.replace(cn,U):t}function Ya(t){return t=va(t),t&&yn.test(t)?t.replace(_n,"\\$&"):t}function Za(t,n,r){t=va(t),n=fa(n);var e=Q(t);if(!n||e>=n)return t;var o=(n-e)/2,i=gf(o),u=vf(o);return ro("",i,r)+t+ro("",u,r)}function Va(t,n,r){return t=va(t),t+ro(t,n,r)}function tc(t,n,r){return t=va(t),ro(t,n,r)+t}function nc(t,n,r){return r||null==n?n=0:n&&(n=+n),t=va(t).replace(mn,""),wf(t,n||(En.test(t)?16:10))}function rc(t,n){t=va(t),n=fa(n);var r="";if(!t||1>n||n>Et)return r;do n%2&&(r+=t),n=gf(n/2),t+=t;while(n);return r}function ec(){var t=arguments,n=va(t[0]);return t.length<3?n:n.replace(t[1],t[2])}function oc(t,n,r){return va(t).split(n,r)}function ic(t,n,r){return t=va(t),r=kr(fa(r),0,t.length),t.lastIndexOf(n,r)==r}function uc(t,r,e){var o=n.templateSettings;e&&ko(t,r,e)&&(r=V),t=va(t),r=js({},r,o,ur);var i,u,a=js({},r.imports,o.imports,ur),c=Ta(a),f=R(a,c),s=0,l=r.interpolate||Rn,h="__p += '",p=Wc((r.escape||Rn).source+"|"+l.source+"|"+(l===pn?An:Rn).source+"|"+(r.evaluate||Rn).source+"|$","g"),v="//# sourceURL="+("sourceURL"in r?r.sourceURL:"lodash.templateSources["+ ++wr+"]")+"\n";t.replace(p,function(n,r,e,o,a,c){return e||(e=o),h+=t.slice(s,c).replace(Pn,z),r&&(i=!0,h+="' +\n__e("+r+") +\n'"),a&&(u=!0,h+="';\n"+a+";\n__p += '"),e&&(h+="' +\n((__t = ("+e+")) == null ? '' : __t) +\n'"),s=c+n.length,n}),h+="';\n";var g=r.variable;g||(h="with (obj) {\n"+h+"\n}\n"),h=(u?h.replace(en,""):h).replace(on,"$1").replace(un,"$1;"),h="function("+(g||"obj")+") {\n"+(g?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(i?", __e = _.escape":"")+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+h+"return __p\n}";var d=Ys(function(){return Function(c,v+"return "+h).apply(V,f)});if(d.source=h,Mu(d))throw d;return d}function ac(t){return va(t).toLowerCase()}function cc(t){return va(t).toUpperCase()}function fc(t,n,r){if(t=va(t),!t)return t;if(r||n===V)return t.replace(mn,"");if(n+="",!n)return t;var e=J(t),o=J(n);return e.slice(P(e,o),I(e,o)+1).join("")}function sc(t,n,r){if(t=va(t),!t)return t;if(r||n===V)return t.replace(wn,"");if(n+="",!n)return t;var e=J(t);return e.slice(0,I(e,J(n))+1).join("")}function lc(t,n,r){if(t=va(t),!t)return t;if(r||n===V)return t.replace(bn,"");if(n+="",!n)return t;var e=J(t);return e.slice(P(e,J(n))).join("")}function hc(t,n){var r=_t,e=yt;if(Uu(n)){var o="separator"in n?n.separator:o;r="length"in n?fa(n.length):r,e="omission"in n?va(n.omission):e}t=va(t);var i=t.length;if(dr.test(t)){var u=J(t);i=u.length}if(r>=i)return t;var a=r-Q(e);if(1>a)return e;var c=u?u.slice(0,a).join(""):t.slice(0,a);if(o===V)return c+e;if(u&&(a+=c.length-a),Yu(o)){if(t.slice(a).search(o)){var f,s=c;for(o.global||(o=Wc(o.source,va(kn.exec(o))+"g")),o.lastIndex=0;f=o.exec(s);)var l=f.index;c=c.slice(0,l===V?a:l)}}else if(t.indexOf(o,a)!=a){var h=c.lastIndexOf(o);h>-1&&(c=c.slice(0,h))}return c+e}function pc(t){return t=va(t),t&&fn.test(t)?t.replace(an,Y):t}function vc(t,n,r){return t=va(t),n=r?V:n,n===V&&(n=mr.test(t)?yr:_r),t.match(n)||[]}function gc(t){var n=t?t.length:0,r=ho();return t=n?d(t,function(t){if("function"!=typeof t[1])throw new $c(rt);return[r(t[0]),t[1]]}):[],hu(function(r){for(var e=-1;++et||t>Et)return[];var r=Bt,e=bf(t,Bt);n=pr(n),t-=Bt;for(var o=L(e,n);++r0){if(++t>=mt)return r}else t=0;return zf(r,e)}}(),Gf=hu(function(t,n){return Ts(t)||(t=null==t?[]:[Object(t)]),n=Dr(n,1),f(t,n)}),Xf=hu(function(t,n){return Bu(t)?jr(t,Dr(n,1,!0)):[]}),Qf=hu(function(t,n){var r=Vo(n);return Bu(r)&&(r=V),Bu(t)?jr(t,Dr(n,1,!0),ho(r)):[]}),Jf=hu(function(t,n){var r=Vo(n);return Bu(r)&&(r=V),Bu(t)?jr(t,Dr(n,1,!0),V,r):[]}),Yf=hu(function(t){var n=d(t,hr);return n.length&&n[0]===t[0]?Gr(n):[]}),Zf=hu(function(t){var n=Vo(t),r=d(t,hr);return n===Vo(r)?n=V:r.pop(),r.length&&r[0]===t[0]?Gr(r,ho(n)):[]}),Vf=hu(function(t){var n=Vo(t),r=d(t,hr);return n===Vo(r)?n=V:r.pop(),r.length&&r[0]===t[0]?Gr(r,V,n):[]}),ts=hu(ni),ns=hu(function(t,n){n=d(Dr(n,1),String);var r=lr(t,n);return pe(t,n.sort(D)),r}),rs=hu(function(t){return Ae(Dr(t,1,!0))}),es=hu(function(t){var n=Vo(t);return Bu(n)&&(n=V),Ae(Dr(t,1,!0),ho(n))}),os=hu(function(t){var n=Vo(t);return Bu(n)&&(n=V),Ae(Dr(t,1,!0),V,n)}),is=hu(function(t,n){return Bu(t)?jr(t,n):[]}),us=hu(function(t){return Be(p(t,Bu))}),as=hu(function(t){var n=Vo(t);return Bu(n)&&(n=V),Be(p(t,Bu),ho(n))}),cs=hu(function(t){var n=Vo(t);return Bu(n)&&(n=V),Be(p(t,Bu),V,n)}),fs=hu(Ai),ss=hu(function(t){var n=t.length,r=n>1?t[n-1]:V;return r="function"==typeof r?(t.pop(),r):V,ki(t,r)}),ls=hu(function(t){t=Dr(t,1);var n=t.length,r=n?t[0]:0,i=this.__wrapped__,u=function(n){return lr(n,t)};return!(n>1||this.__actions__.length)&&i instanceof o&&$(r)?(i=i.slice(r,+r+(n?1:0)),i.__actions__.push({func:Li,args:[u],thisArg:V}),new e(i,this.__chain__).thru(function(t){return n&&!t.length&&t.push(V),t})):this.thru(u)}),hs=We(function(t,n,r){Xc.call(t,r)?++t[r]:t[r]=1}),ps=We(function(t,n,r){Xc.call(t,r)?t[r].push(n):t[r]=[n]}),vs=hu(function(t,n,r){var e=-1,o="function"==typeof n,i=Eo(n),u=Tu(t)?Array(t.length):[];return Nf(t,function(t){var c=o?n:i&&null!=t?t[n]:V;u[++e]=c?a(c,t,r):Qr(t,n,r)}),u}),gs=We(function(t,n,r){t[r]=n}),ds=We(function(t,n,r){t[r?0:1].push(n)},function(){return[[],[]]}),_s=hu(function(t,n){if(null==t)return[];var r=n.length;return r>1&&ko(t,n[0],n[1])?n=[]:r>2&&ko(n[0],n[1],n[2])&&(n.length=1),ae(t,Dr(n,1),[])}),ys=Uc.now,ms=hu(function(t,n,r){var e=it;if(r.length){var o=G(r,go(ms));e|=st}return ao(t,e,n,r,o)}),bs=hu(function(t,n,r){var e=it|ut;if(r.length){var o=G(r,go(bs));e|=st}return ao(n,e,t,r,o)}),ws=hu(function(t,n){return Br(t,1,n)}),xs=hu(function(t,n,r){return Br(t,la(n)||0,r)}),As=hu(function(t,n){n=d(Dr(n,1),ho());var r=n.length;return hu(function(e){for(var o=-1,i=bf(e.length,r);++o0||0>n)?new o(r):(0>t?r=r.takeRight(-t):t&&(r=r.drop(t)),n!==V&&(n=fa(n),r=0>n?r.dropRight(-n):r.take(n-t)),r)},o.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},o.prototype.toArray=function(){return this.take(Bt)},Ur(o.prototype,function(t,r){var i=/^(?:filter|find|map|reject)|While$/.test(r),u=/^(?:head|last)$/.test(r),a=n[u?"take"+("last"==r?"Right":""):r],c=u||/^find/.test(r);a&&(n.prototype[r]=function(){var r=this.__wrapped__,f=u?[1]:arguments,s=r instanceof o,l=f[0],h=s||Ts(r),p=function(t){var r=a.apply(n,_([t],f));return u&&v?r[0]:r};h&&i&&"function"==typeof l&&1!=l.length&&(s=h=!1);var v=this.__chain__,g=!!this.__actions__.length,d=c&&!v,y=s&&!g;if(!c&&h){r=y?r:new o(this);var m=t.apply(r,f);return m.__actions__.push({func:Li,args:[p],thisArg:V}),new e(m,v)}return d&&y?t.apply(this,f):(m=this.thru(p),d?u?m.value()[0]:m.value():m)})}),s(["pop","push","shift","sort","splice","unshift"],function(t){var r=Hc[t],e=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",o=/^(?:pop|shift)$/.test(t);n.prototype[t]=function(){var t=arguments;return o&&!this.__chain__?r.apply(this.value(),t):this[e](function(n){return r.apply(n,t)})}}),Ur(o.prototype,function(t,r){var e=n[r];if(e){var o=e.name+"",i=Of[o]||(Of[o]=[]);i.push({name:r,func:e})}}),Of[Ve(V,ut).name]=[{name:"wrapper",func:V}],o.prototype.clone=M,o.prototype.reverse=On,o.prototype.value=In,n.prototype.at=ls,n.prototype.chain=Oi,n.prototype.commit=ji,n.prototype.flatMap=Ri,n.prototype.next=Pi,n.prototype.plant=Mi,n.prototype.reverse=Di,n.prototype.toJSON=n.prototype.valueOf=n.prototype.value=Ni,ff&&(n.prototype[ff]=Ii),n}var V,tt="4.6.1",nt=200,rt="Expected a function",et="__lodash_hash_undefined__",ot="__lodash_placeholder__",it=1,ut=2,at=4,ct=8,ft=16,st=32,lt=64,ht=128,pt=256,vt=512,gt=1,dt=2,_t=30,yt="...",mt=150,bt=16,wt=1,xt=2,At=3,kt=1/0,Et=9007199254740991,Ct=1.7976931348623157e308,Tt=NaN,Bt=4294967295,Lt=Bt-1,Ot=Bt>>>1,jt="[object Arguments]",Rt="[object Array]",Pt="[object Boolean]",It="[object Date]",Mt="[object Error]",Dt="[object Function]",Nt="[object GeneratorFunction]",St="[object Map]",qt="[object Number]",Ut="[object Object]",zt="[object RegExp]",Ft="[object Set]",Wt="[object String]",$t="[object Symbol]",Ht="[object WeakMap]",Kt="[object WeakSet]",Gt="[object ArrayBuffer]",Xt="[object Float32Array]",Qt="[object Float64Array]",Jt="[object Int8Array]",Yt="[object Int16Array]",Zt="[object Int32Array]",Vt="[object Uint8Array]",tn="[object Uint8ClampedArray]",nn="[object Uint16Array]",rn="[object Uint32Array]",en=/\b__p \+= '';/g,on=/\b(__p \+=) '' \+/g,un=/(__e\(.*?\)|\b__t\)) \+\n'';/g,an=/&(?:amp|lt|gt|quot|#39|#96);/g,cn=/[&<>"'`]/g,fn=RegExp(an.source),sn=RegExp(cn.source),ln=/<%-([\s\S]+?)%>/g,hn=/<%([\s\S]+?)%>/g,pn=/<%=([\s\S]+?)%>/g,vn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,gn=/^\w*$/,dn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]/g,_n=/[\\^$.*+?()[\]{}|]/g,yn=RegExp(_n.source),mn=/^\s+|\s+$/g,bn=/^\s+/,wn=/\s+$/,xn=/\\(\\)?/g,An=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,kn=/\w*$/,En=/^0x/i,Cn=/^[-+]0x[0-9a-f]+$/i,Tn=/^0b[01]+$/i,Bn=/^\[object .+?Constructor\]$/,Ln=/^0o[0-7]+$/i,On=/^(?:0|[1-9]\d*)$/,jn=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,Rn=/($^)/,Pn=/['\n\r\u2028\u2029\\]/g,In="\\ud800-\\udfff",Mn="\\u0300-\\u036f\\ufe20-\\ufe23",Dn="\\u20d0-\\u20f0",Nn="\\u2700-\\u27bf",Sn="a-z\\xdf-\\xf6\\xf8-\\xff",qn="\\xac\\xb1\\xd7\\xf7",Un="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",zn="\\u2018\\u2019\\u201c\\u201d",Fn=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Wn="A-Z\\xc0-\\xd6\\xd8-\\xde",$n="\\ufe0e\\ufe0f",Hn=qn+Un+zn+Fn,Kn="["+In+"]",Gn="["+Hn+"]",Xn="["+Mn+Dn+"]",Qn="\\d+",Jn="["+Nn+"]",Yn="["+Sn+"]",Zn="[^"+In+Hn+Qn+Nn+Sn+Wn+"]",Vn="\\ud83c[\\udffb-\\udfff]",tr="(?:"+Xn+"|"+Vn+")",nr="[^"+In+"]",rr="(?:\\ud83c[\\udde6-\\uddff]){2}",er="[\\ud800-\\udbff][\\udc00-\\udfff]",or="["+Wn+"]",ir="\\u200d",ur="(?:"+Yn+"|"+Zn+")",ar="(?:"+or+"|"+Zn+")",cr=tr+"?",fr="["+$n+"]?",sr="(?:"+ir+"(?:"+[nr,rr,er].join("|")+")"+fr+cr+")*",lr=fr+cr+sr,hr="(?:"+[Jn,rr,er].join("|")+")"+lr,pr="(?:"+[nr+Xn+"?",Xn,rr,er,Kn].join("|")+")",vr=RegExp(Xn,"g"),gr=RegExp(Vn+"(?="+Vn+")|"+pr+lr,"g"),dr=RegExp("["+ir+In+Mn+Dn+$n+"]"),_r=/[a-zA-Z0-9]+/g,yr=RegExp([or+"?"+Yn+"+(?="+[Gn,or,"$"].join("|")+")",ar+"+(?="+[Gn,or+ur,"$"].join("|")+")",or+"?"+ur+"+",or+"+",Qn,hr].join("|"),"g"),mr=/[a-z][A-Z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,br=["Array","Buffer","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Reflect","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],wr=-1,xr={};xr[Xt]=xr[Qt]=xr[Jt]=xr[Yt]=xr[Zt]=xr[Vt]=xr[tn]=xr[nn]=xr[rn]=!0,xr[jt]=xr[Rt]=xr[Gt]=xr[Pt]=xr[It]=xr[Mt]=xr[Dt]=xr[St]=xr[qt]=xr[Ut]=xr[zt]=xr[Ft]=xr[Wt]=xr[Ht]=!1;var Ar={};Ar[jt]=Ar[Rt]=Ar[Gt]=Ar[Pt]=Ar[It]=Ar[Xt]=Ar[Qt]=Ar[Jt]=Ar[Yt]=Ar[Zt]=Ar[St]=Ar[qt]=Ar[Ut]=Ar[zt]=Ar[Ft]=Ar[Wt]=Ar[$t]=Ar[Vt]=Ar[tn]=Ar[nn]=Ar[rn]=!0,Ar[Mt]=Ar[Dt]=Ar[Ht]=!1;var kr={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss"},Er={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},Cr={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"},Tr={"function":!0,object:!0},Br={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Lr=parseFloat,Or=parseInt,jr=Tr[typeof n]&&n&&!n.nodeType?n:V,Rr=Tr[typeof t]&&t&&!t.nodeType?t:V,Pr=Rr&&Rr.exports===jr?jr:V,Ir=M(jr&&Rr&&"object"==typeof o&&o),Mr=M(Tr[typeof self]&&self),Dr=M(Tr[typeof window]&&window),Nr=M(Tr[typeof this]&&this),Sr=Ir||Dr!==(Nr&&Nr.window)&&Dr||Mr||Nr||Function("return this")(),qr=Z();(Dr||Mr||{})._=qr,e=function(){return qr}.call(n,r,n,t),!(e!==V&&(t.exports=e))}).call(this)}).call(n,r(21)(t),function(){return this}())},function(t,n,r){function e(t){this.mode=o.MODE_8BIT_BYTE,this.data=t}var o=r(5);e.prototype={getLength:function(t){return this.data.length},write:function(t){for(var n=0;n>>7-t%8&1)},put:function(t,n){for(var r=0;n>r;r++)this.putBit(1==(t>>>n-r-1&1))},getLengthInBits:function(){return this.length},putBit:function(t){var n=Math.floor(this.length/8);this.buffer.length<=n&&this.buffer.push(0),t&&(this.buffer[n]|=128>>>this.length%8),this.length++}},t.exports=r},function(t,n,r){function e(t,n){this.typeNumber=t,this.errorCorrectLevel=n,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}var o=r(13),i=r(16),u=r(14),a=r(17),c=r(3),f=e.prototype;f.addData=function(t){var n=new o(t);this.dataList.push(n),this.dataCache=null},f.isDark=function(t,n){if(0>t||this.moduleCount<=t||0>n||this.moduleCount<=n)throw new Error(t+","+n);return this.modules[t][n]},f.getModuleCount=function(){return this.moduleCount},f.make=function(){if(this.typeNumber<1){var t=1;for(t=1;40>t;t++){for(var n=i.getRSBlocks(t,this.errorCorrectLevel),r=new u,e=0,o=0;o=7&&this.setupTypeNumber(t),null==this.dataCache&&(this.dataCache=e.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,n)},f.setupPositionProbePattern=function(t,n){for(var r=-1;7>=r;r++)if(!(-1>=t+r||this.moduleCount<=t+r))for(var e=-1;7>=e;e++)-1>=n+e||this.moduleCount<=n+e||(r>=0&&6>=r&&(0==e||6==e)||e>=0&&6>=e&&(0==r||6==r)||r>=2&&4>=r&&e>=2&&4>=e?this.modules[t+r][n+e]=!0:this.modules[t+r][n+e]=!1)},f.getBestMaskPattern=function(){for(var t=0,n=0,r=0;8>r;r++){this.makeImpl(!0,r);var e=a.getLostPoint(this);(0==r||t>e)&&(t=e,n=r)}return n},f.createMovieClip=function(t,n,r){var e=t.createEmptyMovieClip(n,r),o=1;this.make();for(var i=0;i=i;i++)for(var u=-2;2>=u;u++)-2==i||2==i||-2==u||2==u||0==i&&0==u?this.modules[e+i][o+u]=!0:this.modules[e+i][o+u]=!1}},f.setupTypeNumber=function(t){for(var n=a.getBCHTypeNumber(this.typeNumber),r=0;18>r;r++){var e=!t&&1==(n>>r&1);this.modules[Math.floor(r/3)][r%3+this.moduleCount-8-3]=e}for(var r=0;18>r;r++){var e=!t&&1==(n>>r&1);this.modules[r%3+this.moduleCount-8-3][Math.floor(r/3)]=e}},f.setupTypeInfo=function(t,n){for(var r=this.errorCorrectLevel<<3|n,e=a.getBCHTypeInfo(r),o=0;15>o;o++){var i=!t&&1==(e>>o&1);6>o?this.modules[o][8]=i:8>o?this.modules[o+1][8]=i:this.modules[this.moduleCount-15+o][8]=i}for(var o=0;15>o;o++){var i=!t&&1==(e>>o&1);8>o?this.modules[8][this.moduleCount-o-1]=i:9>o?this.modules[8][15-o-1+1]=i:this.modules[8][15-o-1]=i}this.modules[this.moduleCount-8][8]=!t},f.mapData=function(t,n){for(var r=-1,e=this.moduleCount-1,o=7,i=0,u=this.moduleCount-1;u>0;u-=2)for(6==u&&u--;;){for(var c=0;2>c;c++)if(null==this.modules[e][u-c]){var f=!1;i>>o&1));var s=a.getMask(n,e,u-c);s&&(f=!f),this.modules[e][u-c]=f,o--,-1==o&&(i++,o=7)}if(e+=r,0>e||this.moduleCount<=e){e-=r,r=-r;break}}},e.PAD0=236,e.PAD1=17,e.createData=function(t,n,r){for(var o=i.getRSBlocks(t,n),c=new u,f=0;f8*l)throw new Error("code length overflow. ("+c.getLengthInBits()+">"+8*l+")");for(c.getLengthInBits()+4<=8*l&&c.put(0,4);c.getLengthInBits()%8!=0;)c.putBit(!1);for(;;){if(c.getLengthInBits()>=8*l)break;if(c.put(e.PAD0,8),c.getLengthInBits()>=8*l)break;c.put(e.PAD1,8)}return e.createBytes(c,o)},e.createBytes=function(t,n){for(var r=0,e=0,o=0,i=new Array(n.length),u=new Array(n.length),f=0;f=0?g.get(d):0}}for(var _=0,h=0;hh;h++)for(var f=0;fh;h++)for(var f=0;fu;u++)for(var a=r[3*u+0],c=r[3*u+1],f=r[3*u+2],s=0;a>s;s++)i.push(new e(c,f));return i},e.getRsBlockTable=function(t,n){switch(n){case o.L:return e.RS_BLOCK_TABLE[4*(t-1)+0];case o.M:return e.RS_BLOCK_TABLE[4*(t-1)+1];case o.Q:return e.RS_BLOCK_TABLE[4*(t-1)+2];case o.H:return e.RS_BLOCK_TABLE[4*(t-1)+3];default:return}},t.exports=e},function(t,n,r){var e=r(5),o=r(3),i=r(4),u={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7},a={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(t){for(var n=t<<10;a.getBCHDigit(n)-a.getBCHDigit(a.G15)>=0;)n^=a.G15<=0;)n^=a.G18<>>=1;return n},getPatternPosition:function(t){return a.PATTERN_POSITION_TABLE[t-1]},getMask:function(t,n,r){switch(t){case u.PATTERN000:return(n+r)%2==0;case u.PATTERN001:return n%2==0;case u.PATTERN010:return r%3==0;case u.PATTERN011:return(n+r)%3==0;case u.PATTERN100:return(Math.floor(n/2)+Math.floor(r/3))%2==0;case u.PATTERN101:return n*r%2+n*r%3==0;case u.PATTERN110:return(n*r%2+n*r%3)%2==0;case u.PATTERN111:return(n*r%3+(n+r)%2)%2==0;default:throw new Error("bad maskPattern:"+t)}},getErrorCorrectPolynomial:function(t){for(var n=new o([1],0),r=0;t>r;r++)n=n.multiply(new o([1,i.gexp(r)],0));return n},getLengthInBits:function(t,n){if(n>=1&&10>n)switch(t){case e.MODE_NUMBER:return 10;case e.MODE_ALPHA_NUM:return 9;case e.MODE_8BIT_BYTE:return 8;case e.MODE_KANJI:return 8;default:throw new Error("mode:"+t)}else if(27>n)switch(t){case e.MODE_NUMBER:return 12;case e.MODE_ALPHA_NUM:return 11;case e.MODE_8BIT_BYTE:return 16;case e.MODE_KANJI:return 10;default:throw new Error("mode:"+t)}else{if(!(41>n))throw new Error("type:"+n);switch(t){case e.MODE_NUMBER:return 14;case e.MODE_ALPHA_NUM:return 13;case e.MODE_8BIT_BYTE:return 16;case e.MODE_KANJI:return 12;default:throw new Error("mode:"+t)}}},getLostPoint:function(t){for(var n=t.getModuleCount(),r=0,e=0;n>e;e++)for(var o=0;n>o;o++){for(var i=0,u=t.isDark(e,o),a=-1;1>=a;a++)if(!(0>e+a||e+a>=n))for(var c=-1;1>=c;c++)0>o+c||o+c>=n||0==a&&0==c||u==t.isDark(e+a,o+c)&&i++;i>5&&(r+=3+i-5)}for(var e=0;n-1>e;e++)for(var o=0;n-1>o;o++){var f=0;t.isDark(e,o)&&f++,t.isDark(e+1,o)&&f++,t.isDark(e,o+1)&&f++,t.isDark(e+1,o+1)&&f++,0!=f&&4!=f||(r+=3)}for(var e=0;n>e;e++)for(var o=0;n-6>o;o++)t.isDark(e,o)&&!t.isDark(e,o+1)&&t.isDark(e,o+2)&&t.isDark(e,o+3)&&t.isDark(e,o+4)&&!t.isDark(e,o+5)&&t.isDark(e,o+6)&&(r+=40);for(var o=0;n>o;o++)for(var e=0;n-6>e;e++)t.isDark(e,o)&&!t.isDark(e+1,o)&&t.isDark(e+2,o)&&t.isDark(e+3,o)&&t.isDark(e+4,o)&&!t.isDark(e+5,o)&&t.isDark(e+6,o)&&(r+=40);for(var s=0,o=0;n>o;o++)for(var e=0;n>e;e++)t.isDark(e,o)&&s++;var l=Math.abs(100*s/n/n-50)/5;return r+=10*l}};t.exports=a},function(t,n,r){"use strict";function e(t){return t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1}var o,i=r(6),u=r(15),a=r(2);o=/^0\.14/.test(i.version)?function(t){return t}:function(t){return t.getDOMNode()};var c=i.createClass({displayName:"QRCode",propTypes:{value:i.PropTypes.string.isRequired,size:i.PropTypes.number,level:i.PropTypes.oneOf(["L","M","Q","H"]),bgColor:i.PropTypes.string,fgColor:i.PropTypes.string},getDefaultProps:function(){return{size:128,level:"L",bgColor:"#FFFFFF",fgColor:"#000000"}},shouldComponentUpdate:function(t){var n=this;return Object.keys(c.propTypes).some(function(r){return n.props[r]!==t[r]})},componentDidMount:function(){this.update()},componentDidUpdate:function(){this.update()},update:function(){var t=this.props,n=t.value,r=t.size,i=t.level,c=t.bgColor,f=t.fgColor,s=new u(-1,a[i]);s.addData(n),s.make();var l=o(this.refs.canvas),h=l.getContext("2d"),p=s.modules,v=r/p.length,g=r/p.length,d=(window.devicePixelRatio||1)/e(h);l.height=l.width=r*d,h.scale(d,d),p.forEach(function(t,n){t.forEach(function(t,r){h.fillStyle=t?f:c;var e=Math.ceil((r+1)*v)-Math.floor(r*v),o=Math.ceil((n+1)*g)-Math.floor(n*g);h.fillRect(Math.round(r*v),Math.round(n*g),e,o)})})},render:function(){return i.createElement("canvas",{style:{height:this.props.size,width:this.props.size},height:this.props.size,width:this.props.size,ref:"canvas"})}});t.exports=c},function(t,n,r){function e(t,n){for(var r=0;r=0&&m.splice(n,1)}function a(t){var n=document.createElement("style");return n.type="text/css",i(t,n),n}function c(t){var n=document.createElement("link");return n.rel="stylesheet",i(t,n),n}function f(t,n){var r,e,o;if(n.singleton){var i=y++;r=_||(_=a(n)),e=s.bind(null,r,i,!1),o=s.bind(null,r,i,!0)}else t.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(r=c(n),e=h.bind(null,r),o=function(){u(r),r.href&&URL.revokeObjectURL(r.href)}):(r=a(n),e=l.bind(null,r),o=function(){u(r)});return e(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;e(t=n)}else o()}}function s(t,n,r,e){var o=r?"":e.css;if(t.styleSheet)t.styleSheet.cssText=b(n,o);else{var i=document.createTextNode(o),u=t.childNodes;u[n]&&t.removeChild(u[n]),u.length?t.insertBefore(i,u[n]):t.appendChild(i)}}function l(t,n){var r=n.css,e=n.media;n.sourceMap;if(e&&t.setAttribute("media",e),t.styleSheet)t.styleSheet.cssText=r;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(r))}}function h(t,n){var r=n.css,e=(n.media,n.sourceMap);e&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+" */");var o=new Blob([r],{type:"text/css"}),i=t.href;t.href=URL.createObjectURL(o),i&&URL.revokeObjectURL(i)}var p={},v=function(t){var n;return function(){return"undefined"==typeof n&&(n=t.apply(this,arguments)),n}},g=v(function(){return/msie [6-9]\b/.test(window.navigator.userAgent.toLowerCase())}),d=v(function(){return document.head||document.getElementsByTagName("head")[0]}),_=null,y=0,m=[];t.exports=function(t,n){n=n||{},"undefined"==typeof n.singleton&&(n.singleton=g()),"undefined"==typeof n.insertAt&&(n.insertAt="bottom");var r=o(t);return e(r,n),function(t){for(var i=[],u=0;u
2 |
3 |
4 |
5 | Example for react-share-buttons
6 |
7 |
8 | React Share Buttons
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/example/main.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import ShareButtons from '../src';
4 |
5 | class App extends React.Component {
6 | render() {
7 | return (
8 |
9 |
16 |
17 | );
18 | }
19 | }
20 |
21 | ReactDOM.render(, document.getElementById('app'));
--------------------------------------------------------------------------------
/example/server.js:
--------------------------------------------------------------------------------
1 | const webpack = require('webpack');
2 | const WebpackDevServer = require('webpack-dev-server');
3 | const config = require('./webpack.config');
4 | const path = require('path');
5 |
6 | new WebpackDevServer(webpack(config), {
7 | contentBase: path.join(__dirname, 'build'),
8 | publicPath: `${config.output.publicPath}`,
9 | hot: true,
10 | historyApiFallback: true,
11 | stats: {
12 | colors: true,
13 | cached: false,
14 | cachedAssets: false,
15 | },
16 | }).listen(config.port, '0.0.0.0', (err) => {
17 | if (err) {
18 | console.log(err);
19 | }
20 |
21 | console.log(`Listening at 0.0.0.0: ${config.port}`);
22 | });
23 |
--------------------------------------------------------------------------------
/example/webpack.config.js:
--------------------------------------------------------------------------------
1 | import webpack from 'webpack';
2 | const port = process.env.PORT || 3001;
3 |
4 | /**
5 | * This is the Webpack configuration file for local development. It contains
6 | * local-specific configuration such as the React Hot Loader, as well as:
7 | *
8 | * - The entry point of the application
9 | * - Where the output file should be
10 | * - Which loaders to use on what files to properly transpile the source
11 | *
12 | * For more information, see: http://webpack.github.io/docs/configuration.html
13 | */
14 | module.exports = {
15 |
16 | // Efficiently evaluate modules with source maps
17 | devtool: 'eval',
18 |
19 | // Set entry point to ./example/main and include necessary files for hot load
20 | entry: [
21 | `webpack-dev-server/client?http://localhost:${port}`,
22 | 'webpack/hot/only-dev-server',
23 | './example/main',
24 | ],
25 |
26 | // This will not actually create a bundle.js file in ./build. It is used
27 | // by the dev server for dynamic hot loading.
28 | output: {
29 | path: `${__dirname}/build/`,
30 | filename: 'app.js',
31 | publicPath: `http://localhost:${port}/build/`,
32 | },
33 |
34 | // Necessary plugins for hot load
35 | plugins: [
36 | new webpack.HotModuleReplacementPlugin(),
37 | new webpack.NoErrorsPlugin(),
38 | ],
39 |
40 | // Transform source code using Babel and React Hot Loader
41 | module: {
42 | loaders: [
43 | {
44 | test: /\.jsx?$/,
45 | exclude: /node_modules/,
46 | loader: 'babel',
47 | },
48 | { test: /\.css$/, exclude: /\.useable\.css$/, loader: "style!css" },
49 | { test: /\.useable\.css$/, loader: "style/useable!css" },
50 | {
51 | test: /\.css$/,
52 | loader: "style-loader!css-loader"
53 | },
54 | {
55 | test: /\.scss$/,
56 | loaders: ["style", "css", "sass"]
57 | },
58 | { test : /\.(ttf|eot|svg|woff(2)?)(\?[a-z0-9]+)?$/,
59 | loader : 'file-loader'
60 | }
61 | ],
62 | },
63 |
64 | // Automatically transform files with these extensions
65 | resolve: {
66 | extensions: ['', '.js', '.jsx'],
67 | },
68 |
69 | port,
70 | };
71 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "react-share-buttons",
3 | "version": "1.0.1",
4 | "description": "",
5 | "main": "dist/react-share-buttons.js",
6 | "scripts": {
7 | "start": "./node_modules/.bin/babel-node example/server.js",
8 | "compile": "webpack -p --config webpack.production.config.js",
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | },
11 | "author": "",
12 | "license": "ISC",
13 | "dependencies": {
14 | "babel-core": "^6.3.26",
15 | "babel-loader": "^6.2.0",
16 | "babel-preset-es2015": "^6.3.13",
17 | "babel-preset-react": "^6.3.13",
18 | "css-loader": "^0.23.1",
19 | "file-loader": "^0.8.5",
20 | "lodash": "^4.5.1",
21 | "qrcode.react": "^0.6.0",
22 | "react": "^0.14.3",
23 | "react-dom": "^0.14.3",
24 | "style-loader": "^0.13.0",
25 | "webpack": "^1.12.9"
26 | },
27 | "devDependencies": {
28 | "babel-cli": "^6.6.5",
29 | "babel-core": "^6.6.5",
30 | "babel-loader": "^6.2.4",
31 | "babel-plugin-add-module-exports": "^0.1.2",
32 | "babel-plugin-react-transform": "^2.0.2",
33 | "babel-preset-es2015": "^6.3.13",
34 | "babel-preset-stage-0": "^6.5.0",
35 | "node-sass": "^3.4.2",
36 | "react-transform-catch-errors": "^1.0.2",
37 | "react-transform-hmr": "^1.0.2",
38 | "redbox-react": "^1.2.2",
39 | "sass-loader": "^3.1.2",
40 | "uglify-loader": "^1.3.0",
41 | "webpack-dev-server": "^1.14.1"
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/src/css/share.scss:
--------------------------------------------------------------------------------
1 |
2 | @font-face {font-family: "socialshare";
3 | src: url('../fonts/iconfont.eot'); /* IE9*/
4 | src: url('../fonts/iconfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
5 | url('../fonts/iconfont.woff') format('woff'), /* chrome, firefox */
6 | url('../fonts/iconfont.ttf') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
7 | url('../fonts/iconfont.svg#iconfont') format('svg'); /* iOS 4.1- */
8 | }
9 |
10 | .social-share {
11 | font-family:"socialshare" !important;
12 | font-size:16px;
13 | font-style:normal;
14 | -webkit-font-smoothing: antialiased;
15 | -webkit-text-stroke-width: 0.2px;
16 | -moz-osx-font-smoothing: grayscale;
17 |
18 | .icon-tencent:before { content: "\f07a"; }
19 | .icon-qq:before { content: "\f11a"; }
20 | .icon-weibo:before { content: "\f12a"; }
21 | .icon-wechat:before { content: "\f09a"; }
22 | .icon-douban:before { content: "\f10a"; }
23 | .icon-heart:before { content: "\f20a"; }
24 | .icon-like:before { content: "\f00a"; }
25 | .icon-qzone:before { content: "\f08a"; }
26 | .icon-linkedin:before { content: "\f01a"; }
27 | .icon-diandian:before { content: "\f05a"; }
28 | .icon-facebook:before { content: "\f03a"; }
29 | .icon-google:before { content: "\f04a"; }
30 | .icon-twitter:before { content: "\f06a"; }
31 |
32 | a {
33 | position:relative;
34 | text-decoration:none;
35 | margin: 4px;
36 | display:inline-block;
37 | outline: none;
38 | }
39 |
40 | .social-share-icon {
41 | position:relative;
42 | display:inline-block;
43 | width: 32px;
44 | height: 32px;
45 | font-size: 20px;
46 | border-radius: 50%;
47 | line-height: 32px;
48 | border:1px solid #666;
49 | color: #666;
50 | text-align: center;
51 | vertical-align: middle;
52 | transition: background 0.6s ease-out 0s;
53 |
54 | &:hover{
55 | background: #666;
56 | color: #fff;
57 | }
58 | }
59 |
60 | .icon-weibo{
61 | color:#ff763b;border-color:#ff763b;
62 | &:hover{
63 | background:#ff763b;
64 | }
65 | }
66 | .icon-tencent{
67 | color:#56b6e7;border-color:#56b6e7;
68 | &:hover{
69 | background:#56b6e7;
70 | }
71 | }
72 | .icon-qq{
73 | color:#56b6e7;border-color:#56b6e7;
74 | &:hover{
75 | background:#56b6e7;
76 | }
77 | }
78 | .icon-qzone{
79 | color:#FDBE3D;border-color:#FDBE3D;
80 | &:hover{
81 | background:#FDBE3D;
82 | }
83 | }
84 | .icon-douban{
85 | color:#33b045;border-color:#33b045;
86 | &:hover{
87 | background:#33b045;
88 | }
89 | }
90 | .icon-linkedin{
91 | color:#0077B5;border-color:#0077B5;
92 | &:hover{
93 | background:#0077B5;
94 | }
95 | }
96 | .icon-facebook {
97 | color:#44619D;border-color:#44619D;
98 | &:hover{
99 | background:#44619D;
100 | }
101 | }
102 | .icon-google {
103 | color:#db4437;border-color:#db4437;
104 | &:hover{
105 | background:#db4437;
106 | }
107 | }
108 | .icon-twitter {
109 | color:#55acee;border-color:#55acee;
110 | &:hover{
111 | background:#55acee;
112 | }
113 | }
114 | .icon-diandian {color:#307DCA; border-color:#307DCA;
115 |
116 | &:hover{
117 | background:#307DCA;
118 | }
119 | }
120 | .icon-wechat{
121 | position:relative;color:#7bc549;border-color:#7bc549;
122 | &:hover{
123 | background:#7bc549;
124 | }
125 | }
126 | .icon-wechat .wechat-qrcode{display: none;border: 1px solid #eee;position:absolute;z-index:9;top:-205px;left:-84px;width:200px;height:192px;color:#666;font-size:12px;text-align:center;background-color:#fff;box-shadow:0 2px 10px #aaa;transition:all 200ms;-webkit-tansition:all 350ms;-moz-transition:all 350ms; }
127 | .icon-wechat .wechat-qrcode h4{font-weight:normal;height:26px;line-height:26px;font-size:12px; background-color:#f3f3f3; margin:0;padding:0;color: #777; }
128 | .icon-wechat .wechat-qrcode .qrcode{width:105px; margin:10px auto;}
129 | .icon-wechat .wechat-qrcode .qrcode table{margin:0!important;}
130 | .icon-wechat .wechat-qrcode .help p{font-weight:normal;line-height:16px;padding:0;margin:0;}
131 | .icon-wechat .wechat-qrcode:after{content:'';position:absolute;left:50%;margin-left:-6px;bottom:-13px;width:0;height:0;border-width:8px 6px 6px 6px;border-style:solid;border-color:#fff transparent transparent transparent}
132 | .icon-wechat:hover .wechat-qrcode{display: block;}
133 | }
134 |
--------------------------------------------------------------------------------
/src/fonts/iconfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DawnyWu/react-share-buttons/2836b0693f665e177a4b7d9c390065aefaf46095/src/fonts/iconfont.eot
--------------------------------------------------------------------------------
/src/fonts/iconfont.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
89 |
--------------------------------------------------------------------------------
/src/fonts/iconfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DawnyWu/react-share-buttons/2836b0693f665e177a4b7d9c390065aefaf46095/src/fonts/iconfont.ttf
--------------------------------------------------------------------------------
/src/fonts/iconfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DawnyWu/react-share-buttons/2836b0693f665e177a4b7d9c390065aefaf46095/src/fonts/iconfont.woff
--------------------------------------------------------------------------------
/src/index.js:
--------------------------------------------------------------------------------
1 | import React, { PropTypes, Component } from 'react'
2 | import _ from 'lodash'
3 | import css from './css/share.scss'
4 | import QRCode from 'qrcode.react'
5 |
6 | const propTypes = {
7 | url: PropTypes.string,
8 | title: PropTypes.string,
9 | description: PropTypes.string,
10 | image: PropTypes.string,
11 | sites: PropTypes.array,
12 | };
13 |
14 | function getMetaContentByName(name) {
15 | return (document.getElementsByName(name)[0] || 0).content;
16 | }
17 |
18 | let image = (document.images[0] || 0).src || '';
19 | let site = getMetaContentByName('site') || getMetaContentByName('Site') || document.title;
20 | let title = getMetaContentByName('title') || getMetaContentByName('Title') || document.title;
21 | let description = getMetaContentByName('description') || getMetaContentByName('Description') || '';
22 | let url = location.href
23 | let origin = location.origin
24 |
25 | let defaultProps = {
26 | url: url,
27 | origin: origin,
28 | title: title,
29 | description: description,
30 | summary: description,
31 | image: image,
32 | site: site,
33 | source: site,
34 | sites: ["qzone", "weibo", "google", "twitter", "qq",
35 | "tencent", "wechat", "douban", "linkedin", "facebook"],
36 | wechatQrcodeTitle: '微信扫一扫:分享',
37 | wechatQrcodeHelper: '微信里点“发现”,扫一下,二维码便可将本文分享至朋友圈。',
38 | };
39 |
40 | class ShareButtons extends React.Component {
41 |
42 | render(){
43 | let sites = this.props.sites
44 | let url = this.props.url
45 | let wechatQrcodeTitle = this.props.wechatQrcodeTitle
46 | let wechatQrcodeHelper = this.props.wechatQrcodeHelper
47 |
48 | let title = encodeURIComponent(this.props.title)
49 | let description = encodeURIComponent(this.props.description)
50 | let image = encodeURIComponent(this.props.image)
51 | let site = encodeURIComponent(this.props.site)
52 | let origin = encodeURIComponent(this.props.origin)
53 |
54 | let summary = description
55 | let source = site
56 |
57 | const templates = {
58 | qzone: `http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=${url}&title=${title}&desc=${description}&summary=${summary}&site=${source}`,
59 | qq: `http://connect.qq.com/widget/shareqq/index.html?url=${url}&title=${title}&source=${source}&desc=${description}`,
60 | tencent: `http://share.v.t.qq.com/index.php?c=share&a=index&title=${title}&url=${url}&pic=${image}`,
61 | weibo: `http://service.weibo.com/share/share.php?url=${url}&title=${title}&pic=${image}`,
62 | wechat: `javascript:`,
63 | douban: `http://shuo.douban.com/!service/share?href=${url}&name=${title}&text=${description}&image=${image}&starid=0&aid=0&style=11`,
64 | diandian: `http://www.diandian.com/share?lo=${url}&ti=${title}&type=link`,
65 | linkedin: `http://www.linkedin.com/shareArticle?mini=true&ro=true&title=${title}&url=${url}&summary=${summary}&source=${source}&armin=armin`,
66 | facebook: `https://www.facebook.com/sharer/sharer.php?u=${url}`,
67 | twitter: `https://twitter.com/intent/tweet?text=${title}&url=${url}&via=${origin}`,
68 | google: `https://plus.google.com/share?url=${url}`
69 | };
70 |
71 | let html = _.map(sites, function (site, i) {
72 | if(site === "wechat"){
73 | let doc =
74 |
{wechatQrcodeTitle}
75 |
76 |
77 |
78 |
79 |
{wechatQrcodeHelper}
80 |
81 |
82 | return (
83 |
84 | {doc}
85 |
86 | )
87 | } else {
88 | let className = `icon-${site} social-share-icon`
89 | return (
90 |
91 | )
92 | }
93 | })
94 | return(
95 |
96 | {html}
97 |
98 | )
99 | };
100 | };
101 |
102 | ShareButtons.propTypes = propTypes;
103 | ShareButtons.defaultProps = defaultProps;
104 |
105 | export default ShareButtons;
--------------------------------------------------------------------------------
/webpack.production.config.js:
--------------------------------------------------------------------------------
1 | var webpack = require('webpack');
2 |
3 | /**
4 | * This is the Webpack configuration file for production.
5 | */
6 | module.exports = {
7 | entry: './src/index',
8 |
9 | output: {
10 | library: 'ReactShareButtons',
11 | libraryTarget: 'umd',
12 | path: __dirname + '/dist/',
13 | filename: 'react-share-buttons.js'
14 | },
15 |
16 | externals: [{
17 | 'react': {
18 | root: 'React',
19 | commonjs2: 'react',
20 | commonjs: 'react',
21 | amd: 'react'
22 | }
23 | }],
24 |
25 | plugins: [
26 | new webpack.DefinePlugin({
27 | 'process.env': {
28 | 'NODE_ENV': JSON.stringify('production')
29 | }
30 | })
31 | ],
32 |
33 | module: {
34 | loaders: [
35 | {
36 | test: /\.js$/,
37 | exclude: /node_modules/,
38 | loader: 'babel',
39 | query: {
40 | presets: ['es2015', 'react']
41 | }
42 | },
43 | {
44 | test: /\.jsx?$/,
45 | exclude: /node_modules/,
46 | loader: 'babel',
47 | },
48 | { test: /\.css$/, exclude: /\.useable\.css$/, loader: "style!css" },
49 | { test: /\.useable\.css$/, loader: "style/useable!css" },
50 | {
51 | test: /\.css$/,
52 | loader: "style-loader!css-loader"
53 | },
54 | {
55 | test: /\.scss$/,
56 | loaders: ["style", "css", "sass"]
57 | },
58 | { test : /\.(ttf|eot|svg|woff(2)?)(\?[a-z0-9]+)?$/,
59 | loader : 'file-loader'
60 | },
61 | {
62 | // I want to uglify with mangling only app files, not thirdparty libs
63 | test: /.*\/app\/.*\.js$/,
64 | // exclude: /.spec.js/, // excluding .spec files
65 | exclude: /node_modules/, // excluding .spec files
66 | loader: "uglify"
67 | }
68 | ],
69 | },
70 |
71 | resolve: {
72 | extensions: ['', '.js', '.jsx']
73 | }
74 | };
75 |
--------------------------------------------------------------------------------