Merge branch 'master' into feature-3.4.0

This commit is contained in:
Wei Zhu 2018-03-30 15:09:38 +08:00
commit c4698154b4
36 changed files with 5077 additions and 163 deletions

View File

@ -1,7 +1,3 @@
<!--
两会期间,如果遇到官网无法访问,请使用代理或者访问国内镜像 http://ant-design.gitee.io
-->
<!--
IMPORTANT: Please use the following link to create a new issue:

View File

@ -1,18 +1,26 @@
778758944 <778758944@qq.com>
Aaron Planell López <aaronplanell@gmail.com>
Adrian Dimitrov <dimitrov.adrian@gmail.com>
Albert Zheng <lisong.zheng@gmail.com>
Albert 理斯特 <shuaizhexu@gmail.com>
Aleck Landgraf <aleck.landgraf@gmail.com>
Alexander <labriko@yandex.ru>
Alexander Suevalov <suevalov.work@gmail.com>
Alexandre Kirszenberg <a.kirszenberg@gmail.com>
Amorites <751809522@qq.com>
Anas Tawfeek <anas.tawfeek@outlook.com>
Andrew Murray <radarhere@gmail.com>
Andrey G <plandem@gmail.com>
Arnab Sen <arnabsen@gmail.com>
Arthur Denner Oliveira Santos <arthurdenner7@gmail.com>
Arvin Xu <arvinx@foxmail.com>
BK Heleth <bon.hoo@hotmail.com>
Babajide Fowotade <jide.b.tade@gmail.com>
Bartek <bartek.kozera@gmail.com>
Benjamin Kniffler <bkniffler@me.com>
Benjy Cui <benjytrys@gmail.com>
Bernie <bernie.wangbj@gmail.com>
Bilal Sirazitdinov <bilalsir@yandex.ru>
Bill Sheikh <bilawals22@gmail.com>
Bo Chen <bochen2014@yahoo.com>
Bozhao <yubz86@gmail.com>
@ -20,113 +28,187 @@ Brett Lamy <bel423@me.com>
Brook Shi <iwxiaot@gmail.com>
Bruce Mitchener <bruce.mitchener@gmail.com>
Bruno Maia <bruno.mm.maia@gmail.com>
Bryan Berger <bb@ga.co>
C <4019980@qq.com>
Cam Song <neosoyn@gmail.com>
Camol <kwwnjujlc@sina.com>
Canwen Xu <canwenxu@126.com>
Catalin Miron <mironcatalin@gmail.com>
Cee Cirno <i@cee.moe>
Chang Wang <cheapsteak@gmail.com>
Chikara Chan <chenhongtu@51xianqu.net>
Chris Kelly <cjke.7777@gmail.com>
ChrisFan <chris.fan.dev@gmail.com>
Christopher Deutsch <cd@cdeutsch.com>
Chuang Yu <cyu9960@gmail.com>
Claudio Restifo <claudio.restifo@gmail.com>
Cody Chan <int64ago@gmail.com>
Colton Pierson <colton@coltonpierson.com>
Confiks <confiks@scriptbase.org>
Conway Anderson <hello@conwayanderson.com>
Cordaro <elvis07@163.com>
D & R <jdz321@qq.com>
Damian Green <damian.green@microlease.com>
Dan Minshew <ofenixculpa@gmail.com>
Dane David <dndavid102@gmail.com>
Danny Hoower Antonio Viasus Avila <danjavia@gmail.com>
Daqi Song <dqaria@gmail.com>
Darren Poon <dyhpoon@gmail.com>
David Schneider <davschne@gmail.com>
DengYun <tdzl2003@gmail.com>
Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
Dmitry Bolotin <bolotin.dmitriy@gmail.com>
Dorian <dorian@doma.io>
DosLin <doslino@gmail.com>
EcmaProSrc.P/ka <asoiso@foxmail.com>
Edd Hannay <accounts@edd.fm>
Eddie Xie <oeddyo@gmail.com>
Eden Wang <Eden.Wang@Akmii.com>
Eden Wang <yociduo@vip.qq.com>
Egor Yurtaev <yurtaev.egor@gmail.com>
Eli White <github@eli-white.com>
Emma <sima.zhang1990@gmail.com>
Eric <84263800@qq.com>
Erwann Mest <m+github@kud.io>
Evgeny Kuznetsov <jackk@ya.ru>
Eward Song <eward.song@gmail.com>
Flynn <li.fulin@foxmail.com>
For177 <mengqiang.q@gmail.com>
Geoff Holden <geoff@brightloudnoise.com>
George Gray <george@ummodesign.com>
Graeme Yeates <gyeates@clearpath.ai>
Graeme Yeates <yeatesgraeme@gmail.com>
Gray Choi <gray.choi.1988@gmail.com>
Guan Hao <raptium@gmail.com>
Guan Yu Pan (Jacky) <jackypan1989@gmail.com>
HJin.me <hjin.me@gmail.com>
Hai Phan Nguyen <pnghai@gmail.com>
Haibin Yu <haibin.yu@oceanwing.com>
Hanai <ihanai1991@gmail.com>
Haroen Viaene <fingebimus@me.com>
Harshit Mehrotra <harshitmehrotra@hotmail.com>
Henri Normak <henri.normak@gmail.com>
Hubert Argasinski <argasinski.hubert@gmail.com>
Hughen <446370503@163.com>
Hugo LEHMANN <shogi31@gmail.com>
Igor G <i.gaidai4uk@gmail.com>
ImJoeHs <865439601@qq.com>
Inclined.Z <zjq0717@163.com>
Infinity <305870677@qq.com>
Ivan Kravets <me@ikravets.com>
Ivo Stratev <ivo.stratev.tues@gmail.com>
JaePil Jung <jjp5023@gmail.com>
James <james@schoolshape.com>
Jeffrey Carl Faden <jeffreyatw@gmail.com>
Jerry Bendy <jerry@icewingcc.com>
Jesper We <jesper@journeyman.se>
Jiabin Peng <png.inside@gmail.com>
Jialei <jialeicui@126.com>
Jieraaa <842533841@qq.com>
Jing Ma <mjingm87@qq.com>
Joe <qiaolibo@126.com>
Joe Hsu <jhsu.x1@gmail.com>
John Johnson III <john@johnjohnson.cc>
John Nguyen <jtnguyen236@gmail.com>
Jonatas Walker <jonataswalker@gmail.com>
Jonny Buchanan <jonathan.buchanan@gmail.com>
Jordan Hornblow <jordan@jch254.com>
Josué <ujosuegt@outlook.com>
Juan Rodrigo Venegas Boesch <jrvboesch@gmail.com>
Junyu Zhan <irrigator@yeah.net>
Kaien Liao <liaokaien@gmail.com>
Kenaniah Cerny <kenaniah@gmail.com>
Kenneth Truong <kenneth.e.truong@gmail.com>
Kevin Ivan <info@kevinivan.com>
KgTong <kgtong1992@gmail.com>
Khalifa Lame <khalibloo@gmail.com>
Kiho · Cham <monkindey@163.com>
Kimmo Saari <kimmo.saari@revolt.fi>
Kirill Stiopin <kirill.stiopin@hotmail.com>
Knacktus <knacktus@gmail.com>
Kyle Kelley <rgbkrk@gmail.com>
Kyle Rosenberg <kyle.rosenberg@gmail.com>
Larry Laski <larry.laski@gmail.com>
LeeHarlan <709886167@qq.com>
LeezQ <lizhenq2009@gmail.com>
Leo <clinyong@gmail.com>
Leon Shi <superRaytin@163.com>
Leon Shi <superRaytin@gmail.com>
Liu Yang <zation1@gmail.com>
LongYinan <lynweklm@gmail.com>
Lyndon001 <lld207@126.com>
MG12 <wuzhao.mail@gmail.com>
Ma Tianxiao <matx2215@outlook.com>
Madis Väin <madisvain@gmail.com>
Manjit Kumar <manjit1727@gmail.com>
Manweill <mic.liangwenwei@foxmail.com>
Marco Afonso <mafonso333@gmail.com>
Marcus Bransbury <marcus.bransbury@gmail.com>
Marius Ileana <visvadw@gmail.com>
Mars Wong <marswong618@gmail.com>
Marshall Chen <Juniors.fei@gmail.com>
Martin Litvaj <kamahl19@gmail.com>
Martin Novák <martinnovak@outlook.com>
Mathew <khayaanimations@gmail.com>
Maximilian Meyer <Maximilian.Meyer@br.de>
Meck <yesmeck@gmail.com>
MeiLin <postget.me@gmail.com>
Meow-z <372086270@qq.com>
Miaow <i@zfeng.net>
Michalis Macheras <diodosier@gmail.com>
Min <dicklwm@163.com>
MinJeong Kim <min7859@gmail.com>
Minqi Pan <pmq2001@gmail.com>
Minsung Ryu <ryums0227@gmail.com>
Mitchell Demler <mitchell.demler@harcourts.net>
Mohamed Seada <mohamed.seada.1994@gmail.com>
Mr.Tone <vector@malubei.com>
MuYu <mr.muzea@gmail.com>
Mário Gonçalves <mario.mc.goncalves@gmail.com>
Nathan Griffin <nathan@gatherhere.com>
Nathan Tavares Nascimento <nathan.tnascimento@gmail.com>
Nathan Wells <nwwells@gmail.com>
Neekey <ni184775761@gmail.com>
Nekron <nekron.hyt@gmail.com>
Neverland <chenjiahan@buaa.edu.cn>
Nico <nicolas@freddelacompta.com>
Nidhi Agarwal <nidhi.agarwal@zomato.com>
Nimo <nimo.jser@gmail.com>
Nishant Arora <na.nishantarora@gmail.com>
Nokecy <Nokecy@163.com>
OAwan <georgio.wan@gmail.com>
Oleksandr Kovalchuk <me.olexandr.kovalchuk@gmail.com>
OuYancey <ou.yancey@gmail.com>
Panjie Setiawan Wicaksono <panjie@panjiesw.com>
Patrick Gidich <patrick.gidich@simnova.com>
Patryk <longer44@gmail.com>
Peter <usstpeter@gmail.com>
Peter Berg <atticusberg@gmail.com>
Pierre <pierre@bazoge.com>
Pierre Neter <pierreneter@gmail.com>
Piper Chester <piperchester@gmail.com>
Pixy Yuan <pixy.bupt@gmail.com>
Pyiner <lijiuyang1992@gmail.com>
Pyroboomka <qwaarty@mail.ru>
Qiaosen Huang <joesonw@gmail.com>
Qingrong Ke <keqingrong1992@gmail.com>
Rafael Cosman <rafaelcosman@alumni.stanford.edu>
Ramsés Moreno <ramses@cuatromedios.com>
Randy <randypriv@gmail.com>
RaoHai <surgesoft@gmail.com>
Reed Sun <superreedsun@gmail.com>
Rex <zhangzilong.zzl@163.com>
Ricardo Raphael Joson <rrjoson08@gmail.com>
Richard D. Worth <rdworth@gmail.com>
Robert Wilkinson <wilkinson.robert.a@gmail.com>
Rohan Malhotra <rohan.root@gmail.com>
Rrrandom <emanonhere@gmail.com>
SHEN Lin <shenlin192@gmail.com>
Sakol Assawasagool <koobitor@gmail.com>
Sam Chen <chenxsan@gmail.com>
Sam Maxwell <sam@paybase.io>
Sangle <whb97@163.com>
Sanjay Kumar <kris.gooner@gmail.com>
Sanjay Kumar <sk@tectusdreamlab.com>
Sean Lin <sean@ejoy.com>
Sean Sun <pinggodstudio@gmail.com>
@ -134,39 +216,74 @@ Sebastian Blade <blade254353074@hotmail.com>
Sergio Crisostomo <sergiosbox@gmail.com>
Shawn Sit <xueqingxiao@gmail.com>
ShiTengFei <shitengfei@goyoo.com>
Shubham Kanodia <shubhamsizzles@gmail.com>
SimaQ <sima.zhang1990@gmail.com>
Spencer <spjy@hawaii.edu>
Stephen Esser <Stephen.Esser@gmail.com>
Tao <magicdawn@qq.com>
Tao Zhang <windse7en@gmail.com>
Taylor Sabell <taylorsabell@gmail.com>
Tengjiao Cai <caitengjiao1987@gmail.com>
Terence <trence320@163.com>
The Rock <zhoguoxin@126.com>
Tino D <ginodeis@gmail.com>
Tom Gao <tom@zoomsoft.cc>
Trotyl Yu <trotyl@qq.com>
Troy Thompson <troynt@gmail.com>
Tyler <chaotyler@gmail.com>
Ubaldo Quintana <blkdr@hotmail.com>
Vadim Macagon <vadim.macagon@gmail.com>
Valentin Vichnal <valentin@vichnal.com>
Vemund Santi <veund@santi.no>
Vemund Santi <vemund@santi.no>
Vic <709147950@qq.com>
Vincent Zhang <vxzhong@qq.com>
ViviaRui <zr1450995198@163.com>
Walter Barbagallo <turbometalskater@gmail.com>
Wang Jun <amos.callmexyz@gmail.com>
Warren Seymour <warren@fountainhead.tech>
Wei Zhu <yesmeck@gmail.com>
Wenchao Hu <zjuhwc@gmail.com>
Will Chen <willchen90@gmail.com>
WingGao <wing.gao@live.com>
Wu Haotian <whtsky@gmail.com>
XBTop1! <xbtop1@gmail.com>
Xie Guanglei <xieguanglei@hotmail.com>
XuMM_12 <owiatsq@sina.cn>
Yang Bin <yangkghjh@gmail.com>
Yasin Uslu <nepjua@gmail.com>
Yiming <ymjrcc@qq.com>
Yogesh <yogeshkumar180592@gmail.com>
YuChao Liang <l.yuch@foxmail.com>
Yunus EŞ <yunus@yunuses.com>
Yury Kozyrev <urakozz@me.com>
Yusuke Ito <novi.mad@gmail.com>
Yuwei Ba <i@xiaoba.me>
YuyingWu <wuyuying1128@gmail.com>
Zack Craig <zack@zack6849.com>
Zap <a124116186@qq.com>
Zhang Zhi <fytriht@gmail.com>
Zheeeng <hi@zheeeng.me>
Ziluo <gyfzzu@gmail.com>
afc163 <afc163@gmail.com>
ahalimkara <ahalimkara@gmail.com>
ascoders <576625322@qq.com>
ashishg-qburst <ashishg@qburst.com>
bang <sqibang@gmail.com>
bang88 <sqibang@gmail.com>
blankzust <450811238@qq.com>
byuanama <byuan@ama.com.au>
bzone <yarnbcoder@gmail.com>
caoyi <caoyi0905@mail.hfut.edu.cn>
cathayandy <wzm_andy@126.com>
chaofeis <408067385@qq.com>
chchen <cc272309126@gmail.com>
chencheng (云谦) <sorrycc@gmail.com>
chencheng <sorrycc@gmail.com>
cjahv <cjahv@qq.com>
clinyong <clinyong@gmail.com>
corneyl <cornieljoosse@gmail.com>
ddcat1115 <ddcat1115@gmail.com>
delesseps <andrewlessels@gmail.com>
denzw <denzw@21cn.com>
detailyang <detailyang@gmail.com>
devqin <devqin@gmail.com>
@ -181,40 +298,67 @@ feng zhi hao <fzhihao@outlook.com>
fengmk2 <m@fengmk2.com>
flashback313 <windmark2012@gmail.com>
genie <genie88@163.com>
gregahren <grega.hren@gmail.com>
handycode <lihandi@gmail.com>
hansnow <hansnow2012@gmail.com>
haoxin <coderhaoxin@outlook.com>
hardfist <yangjianzju@gmail.com>
hauwa123 <hauwa.aminu@outlook.com>
henryv0 <henryvo94@gmail.com>
hi-caicai <hi@cai-cai.me>
huzzbuzz <huzzbuzz@outlook.com>
iamcastelli <sowed@cyberdude.com>
imosapatryk <imosa.patryk@gmail.com>
infeng <fzhihao@outlook.com>
int2d <int2d@qq.com>
ioldfish <fish.wangl@gmail.com>
jasonslyvia <jasonslyvia@gmail.com>
jasonxia23 <xia.jason23@gmail.com>
jiang <155259966@qq.com>
jim <wasd2144@hotmail.com>
jinouwuque <ee2win@gmail.com>
junjing.zhang <zhangjunjing@gmail.com>
kacjay <45483388@qq.com>
kagawagao <kingsongao1221@gmail.com>
kaifei <150641329@qq.com>
kasinooya <kasinooya@gmail.com>
kayw <kayw@outlook.com>
kdenz <ksnz93@gmail.com>
kdepp <kdepp.cd@gmail.com>
keng <keng@renderinghouse.com>
keqingrong <keqingrong1992@gmail.com>
ko <git@yaksok.net>
konakona <lovekonakona@gmail.com>
kossel <lis.yichao@gmail.com>
kuang <p2227@hotmail.com>
kun sam <kunsam624@icloud.com>
leadream <857098475@qq.com>
lehug <zcszuo5811@126.com>
leon.shi <superRaytin@163.com>
lgmcolin <gengmin.lgm@gmail.com>
lgmcolin <lgmcolin@gmail.com>
liangfei <njliangfei@gmail.com>
liekkas <zjq0717@163.com>
lihqi <455711093@qq.com>
lixiaochou077 <qi.liqi07@gmail.com>
lixiaoyang <lixiaoyang2345@gmail.com>
lixiaoyang1992 <lixiaoyang2345@gmail.com>
lizhaocai <lzc09008@gmail.com>
lizhen <lizhen@youzan.com>
loganpowell <loganp@tepper.cmu.edu>
luyiming <luyimingchn@gmail.com>
lvren <luren6049@qq.com>
mArker <252133226@qq.com>
memoryza <jincai.wang@foxmail.com>
mgrdevport <mgrdevport@gmail.com>
mitchell.demler <mitchell.demler@harcourts.net>
mkermani144 <mkermani144@gmail.com>
monkindey <monkindey@163.com>
muzuiget <muzuiget@gmail.com>
natergj <nater_nater@me.com>
neekey <ni184775761@gmail.com>
niko <644506165@qq.com>
nikogu <644506165@qq.com>
paranoidjk <hust2012jiangkai@gmail.com>
parlop <parlop@gmail.com>
pd4d10 <pd4d10@gmail.com>
@ -224,8 +368,11 @@ pizn <pizner@gmail.com>
plandem <plandem@gmail.com>
popomore <sakura9515@gmail.com>
qubaoming <qubaoming@didichuxing.com>
ravirambles <ravirambles@gmail.com>
ryangun <ryangun@foxmail.com>
ryanhoho <hswacoal@gmail.com>
sadmark <zhoubin@laidian360.com>
sallen450 <jqh101@sina.com>
shelwin <wxfans@gmail.com>
shenlin192@gmail.com <shenlin192@gmail.com>
shlice <licesh@gmail.com>
@ -236,17 +383,26 @@ snadn <snadn@snadn.cn>
sojournerc <cmeyer@zvelo.com>
sorrycc <sorrycc@gmail.com>
swindme <swindme@163.com>
syssam <s.y.s.sam.sys@gmail.com>
thegatheringstorm <tgs@tgs.blue>
tianli.zhao <275287902@qq.com>
tom <caolvchong@gmail.com>
twobin <twobin@live.com>
u3u <qwq@qwq.cat>
ustccjw <317713370@qq.com>
valleykid <valleykiddy@gmail.com>
vgeyi <vgeyiz@126.com>
wangtao0101 <yuecjn@gmail.com>
wangxiaolei <fatelei@gmail.com>
warmhug <hualei5280@gmail.com>
whtang906 <whtang906@gmail.com>
wizawu <wizawu@gmail.com>
wonyun <wy393767068@163.com>
xiaofan2406 <xiaofan2406@gmail.com>
yangwukang <yangwukang@boco.com.cn>
yeliex <yeliex@yeliex.com>
yiminghe <yiminghe@gmail.com>
yociduo <yociduo@vip.qq.com>
yubozhao <yubz86@gmail.com>
yuche <i@yuche.me>
z <haig8@msn.com>
@ -255,26 +411,46 @@ zerob4wl <zerob4wl@gmail.com>
zhangpc <zhangpc@tenxcloud.com>
zhaocai <lzc09008@gmail.com>
zhujun24 <zhujun87654321@gmail.com>
zhuyue <fuping.dfp@antfin.com>
zilong <jzlxiaohei@163.com>
zinkey <yaya@uloveit.com.cn>
zollero <corona7@163.com>
zombiej <smith3816@gmail.com>
zuiidea <zuiiidea@gmail.com>
一喵呜 <hyb628@gmail.com>
乔奕轩 <qiao_yixuan@163.com>
低位 <zhujun87654321@gmail.com>
偏右 <afc163@gmail.com>
可乐 <zaxlct@foxmail.com>
吕立青 <jimmy.jinglv@gmail.com>
广彬-梁 <326741518@qq.com>
柚子男 <yozman@sina.com>
白羊座小葛 <abeyuhang@gmail.com>
英布 <chaoren1641@gmail.com>
蔡伦 <sliuqin@gmail.com>
逸达 <dqaria@gmail.com>
邦 <sqibang@gmail.com>
闲耘™ <hotoo.cn@gmail.com>
爱but的苍蝇 <354788473@qq.com>
拷钉 <41830859@qq.com>
竹尔 <Juelchiang@gmail.com>
偏右 <afc163@gmail.com>
英布 <chaoren1641@gmail.com>
朮厃 <cn.ah.liu@gmail.com>
诸岳 <dengfuping_develop@163.com>
逸达 <dqaria@gmail.com>
蔡伦 <sliuqin@gmail.com>
陆离 <surgesoft@gmail.com>
愚道 <tingzhao.ytz@antfin.com>
陈帅 <wasd2144@hotmail.com>
马斯特 <sd4399340@126.com>
马金花儿 <o.o@mug.dog>
松子 <window.pibarr@gmail.com>
可乐 <zaxlct@foxmail.com>
山客 <zeakhold@gmail.com>
曾凯 <zengkai2009@foxmail.com>
低位 <zhujun87654321@gmail.com>
广彬-梁 <326741518@qq.com>
徐坤龙 <272992168@qq.com>
黄子毅 <576625322@qq.com>
翁润雨 <593110501@qq.com>
崔宏森 <948346354@qq.com>
闲耘™ <hotoo.cn@gmail.com>
一喵呜 <hyb628@gmail.com>
吕立青 <jimmy.jinglv@gmail.com>
隋鑫磊 <joshuasui@gmail.com>
乔奕轩 <qiao_yixuan@163.com>
马斯特 <sd4399340@126.com>
王集鹄 <wjhu111@21cn.com>
柚子男 <yozman@sina.com>
愚指导 <yutingzhao1991@sina.com>
愚指导-TZ <yutingzhao1991@sina.com>
超能刚哥 <margox@foxmail.com>
马金花儿 <o.o@mug.dog>
रोहन मल्होत्रा <rohan.malhotra@adwyze.com>
白羊座小葛 <abeyuhang@gmail.com>

