提交 1abe2e35 编写于 作者: 城危

feat: use prop-types instead React.PropTypes

上级 ae5acca2
此差异已折叠。
此差异已折叠。
body{background:#009688;padding:0;margin:0;font:20px/1 HanHei SC,PingHei,PingFang SC,STHeitiSC-Light,Helvetica Neue,Helvetica,Arial,sans-serif;overflow:hidden;cursor:default;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-font-feature-settings:"liga","kern";direction:ltr;text-align:left}.r{float:right}.l{float:left}.clear{clear:both}b{width:20px;height:20px;padding:2px;border:2px solid #879372;margin:0 2px 2px 0;float:left}b,b:after{display:block}b:after{content:"";width:12px;height:12px;background:#879372;overflow:hidden}b.c{border-color:#000}b.c:after{background:#000}b.d{border-color:#560000}b.d:after{background:#560000}.bg{background:url("//img.alicdn.com/tps/TB1qq7kNXXXXXacXFXXXXXXXXXX-400-186.png") no-repeat;overflow:hidden}*{box-sizing:border-box;margin:0;padding:0}._3Lk6{width:640px;padding-top:42px;box-shadow:inset 0 0 10px #fff;border-radius:20px;position:absolute;top:50%;left:50%;margin:-480px 0 0 -320px;background:#efcc19}._1fjB{width:480px;padding:45px 0 35px;border:solid #000;border-width:0 10px 10px;margin:0 auto;position:relative}._1fjB._3YUe{-webkit-transform:translateY(5px);transform:translateY(5px)}._2iZA{width:390px;height:478px;border:5px solid;border-color:#987f0f #fae36c #fae36c #987f0f;margin:0 auto;position:relative}._2iZA ._2lJh{width:380px;height:468px;margin:0 auto;background:#9ead86;padding:8px;border:2px solid #494536}._1deS{width:108px;position:absolute;top:0;right:15px}._1deS p{line-height:47px;height:57px;padding:10px 0 0;white-space:nowrap;clear:both}._1deS ._8hag{position:absolute;width:114px;top:426px;left:0}._6pVK{border:2px solid #000;padding:3px 1px 1px 3px;width:228px}._6pVK p{width:220px;height:22px}._2OLA h1{text-align:center;font-weight:400;top:-12px;margin:0;padding:0;font-size:30px}._2OLA .DOXx,._2OLA h1{position:absolute;width:100%;left:0}._2OLA .DOXx{height:10px;top:0;overflow:hidden}._2OLA .DOXx span{display:block;width:10px;height:10px;overflow:hidden;background:#000}._2OLA .DOXx span._1xND{margin-right:10px}._2OLA .DOXx span._1cYd{margin-left:10px}._2OLA .nVeA{position:absolute;right:-70px;top:20px;width:44px}._2OLA .nVeA em{display:block;width:22px;height:22px;overflow:hidden;float:left}._2OLA .nVeA p{height:22px;clear:both}._2OLA .nVeA._395z{right:auto;left:-70px}.iHKP{height:24px;font-size:14px;float:right}.iHKP span{float:left;width:14px;height:24px}.iHKP ._2hru{background-position:-75px -25px}.iHKP ._2B-l{background-position:-89px -25px}.iHKP .ShGQ{background-position:-103px -25px}.iHKP ._2V1K{background-position:-117px -25px}.iHKP ._3bYF{background-position:-131px -25px}.iHKP ._1Z7B{background-position:-145px -25px}.iHKP ._1-BZ{background-position:-159px -25px}.iHKP ._3_id{background-position:-173px -25px}.iHKP ._3_Z_{background-position:-187px -25px}.iHKP .bNJM{background-position:-201px -25px}.iHKP ._2kln{background-position:-215px -25px}.iHKP .hOfM{background-position:-243px -25px}.iHKP ._2tuY{background-position:-229px -25px}._3Wmt div{height:22px;width:88px;float:right}.EHci{width:25px;height:21px;background-position:-175px -75px;position:absolute;top:2px;left:-12px}.EHci.TTF4{background-position:-150px -75px}._37mu{width:20px;height:18px;background-position:-100px -75px;position:absolute;top:3px;left:18px}._37mu._1vhq{background-position:-75px -75px}._20Jp{width:224px;height:200px;left:12px;text-align:center;overflow:hidden}._20Jp,._20Jp p{position:absolute;top:100px}._20Jp p{width:100%;line-height:1.4;left:0;font-family:initial;letter-spacing:6px;text-shadow:1px 1px 1px hsla(0,0%,100%,.35)}._20Jp .AFTs{width:80px;height:86px;margin:0 auto}._20Jp .AFTs,._20Jp .AFTs._3j_b,._20Jp .AFTs._26pe{background-position:0 -100px}._20Jp .AFTs._1Fxd,._20Jp .AFTs._7ELJ{background-position:-100px -100px}._20Jp .AFTs._1JBw,._20Jp .AFTs._9lMe{background-position:-200px -100px}._20Jp .AFTs._2aGx,._20Jp .AFTs._3aQ-{background-position:-300px -100px}._20Jp .AFTs._1JBw,._20Jp .AFTs._2aGx,._20Jp .AFTs._7ELJ,._20Jp .AFTs._26pe{transform:scaleX(-1);-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);-moz-transform:scaleX(-1);-o-transform:scaleX(-1)}.J9SA{width:580px;height:330px;margin:20px auto 0;position:relative}._1pg0{text-align:center;color:#111;position:absolute;white-space:nowrap;line-height:1.6}._1pg0.oW6K{font-size:16px}._1pg0 span._1zCL{position:absolute;top:5px;left:102px}._1pg0 i{display:block;position:relative;border:1px solid #000;border-radius:50%;box-shadow:0 3px 3px rgba(0,0,0,.2)}._1pg0 i:after,._1pg0 i:before{content:"";display:block;width:100%;height:100%;position:absolute;top:0;left:0;border-radius:50%;box-shadow:inset 0 5px 10px hsla(0,0%,100%,.8)}._1pg0 i:after{box-shadow:inset 0 -5px 10px rgba(0,0,0,.8)}._1pg0 i._23aw:before{box-shadow:inset 0 -3px 6px hsla(0,0%,100%,.6)}._1pg0 i._23aw:after{box-shadow:inset 0 5px 5px rgba(0,0,0,.6)}._1pg0._23pZ i{background:#5a65f1;background:-webkit-gradient(linear,left top,left bottom,from(#6e77ef),to(#4652f3));background:-moz-linear-gradient(top,#6e77ef,#6e77ef)}._1pg0.RBZg i{background:#2dc421;background:-webkit-gradient(linear,left top,left bottom,from(#4bc441),to(#0ec400));background:-moz-linear-gradient(top,#4bc441,#4bc441)}._1pg0._3kg_ i{background:#dd1a1a;background:-webkit-gradient(linear,left top,left bottom,from(#dc3333),to(#de0000));background:-moz-linear-gradient(top,#dc3333,#dc3333)}._1pg0.p4fG i{width:160px;height:160px}._1pg0._2TvZ i{width:100px;height:100px}._1pg0.oW6K i{width:52px;height:52px;box-shadow:1px 1px 1px rgba(0,0,0,.2)}._1pg0.oW6K i:after,._1pg0.oW6K i:before{box-shadow:inset 0 3px 6px hsla(0,0%,100%,.8)}._1pg0.oW6K i:after{box-shadow:inset 0 -3px 6px rgba(0,0,0,.8)}._1pg0.oW6K i._23aw:before{box-shadow:inset 0 -1px 2px hsla(0,0%,100%,.6)}._1pg0.oW6K i._23aw:after{box-shadow:inset 0 3px 3px rgba(0,0,0,.7)}._1pg0._2TvZ em{display:block;width:0;height:0;border:8px solid;border-color:transparent transparent #111;position:absolute;top:50%;left:50%;margin:-12px 0 0 -8px}._2iIk{position:absolute;left:115%;right:115%;text-align:center;line-height:1;white-space:nowrap}._2iIk._15Dj{right:auto;bottom:5%}._2iIk._I0Q{left:auto;bottom:5%}._2iIk p{text-align:left;margin-bottom:350px;opacity:.5}._2iIk p iframe{margin-top:20px}._2iIk a{color:#005850;font-size:30px;position:relative;z-index:1;cursor:alias;text-decoration:none}._2iIk._111n{left:auto;top:5%;width:190px;height:190px;opacity:.45;padding:0 0 40px 40px;text-align:right}._2iIk._111n:hover img{width:100%;height:100%}._2iIk._111n img{width:38px;height:38px}._2iIk>div{width:100px;height:54px;background:#364d4b;display:inline-block;border-radius:4px;position:relative;color:#acc3c1;font-size:16px}._2iIk>div em{display:block;width:0;height:0;border:6px solid;border-color:transparent transparent #acc3c1;position:absolute;top:50%;left:50%;margin:-9px 0 0 -6px}._2iIk>div:after,._2iIk>div:before{content:"";display:block;width:100%;height:100%;position:absolute;top:0;left:0;border-radius:4px;box-shadow:inset 0 5px 10px hsla(0,0%,100%,.15)}._2iIk>div:before{box-shadow:inset 0 -5px 10px rgba(0,0,0,.15)}._2iIk ._2fH-{height:60px;display:block;margin:0 auto 2px}._2iIk ._1Pbk{margin:0 10px}._2iIk ._3qj_{left:auto;bottom:5%;height:80px;width:400px;line-height:80px;letter-spacing:2px}
body{background:#009688;padding:0;margin:0;font:20px/1 HanHei SC,PingHei,PingFang SC,STHeitiSC-Light,Helvetica Neue,Helvetica,Arial,sans-serif;overflow:hidden;cursor:default;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-font-feature-settings:"liga","kern";direction:ltr;text-align:left}.r{float:right}.l{float:left}.clear{clear:both}b{width:20px;height:20px;padding:2px;border:2px solid #879372;margin:0 2px 2px 0;float:left}b,b:after{display:block}b:after{content:"";width:12px;height:12px;background:#879372;overflow:hidden}b.c{border-color:#000}b.c:after{background:#000}b.d{border-color:#560000}b.d:after{background:#560000}.bg{background:url("//img.alicdn.com/tps/TB1qq7kNXXXXXacXFXXXXXXXXXX-400-186.png") no-repeat;overflow:hidden}*{box-sizing:border-box;margin:0;padding:0}._3Lk6{width:640px;padding-top:42px;box-shadow:inset 0 0 10px #fff;border-radius:20px;position:absolute;top:50%;left:50%;margin:-480px 0 0 -320px;background:#efcc19}._1fjB{width:480px;padding:45px 0 35px;border:solid #000;border-width:0 10px 10px;margin:0 auto;position:relative}._1fjB._3YUe{-webkit-transform:translateY(5px);transform:translateY(5px)}._2iZA{width:390px;height:478px;border:5px solid;border-color:#987f0f #fae36c #fae36c #987f0f;margin:0 auto;position:relative}._2iZA ._2lJh{width:380px;height:468px;margin:0 auto;background:#9ead86;padding:8px;border:2px solid #494536}._1deS{width:108px;position:absolute;top:0;right:15px}._1deS p{line-height:47px;height:57px;padding:10px 0 0;white-space:nowrap;clear:both}._1deS ._8hag{position:absolute;width:114px;top:426px;left:0}._6pVK{border:2px solid #000;padding:3px 1px 1px 3px;width:228px}._6pVK p{width:220px;height:22px}._2OLA h1{text-align:center;font-weight:400;top:-12px;margin:0;padding:0;font-size:30px}._2OLA .DOXx,._2OLA h1{position:absolute;width:100%;left:0}._2OLA .DOXx{height:10px;top:0;overflow:hidden}._2OLA .DOXx span{display:block;width:10px;height:10px;overflow:hidden;background:#000}._2OLA .DOXx span._1xND{margin-right:10px}._2OLA .DOXx span._1cYd{margin-left:10px}._2OLA .nVeA{position:absolute;right:-70px;top:20px;width:44px}._2OLA .nVeA em{display:block;width:22px;height:22px;overflow:hidden;float:left}._2OLA .nVeA p{height:22px;clear:both}._2OLA .nVeA._395z{right:auto;left:-70px}.iHKP{height:24px;font-size:14px;float:right}.iHKP span{float:left;width:14px;height:24px}.iHKP ._2hru{background-position:-75px -25px}.iHKP ._2B-l{background-position:-89px -25px}.iHKP .ShGQ{background-position:-103px -25px}.iHKP ._2V1K{background-position:-117px -25px}.iHKP ._3bYF{background-position:-131px -25px}.iHKP ._1Z7B{background-position:-145px -25px}.iHKP ._1-BZ{background-position:-159px -25px}.iHKP ._3_id{background-position:-173px -25px}.iHKP ._3_Z_{background-position:-187px -25px}.iHKP .bNJM{background-position:-201px -25px}.iHKP ._2kln{background-position:-215px -25px}.iHKP .hOfM{background-position:-243px -25px}.iHKP ._2tuY{background-position:-229px -25px}._3Wmt div{height:22px;width:88px;float:right}.EHci{width:25px;height:21px;background-position:-175px -75px;position:absolute;top:2px;left:-12px}.EHci.TTF4{background-position:-150px -75px}._37mu{width:20px;height:18px;background-position:-100px -75px;position:absolute;top:3px;left:18px}._37mu._1vhq{background-position:-75px -75px}._20Jp{width:224px;height:200px;left:12px;text-align:center;overflow:hidden}._20Jp,._20Jp p{position:absolute;top:100px}._20Jp p{width:100%;line-height:1.4;left:0;font-family:initial;letter-spacing:6px;text-shadow:1px 1px 1px hsla(0,0%,100%,.35)}._20Jp .AFTs{width:80px;height:86px;margin:0 auto}._20Jp .AFTs,._20Jp .AFTs._3j_b,._20Jp .AFTs._26pe{background-position:0 -100px}._20Jp .AFTs._1Fxd,._20Jp .AFTs._7ELJ{background-position:-100px -100px}._20Jp .AFTs._1JBw,._20Jp .AFTs._9lMe{background-position:-200px -100px}._20Jp .AFTs._2aGx,._20Jp .AFTs._3aQ-{background-position:-300px -100px}._20Jp .AFTs._1JBw,._20Jp .AFTs._2aGx,._20Jp .AFTs._7ELJ,._20Jp .AFTs._26pe{transform:scaleX(-1);-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);-moz-transform:scaleX(-1);-o-transform:scaleX(-1)}.J9SA{width:580px;height:330px;margin:20px auto 0;position:relative}._1pg0{text-align:center;color:#111;position:absolute;white-space:nowrap;line-height:1.6}._1pg0.oW6K{font-size:16px}._1pg0 span._1zCL{position:absolute;top:5px;left:102px}._1pg0 i{display:block;position:relative;border:1px solid #000;border-radius:50%;box-shadow:0 3px 3px rgba(0,0,0,.2)}._1pg0 i:after,._1pg0 i:before{content:"";display:block;width:100%;height:100%;position:absolute;top:0;left:0;border-radius:50%;box-shadow:inset 0 5px 10px hsla(0,0%,100%,.8)}._1pg0 i:after{box-shadow:inset 0 -5px 10px rgba(0,0,0,.8)}._1pg0 i._23aw:before{box-shadow:inset 0 -3px 6px hsla(0,0%,100%,.6)}._1pg0 i._23aw:after{box-shadow:inset 0 5px 5px rgba(0,0,0,.6)}._1pg0._23pZ i{background:#5a65f1;background:-moz-linear-gradient(top,#6e77ef,#6e77ef)}._1pg0.RBZg i{background:#2dc421;background:-moz-linear-gradient(top,#4bc441,#4bc441)}._1pg0._3kg_ i{background:#dd1a1a;background:-moz-linear-gradient(top,#dc3333,#dc3333)}._1pg0.p4fG i{width:160px;height:160px}._1pg0._2TvZ i{width:100px;height:100px}._1pg0.oW6K i{width:52px;height:52px;box-shadow:1px 1px 1px rgba(0,0,0,.2)}._1pg0.oW6K i:after,._1pg0.oW6K i:before{box-shadow:inset 0 3px 6px hsla(0,0%,100%,.8)}._1pg0.oW6K i:after{box-shadow:inset 0 -3px 6px rgba(0,0,0,.8)}._1pg0.oW6K i._23aw:before{box-shadow:inset 0 -1px 2px hsla(0,0%,100%,.6)}._1pg0.oW6K i._23aw:after{box-shadow:inset 0 3px 3px rgba(0,0,0,.7)}._1pg0._2TvZ em{display:block;width:0;height:0;border:8px solid;border-color:transparent transparent #111;position:absolute;top:50%;left:50%;margin:-12px 0 0 -8px}._2iIk{position:absolute;left:115%;right:115%;text-align:center;line-height:1;white-space:nowrap}._2iIk._15Dj{right:auto;bottom:5%}._2iIk._I0Q{left:auto;bottom:5%}._2iIk p{text-align:left;margin-bottom:350px;opacity:.5}._2iIk p iframe{margin-top:20px}._2iIk a{color:#005850;font-size:30px;position:relative;z-index:1;cursor:alias;text-decoration:none}._2iIk._111n{left:auto;top:5%;width:190px;height:190px;opacity:.45;padding:0 0 40px 40px;text-align:right}._2iIk._111n:hover img{width:100%;height:100%}._2iIk._111n img{width:38px;height:38px}._2iIk>div{width:100px;height:54px;background:#364d4b;display:inline-block;border-radius:4px;position:relative;color:#acc3c1;font-size:16px}._2iIk>div em{display:block;width:0;height:0;border:6px solid;border-color:transparent transparent #acc3c1;position:absolute;top:50%;left:50%;margin:-9px 0 0 -6px}._2iIk>div:after,._2iIk>div:before{content:"";display:block;width:100%;height:100%;position:absolute;top:0;left:0;border-radius:4px;box-shadow:inset 0 5px 10px hsla(0,0%,100%,.15)}._2iIk>div:before{box-shadow:inset 0 -5px 10px rgba(0,0,0,.15)}._2iIk ._2fH-{height:60px;display:block;margin:0 auto 2px}._2iIk ._1Pbk{margin:0 10px}._2iIk ._3qj_{left:auto;bottom:5%;height:80px;width:400px;line-height:80px;letter-spacing:2px}
/*# sourceMappingURL=css-1.0.0.css.map*/
\ No newline at end of file
......@@ -57,6 +57,7 @@
"dependencies": {
"classnames": "^2.2.5",
"immutable": "^3.8.1",
"prop-types": "^15.5.10",
"react": "^15.3.0",
"react-dom": "^15.3.0",
"react-redux": "^4.4.5",
......
import React from 'react';
import cn from 'classnames';
import propTypes from 'prop-types';
import style from './index.less';
import { transform } from '../../../unit/const';
......@@ -32,13 +34,13 @@ export default class Button extends React.Component {
}
Button.propTypes = {
color: React.PropTypes.string.isRequired,
size: React.PropTypes.string.isRequired,
top: React.PropTypes.number.isRequired,
left: React.PropTypes.number.isRequired,
label: React.PropTypes.string.isRequired,
position: React.PropTypes.bool,
arrow: React.PropTypes.string,
active: React.PropTypes.bool.isRequired,
color: propTypes.string.isRequired,
size: propTypes.string.isRequired,
top: propTypes.number.isRequired,
left: propTypes.number.isRequired,
label: propTypes.string.isRequired,
position: propTypes.bool,
arrow: propTypes.string,
active: propTypes.bool.isRequired,
};
import React from 'react';
import Immutable from 'immutable';
import propTypes from 'prop-types';
import style from './index.less';
import Button from './button';
import store from '../../store';
......@@ -149,6 +151,6 @@ export default class Keyboard extends React.Component {
}
Keyboard.propTypes = {
filling: React.PropTypes.number.isRequired,
keyboard: React.PropTypes.object.isRequired,
filling: propTypes.number.isRequired,
keyboard: propTypes.object.isRequired,
};
import React from 'react';
import cn from 'classnames';
import propTypes from 'prop-types';
import style from './index.less';
import { i18n, lan } from '../../unit/const';
......@@ -142,8 +144,8 @@ export default class Logo extends React.Component {
}
Logo.propTypes = {
cur: React.PropTypes.bool,
reset: React.PropTypes.bool.isRequired,
cur: propTypes.bool,
reset: propTypes.bool.isRequired,
};
Logo.statics = {
timeout: null,
......
import React from 'react';
import immutable, { List } from 'immutable';
import classnames from 'classnames';
import propTypes from 'prop-types';
import style from './index.less';
import { isClear } from '../../unit/';
import { fillLine, blankLine } from '../../unit/const';
......@@ -166,7 +168,7 @@ export default class Matrix extends React.Component {
}
Matrix.propTypes = {
matrix: React.PropTypes.object.isRequired,
cur: React.PropTypes.object,
reset: React.PropTypes.bool.isRequired,
matrix: propTypes.object.isRequired,
cur: propTypes.object,
reset: propTypes.bool.isRequired,
};
import React from 'react';
import cn from 'classnames';
import propTypes from 'prop-types';
import style from './index.less';
export default class Music extends React.Component {
......@@ -22,5 +24,5 @@ export default class Music extends React.Component {
}
Music.propTypes = {
data: React.PropTypes.bool.isRequired,
data: propTypes.bool.isRequired,
};
import React from 'react';
import propTypes from 'prop-types';
import style from './index.less';
import { blockShape } from '../../unit/const';
......@@ -65,5 +67,5 @@ export default class Next extends React.Component {
}
Next.propTypes = {
data: React.PropTypes.string,
data: propTypes.string,
};
import React from 'react';
import cn from 'classnames';
import propTypes from 'prop-types';
import style from './index.less';
const render = (data) => (
......@@ -83,9 +85,9 @@ Number.statics = {
};
Number.propTypes = {
number: React.PropTypes.number,
length: React.PropTypes.number,
time: React.PropTypes.bool,
number: propTypes.number,
length: propTypes.number,
time: propTypes.bool,
};
Number.defaultProps = {
......
import React from 'react';
import cn from 'classnames';
import propTypes from 'prop-types';
import style from './index.less';
export default class Pause extends React.Component {
......@@ -57,7 +59,7 @@ Pause.statics = {
};
Pause.propTypes = {
data: React.PropTypes.bool.isRequired,
data: propTypes.bool.isRequired,
};
Pause.defaultProps = {
......
import React from 'react';
import propTypes from 'prop-types';
import Number from '../number';
import { i18n, lan } from '../../unit/const';
......@@ -71,8 +73,8 @@ Point.statics = {
};
Point.propTypes = {
cur: React.PropTypes.bool,
max: React.PropTypes.number.isRequired,
point: React.PropTypes.number.isRequired,
cur: propTypes.bool,
max: propTypes.number.isRequired,
point: propTypes.number.isRequired,
};
import React from 'react';
import { connect } from 'react-redux';
import classnames from 'classnames';
import propTypes from 'prop-types';
import style from './index.less';
......@@ -124,21 +125,21 @@ class App extends React.Component {
}
App.propTypes = {
music: React.PropTypes.bool.isRequired,
pause: React.PropTypes.bool.isRequired,
matrix: React.PropTypes.object.isRequired,
next: React.PropTypes.string.isRequired,
cur: React.PropTypes.object,
dispatch: React.PropTypes.func.isRequired,
speedStart: React.PropTypes.number.isRequired,
speedRun: React.PropTypes.number.isRequired,
startLines: React.PropTypes.number.isRequired,
clearLines: React.PropTypes.number.isRequired,
points: React.PropTypes.number.isRequired,
max: React.PropTypes.number.isRequired,
reset: React.PropTypes.bool.isRequired,
drop: React.PropTypes.bool.isRequired,
keyboard: React.PropTypes.object.isRequired,
music: propTypes.bool.isRequired,
pause: propTypes.bool.isRequired,
matrix: propTypes.object.isRequired,
next: propTypes.string.isRequired,
cur: propTypes.object,
dispatch: propTypes.func.isRequired,
speedStart: propTypes.number.isRequired,
speedRun: propTypes.number.isRequired,
startLines: propTypes.number.isRequired,
clearLines: propTypes.number.isRequired,
points: propTypes.number.isRequired,
max: propTypes.number.isRequired,
reset: propTypes.bool.isRequired,
drop: propTypes.bool.isRequired,
keyboard: propTypes.object.isRequired,
};
const mapStateToProps = (state) => ({
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册