View File

@ -14,13 +14,20 @@ timeline: true
* Major version release is not included in this schedule for breaking change and new features.
---
## 3.3.3
`2018-03-25`
- Revert Upload `file` type change in previous version which causes breaking change.
## 3.3.2
`2018-03-24`
- 🐞 `Carousel`: Upgrade `react-slick` version to fix width calculation. [#3659](https://github.com/ant-design/ant-design/issues/3659)
- 💄 `Rate`: Adjust `disabled` style. [#9747](https://github.com/ant-design/ant-design/issues/9747)
- 💄 `Modal`: Adjust `confirm-modal` style to fix multiple line display issue. [#9374](https://github.com/ant-design/ant-design/issues/9374)
- 💄 `Modal`: Adjust `confirm-modal` style to fix display issue when content use grid layout. [#9374](https://github.com/ant-design/ant-design/issues/9374)
- 💄 `Menu`: Adjust style to fix mouse trigger event region. [#9666](https://github.com/ant-design/ant-design/pull/9666) [@dgeibi](https://github.com/dgeibi)
- 🐞 `Upload`: Fix type of `file` on `beforeUpload` function. [#9775](https://github.com/ant-design/ant-design/issues/9775)
- 🐞 `Button`: Fix `two-chinese-words` space not re-calculate when text changed. [4502ad8](https://github.com/ant-design/ant-design/commit/4502ad8376e536c450fa4f27d2a5855be5a153e7)

View File

@ -14,13 +14,20 @@ timeline: true
* 主版本号:含有破坏性更新和新特性,不在发布周期内。
---
## 3.3.3
`2018-03-25`
- 回退上个版本 Upload 中 `file` 类型的修改。
## 3.3.2
`2018-03-24`
- 🐞 `Carousel`: 升级 `react-slick` 版本以修复宽度计算错误。 [#3659](https://github.com/ant-design/ant-design/issues/3659)
- 💄 `Rate`: 调整 `disabled` 样式。 [#9747](https://github.com/ant-design/ant-design/issues/9747)
- 💄 `Modal`: 调整 `confirm-modal` 样式以修复标题多行展示问题。 [#9374](https://github.com/ant-design/ant-design/issues/9374)
- 💄 `Modal`: 调整 `confirm-modal` 样式以修复 content 内使用栅格会错位的问题。 [#9374](https://github.com/ant-design/ant-design/issues/9374)
- 💄 `Menu`: 调整样式以修复鼠标事件范围。[#9666](https://github.com/ant-design/ant-design/pull/9666) [@dgeibi](https://github.com/dgeibi)
- 🐞 `Upload`: 修复 `beforeUpload``file` 类型错误。 [#9775](https://github.com/ant-design/ant-design/issues/9775)
- 🐞 `Button`: 修复文本改变时,空格插入没有重新计算 [4502ad8](https://github.com/ant-design/ant-design/commit/4502ad8376e536c450fa4f27d2a5855be5a153e7)

View File

@ -1,7 +1,15 @@
import * as antd from '..';
const warnSpy = jest.spyOn(console, 'warn').mockImplementation(() => {});
const antd = require('..');
describe('antd', () => {
it('exports modules correctly', () => {
expect(Object.keys(antd)).toMatchSnapshot();
});
it('should hint when import all components', () => {
expect(warnSpy).toBeCalledWith(
'You are using a whole package of antd, please use https://www.npmjs.com/package/babel-plugin-import to reduce app bundle size.'
);
warnSpy.mockRestore();
});
});

View File

@ -0,0 +1,2 @@
import sl_SI from '../../date-picker/locale/sl_SI';
export default sl_SI;

View File

@ -5,7 +5,7 @@ exports[`renders ./components/carousel/demo/autoplay.md correctly 1`] = `
class="ant-carousel"
>
<div
class="slick-initialized slick-slider"
class="regular slider slick-initialized slick-slider"
dir="ltr"
>
<div
@ -110,7 +110,7 @@ exports[`renders ./components/carousel/demo/basic.md correctly 1`] = `
class="ant-carousel"
>
<div
class="slick-initialized slick-slider"
class="regular slider slick-initialized slick-slider"
dir="ltr"
>
<div
@ -215,7 +215,7 @@ exports[`renders ./components/carousel/demo/fade.md correctly 1`] = `
class="ant-carousel"
>
<div
class="slick-initialized slick-slider"
class="regular slider slick-initialized slick-slider"
dir="ltr"
>
<div
@ -275,7 +275,7 @@ exports[`renders ./components/carousel/demo/vertical.md correctly 1`] = `
class="ant-carousel ant-carousel-vertical"
>
<div
class="slick-initialized slick-slider slick-vertical"
class="regular slider slick-initialized slick-slider slick-vertical"
dir="ltr"
>
<div

View File

@ -40,8 +40,8 @@ export default class WeekPicker extends React.Component<any, any> {
const selectedValue = this.state.value;
const { prefixCls } = this.props;
if (selectedValue &&
current.year() === selectedValue.year() &&
current.week() === selectedValue.week()) {
current.year() === selectedValue.year() &&
current.week() === selectedValue.week()) {
return (
<div className={`${prefixCls}-selected-day`}>
<div className={`${prefixCls}-date`}>
@ -84,6 +84,7 @@ export default class WeekPicker extends React.Component<any, any> {
const {
prefixCls, className, disabled, pickerClass, popupStyle,
pickerInputClass, format, allowClear, locale, localeCode, disabledDate,
style, onFocus, onBlur,
} = this.props;
const pickerValue = this.state.value;
@ -123,8 +124,9 @@ export default class WeekPicker extends React.Component<any, any> {
value={(value && value.format(format)) || ''}
placeholder={placeholder}
className={pickerInputClass}
onFocus={this.props.onFocus}
onBlur={this.props.onBlur}
onFocus={onFocus}
onBlur={onBlur}
style={style}
/>
{clearIcon}
<span className={`${prefixCls}-picker-icon`} />

View File

@ -1,3 +1,5 @@
import React from 'react';
import { mount } from 'enzyme';
import DatePicker from '..';
import focusTest from '../../../tests/shared/focusTest';
@ -5,4 +7,11 @@ const { WeekPicker } = DatePicker;
describe('WeekPicker', () => {
focusTest(WeekPicker);
it('should support style prop', () => {
const wrapper = mount(
<WeekPicker style={{ width: 400 }} />
);
expect(wrapper.render()).toMatchSnapshot();
});
});

View File

@ -0,0 +1,20 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`WeekPicker should support style prop 1`] = `
<span
class="ant-calendar-picker"
>
<span>
<input
class="ant-calendar-picker-input ant-input"
placeholder="Select date"
readonly=""
style="width: 400px;"
value=""
/>
<span
class="ant-calendar-picker-icon"
/>
</span>
</span>
`;

View File

@ -0,0 +1,43 @@
import TimePickerLocale from '../../time-picker/locale/sl_SI';
// Merge into a locale object
const locale = {
lang: {
placeholder: 'Izberite datum',
rangePlaceholder: ['Začetni datum', 'Končni datum'],
today: 'Danes',
now: 'Trenutno',
backToToday: 'Nazaj na trenutni datum',
ok: 'Ok',
clear: 'Počisti',
month: 'Mesec',
year: 'Leto',
timeSelect: 'Izberi čas',
dateSelect: 'Izberi datum',
monthSelect: 'Izberite mesec',
yearSelect: 'Izberite leto',
decadeSelect: 'Izberite desetletje',
yearFormat: 'YYYY',
dateFormat: 'D.M.YYYY',
dayFormat: 'D',
dateTimeFormat: 'D.M.YYYY HH:mm:ss',
monthFormat: 'MMMM',
monthBeforeYear: true,
previousMonth: 'Prejšnji mesec (PageUp)',
nextMonth: 'Naslednji mesec (PageDown)',
previousYear: 'Lansko leto (Control + left)',
nextYear: 'Naslednje leto (Control + right)',
previousDecade: 'Prejšnje desetletje',
nextDecade: 'Naslednje desetletje',
previousCentury: 'Zadnje stoletje',
nextCentury: 'Naslednje stoletje',
},
timePickerLocale: {
...TimePickerLocale,
},
};
// All settings at:
// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
export default locale;

View File

@ -58,9 +58,9 @@ class Demo extends React.Component {
},
};
handleFormChange = (changedFields) => {
this.setState({
fields: { ...this.state.fields, ...changedFields },
});
this.setState(({ fields }) => ({
fields: { ...fields, ...changedFields },
}));
}
render() {
const fields = this.state.fields;

View File

@ -2,7 +2,6 @@
// this file is not used if use https://github.com/ant-design/babel-plugin-import
const ENV = process.env.NODE_ENV;
if (ENV !== 'production' &&
ENV !== 'test' &&
typeof console !== 'undefined' &&
console.warn &&
typeof window !== 'undefined') {

View File

@ -97,7 +97,7 @@
height: @layout-zero-trigger-height;
line-height: @layout-zero-trigger-height;
background: @layout-sider-background;
color: #fff;
color: @layout-trigger-color;
font-size: @layout-zero-trigger-width / 2;
border-radius: 0 @border-radius-base @border-radius-base 0;
cursor: pointer;

View File

@ -35,13 +35,14 @@ import faIR from '../fa_IR';
import elGR from '../el_GR';
import nbNO from '../nb_NO';
import srRS from '../sr_RS';
import slSI from '../sl_SI';
import isIS from '../is_IS';
import arEG from '../ar_EG';
import ukUA from '../uk_UA';
import zhCN from '../zh_CN';
import kuIQ from '../ku_IQ';
const locales = [enUS, ptBR, ptPT, ruRU, esES, svSE, frBE, deDE, nlNL, caES, csCZ, koKR, etEE, skSK, jaJP, trTR, zhTW, fiFI, plPL, bgBG, enGB, frFR, nlBE, itIT, viVN, thTH, faIR, elGR, nbNO, srRS, isIS, arEG, ukUA, zhCN, kuIQ];
const locales = [enUS, ptBR, ptPT, ruRU, esES, svSE, frBE, deDE, nlNL, caES, csCZ, koKR, etEE, skSK, jaJP, trTR, zhTW, fiFI, plPL, bgBG, enGB, frFR, nlBE, itIT, viVN, thTH, faIR, elGR, nbNO, srRS, slSI, isIS, arEG, ukUA, zhCN, kuIQ];
const { Option } = Select;
const { RangePicker } = DatePicker;

View File

@ -1,6 +1,7 @@
import * as React from 'react';
import PropTypes from 'prop-types';
import * as moment from 'moment';
import interopDefault from '../_util/interopDefault';
import { ModalLocale, changeConfirmLocale } from '../modal/locale';
export interface Locale {
@ -24,9 +25,9 @@ export interface LocaleProviderProps {
function setMomentLocale(locale: Locale) {
if (locale && locale.locale) {
moment.locale(locale.locale);
interopDefault(moment).locale(locale.locale);
} else {
moment.locale('en');
interopDefault(moment).locale('en');
}
}

View File

@ -0,0 +1,44 @@
import Pagination from 'rc-pagination/lib/locale/sl_SI';
import DatePicker from '../date-picker/locale/sl_SI';
import TimePicker from '../time-picker/locale/sl_SI';
import Calendar from '../calendar/locale/sl_SI';
export default {
locale: 'sl',
Pagination,
DatePicker,
TimePicker,
Calendar,
Table: {
filterTitle: 'Filter',
filterConfirm: 'Filtriraj',
filterReset: 'Pobriši filter',
emptyText: 'Ni podatkov',
selectAll: 'Izberi vse na trenutni strani',
selectInvert: 'Obrni izbor na trenutni strani',
},
Modal: {
okText: 'V redu',
cancelText: 'Prekliči',
justOkText: 'V redu',
},
Popconfirm: {
okText: 'v redu',
cancelText: 'Prekliči',
},
Transfer: {
notFoundContent: 'Ni rezultatov iskanja',
searchPlaceholder: 'Išči tukaj',
itemUnit: 'Objekt',
itemsUnit: 'Objektov',
},
Select: {
notFoundContent: 'Ni bilo mogoče najti',
},
Upload: {
uploading: 'Nalaganje...',
removeFile: 'Odstrani datoteko',
uploadError: 'Napaka pri nalaganju',
previewFile: 'Predogled datoteke',
},
};

View File

@ -56,9 +56,7 @@ html {
}
// IE10+ doesn't honor `<meta name="viewport">` in some cases.
@at-root {
@-ms-viewport { width: device-width; }
}
@-ms-viewport { width: device-width; }
// Shim for "new" HTML5 structural elements to display correctly (IE10, older browsers)
article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {

View File

@ -69,7 +69,7 @@ const columns = [{
| rowClassName | Row's className | Function(record, index):string | - |
| rowKey | Row's unique key, could be a string or function that returns a string | string\|Function(record):string | `key` |
| rowSelection | Row selection [config](#rowSelection) | object | null |
| scroll | Whether table can be scrolled in x/y direction, `x` or `y` can be a number that indicates the width and height of table body | object | - |
| scroll | Set horizontal or vertical scrolling, can also be used to specify the width and height of the scroll area. It is recommended to set a number for `x`, if you want to set it to `true`, you need to add style `.ant-table td { white-space: nowrap; }`. | { x: number \| true, y: number } | - |
| showHeader | Whether to show table header | boolean | `true` |
| size | Size of table | `default` \| `middle` \| `small` | `default` |
| title | Table title renderer | Function(currentPageData) | |

View File

@ -70,7 +70,7 @@ const columns = [{
| rowClassName | 表格行的类名 | Function(record, index):string | - |
| rowKey | 表格行 key 的取值,可以是字符串或一个函数 | string\|Function(record):string | 'key' |
| rowSelection | 列表项是否可选择,[配置项](#rowSelection) | object | null |
| scroll | 横向或纵向支持滚动,也可用于指定滚动区域的宽高度:`{{ x: true, y: 300 }}` | object | - |
| scroll | 设置横向或纵向滚动,也可用于指定滚动区域的宽和高,建议为 `x` 设置一个数字,如果要设置为 `true`,需要配合样式 `.ant-table td { white-space: nowrap; }` | { x: number \| true, y: number } | - |
| showHeader | 是否显示表头 | boolean | true |
| size | 正常或迷你类型,`default` or `small` | string | default |
| title | 表格标题 | Function(currentPageData) | |

View File

@ -0,0 +1,5 @@
const locale = {
placeholder: 'Izberite čas',
};
export default locale;

View File

@ -180,14 +180,13 @@ export default class Upload extends React.Component<UploadProps, UploadState> {
}
beforeUpload = (file: UploadFile, fileList: UploadFile[]) => {
const newFile = fileToObject(file);
if (!this.props.beforeUpload) {
return true;
}
const result = this.props.beforeUpload(newFile, fileList);
const result = this.props.beforeUpload(file, fileList);
if (result === false) {
this.onChange({
file: newFile,
file,
fileList: uniqBy(fileList.concat(this.state.fileList), (item: any) => item.uid),
});
return false;

View File

@ -61,3 +61,4 @@ Note: This way will load the styles of all components, regardless of your demand
## Related Articles
- [How to Customize Ant Design with React & Webpack… the Missing Guide](https://medium.com/@GeoffMiller/how-to-customize-ant-design-with-react-webpack-the-missing-guide-c6430f2db10f)
- [Theming Ant Design with Sass and Webpack](https://gist.github.com/Kruemelkatze/057f01b8e15216ae707dc7e6c9061ef7)

View File

@ -64,3 +64,4 @@ antd 的样式使用了 [Less](http://lesscss.org/) 作为开发语言,并定
## 社区教程
- [How to Customize Ant Design with React & Webpack… the Missing Guide](https://medium.com/@GeoffMiller/how-to-customize-ant-design-with-react-webpack-the-missing-guide-c6430f2db10f)
- [Theming Ant Design with Sass and Webpack](https://gist.github.com/Kruemelkatze/057f01b8e15216ae707dc7e6c9061ef7)

View File

@ -53,6 +53,7 @@ Supported languages:
|Portuguese|pt_PT|
|Slovak|sk_SK|
|Serbian|sr_RS|
|Slovenian|sl_SI|
|Swedish|sv_SE|
|Thai|th_TH|
|Turkish|tr_TR|

View File

@ -51,6 +51,7 @@ return (
|葡萄牙语|pt_PT|
|斯洛伐克语|sk_SK|
|塞尔维亚|sr_RS|
|斯洛文尼亚|sl_SI|
|瑞典语|sv_SE|
|泰语|th_TH|
|土耳其语|tr_TR|

View File

@ -12,7 +12,6 @@ title: Work with Us
const emails = [
'momo.zxy#alipay.com',
'lindong.lld#alipay.com',
'luli.fxx#alipay.com',
];
ReactDOM.render(
<p>作品和简历请投递:{emails[parseInt(Math.random() * emails.length, 10)]}</p>

View File

@ -10,6 +10,7 @@ title: 加入我们
```__react
const emails = [
'momo.zxy#alipay.com',
'lindong.lld#alipay.com',
];
ReactDOM.render(

View File

@ -1,6 +1,6 @@
{
"name": "antd",
"version": "3.3.2",
"version": "3.3.3",
"title": "Ant Design",
"description": "An enterprise-class UI design language and React-based implementation",
"homepage": "http://ant.design/",
@ -62,7 +62,7 @@
"rc-input-number": "~4.0.0",
"rc-menu": "~6.2.0",
"rc-notification": "~3.0.0",
"rc-pagination": "~1.16.0",
"rc-pagination": "~1.16.1",
"rc-progress": "~2.2.2",
"rc-rate": "~2.4.0",
"rc-select": "~7.7.0",
@ -78,7 +78,7 @@
"rc-upload": "~2.4.0",
"rc-util": "^4.0.4",
"react-lazy-load": "^3.0.12",
"react-slick": "~0.21.0",
"react-slick": "~0.22.3",
"shallowequal": "^1.0.1",
"warning": "~3.0.0"
},
@ -160,7 +160,7 @@
"scrollama": "^1.4.1",
"stylelint": "^9.1.1",
"stylelint-config-standard": "^18.0.0",
"typescript": "~2.7.2",
"typescript": "~2.8.1",
"unified": "^6.1.5",
"values.js": "^1.0.3",
"xhr2": "^0.1.3"

View File

@ -113,6 +113,7 @@ a {
#react-content {
transition: transform .3s @ease-in-out-circ;
height: 100%;
}
.page-wrapper {
overflow: hidden;

View File

@ -10,18 +10,18 @@ ul.anticons-list {
cursor: pointer;
height: 100px;
color: #555;
transition: all .3s;
transition: color .3s ease-in-out, background-color .3s ease-in-out;
position: relative;
margin: 3px 0;
border-radius: 4px;
background-color: #fff;
overflow: hidden;
padding: 10px 0 0;
.anticon {
font-size: 24px;
margin: 12px 0 16px;
transition: all .3s;
transition: transform .3s ease-in-out;
will-change: transform;
}
.anticon-class {
@ -30,6 +30,9 @@ ul.anticons-list {
transform: scale(0.83);
font-family: "Lucida Console", Consolas;
white-space: nowrap;
.ant-badge {
transition: color .3s ease-in-out;
}
}
&:hover {
@ -38,6 +41,9 @@ ul.anticons-list {
.anticon {
transform: scale(1.4);
}
.ant-badge {
color: #fff;
}
}
&.copied:hover {

View File

@ -11,22 +11,6 @@
cursor: pointer;
}
@media only screen and (min-width: 1440px) and (max-width: 1599px) {
.main-wrapper > .ant-row > .ant-col-xl-5 {
width: 274px;
}
#header .ant-row .ant-col-xl-5 {
width: 274px;
}
}
@media only screen and (max-width: 1280px) {
.en-us #search-box {
display: none;
}
}
@media only screen and (max-width: @screen-xl) {
#search-box {
display: none;

View File

@ -109,6 +109,19 @@
a.appendChild(r);
})(window,document,'//static.hotjar.com/c/hotjar-','.js?sv=');
</script>
<!-- Deer Tracking Code for ant.design -->
<script>
!function(t,e,a,r,c){t.TracertCmdCache=t.TracertCmdCache||[],t[c]=window[c]||
{_isInit:!0,call:function(){t.TracertCmdCache.push(arguments)},
start:function(t){this.call('start',t)}},t[c].l=new Date;
var n=e.createElement(a),s=e.getElementsByTagName(a)[0];
n.async=!0,n.src=r,s.parentNode.insertBefore(n,s)}
(window,document,'script','https://tracert.alipay.com/tracert.js','Tracert');
Tracert.start({
spmAPos: 'a513',
spmBPos: 'b5776',
});
</script>
</head>
<body>
<div id="react-content">

View File

@ -27,7 +27,6 @@ function getStyle() {
#header #logo {
padding: 0;
}
#header .ant-row > div:last-child #search-box,
#header .ant-row > div:last-child .ant-select,
#header .ant-row > div:last-child .ant-menu,
#header .nav-phone-icon {
@ -36,24 +35,19 @@ function getStyle() {
#header .ant-row > div:last-child .header-lang-button {
margin-right: 0;
}
#header .ant-row .ant-col-lg-19,
#header .ant-row .ant-col-xl-19 {
width: 50%;
float: right;
}
footer .footer-wrap{
footer .footer-wrap {
width: 100%;
padding: 0;
}
footer .bottom-bar{
footer .bottom-bar {
margin: auto;
max-width: 1200px;
padding: 16px 24px;
}
footer .bottom-bar{
footer .bottom-bar {
border-top: none;
}
footer .footer-wrap .ant-row{
footer .footer-wrap .ant-row {
width: 100%;
max-width: 1200px;
padding: 86px 24px 93px 24px;

View File

@ -50,14 +50,12 @@ export default class Header extends React.Component {
const { intl, router } = this.context;
router.listen(this.handleHideMenu);
const { searchInput } = this;
/* eslint-disable global-require */
document.addEventListener('keyup', (event) => {
if (event.keyCode === 83 && event.target === document.body) {
searchInput.focus();
}
});
initDocSearch(intl.locale);
/* eslint-enable global-require */
}
handleShowMenu = () => {