Compare commits

...

505 Commits
2.2.1 ... 2.5.2

Author SHA1 Message Date
Wei Zhu
86a2cf326d Bump version 2016-12-10 21:39:44 +08:00
Wei Zhu
c1c2e13b9d 2.5.2 CHANGELOG (#4198) 2016-12-10 21:12:46 +08:00
Rex
bc937aceb8 <Input /> addon have spacing when in table (#4201) 2016-12-10 01:03:16 +08:00
Benjy Cui
3e14ab3a0d site: improve UX in first load 2016-12-09 14:24:38 +08:00
Benjy Cui
b768533100 site: update html indentation 2016-12-09 14:14:31 +08:00
Wei Zhu
7413c61b23 Add missing semicolon. 2016-12-09 13:10:33 +08:00
陆离
5b779e8e8e Exposing onFocus and onBlur callback of Mention (#4164)
*  Expose `onFocus` and `onBlur` callback of Mention

 + close #4163

* add event arguments
2016-12-09 13:03:09 +08:00
Benjy Cui
60da9909d3 site: improve loading performance (#4112)
* site: should generate html file for both of en and cn, ref: #3934

* site: remove loading animation

* site: fix header menu highlight

* site: improve detail

* deps: update
2016-12-09 13:02:16 +08:00
chchen
3382abde65 css: set dropdown's background color with @component-background (#4160) 2016-12-09 10:35:13 +08:00
Benjy Cui
383101830a docs: update demo 2016-12-08 18:15:10 +08:00
Benjy Cui
192ca5d898 css: update icon code, close: #4189 2016-12-08 17:01:51 +08:00
Wei Zhu
66f7b050eb Read initial visible state from column.filterDropdownVisible if it's available. (#4182)
fix #4162
2016-12-08 11:18:35 +08:00
Wei Zhu
e1efc29150 Enable Table sortOrder test. 2016-12-08 11:17:13 +08:00
Benjy Cui
36a4304de4 style: update code style for test case 2016-12-08 11:08:13 +08:00
Babajide Fowotade
19b04422ef docs: fix broken changelog link on introduce page (#4177) 2016-12-08 09:00:54 +08:00
Wei Zhu
536aed3ffe Improve Table testing (#4151) 2016-12-07 20:59:20 +08:00
Benjy Cui
000085eb36 style: update code style for Transfer 2016-12-07 18:08:52 +08:00
Wei Zhu
1f36734cb6 Update snapshots for tabs 2016-12-07 11:53:14 +08:00
Benjy Cui
d94f0ab09a docs: update EditableTagGroup demo 2016-12-07 11:08:30 +08:00
Benjy Cui
904be38493 docs: update locale format (#4150) 2016-12-07 10:45:20 +08:00
Benjy Cui
4afb7b4b33 fix: unify selected options format, close: #4096 (#4134) 2016-12-07 10:43:06 +08:00
Benjy Cui
c48d7b557e fix: container component should not use transform, close: #3943 2016-12-07 10:39:26 +08:00
kdenz
aab32236c6 hours array should be from 0 to 23, not 0 to 59 (#4157) 2016-12-07 10:05:31 +08:00
Joe Hsu
3fe99ea973 docs: double negative (#4161) 2016-12-07 09:20:09 +08:00
陆离
f36f1625f1 add anchor-testing (#4154)
* add anchor-testing

* recover EOF blank
2016-12-06 18:42:20 +08:00
Wei Zhu
bd1334065d Exclude style/index.tsx from coverage resport. 2016-12-06 17:14:01 +08:00
Chris Kelly
ff2d55481e docs: Update loading.md (#4128) 2016-12-06 16:46:12 +08:00
Babajide Fowotade
1a4d9159b3 docs: Fix typo on introduce.md (#4149) 2016-12-06 16:36:55 +08:00
Benjy Cui
ec6cec67fd chore: remove useless config, for .babelrc existing 2016-12-06 16:18:58 +08:00
Benjy Cui
49e9523283 docs: add PR welcomed badge 2016-12-06 15:42:50 +08:00
Benjy Cui
273faafaa2 fix: should use moment.isMoment, close: #4147 2016-12-06 14:21:17 +08:00
Benjy Cui
883066820a docs: add translation for spec 2016-12-06 11:48:52 +08:00
Benjy Cui
59f0e6254b docs: add i18n link, ref: #3895 2016-12-06 10:19:51 +08:00
Benjy Cui
37140bf5e0 deps: upgrade rc-slider 2016-12-06 09:47:02 +08:00
Benjy Cui
9afea0f47d test: update snapshot 2016-12-06 09:27:21 +08:00
8ed8b25d73 fix(Tooltip): close #4140 (#4141) 2016-12-05 23:53:20 +08:00
Wei Zhu
9701825c23 Using collectCoverageFrom instead of coveragePathIgnorePatterns 2016-12-05 17:57:49 +08:00
afc163
1a37b44dad update template 2016-12-05 16:54:56 +08:00
afc163
03eff769be Fix menu item hover color 2016-12-05 16:15:22 +08:00
afc163
9006d74034 Change Anchor category 2016-12-05 13:18:17 +08:00
D & R
57bb12ca3c fix: radio button在disabled和checked状态多了点box-shadow (#4114) 2016-12-05 13:15:49 +08:00
afc163
65431a3981 update site api style 2016-12-05 13:09:05 +08:00
afc163
03d6bdc942 update input API doc 2016-12-05 13:05:58 +08:00
afc163
392805e0e5 update getting-started 2016-12-05 12:02:30 +08:00
afc163
4c116aaa3a Fix snap test 2016-12-05 11:47:42 +08:00
afc163
f9bad27469 Fix DatePicker input style 2016-12-05 00:27:03 +08:00
afc163
99df18139b Improve Menu selected design 2016-12-04 19:26:11 +08:00
afc163
ca1f16556c fix snap test 2016-12-04 17:53:52 +08:00
afc163
fcdc375f77 update table demo detail style 2016-12-04 17:47:45 +08:00
afc163
779a62093d group column header should be text align centered 2016-12-04 17:43:24 +08:00
afc163
bf8b1bf6a9 fix docs 2016-12-04 17:37:26 +08:00
afc163
eacfe25e19 bump 2.5.1 2016-12-04 17:16:58 +08:00
afc163
c4700210e8 upgrade eslint-plugin-babel 2016-12-04 17:15:31 +08:00
afc163
4ac50c660c improve transfer style 2016-12-04 17:08:29 +08:00
afc163
d2644e3c11 Fix snap test 2016-12-04 16:57:38 +08:00
偏右
304ccf1ea5 Changelog 2.5.1 (#4119)
* changelog for 2.5.1

* Add changelog for 2.x

* remove upgrade-note

* update changelog
2016-12-04 16:56:20 +08:00
afc163
4e589af9b6 Revert loading icon to 1/4 circle 2016-12-04 16:53:59 +08:00
afc163
ad911d8dfa Change way to fix #4092 2016-12-04 16:42:49 +08:00
afc163
5815ce514a Add Radio in form demo, close #3910 2016-12-04 16:19:55 +08:00
afc163
9c3c2d7c0c Fix snap test 2016-12-04 16:01:45 +08:00
afc163
264f02d98f Fix steps icon size and some detail, close #3817 2016-12-04 15:50:54 +08:00
afc163
f5775fec73 Add breadcrumb docs about #4106 2016-12-04 15:17:17 +08:00
afc163
89fee0a987 update README (#4124) 2016-12-04 14:16:10 +08:00
afc163
ab37e056f1 improve English expression 2016-12-04 00:35:47 +08:00
afc163
2ba1e8f3ef clean table demo 2016-12-03 17:50:41 +08:00
afc163
89cf3a88e6 only icon down under Dropdown has smaller size, close #4023 2016-12-03 17:48:10 +08:00
afc163
c06d205833 Fix snap test 2016-12-03 17:33:46 +08:00
afc163
0e97fae3f5 fix vertical-align of ButtonGroup 2016-12-03 17:15:06 +08:00
afc163
cf11a4f809 remove button-nested-icon font-size setting 2016-12-03 17:11:28 +08:00
afc163
c639c3a796 update snap test 2016-12-03 16:23:35 +08:00
afc163
c7c886fda6 Improve Affix target demo code style, close #4037 2016-12-03 16:20:53 +08:00
afc163
82902855db fix ts error 2016-12-03 15:51:44 +08:00
afc163
8df23e2d06 revert value undefined for resetFields, close #3846 2016-12-03 15:50:36 +08:00
afc163
bf562c95f1 Fix fixed table empty z-index, close #4016 2016-12-03 15:43:26 +08:00
afc163
37af26fbdf update select demo 2016-12-03 15:35:39 +08:00
afc163
75173dd7b0 Fix Slider[disabled] focus handler style, close #4045 2016-12-03 15:31:42 +08:00
afc163
0e1f154aab Add doc and demo for AutoComplete[placeholder], close #4044 2016-12-03 15:31:41 +08:00
afc163
0bb71e6a6f Fix Input[type=textarea] popover misalign bug, close #4092 2016-12-03 15:31:41 +08:00
Wei Zhu
65b2429ed2 Fix grouping column filter. (#4113) 2016-12-03 15:13:10 +08:00
afc163
edd57defa5 use moment.isMoment
http://momentjs.com/docs/#/query/is-a-moment/
2016-12-03 14:48:44 +08:00
afc163
4184e7c8ac fix input-number snap 2016-12-03 14:44:10 +08:00
afc163
575f0dbc21 change LocaleProvider's component type 2016-12-02 21:06:21 +08:00
afc163
e8cb51e024 fix header 2016-12-02 18:28:41 +08:00
afc163
752392a964 Improve home page style in Mobile device 2016-12-02 18:17:03 +08:00
afc163
c0e9f8c52e fix link 2016-12-02 17:00:40 +08:00
ChrisFan
3df84e33c6 docs: update 开发脚手架 link 2016-12-02 15:46:42 +08:00
afc163
c4b6130daa Merge branch 'master' of github.com:ant-design/ant-design 2016-12-02 15:16:59 +08:00
afc163
2270598f2e update doc 2016-12-02 15:12:01 +08:00
Benjy Cui
c4d8c4770c Add upgrade warning (#4028)
* chore: add upgrade warning for time related value

* chore: update warning

* chore: update demo url
2016-12-02 15:07:33 +08:00
Benjy Cui
a939769069 fix: Tooltip support multi children, close: #3924 (#4105) 2016-12-02 15:07:03 +08:00
Benjy Cui
f3ffae9e54 css: fix icon size in button, close: #4023 (#4080)
* css: fix icon size in button, close: #4023

* test: update snapshot for Button demo
2016-12-02 15:06:59 +08:00
afc163
5370df346c Add transition to input addon 2016-12-02 14:04:44 +08:00
afc163
af3d1ff6ef upgrade rc-input-number 2016-12-02 13:58:09 +08:00
jiang
adad537532 Update motion.md (#4109) 2016-12-02 13:29:14 +08:00
Wei Zhu
d2918d2456 Fix rowSelection defauleChecked 2016-12-02 11:36:05 +08:00
afc163
3802f08191 Fix wrong description about Select[allowClear] (#4101) 2016-12-01 22:28:43 +08:00
Benjy Cui
643463c9f2 refactor: update code style 2016-12-01 22:05:49 +08:00
Benjy Cui
39eb19ad9b fix: Popconfirm[visible] should be controlled prop, close: #4068 2016-12-01 22:05:49 +08:00
Benjy Cui
01dbcbe4af css: should not reset fieldset style, close: #4090 2016-12-01 16:46:05 +08:00
Benjy Cui
47a9c80e82 docs: update demo style 2016-12-01 16:15:24 +08:00
Benjy Cui
d8d065af33 css: width should be set on TimePicker wrapper 2016-12-01 16:11:51 +08:00
Benjy Cui
75c09cb481 css: Form.Item[extra] should be block, close: #4089 2016-12-01 11:25:34 +08:00
Benjy Cui
04269ecb40 docs: hide Button[shape=circle-outline], close: #4077 2016-12-01 11:13:38 +08:00
Ashish Chaudhary
1593140912 Fixes minor typo 2016-11-30 22:31:54 +08:00
Zack Craig
f62fa38ebd Re-word description of upload component (#4085)
Just a little bit of rewording for english speakers, same stuff, just sounds better.
2016-11-30 22:31:30 +08:00
lehug
b4d4af64a1 docs: “決定”更改为“决定” (#4073)
修正错别字,“決定”更改为“决定”。
2016-11-30 15:18:23 +08:00
Benjy Cui
e0e700cddd docs: improve detail of demo for layout, close: #4066 2016-11-30 10:54:42 +08:00
Andrey G
a307a7acf7 refactor: remove unnecessary computed props for classNames (#4055)
* remove unnecessary computed props for classNames

* rollback autocomplete optimization for possible css style order issue

* update snapshots

* remove more unnecessary computed props at Input
2016-11-30 10:20:23 +08:00
陆离
ee2654dbe1 fix: Anchor issue while scrolling window fast (#4054)
*  Anchor issue while scrolling window fast

 + close #4503

* another implement...
2016-11-30 10:10:31 +08:00
ashishg-qburst
5db5fed7b9 docs: fix typos and grammar on spec/introduce (#4062) 2016-11-29 23:04:39 +08:00
Will Chen
6b774a1343 docs: improve docs' detail (#4050) 2016-11-29 17:13:24 +08:00
afc163
6f3eafd061 fix snap test 2016-11-29 14:23:43 +08:00
Benjy Cui
7cb033c545 docs: use a more meaningful commit 2016-11-29 14:15:58 +08:00
afc163
3be71e41bf upgrade slider demo style 2016-11-29 13:17:08 +08:00
Benjy Cui
932443099a css: use @component-background, ref: #4040 2016-11-29 11:56:10 +08:00
Benjy Cui
7f4569cc02 docs: update docs typo 2016-11-29 11:35:46 +08:00
Benjy Cui
510f08cadc docs: update environment support section 2016-11-29 11:34:38 +08:00
Benjy Cui
fb4d505801 deps: upgrade moment, close: #4018 2016-11-29 10:08:43 +08:00
cathayandy
addb6e44dc Fix #4039. Replace background-color: #fff with background: @body-background (#4040) 2016-11-29 09:54:54 +08:00
Dorian
7325cdb37a docs: Fixes link typo in docs (#4036) 2016-11-28 21:00:26 +08:00
afc163
6b0c34bb24 fix tslint 2016-11-28 19:14:43 +08:00
afc163
7d75f6e3de Fix focus style of Form Controls, close #4035 2016-11-28 19:01:14 +08:00
偏右
afb845d944 Update package.json 2016-11-28 17:26:24 +08:00
Benjy Cui
32abe10b43 docs: update changelog 2016-11-28 15:33:21 +08:00
Wei Zhu
9c2b197163 docs: fix principle link [ci skip] 2016-11-28 14:32:36 +08:00
afc163
58d5fafa19 Fix Button loading animation transition in Firefox 2016-11-26 23:39:06 +08:00
afc163
0ed98a5574 remove background of code 2016-11-26 21:07:27 +08:00
afc163
2aeccd4955 update doc link 2016-11-26 16:07:01 +08:00
Benjy Cui
7ade6013df bump 2.5.0 2016-11-26 14:49:38 +08:00
Benjy Cui
bc856e787c docs: update change log (#4006) 2016-11-26 14:48:35 +08:00
afc163
2034126e00 keep old style for compatibility 2016-11-26 14:39:30 +08:00
afc163
3705130315 update snapshot 2016-11-26 14:39:30 +08:00
afc163
13020b7737 fix style 2016-11-26 14:39:30 +08:00
afc163
87f230f57b refactor Input.Search 2016-11-26 14:39:30 +08:00
Wei Zhu
13e13f333d fix: Wrap custom filterDropdown by FilterDropdownMenuWrapper, fix #4010 (#4013) 2016-11-25 16:24:24 +08:00
Benjy Cui
1c58e5ba4b docs: adjust order 2016-11-25 15:34:25 +08:00
陆离
72fad02024 chore: Anchor 动画优化。 (#4011)
- close #3832
 - 点击后给样式就行了, 不要把动画删掉
2016-11-25 15:05:19 +08:00
Wei Zhu
86f1fa030a Fix: table columns not update (#4009) 2016-11-25 15:04:25 +08:00
Benjy Cui
59e0c6a4c1 docs: update demo for upload 2016-11-25 15:00:28 +08:00
Wei Zhu
bd55d21f83 style: Fix jsx-no-multiline-js (#3994)
* Fix jsx-no-multiline-js

* TimePicker addon test

* Transfer search test
2016-11-25 12:03:39 +08:00
Nathan Tavares Nascimento
c97e687edd feature: add pt_BR locale support (#4004) 2016-11-25 09:44:28 +08:00
Pierre Neter
76c8351fc4 docs: Update reponsive-more.md (#4003) 2016-11-25 09:41:47 +08:00
Pierre Neter
38706e16bc docs: Update reponsive.md (#4002) 2016-11-25 09:41:29 +08:00
afc163
dfd15f8a56 Add dingding Icon, close #3961 2016-11-24 18:01:49 +08:00
afc163
e091efa2b5 fix transfer snapshots 2016-11-24 17:47:56 +08:00
Benjy Cui
dc2fb9c2ff test: update snpashot 2016-11-24 17:44:40 +08:00
Benjy Cui
f5cc937c8f fix: Upload should work without children 2016-11-24 17:44:40 +08:00
afc163
9183ef0ede Fix Transfer notFound, close #3996 2016-11-24 17:22:54 +08:00
Wei Zhu
5713a7cd39 test: Enabel menu demo testing (#3997) 2016-11-24 17:09:03 +08:00
afc163
c6c5a0c3a1 fix demo focus error 2016-11-24 16:16:27 +08:00
afc163
7c79a1c294 Fix wrong loading icon in Tree, close #3993 2016-11-24 15:04:17 +08:00
Wei Zhu
52f6f992b3 style: Fix jsx self close, #3966 (#3968) 2016-11-24 14:09:43 +08:00
ddcat1115
73c776e73d feat: Input add NumericInput demo & update searchInput demo (#3861)
* Input
add NumericInput demo
update searchInput

* Input

- add Input.Search
- update NumericInput

* snap update
2016-11-24 14:03:57 +08:00
偏右
91b2242f44 Merge pull request #3983 from visvadw/patch-2
Small typos and review
2016-11-24 10:58:39 +08:00
Benjy Cui
f110472c93 test: update snapshot for demo 2016-11-24 10:54:51 +08:00
Benjy Cui
e6300e0128 docs: update demo for Tag, close: #3984 2016-11-24 10:51:28 +08:00
Marius Ileana
57fa4cbb52 Small typos and review 2016-11-23 22:13:21 +02:00
afc163
f2f3c5f15a update alert style 2016-11-24 00:34:31 +08:00
afc163
fe09c26c50 fix footer link 2016-11-24 00:30:56 +08:00
afc163
179f526077 update badge link 2016-11-23 21:37:09 +08:00
afc163
540d51fe8d update spec/introduce.md 2016-11-23 21:09:42 +08:00
afc163
03360c2bf3 Fix demo test snapshot files 2016-11-23 20:38:57 +08:00
afc163
f3df6205a4 fix RangePicker placeholder not working bug 2016-11-23 20:35:34 +08:00
afc163
a8c4f53922 remove unused code in demo 2016-11-23 20:24:36 +08:00
afc163
2260701865 improve demo detail 2016-11-23 20:17:44 +08:00
afc163
6ccaf71841 Add onCellClick API in doc for #3774 2016-11-23 19:45:09 +08:00
偏右
fec52a24c5 feat: Add more icons and improve some icons design (#3977) 2016-11-23 17:55:14 +08:00
Wei Zhu
ccbebe60cc style: Fix jsx alignment, #3966 (#3967) 2016-11-23 17:53:10 +08:00
Albert Zheng
5e1b679dfb chore: Fixed two compiling errors reported by tsc 2.0.10. (#3969) 2016-11-23 17:52:29 +08:00
flashback313
63dadc1efa css: Flashback313 fix checkbox style (#3980)
* Update mixin.less

* fix left2right
2016-11-23 17:47:15 +08:00
Wei Zhu
0acc7d592c Breadcrumb router demo test 2016-11-23 16:37:58 +08:00
Wei Zhu
5bd8977d75 Datepicker locale demo test 2016-11-23 16:31:54 +08:00
Wei Zhu
206a327ade Fix tests
1. run all same demo test on node as jsom
2. mock date
3. create a setup file for common settings
4. skip breadcrumb router demo test
2016-11-22 23:14:57 -09:00
afc163
7dbeb13093 fix reqwest Peer dependency xhr2 2016-11-23 16:01:47 +08:00
afc163
e089f39048 fix ci timezone 2016-11-23 14:30:21 +08:00
afc163
f6f63606ea fix test snap via mocking Date.now 2016-11-23 12:15:23 +08:00
Benjy Cui
e610314461 docs: add PR welcomed section (#3955) 2016-11-23 12:10:09 +08:00
afc163
7b61b84145 Add missing doc for DatePicker[placeholder] 2016-11-23 11:30:05 +08:00
afc163
3b8ac48e6b update DatePicker demo format 2016-11-23 11:23:18 +08:00
afc163
b34c4ed423 update AUTHORS.txt 2016-11-23 11:18:59 +08:00
afc163
f533f20b38 remove some unused deps 2016-11-23 11:15:55 +08:00
偏右
c8caf3a08c Merge pull request #3953 from nimojs/master
<script src="...> => <script src="...">
2016-11-22 19:39:24 +08:00
偏右
bb8ec2f836 Merge pull request #3959 from nimojs/patch-1
es6-shim  for ie10/11
2016-11-22 19:38:02 +08:00
Nimo
e5f289f1a3 es6-shim for ie10/11 2016-11-22 19:36:11 +08:00
Benjy Cui
6c5fc4ef7f test: remove useless test command, ref: #3916 2016-11-22 17:41:11 +08:00
Nimo
2013202386 <script src="...> => <script src="...">
script src 缺少 "
2016-11-22 17:36:21 +08:00
afc163
c5d9205a2b fix node snap 2016-11-22 15:42:09 +08:00
afc163
42c6f92f50 fix snap test 2016-11-22 15:19:18 +08:00
afc163
66678dd415 fix snap test 2016-11-22 15:04:35 +08:00
afc163
7ce0598cc3 update badge 2016-11-22 15:02:21 +08:00
afc163
0dffd230a8 update TimePicker demo code style 2016-11-22 14:59:09 +08:00
afc163
21a4b08392 update badge 2016-11-22 14:56:55 +08:00
afc163
109d72ea70 update home button style 2016-11-22 14:53:35 +08:00
afc163
0613a1b065 update doc 2016-11-22 14:47:56 +08:00
afc163
e62dc08d2c improve preview icon display logic, #3644 2016-11-22 14:44:16 +08:00
Wei Zhu
57f5d299af Check in snapshots 2016-11-22 14:39:40 +08:00
afc163
e552880c32 update upload detail 2016-11-22 14:29:07 +08:00
afc163
f77d568322 fix upload prefixCls 2016-11-22 14:29:07 +08:00
Wei Zhu
d20572bdab test: demo snapshot testing (#3916)
* Run snapshot testing against all demos

* Split demo tests

* ignore coverage folder

* Upgrade antd-demo-jest

* enable cache

* intergate with coveralls.io

* Add node test

* Set worker to 2

https://github.com/facebook/jest/issues/1742

* config coverage

* Set default supportServerRender to true
2016-11-22 13:43:53 +08:00
Wei Zhu
4b1722e95d fix: wrong select all checkbox displaying when pagination changes (#3904) 2016-11-22 13:42:45 +08:00
偏右
7748471fa0 feat: Add range into showTotal (#2240#issuecomment-234766623) (#3863) 2016-11-22 10:12:14 +08:00
Wei Zhu
ed455c01d1 feat: Implement Table.Column and Table.ColumnGroup (#3868)
* Implement Table.Column and Table.ColumnGroup

* Upgrade rc-table
2016-11-22 10:11:12 +08:00
Benjy Cui
1c26bca8fe docs: update demo for Pagination, close: #3944 2016-11-22 09:49:25 +08:00
afc163
9febc9e71e update Changelog 2016-11-21 20:06:55 +08:00
Benjy Cui
f250bdcc98 docs: update demo for form 2016-11-21 18:29:36 +08:00
afc163
70e1e26771 bigger tree icon 2016-11-21 18:17:12 +08:00
afc163
927dae6159 fix header select position 2016-11-21 17:54:17 +08:00
afc163
89c9da8121 update readme 2016-11-21 17:50:51 +08:00
jiang
ca881823f2 site: update home (#3939) 2016-11-21 17:48:39 +08:00
Benjy Cui
c3064949cc docs: update demos for Slider 2016-11-21 16:37:04 +08:00
Benjy Cui
dd0be2e82f css: fix style of Slider[marks], close: #3872 2016-11-21 16:10:46 +08:00
Benjy Cui
4ee2b9d930 site: SSR for official website (#3903)
* site: ssr for Layout

* site: SSR for site

* fix: ssr for Anchor

* chore: add ssr test

* chore: update deploy script

* site: udpate detail

* site: revert animation for site

* site: fix loading animation
2016-11-21 14:39:15 +08:00
afc163
34f353deb0 update form API doc 2016-11-21 14:28:20 +08:00
乐仪
84d036bfef version -> 2.4.3 2016-11-21 14:15:03 +08:00
afc163
16c2ee69ab update rate api doc 2016-11-21 13:56:35 +08:00
afc163
b51b18acd6 fix image background 2016-11-21 12:32:40 +08:00
Benjy Cui
1ae5bb9845 chore: remove quick selector label, ref: #3753 2016-11-21 11:41:33 +08:00
ddcat1115
cd2a1438b7 docs: Table add editable demos (#3922) 2016-11-21 11:29:55 +08:00
ddcat1115
51971be12a Merge pull request #3753 from ant-design/feat-date-picker
feat: basic impl of RangePicker[ranges], ref: #1418
2016-11-21 10:45:56 +08:00
afc163
485e22f38d Add sketch template file in resource page 2016-11-20 19:52:39 +08:00
偏右
3caa85b3f3 Merge pull request #3908 from ant-design/docs-customize-theme
Docs customize theme
2016-11-20 19:17:59 +08:00
afc163
6af5c54e6c unify checkbox and expand icon width of Table 2016-11-20 19:09:46 +08:00
ddcat1115
259de9dbab Merge pull request #3824 from ant-design/upgrade-default-theme
Upgrade default theme
2016-11-19 22:29:32 +08:00
ddcat1115
34d00559fc Merge pull request #3869 from RaoHai/mentionOnSelectData
[Document only] onSelect of `Mention` component pass extra data
2016-11-19 22:26:21 +08:00
Benjy Cui
c94f577416 style: update code style for Anchor 2016-11-18 17:25:30 +08:00
Benjy Cui
db035aa691 style: update code style for Anchor 2016-11-18 17:02:57 +08:00
afc163
21b3f70ab3 adjust slider margin 2016-11-18 16:21:37 +08:00
afc163
5982e94456 Add screenshot 2016-11-18 16:16:34 +08:00
afc163
7af7e8382d Add customize-theme.md 2016-11-18 15:38:36 +08:00
RaoHai
1287f2a19f object -> any 2016-11-18 14:31:46 +08:00
afc163
231b2b9dae upgrade some site style 2016-11-18 14:24:50 +08:00
afc163
42b4df295c update site for primary-color change 2016-11-18 14:24:50 +08:00
afc163
ca9ed27445 upgrade demo primary-color 2016-11-18 14:24:50 +08:00
afc163
2c9339039c change @primary-color and default border-radius 2016-11-18 14:24:50 +08:00
afc163
6205118c31 update code font family 2016-11-18 13:55:28 +08:00
afc163
5b77cf7452 add doc 2016-11-18 11:58:22 +08:00
afc163
cc1f1be8bd fix ts error 2016-11-18 11:31:02 +08:00
afc163
a6e09ccfd0 fix Badge z-index, close #3898 2016-11-18 11:26:29 +08:00
Benjy Cui
38fd7f6feb chore: improve detail 2016-11-18 10:22:11 +08:00
Benjy Cui
e5deba620d css: improve style according to design, ref: #1418 2016-11-18 10:22:11 +08:00
Benjy Cui
f499a026ce feat: basic impl of RangePicker[ranges], ref: #1418 2016-11-18 10:22:11 +08:00
Benjy Cui
b5fcb85c24 deps: lock antd-tools 2016-11-18 10:04:51 +08:00
ddcat1115
18dcc09751 Merge pull request #3837 from ant-design/feat-custom-table-column-filter
controlled filterDropdown props
2016-11-17 23:52:17 +08:00
ddcat1115
29001ffe4c Merge pull request #3830 from ant-design/fix-popover
Let Checkbox and Radio response hover events
2016-11-17 22:59:31 +08:00
afc163
16fdb00282 No need Radio[key] in RadioGroup 2016-11-17 17:50:26 +08:00
afc163
33ad640b0f feedback icon should not affect user operation (#3891) 2016-11-17 17:33:00 +08:00
afc163
1c23189b1d update select style 2016-11-17 17:08:38 +08:00
Benjy Cui
30b7318d38 deps: update dev dependencies 2016-11-17 17:00:37 +08:00
afc163
3c9272a60f Add hover z-index to cover other card 2016-11-17 14:29:48 +08:00
afc163
c20239829d Fix InputNumber vertial-align
https://github.com/ant-design/ant-design/issues/3866#issuecomment-261148256
2016-11-17 12:16:25 +08:00
ddcat1115
260665d1c2 Merge pull request #3853 from RaoHai/anchorLinkFix
Anchor link fix
2016-11-17 11:38:29 +08:00
偏右
c2a4cdb17c Merge pull request #3874 from waywardmonkeys/more-typo-fixes
Typo fixes.
2016-11-16 22:16:26 +08:00
偏右
9b7a3d4b82 Merge pull request #3873 from waywardmonkeys/site-typo-fixes
Site typo fixes.
2016-11-16 22:16:13 +08:00
Bruce Mitchener
9fd1f88441 Site typo fixes. 2016-11-16 20:34:28 +07:00
Bruce Mitchener
36508ffabd Typo fixes. 2016-11-16 20:33:37 +07:00
afc163
fc79d6f967 stronger active Progress 2016-11-16 21:01:09 +08:00
afc163
4f7eff39fd fix error controls style 2016-11-16 20:13:00 +08:00
afc163
489a62b139 add .hound.yml 2016-11-16 18:03:04 +08:00
RaoHai
b0bdfcb94c onSelect of Mention component pass extra data
+ close #3867
2016-11-16 17:16:32 +08:00
afc163
200d3715e3 update tests/index.test.js 2016-11-16 12:53:21 +08:00
afc163
5b3df08ade use @input-placeholder-color in select and mention, close #3858 2016-11-16 11:34:25 +08:00
afc163
34b4200220 adjust search input style for combobox change (#3855) 2016-11-15 21:59:29 +08:00
afc163
0d63e5f6b5 Fix select[combobox] vertical align, close #3855 2016-11-15 21:54:22 +08:00
afc163
321f4e1402 update demo style 2016-11-15 21:19:02 +08:00
afc163
9e6439b06c fix title and footer height according to Table[size] 2016-11-15 20:06:41 +08:00
afc163
92d77e4c5d Add internal link 2016-11-15 19:16:23 +08:00
偏右
7e5cb09a2d Merge pull request #3850 from waywardmonkeys/missing-dashed-button-doc
docs: Button: Add `dashed` to type property description.
2016-11-15 19:06:59 +08:00
afc163
36003d03ac improve demo code style 2016-11-15 16:44:00 +08:00
RaoHai
146f3180aa lint fix 2016-11-15 15:33:13 +08:00
偏右
e1e8003e54 Merge pull request #3818 from ant-design/chore-check-files
chore: check whether compiled files are valid
2016-11-15 15:29:33 +08:00
偏右
c37663752c Merge pull request #3771 from ant-design/improve-testing
Introduce jest snapshots
2016-11-15 15:29:28 +08:00
afc163
aa635b9132 Merge branch 'master' of github.com:ant-design/ant-design 2016-11-15 15:21:51 +08:00
afc163
b69fd4bf9f fix lints 2016-11-15 15:21:13 +08:00
Benjy Cui
e2b6054cc4 style: update code style 2016-11-15 15:18:40 +08:00
RaoHai
12c974660e Anchor 优化
+ using `document.getElementById` instead of `document.querySelector`
+ ink will scroll to target position directly
2016-11-15 15:15:34 +08:00
偏右
b37845ef0c Merge pull request #3851 from waywardmonkeys/fix-typos
Fix some typos.
2016-11-15 15:12:03 +08:00
afc163
dde040e3e8 fix lints 2016-11-15 15:10:01 +08:00
afc163
f9319e244b Add compatible css centered demo code, close #3849 2016-11-15 15:02:30 +08:00
Bruce Mitchener
a1ee6bfa22 Fix some typos. 2016-11-15 13:44:35 +07:00
Bruce Mitchener
b875a6104b docs: Button: Add dashed to type property description. 2016-11-15 13:30:17 +07:00
afc163
1750fc754c Merge branch 'master' of github.com:ant-design/ant-design 2016-11-15 14:13:29 +08:00
afc163
bc45f43042 Fix Menu Devider style and document, close #3813 2016-11-15 14:12:25 +08:00
偏右
1ae4816cd0 fix format props of RangePicker (#3831)
+ close #3808
2016-11-15 14:03:20 +08:00
afc163
68fb601f99 Merge branch 'master' of github.com:ant-design/ant-design 2016-11-15 12:03:24 +08:00
afc163
ab8f8e4506 update table demo 2016-11-15 12:01:06 +08:00
chencheng (云谦)
b95800aa04 Merge pull request #3842 from parlop/patch-1
fix typo toturial to tutorial
2016-11-14 22:14:52 +08:00
parlop
7526d7be08 fix typo toturial to tutorial
fix typo toturial to tutorial
2016-11-14 09:12:05 -05:00
afc163
d8516ee8df adjust progress vertical align 2016-11-14 22:06:07 +08:00
RaoHai
d4269f8f30 fix format props of RangePicker
+ close #3808
2016-11-14 20:27:51 +08:00
afc163
b0f366cb0f Fix TreeSelect[multiple] placeholder margin bug, close #3841 2016-11-14 20:15:51 +08:00
afc163
fc3d320872 much better way for #3748 and fix ok close animation 2016-11-14 19:38:24 +08:00
afc163
82fa3ed2a5 update DatePicker doc and demo 2016-11-14 19:13:37 +08:00
afc163
1850e4b7cf fix disabled today style 2016-11-14 19:00:17 +08:00
afc163
b54d0ccc31 Fix active Switch style, close #3838 2016-11-14 18:52:50 +08:00
Meck
92df002fb0 Introduce jest snapshots 2016-11-14 18:50:23 +08:00
afc163
a6d2de1a7b controlled filterDropdown props, close #3003 2016-11-14 17:53:02 +08:00
Benjy Cui
76b91812f4 site: fix type order, ref: #3758 2016-11-14 15:53:47 +08:00
Benjy Cui
a0de4d6865 chore: check whether compiled files are valid 2016-11-14 15:03:16 +08:00
afc163
4b2e9bbd23 Fix non-bordered Table column header border radius
https://zos.alipayobjects.com/rmsportal/khxltYwtEiBKtHE.png
2016-11-14 14:37:04 +08:00
afc163
05213a5827 update table demos 2016-11-14 14:26:08 +08:00
afc163
169e6cf99c update doc 2016-11-14 14:16:12 +08:00
afc163
b6455e2546 fix path 2016-11-14 13:20:00 +08:00
afc163
a7153e6e24 Fix mention style detail 2016-11-14 12:21:58 +08:00
Benjy Cui
bbef274aae feat: expose DatePicker[showToday], ref: #3793 2016-11-14 11:57:12 +08:00
Meck
0a30315a32 Let Checkbox and Radio response hover events
Close #3455
2016-11-14 11:55:32 +08:00
afc163
a1fe873bd9 update links 2016-11-14 11:08:26 +08:00
feng zhi hao
b6fbc266c5 add declaration in DatePicker (#3829) 2016-11-14 10:57:52 +08:00
afc163
ff803c2762 fix anchor style according to design file 2016-11-13 19:08:52 +08:00
afc163
3bdfe5bb88 adjust switch style 2016-11-13 18:22:47 +08:00
afc163
de64779546 speed up loading icon 2016-11-13 18:19:23 +08:00
afc163
5400cacd13 bump 2.4.2 2016-11-13 16:33:39 +08:00
afc163
ee8ac670b9 change jest config 2016-11-13 16:03:59 +08:00
Benjy Cui
449db1499b deps: lock deps to patch (#3816) 2016-11-13 15:53:50 +08:00
Wei Zhu
b0c7a714ad Don't pass visible to Dropdown if it's not exits. (#3821)
fix #3815
2016-11-13 15:53:02 +08:00
afc163
8457267dad update changelog for 2.4.1, #3811 2016-11-13 15:51:46 +08:00
afc163
24bd14d843 update CHANGELOG 2016-11-11 20:11:02 +08:00
afc163
f93e2a8df0 update CHANGELOG 2016-11-11 20:09:40 +08:00
afc163
3c9ccccf61 Fix Header select 2016-11-11 19:47:11 +08:00
RaoHai
27232a8561 bump to 2.4.0 🤘🏿 2016-11-11 19:21:47 +08:00
Benjy Cui
26c5c8e11c fix: should work with latest rc-time-picker (#3810) 2016-11-11 18:23:11 +08:00
Wei Zhu
7dc0328c60 Fix table border when using cell merging (#3806) 2016-11-11 17:57:27 +08:00
jiang
f703e00c0f Home fix (#3807)
* fix home

* update Banner min height
2016-11-11 17:56:05 +08:00
afc163
f206cc4c90 downgrade eslint-plugin-jsx-a11y 2016-11-11 17:55:10 +08:00
Benjy Cui
c073e78074 fix: should work with timepicker without minutes and so on, ref: #3793 (#3799) 2016-11-11 17:50:48 +08:00
afc163
ad808953fd Merge branch 'master' of github.com:ant-design/ant-design 2016-11-11 16:34:36 +08:00
afc163
ae8f3c5b56 clean devDeps 2016-11-11 16:34:26 +08:00
Benjy Cui
88d428bcc4 docs: update demo 2016-11-11 16:29:49 +08:00
afc163
7879421ec2 upgrade some devDeps 2016-11-11 16:28:05 +08:00
Benjy Cui
d4b5b701bd docs: update demos for TimePicker 2016-11-11 16:06:11 +08:00
Wei Zhu
926425d8ec Pass visible and onVisibleChange to Dropdown, fix #3779 (#3782) 2016-11-11 15:26:57 +08:00
Wei Zhu
0e6ac6bc4c Optimize table selection (#3757)
* Extract SelectionRadio, SelectionCheckbox, SelectionCheckboxAll

* Add some tests
2016-11-11 15:26:51 +08:00
afc163
be9ed0388c Fix form controls focused error style 2016-11-11 15:08:02 +08:00
afc163
d6288e5994 Fix TimePicker panel style (#3793) 2016-11-11 14:44:37 +08:00
afc163
524a421d72 upgrade rc-time-picker to 2.2.0, support TimePicker[format="HH"] (#3793) 2016-11-11 14:28:29 +08:00
Benjy Cui
4da0ae4f42 docs: update demos for DatePicker, ref: #3793 2016-11-11 12:08:18 +08:00
afc163
02422417d6 Merge branch 'master' of github.com:ant-design/ant-design 2016-11-11 00:57:24 +08:00
afc163
01f5b61982 Add position relative for table cell 2016-11-11 00:57:14 +08:00
Benjy Cui
e7cf2a4f3f docs: update demos for Form, close: #3558 2016-11-10 16:11:22 +08:00
ddcat1115
ed7d82f4cd Merge pull request #3671 from ant-design/feat-tag
feat: make Tag checkable, close: #3560
2016-11-10 16:05:02 +08:00
Benjy Cui
8fa50cfddc docs: add meaningful demo for CheckableTag 2016-11-10 14:32:17 +08:00
Benjy Cui
751b597df1 docs: update demo variable name 2016-11-10 11:44:12 +08:00
afc163
850e713e7f Improve text overflow for MenuItem and AnchorLink, close #3712 2016-11-10 11:35:12 +08:00
Benjy Cui
e64f04cee5 feat: CheckableTag, close: #3560 2016-11-10 11:20:52 +08:00
Benjy Cui
8dcdd12bef feat: bring Tag[color] back, close: #3773 2016-11-10 11:12:09 +08:00
afc163
cbec9c5db1 Merge branch 'master' of github.com:ant-design/ant-design 2016-11-10 11:10:30 +08:00
afc163
9cc05c530b Add iView link, iview/iview#55 2016-11-10 11:09:58 +08:00
Benjy Cui
b75201485d docs: update change log for 2.3.2 (#3776)
* fix: infinite loop, ref: #3759

* bump 2.3.2
2016-11-10 10:30:50 +08:00
afc163
88d470220b Fix wrong error style for Form Validation 2016-11-09 22:25:39 +08:00
afc163
51dae474cc fix form demo align 2016-11-09 22:12:21 +08:00
afc163
5d2a2cc39b Add @highlight-color less variables 2016-11-09 21:30:02 +08:00
afc163
64e549be9d fix anchor ball 2016-11-09 21:12:26 +08:00
afc163
19be7db53f improve anchor detail 2016-11-09 21:06:43 +08:00
afc163
563f8120cd fix Checkbox border 2016-11-09 20:38:57 +08:00
afc163
1903990315 update transfer doc 2016-11-09 20:37:10 +08:00
afc163
733a4cdc40 remove default chinese text in Transfer (#3768) 2016-11-09 20:30:31 +08:00
陆离
45d2182137 fix some anchor bug (#3777)
* fix some anchor bug

* lint
2016-11-09 20:17:02 +08:00
Wei Zhu
0fa41ebfb9 Fix small table style (#3761)
* Tweak small table style, fix #3743

* Add checkbox switch to dynamic settings demo

* Add fixed header to dynamic settings demo
2016-11-09 20:16:57 +08:00
afc163
451ef78778 Merge branch 'master' of github.com:ant-design/ant-design 2016-11-09 19:58:01 +08:00
afc163
d0f2ff83b6 Fix scroll page will trigger setState in Header 2016-11-09 19:55:14 +08:00
jiang
9afec1a638 Update README.md 2016-11-09 18:17:41 +08:00
afc163
5aafe0d8de Fix tag[style] not working (#3773) 2016-11-09 17:10:05 +08:00
afc163
df4509bbda Improve Carousel default UI style 2016-11-09 16:56:49 +08:00
afc163
156242053f update demo 2016-11-09 15:26:56 +08:00
afc163
5c29fe41f7 improve anchor style 2016-11-09 15:26:22 +08:00
afc163
db68af8e72 Merge branch 'master' of github.com:ant-design/ant-design 2016-11-09 14:46:28 +08:00
afc163
c04707d3e3 fix demo z-index 2016-11-09 14:45:50 +08:00
ddcat1115
c32256c204 docs: add searchable Tree demo (#3693) 2016-11-09 14:45:49 +08:00
ddcat1115
228b7328d3 docs: Steps demo update (#3708)
* Steps demo update

* update
2016-11-09 14:45:10 +08:00
afc163
3b08a6479c Merge branch 'master' of github.com:ant-design/ant-design 2016-11-09 14:44:05 +08:00
ddcat1115
0baef0627e docs: 调整组件导航结构 (#3758)
- Layout 更名为 Grid
2016-11-09 14:43:32 +08:00
afc163
74932b5de9 Add className and style props for Anchor 2016-11-09 14:43:12 +08:00
afc163
ec3f20936e update anchor style 2016-11-09 14:40:31 +08:00
afc163
2df6476572 update anchor docs 2016-11-09 14:22:38 +08:00
Benjy Cui
4d2bdfd93d docs: update docs for form 2016-11-09 10:16:36 +08:00
afc163
a91a7208a6 update steps demo 2016-11-08 21:51:28 +08:00
afc163
2d0f532f73 Improve checkbox and radio style (ref #3590) 2016-11-08 21:42:46 +08:00
afc163
0d013be7fa fix iconfont-size-under-12px mixin 2016-11-08 21:25:57 +08:00
afc163
5aea5b24ef update select demo code style 2016-11-08 21:23:29 +08:00
afc163
0ec4276eab @font-size-lg (#1752) 2016-11-08 21:07:01 +08:00
afc163
4844d92709 remove unused variable 2016-11-08 20:59:25 +08:00
afc163
e4974ac72a use @font-size-base (#1752) 2016-11-08 20:57:07 +08:00
afc163
0a48c62dcb use @text-color 2016-11-08 20:50:59 +08:00
afc163
9b81fe86d9 clear less variables and add @text-color-secondary 2016-11-08 20:48:03 +08:00
afc163
64899c5da2 Merge branch 'master' of github.com:ant-design/ant-design 2016-11-08 18:04:08 +08:00
afc163
a7b384112e es6-shim for ie10/11 2016-11-08 18:03:22 +08:00
Benjy Cui
5782253a0f fix: infinite loop, ref: #3759 2016-11-08 16:22:36 +08:00
Wei Zhu
c72612435e Merge pull request #3736 from ant-design/feat-transfer
Feat Transfer selectedKeys
2016-11-08 16:11:45 +08:00
afc163
8dd48e0e26 adjust for #3760 2016-11-08 14:10:51 +08:00
afc163
6bf9ac4e04 Fix Steps vertical align style, close #3760 2016-11-08 13:46:11 +08:00
afc163
f98005a696 update meta description 2016-11-08 12:03:20 +08:00
afc163
e6dd9a93d0 expand Input addon icon click area, close #3714 2016-11-08 11:46:41 +08:00
afc163
985d20ad80 Fix spin compatibility, close #3755 2016-11-07 17:53:12 +08:00
afc163
6c16d738ee upgrade deps and fix lints 2016-11-07 15:55:14 +08:00
afc163
b9cba392c9 Merge branch 'master' of github.com:ant-design/ant-design 2016-11-07 15:42:21 +08:00
afc163
8f01552e0f better way to fixing #3748 2016-11-07 15:41:03 +08:00
Benjy Cui
b9863f044c site: update deps 2016-11-07 14:57:51 +08:00
afc163
0acbba9838 fix DatePicker[showTime] now link, close #3748 2016-11-07 14:52:57 +08:00
afc163
1fde7de404 update index.js 2016-11-07 14:03:45 +08:00
afc163
52e649a9fb Merge branch 'master' of github.com:ant-design/ant-design 2016-11-07 14:02:16 +08:00
afc163
6d91290f95 remove vue-antd 2016-11-07 14:02:07 +08:00
Benjy Cui
7042e09a99 feat: add controlled property Transfer[selectedKeys], close: #3729 2016-11-07 13:52:24 +08:00
Meck
7af9a01a40 Merge branch 'release-2.3.1' 2016-11-07 12:11:35 +08:00
Benjy Cui
b39d96ec75 refactor: make variables' name meaningful 2016-11-07 12:11:11 +08:00
Meck
449a982f92 Bump version 2016-11-07 11:59:07 +08:00
Meck
446315faf4 2.3.1 CHANGELOG 2016-11-07 11:59:07 +08:00
Benjy Cui
9360c02129 docs: update docs about resetFields, close: #3746 2016-11-07 11:55:58 +08:00
Benjy Cui
d8ea555ee8 docs: update menu demo 2016-11-07 11:55:58 +08:00
Meck
e02d77b3df Styles should be exported as well. 2016-11-07 11:48:28 +08:00
Wei Zhu
a3962d5869 Merge pull request #3720 from RaoHai/anchor
Anchor Component
2016-11-07 11:13:44 +08:00
RaoHai
03b4edee4a AnchorLink -> Link and bug fix 2016-11-07 11:04:36 +08:00
蔡伦
1e95ad9bad fix typo (#3744) 2016-11-07 11:02:53 +08:00
Wei Zhu
b08dd6d1f9 Merge pull request #3741 from JimmyLv/patch-1
Update practical-projects.zh-CN.md
2016-11-06 18:17:14 +08:00
afc163
224281f425 fix responsive menu style 2016-11-06 17:09:06 +08:00
afc163
8895776fad Merge branch 'master' of github.com:ant-design/ant-design 2016-11-06 15:45:50 +08:00
afc163
ebe2379a95 fix radio-button doc link 2016-11-06 15:45:39 +08:00
Meck
b64ea0edcc Add Collapse to CHANGELOG 2016-11-06 15:11:00 +08:00
偏右
7f422c9e18 Feat collapse bordered (#3698)
* update ts types

* Add borderless style Collapse, close #3559

* update Collapse mix demo

* update demo description
2016-11-06 15:06:34 +08:00
afc163
ba9949adcc Merge branch 'master' of github.com:ant-design/ant-design 2016-11-06 15:05:22 +08:00
afc163
af2cec65c5 improve TimePicker addon style 2016-11-06 14:53:29 +08:00
afc163
63a15f0d92 fix time-picker style 2016-11-06 14:41:34 +08:00
Meck
d9dd3114c3 Bump version 2016-11-06 14:36:11 +08:00
Wei Zhu
caf09cd99e Release 2.3.0 (#3735)
* docs: add change log for 2.3.0

* Update dependencies.

* Add TimePicker addon demo
2016-11-06 14:32:47 +08:00
Wei Zhu
e4b35e02d2 Merge pull request #3715 from ant-design/feat-lazy-load-transfer
Improve transfer perfermance via importing react-lazy-load
2016-11-06 13:31:30 +08:00
afc163
d3788034e5 remove hover card border 2016-11-05 16:54:00 +08:00
afc163
d4e13e7616 update layout 2016-11-05 15:46:50 +08:00
偏右
952f8aabbc Update README.md 2016-11-05 15:35:28 +08:00
吕立青
5cebea6b47 Update practical-projects.zh-CN.md
Just fixed small typo.
2016-11-05 15:31:43 +08:00
RaoHai
954c3a13f1 remove useless files and sentences 2016-11-05 09:24:36 +08:00
afc163
afb49f95d0 separate item component 2016-11-04 16:52:57 +08:00
afc163
e253cce993 change react-lazy-load default props 2016-11-04 15:16:16 +08:00
afc163
7373ce0758 Add react-lazy-load for Transfer perfermance, close #2860 2016-11-04 15:08:39 +08:00
afc163
6a1b1476be improve transfer style 2016-11-04 15:08:39 +08:00
afc163
45b8a9b507 Merge branch 'master' of github.com:ant-design/ant-design 2016-11-04 13:57:05 +08:00
afc163
894a4ceb53 remove unnecessary demo (#3690) 2016-11-04 13:52:30 +08:00
jiang
33a30ae927 update spin animation style (#3722)
* update spin animation style

* update spin animation

* update code
2016-11-04 13:50:32 +08:00
afc163
7f974877bc update Tree document (#3730) 2016-11-04 11:55:20 +08:00
Benjy Cui
ad88118373 feat: support Radio.Group[children] = undefined | null, ref: #3721 2016-11-04 09:38:57 +08:00
RaoHai
b6f9ac4058 test fix 2016-11-03 19:28:28 +08:00
RaoHai
0a0e14d610 Anchor Component
+ close #3557
2016-11-03 19:20:49 +08:00
RaoHai
616ecf1980 waiting for sketch 2016-11-03 19:20:49 +08:00
RaoHai
ef720db420 anchor 2016-11-03 19:20:49 +08:00
afc163
bd8482c893 update doc 2016-11-03 16:59:42 +08:00
afc163
d44271ce45 Fix badge initial position jump bug again, close #3709 2016-11-03 16:58:51 +08:00
denzw
5fb01c8300 修复上传组件卡片样式时,新增加上传图片不能预览的问题 (#3706) 2016-11-03 13:43:34 +08:00
Benjy Cui
01ddb398c7 feat: add Radio.Group[className] 2016-11-03 11:33:26 +08:00
Meck
7d2328b910 docs: improve 2016-11-03 10:44:41 +08:00
Meck
d10026b094 Using tidle range 2016-11-03 10:44:41 +08:00
Benjy Cui
81a8b65e6a docs: improve UX of demo 2016-11-03 10:27:34 +08:00
afc163
fba7d62648 Merge branch 'master' of github.com:ant-design/ant-design 2016-11-02 18:10:34 +08:00
afc163
d0c34380d4 simplify form demo code 2016-11-02 18:08:48 +08:00
Wei Zhu
5c711a275e deps: update rc-select (#3692)
* Update rc-select

* Add automatic tokenization demo
2016-11-02 17:35:05 +08:00
afc163
4ae2467668 Merge branch 'master' of github.com:ant-design/ant-design 2016-11-02 16:55:50 +08:00
afc163
24f71ac6be remove some blanks 2016-11-02 16:55:15 +08:00
Meck
ae5f8c1a04 Merge branch 'RaoHai-mention-suggestion-fixed' 2016-11-02 15:51:38 +08:00
Wei Zhu
e4b6ccf7f0 docs: add dynamic setting demo for table (#3690) 2016-11-02 15:09:54 +08:00
Meck
248f0d12ad Fix typo 2016-11-02 15:04:42 +08:00
afc163
137299f4c8 blur DatePicker[showTime] will trigger onChange 2016-11-02 15:02:21 +08:00
Benjy Cui
168370fb82 docs: remove documentation about timezone 2016-11-02 13:59:28 +08:00
afc163
6e6970dbd5 Merge branch 'master' of github.com:ant-design/ant-design 2016-11-02 13:58:21 +08:00
afc163
7fad45403e changelog for 2.2.1 2016-11-02 13:57:51 +08:00
Benjy Cui
2dc5b11c43 docs: update docs about timezone 2016-11-02 13:47:05 +08:00
Benjy Cui
59805843e5 docs: merge mix demo into validate-other 2016-11-02 12:13:52 +08:00
afc163
f443032caa Merge branch 'master' of github.com:ant-design/ant-design 2016-11-02 12:06:02 +08:00
afc163
82c816fbc9 Fix controlled DatePicker[showTime] not working, close #3665 2016-11-02 12:03:13 +08:00
Benjy Cui
d198c63a68 docs: update demo, close: #3673 2016-11-02 11:42:12 +08:00
Benjy Cui
7372893b8e docs: add demo for without Form.create, ref: #3594 2016-11-02 11:24:52 +08:00
afc163
20bbf43ccd Fix Transfer ssr bug, close #3686 2016-11-02 11:14:21 +08:00
Benjy Cui
1eb3d68656 docs: simplify demo 2016-11-02 10:47:50 +08:00
afc163
f40ba76ba7 Merge branch 'master' of github.com:ant-design/ant-design 2016-11-01 16:11:43 +08:00
afc163
7e73725c68 update form demo 2016-11-01 16:11:06 +08:00
Benjy Cui
29a732e3a9 docs: fix typo, close: #3672 2016-11-01 15:30:02 +08:00
afc163
a105876ff1 update style 2016-11-01 15:08:31 +08:00
afc163
479e975d29 Improve API table style 2016-11-01 15:02:48 +08:00
afc163
14cbb03dc1 fix link 2016-11-01 14:47:52 +08:00
afc163
fa06625de0 Fix popover arrow style in nested example, close #3448 2016-11-01 12:34:39 +08:00
afc163
b54020ea01 Merge branch 'master' of github.com:ant-design/ant-design 2016-11-01 12:02:49 +08:00
afc163
8c68e8f64b improve tabs switch animation 2016-11-01 11:58:43 +08:00
Benjy Cui
60ecb3c628 refactor: each message should warn just once 2016-11-01 11:10:11 +08:00
Benjy Cui
0b7856b712 fix: should check undefined value, close: #3665 2016-11-01 10:12:34 +08:00
Benjy Cui
048e3c9246 docs: update demo for time-relate controls 2016-11-01 10:11:02 +08:00
Meck
984a03e203 docs: add a note for AutoComplete's API 2016-11-01 09:50:42 +08:00
afc163
fc6ce27fd5 Merge branch 'master' of github.com:ant-design/ant-design 2016-11-01 00:55:56 +08:00
afc163
002f3f5127 Fix Radio[disabled] style and add label-hovering style, close #3590 2016-11-01 00:54:47 +08:00
Nathan Wells
d997dc9e1e typo (#3663) 2016-10-31 23:32:16 +08:00
ddcat1115
ad9cfe8914 Button add Multiple Buttons demo (#3660) 2016-10-31 19:31:43 +08:00
Benjy Cui
b2e6bdcf94 feat: deprecate Tag[color], ref: #3560 2016-10-31 17:58:12 +08:00
afc163
44f61ac987 smaller Icon[loading] 2016-10-31 17:41:45 +08:00
Benjy Cui
4b5353b457 docs: add demo for mapPropsToFields, close: #3493 2016-10-31 16:33:25 +08:00
RaoHai
42d06e1f0e fix getPopupDomNode 2016-10-31 15:58:15 +08:00
RaoHai
c5a043b4c8 Mention Improvement
+ add `getSuggestionContainer` callback function, which allow users modify the
 container element of suggestions dropdown.
 + the suggestions dropdown will mount on `document.body` defaultly, instead of
 on editor.
 + close #3588
2016-10-31 15:58:15 +08:00
Benjy Cui
037d739fa4 docs: update demo order 2016-10-31 15:42:57 +08:00
Benjy Cui
49e5bfa7ca docs: add demo for customized form control, close: #3585, ref: #3594 2016-10-31 15:03:48 +08:00
Benjy Cui
27708b702c docs: update docs for upload, ref: #3651 2016-10-31 13:44:13 +08:00
edgji
ea4e98d5f7 docs: add documentation and reference for customRequest (#3651) 2016-10-31 13:36:40 +08:00
feng zhi hao
edb41f4420 update types in Tabs and FormItem (#3653)
* update types in Tabs and FormItem

* remove children prop in FormItem and Tabs
2016-10-31 13:15:13 +08:00
偏右
1deea83a05 refactor: keep index.js as entry (#3397) 2016-10-31 12:09:06 +08:00
Benjy Cui
915ebd6a28 deps: update rc-slider 2016-10-31 12:01:38 +08:00
afc163
baa0c53132 code style 2016-10-30 21:00:33 +08:00
Benjy Cui
746790a44e docs: update Affix demos 2016-10-30 15:11:22 +08:00
Benjy Cui
e7fb3447a2 style: fix lint 2016-10-30 12:44:47 +08:00
Benjy Cui
a7d335ec7a docs: update docs detail 2016-10-30 12:43:59 +08:00
Benjy Cui
2cb147f96d docs: should not expose prefixCls to developer 2016-10-30 10:40:33 +08:00
afc163
1e1a3e755c update document 2016-10-29 15:49:56 +08:00
afc163
216f046f3b Change badge count title to raw value, close #3645 2016-10-29 15:26:05 +08:00
afc163
83ba6d96b4 upgrade normalize to 5.0 manually 2016-10-29 14:30:41 +08:00
583 changed files with 38068 additions and 5369 deletions

View File

@@ -1,3 +1,6 @@
{
"presets": ["es2015", "react", "stage-0"]
"presets": ["es2015", "react", "stage-0"],
"plugins": [
"add-module-exports"
]
}

View File

@@ -27,6 +27,7 @@ const eslintrc = {
'react/prop-types': 0,
'react/jsx-first-prop-new-line': 0,
'react/jsx-filename-extension': [1, { extensions: ['.js', '.jsx', '.md'] }],
'import/extensions': 0,
'import/no-unresolved': 0,
'import/no-extraneous-dependencies': 0,
'no-param-reassign': 0,
@@ -39,6 +40,7 @@ const eslintrc = {
'jsx-a11y/no-static-element-interactions': 0,
'jsx-a11y/anchor-has-content': 0,
'react/no-danger': 0,
'comma-dangle': ['error', 'always-multiline'],
},
};

View File

@@ -19,7 +19,7 @@ Tips: choose the corresponding documentation with versions selector which in the
### 2. Make sure that your question is about Ant Design, not React
Someone may think all of the questions that he/she meets in developing are about Ant Design, but it's not true. So, please read [React's documentaion](http://facebook.github.io/react/docs/getting-started.html) or just Google(not Baidu, seriously) your questions with keywork *React* first. If you are sure that your question is about Ant Design, go ahead.
Someone may think all of the questions that he/she meets in developing are about Ant Design, but it's not true. So, please read [React's documentation](http://facebook.github.io/react/docs/getting-started.html) or just Google (not Baidu, seriously) your questions with keyword *React* first. If you are sure that your question is about Ant Design, go ahead.
### 3. Read the FAQ and search the issues list of Ant Design
@@ -48,9 +48,11 @@ If you believe that Ant Design should provide some features, but it does not. Yo
## Tips about Pull Request
**Working on your first Pull Request?** You can learn how from this *free* series [How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github)
It's welcomed to pull request. And there are some tips about that:
1. It is a good habit to create a feature request issue to disscuss whether the feature is necessary before you implement it. However, it's unnecessary to create an issue to claim that you found a typo or improved the readability of documentaion, just create a pull request.
1. It is a good habit to create a feature request issue to discuss whether the feature is necessary before you implement it. However, it's unnecessary to create an issue to claim that you found a typo or improved the readability of documentation, just create a pull request.
1. Run `npm run lint` and fix those errors before committing in order to keep consistent code style.
1. Rebase before creating a PR to keep commit history clear.
1. Add some descriptions and refer relative issues for you PR.

1
.gitignore vendored
View File

@@ -30,3 +30,4 @@ config/base.yaml
components/**/*.js
components/**/*.jsx
/.vscode/
/coverage

3
.hound.yml Normal file
View File

@@ -0,0 +1,3 @@
eslint:
enabled: true
config_file: .eslintrc.js

18
.jest.node.json Normal file
View File

@@ -0,0 +1,18 @@
{
"setupFiles": [
"tests/setup.js"
],
"moduleFileExtensions": [
"ts",
"tsx",
"js",
"md"
],
"transform": {
"\\.tsx?$": "node_modules/typescript-babel-jest",
"tests/.*\\.js$": "node_modules/babel-jest",
"\\.md$": "node_modules/antd-demo-jest"
},
"testRegex": "/tests/.*demo\\.test\\.js$",
"testEnvironment": "node"
}

View File

@@ -12,7 +12,7 @@
"newlineAfterBlock": false,
"maxCharPerLine": false,
"excludedFiles": [
"components/layout/style/mixin.less",
"components/grid/style/mixin.less",
"components/style/core/base.less",
"components/style/core/iconfont.less",
"components/style/core/normalize.less",

View File

@@ -4,3 +4,6 @@ language: node_js
node_js:
- "6"
after_script:
- cat ./coverage/lcov.info | node_modules/coveralls/bin/coveralls.js

View File

@@ -1,11 +1,17 @@
Albert Zheng <lisong.zheng@gmail.com>
Andrew Murray <radarhere@gmail.com>
Andrey G <plandem@gmail.com>
Benjy Cui <benjytrys@gmail.com>
Bernie <bernie.wangbj@gmail.com>
Bozhao <yubz86@gmail.com>
Bruce Mitchener <bruce.mitchener@gmail.com>
Bruno Maia <bruno.mm.maia@gmail.com>
C <4019980@qq.com>
Cam Song <neosoyn@gmail.com>
Catalin Miron <mironcatalin@gmail.com>
Cee Cirno <i@cee.moe>
Cody Chan <int64ago@gmail.com>
Danny Hoower Antonio Viasus Avila <danjavia@gmail.com>
Daqi Song <dqaria@gmail.com>
DengYun <tdzl2003@gmail.com>
Eddie Xie <oeddyo@gmail.com>
@@ -16,19 +22,25 @@ Gray Choi <gray.choi.1988@gmail.com>
Guan Hao <raptium@gmail.com>
Haibin Yu <haibin.yu@oceanwing.com>
Hanai <ihanai1991@gmail.com>
ImJoeHs <865439601@qq.com>
Infinity <305870677@qq.com>
James <james@schoolshape.com>
Jerry Bendy <jerry@icewingcc.com>
Junyu Zhan <irrigator@yeah.net>
KgTong <kgtong1992@gmail.com>
Leon Shi <superRaytin@163.com>
Leon Shi <superRaytin@gmail.com>
Liu Yang <zation1@gmail.com>
LongYinan <lynweklm@gmail.com>
MG12 <wuzhao.mail@gmail.com>
Ma Tianxiao <matx2215@outlook.com>
Marius Ileana <visvadw@gmail.com>
Marshall Chen <Juniors.fei@gmail.com>
Meck <yesmeck@gmail.com>
Mr.Tone <vector@malubei.com>
Nathan Wells <nwwells@gmail.com>
Neverland <chenjiahan@buaa.edu.cn>
Nimo <nimo.jser@gmail.com>
Pyiner <lijiuyang1992@gmail.com>
Qiaosen Huang <joesonw@gmail.com>
RaoHai <surgesoft@gmail.com>
@@ -49,10 +61,12 @@ bang <sqibang@gmail.com>
bang88 <sqibang@gmail.com>
chencheng (云谦) <sorrycc@gmail.com>
ddcat1115 <ddcat1115@gmail.com>
denzw <denzw@21cn.com>
detailyang <detailyang@gmail.com>
devqin <devqin@gmail.com>
djorkaeff <djorkae55@gmail.com>
ecofe <150641329@qq.com>
edgji <j.edgji@gmail.com>
elrrrrrrr <elrrrrrrr@gmail.com>
ezpub <ez.foro@gmail.com>
feng zhi hao <fzhihao@outlook.com>
@@ -63,15 +77,18 @@ hi-caicai <hi@cai-cai.me>
ioldfish <fish.wangl@gmail.com>
jasonslyvia <jasonslyvia@gmail.com>
jiang <155259966@qq.com>
jinouwuque <ee2win@gmail.com>
kagawagao <kingsongao1221@gmail.com>
kaifei <150641329@qq.com>
kasinooya <kasinooya@gmail.com>
kayw <kayw@outlook.com>
leon.shi <superRaytin@163.com>
lgmcolin <gengmin.lgm@gmail.com>
lgmcolin <lgmcolin@gmail.com>
lixiaochou077 <qi.liqi07@gmail.com>
lizhaocai <lzc09008@gmail.com>
muzuiget <muzuiget@gmail.com>
parlop <parlop@gmail.com>
pizn <pizner@gmail.com>
plandem <plandem@gmail.com>
popomore <sakura9515@gmail.com>
@@ -88,6 +105,7 @@ tom <caolvchong@gmail.com>
ustccjw <317713370@qq.com>
warmhug <hualei5280@gmail.com>
wizawu <wizawu@gmail.com>
xiaofan2406 <xiaofan2406@gmail.com>
yeliex <yeliex@yeliex.com>
yiminghe <yiminghe@gmail.com>
yubozhao <yubz86@gmail.com>
@@ -99,9 +117,15 @@ zhaocai <lzc09008@gmail.com>
zhujun24 <zhujun87654321@gmail.com>
zilong <jzlxiaohei@163.com>
zinkey <yaya@uloveit.com.cn>
zuiidea <zuiiidea@gmail.com>
偏右 <afc163@gmail.com>
逸达 <dqaria@gmail.com>
蔡伦 <sliuqin@gmail.com>
陆离 <surgesoft@gmail.com>
低位 <zhujun87654321@gmail.com>
广彬-梁 <326741518@qq.com>
闲耘™ <hotoo.cn@gmail.com>
吕立青 <jimmy.jinglv@gmail.com>
马斯特 <sd4399340@126.com>
马金花儿 <o.o@mug.dog>
白羊座小葛 <abeyuhang@gmail.com>

View File

@@ -1,5 +1,5 @@
---
order: 3
order: 6
title: Change Log
toc: false
timeline: true
@@ -9,6 +9,181 @@ If you want to read change logs before `2.0.0`, please visit [GitHub](https://gi
---
## 2.5.2
`2016-12-10`
* Improve selected item style of Menu.
* Fix issue resulting in Mention not responses `onFocus` and `onBlur`. [#4163](https://github.com/ant-design/ant-design/issues/4163)
* Fix issue resulting in there is a redundant shadow between `disabled` and `checked` Radio. [#4114](https://github.com/ant-design/ant-design/pull/4114) @jdz321
* Fix error when setting Momment `defaultValue` or `value` on RangePicker, TimePicker, Calendar. [#4147](https://github.com/ant-design/ant-design/issues/4147)
* Fix issue resulting in Affix disappears when it's uesed in animated Tabs. [#3943](https://github.com/ant-design/ant-design/issues/3943)
* Fix issue resulting in Cascader passes different `selectedOptions` to `onChange` when manually selecting and selecting by search. [#4096](https://github.com/ant-design/ant-design/issues/4096)
* Fix issue resulting in Tabs get offset, when too many tabs are opening. [#3637](https://github.com/ant-design/ant-design/issues/3637)
* Table
* Align text of grouped parent header to center.
* Fix issue resulting in `filterDropdownVisible` can't be set correctly. [#4162](https://github.com/ant-design/ant-design/issues/4162)
## 2.5.1
`2016-12-03`
* Improve website experience on mobile devices.
* Add some migrate warnings for `1.x` to `2.x`.
* ToolTip, Popover, Popconfirm support to wrap text node and multiple node directly now. [#3924](https://github.com/ant-design/ant-design/issues/3924)
* Anchor
* Fix current position bug when scroll fastly. [#4053](https://github.com/ant-design/ant-design/issues/4053)
* Fix a bug of parent component ref node is undefined. [#4037](https://github.com/ant-design/ant-design/issues/4037)
* Table
* Fix a selection problem when setting defaultChecked in rowSelection. [#4020](https://github.com/ant-design/ant-design/issues/4020)
* Fix grouping column title cannot work with filters. [#4099](https://github.com/ant-design/ant-design/issues/4099)
* Fix a misplace bug when using Popover over `Input[type="textarea"]`. [#4092](https://github.com/ant-design/ant-design/issues/4092)
* Fix Popconfirm `visible` is not-working problem. [#4068](https://github.com/ant-design/ant-design/issues/4068)
* Fix TimePicker can not override width by `style.width`.
* Unify Steps icon size. [#3817](https://github.com/ant-design/ant-design/issues/3817)
* Fix style details of Form, Button, Slider, Table.
## 2.5.0
`2016-11-25`
* Change the default theme to Alipay style and improve lots of style details.
* Supports server-side rendering. (`Mention` will throw warning for [draft-js](https://github.com/facebook/draft-js/issues/385)' issue)
* Introduce [Jest Snapshot](https://facebook.github.io/jest/docs/tutorial-react.html#snapshot-testing) to test the structure of components and SSR issues.
* Improve official website and documentation.
* Add [document](https://ant.design/docs/react/customize-theme) for customizing theme.
* Add [Sketch template files](https://ant.design/docs/resource/download).
* `LocaleProvider` supports Brazilian. [#4004](https://github.com/ant-design/ant-design/pull/4004) [@nathantn](https://github.com/nathantn)
* DatePicker
* DatePicker can determine whether to show "Today" button. [commit](https://github.com/ant-design/ant-design/commit/bbef274aae169d142e3e7e3ea0af922d48e6dd64)
* RangePicker can set presetted ranges. [demo](https://ant.design/components/date-picker/#components-date-picker-demo-presetted-ranges)
* Fix "Now" button doesn't work while `DatePicker[showTime]` is set. [#3748](https://github.com/ant-design/ant-design/issues/3748)
* Fix `RangePicker[format]` should work. [#3808](https://github.com/ant-design/ant-design/issues/3808)
* Add and update some icons. [#3977](https://github.com/ant-design/ant-design/pull/3977)
* New component `Input.Search`. [demo](https://ant.design/components/input/#components-input-demo-search-input)
* Mention onSelect event will get complete record. [#3867](https://github.com/ant-design/ant-design/issues/3867)
* Pagination can get current range. [demo](https://ant.design/components/pagination/#components-pagination-demo-total)
* Table
* We can control the visible of customized `filterDropdown`. [demo](https://ant.design/components/table/#components-table-demo-custom-filter-panel)
* Supports JSX-style columns. [demo](https://ant.design/components/table/#components-table-demo-jsx)
* Can listen the click event of table cell. [#3774](https://github.com/ant-design/ant-design/issues/3774)
* Fix border radius of head of border-less table.
* Fix that height of title and footer don't follow `Table[size]`. [commit](https://github.com/ant-design/ant-design/commit/9e6439b06cd099ab384a4a2f026f0def6e12bf23)
* Fix issue with selected status. [#3900](https://github.com/ant-design/ant-design/issues/3900)
* Upload
* Fix that children could not be `null`.
* Fix logic of preview. [commit](https://github.com/ant-design/ant-design/commit/e552880c32aaa3f5b0fb09a5e1fb7454c24d5378)
* Fix `z-index` of Badge. [#3898](https://github.com/ant-design/ant-design/issues/3898)
* Fix alignment of multi-line Checkbox. [#3971](https://github.com/ant-design/ant-design/issues/3971) [@flashback313](https://github.com/flashback313)
* Fix alignment of InputNumber while using with other form controls. [#3866(comment)](https://github.com/ant-design/ant-design/issues/3866#issuecomment-261148256)
* Fix style of `Menu.Divider`. [#3813](https://github.com/ant-design/ant-design/issues/3813)
* Fix that Popover should support Checkbox and Radio as children. [#3455](https://github.com/ant-design/ant-design/issues/3455)
* Fix height of `Select[combobox]`. [#3855](https://github.com/ant-design/ant-design/issues/3855)
* Fix style of actived Switch. [#3838](https://github.com/ant-design/ant-design/issues/3838)
* Fix that Transfer doesn't show "Not Found" while there is no search result. [#3996](https://github.com/ant-design/ant-design/issues/3996)
* Fix style of placeholder of TreeSelect. [#3841](https://github.com/ant-design/ant-design/issues/3841)
* Fix compile errors in TypeScript. [#3969](https://github.com/ant-design/ant-design/pull/3969) [@AlbertZheng](https://github.com/AlbertZheng)
* Fix that feedback icon should not affect users' operation. [#3891](https://github.com/ant-design/ant-design/issues/3891)
## 2.4.3
`2016-11-17`
* Fix errors in `Anchor` about querySelector, and make some experience Optimization .[#3832](https://github.com/ant-design/ant-design/issues/3832) [#3844](https://github.com/ant-design/ant-design/issues/3844)
## 2.4.2
`2016-11-13`
* Fix `Dropdown.Button` cannot popup menu.[#3815](https://github.com/ant-design/ant-design/issues/3815)
## 2.4.1
`2016-11-11`
* Fix `2.4.0` missing index files.
## 2.4.0
`2016-11-11`
* Adjust components structure.
* New [Anchor](https://ant.design/components/anchor) Component.
* Fix less variables `@font-size-base` and `@text-color`, add `@font-size-lg` `@text-color-secondary`.
* Add new props `selectedKeys` for `Transfer` component [#3729]. (https://github.com/ant-design/ant-design/issues/3729)
* Add `Tag` selected status.
* Fix `Dropdown.Button` not support `visible` and `onVisibleChange`. [#3779](https://github.com/ant-design/ant-design/issues/3779)
* Fix `Now` button of `DatePicker[showTime]`. [#3748](https://github.com/ant-design/ant-design/issues/3748)
* Fix style of `Steps` in vertical mode. [#3760](https://github.com/ant-design/ant-design/issues/3760)
* Fix style compatibility of `Spin` in IE10+.[#3755](https://github.com/ant-design/ant-design/issues/3755)
* Fix default style of `Carousel` component.
* Fix focus logic of `Mention` component. [#3801](https://github.com/ant-design/ant-design/issues/3801)
* Fix animate bug of `Progress` component. [#3784](https://github.com/ant-design/ant-design/issues/3784)
* Fix focus bug of `Select` component. [#3778](https://github.com/ant-design/ant-design/issues/3778)
* Fix `TimePicker` not support `format="HH"` bug. [#3793](https://github.com/ant-design/ant-design/issues/3793)
* Fix `Input` `suffix` mouse event responsive area. [#3714](https://github.com/ant-design/ant-design/issues/3714)
* Improve performance of `Table` selection. [#3757](https://github.com/ant-design/ant-design/pull/3757)
* Improve Carousel default UI style.
* Improve style of `Checkbox` and `Radio`. [#3590](https://github.com/ant-design/ant-design/issues/3590)
* Fix style of DatePickek, Form, Table.
## 2.3.2
`2016-11-09`
* Fix dead loop while using `getFieldProps`.
## 2.3.1
`2016-11-07`
* Add missing `dist/antd.css` back.
## 2.3.0
`2016-11-04`
* Upgrade normalize.css to 5.0.
* Point main file to `lib/index.js` in package.json. [#3397](https://github.com/ant-design/ant-design/pull/3397)
* A brand new `Spin` design.
* Add `addon` for `TimePicker` to allow render some addon to its bottom.
* Add `onDragEnd` for `Tree`.
* Add `bordered` for `Collapse`.
* Improve `Tabs` switch animation.
* Improve `Radio` and `Checkbox` style when it's disabled and mouse hovered. [#3590](https://github.com/ant-design/ant-design/issues/3590)
* Optimize `Transfer` performance.[#2860](https://github.com/ant-design/ant-design/issues/2860)
* Fix nested `Popover` style issue. [#3448](https://github.com/ant-design/ant-design/issues/3448)
* Fix issue resulting in server side render `Transfer` failed. [#3686](https://github.com/ant-design/ant-design/issues/3686)
* Fix issue resulting in preview image not display when `Upload` in `picture-card` mode. [#3706](https://github.com/ant-design/ant-design/pull/3706) [@denzw](https://github.com/denzw)
* DatePicker
* `onChange` will be triggered when `DatePicker` in `showTime` mode on blur now.
* Add `monthCellContentRender` and `cellContentRender` for `MonthPicker`.
* `Rangepicker` can input time manually now.[#3718](https://github.com/ant-design/ant-design/issues/3718)
* Add czech locale/translations.
* Badge
* Improve number over 99 displaying when mouse hovering. [#3645](https://github.com/ant-design/ant-design/issues/3645)
* Fix moving animation when using `Badge` alone. [#3709](https://github.com/ant-design/ant-design/issues/3709)
* Mention
* Fix issue resulting in `Mention` will be covered by `Table`. [#3588](https://github.com/ant-design/ant-design/issues/3588)
* Add `getSuggestionContainer` to allow specify container. [#3658](https://github.com/ant-design/ant-design/pull/3658)
* Tag
* Deprecate `color`. [#3560](https://github.com/ant-design/ant-design/issues/3560)
* Add `type`. [#3560](https://github.com/ant-design/ant-design/issues/3560)
* Add `checkable`. [#3560](https://github.com/ant-design/ant-design/issues/3560)
* Radio.Group
* Add `className`
* `null` or `undefined` `children` will be ignored.
* Select
* Add `tokenSeparators` to support automatic tokenization。[#2071](https://github.com/ant-design/ant-design/issues/2071)
* Add `onFocus` callback. [#3587](https://github.com/ant-design/ant-design/issues/3587)
* Fix issue resulting in Select can't display correct selected item text in `combobox` mode. [#3401](https://github.com/ant-design/ant-design/issues/3401)
## 2.2.1
`2016-11-02`
* Fix controlled DatePicker[showTime] not working bug. [#3665](https://github.com/ant-design/ant-design/issues/3665)
## 2.2.0
`2016-10-28`
@@ -27,7 +202,6 @@ If you want to read change logs before `2.0.0`, please visit [GitHub](https://gi
* New icons `bulb` `select` `like-o` `dislike-o`.
* Adjust existing icons `loading` `like` `dislike`.
* Improve the TypeScript definition of Card & DatePicker & Icon & Table. [@infeng](https://github.com/infeng) [3468](https://github.com/ant-design/ant-design/pull/3468) [#3603](https://github.com/ant-design/ant-design/pull/3603) [#3531](https://github.com/ant-design/ant-design/pull/3531)
* Fix Cascader `defaultValue` should work. [#3470](https://github.com/ant-design/ant-design/issues/3470)
* Fix the alignment of Button & Input & DatePicker & Select. [#3481](https://github.com/ant-design/ant-design/issues/3481)
* DatePicker
@@ -97,7 +271,7 @@ If you want to read change logs before `2.0.0`, please visit [GitHub](https://gi
- Fix developers cannot call methods of react-slick. [#3164](https://github.com/ant-design/ant-design/issues/3164)
- Fix Steps.Step[icon] should support React.ReactNode. [#3159](https://github.com/ant-design/ant-design/issues/3159)
- Fix server-side render for Affix. [#3216](https://github.com/ant-design/ant-design/issues/3216)
- Fix Mention should supoort `onSelect` `placeholder`. [#3236](https://github.com/ant-design/ant-design/issues/3236) [#3226](https://github.com/ant-design/ant-design/issues/3226)
- Fix Mention should support `onSelect` `placeholder`. [#3236](https://github.com/ant-design/ant-design/issues/3236) [#3226](https://github.com/ant-design/ant-design/issues/3226)
- Fix Transfer cannot work with `getFieldDecorator`.
- Fix LocaleProvider doesn't work for time-related components.
- Fix Cascader doesn't show search text in search mode.
@@ -126,6 +300,8 @@ If you meet any problem while you try to upgrade from `antd@1.0.0`, feel free to
### 2.x Breaking changes
> We suggest you upgrade to lastest version of `2.x`.
There are some breaking changes in `antd@2.0.0`, and you need to modify your code to work with it.
* `value` and `defaultValue` of all the time-related components will not support type `String/Date`, please use [moment](http://momentjs.com/):
@@ -139,7 +315,7 @@ There are some breaking changes in `antd@2.0.0`, and you need to modify your cod
- <Calendar defaultValue={new Date('2010-10-10')} />
+ <Calendar defaultValue={moment('2010-10-10', 'YYYY-MM-DD')} />
```
* Parameters of type `Date/GregorianCalendar` of functions such as `onChange` and `onPanelChange`, plus other callback functions had been changed to type moment. Please consult [APIs of gregorian-calendar](https://github.com/yiminghe/gregorian-calendar) and [APIs of moment](http://momentjs.com/docs/), and update your code accordingly. And you can consult this [commit](https://github.com/ant-design/ant-design/commit/5a4ebe535f0353089b30ac331bc4fb7877963371) to see how to upate.
* Parameters of type `Date/GregorianCalendar` of functions such as `onChange` and `onPanelChange`, plus other callback functions had been changed to type moment. Please consult [APIs of gregorian-calendar](https://github.com/yiminghe/gregorian-calendar) and [APIs of moment](http://momentjs.com/docs/), and update your code accordingly. And you can consult this [commit](https://github.com/ant-design/ant-design/commit/4026221d451b246956983bb42140142d4a48b7d7) to see how to update.
Because the return value of `JSON.stringy(date: moment)` will lost time zone, we should use `.format` to convert date to string first, see related issue [#3082](https://github.com/ant-design/ant-design/issues/3082) for details:
```js
@@ -237,6 +413,6 @@ The following change will throw some warnings in the console and it will still w
* [dva@1.0.0](https://github.com/dvajs/dva) is published and it is officially recommended framework [in real world](http://ant.design/docs/react/practical-projects).
* The officially recommended scaffold is [dva-cli](https://github.com/dvajs/dva-cli) now, the old `antd-init` is just for studying and demo.
## 1.0.0
## 1.11.4
Visit [GitHub](https://github.com/ant-design/ant-design/releases?after=2.0.0) to read change logs from `0.x` to `1.x`。

View File

@@ -1,14 +1,188 @@
---
order: 3
order: 6
title: 更新日志
toc: false
timeline: true
---
如果需要查看 `0.12.x` 之前的更新日志,请移步 [GitHub](https://github.com/ant-design/ant-design/releases?after=1.0.0)。
如果需要查看 `2.0.0` 之前的更新日志,请移步 [GitHub](https://github.com/ant-design/ant-design/releases?after=2.0.0)。
---
## 2.5.2
`2016-12-10`
* 优化 Menu 已选择项的样式。
* 修复 Mention 不能响应 `onFocus``onBlur` 的问题。[#4163](https://github.com/ant-design/ant-design/issues/4163)
* 修复 `disabled``checked` 的 Radio 之间会多一条阴影的问题。[#4114](https://github.com/ant-design/ant-design/pull/4114) @jdz321
* 修复 RangePicker、TimePicker、Calendar 设置 Moment 的 `defaultValue``value` 时也会报错的问题。[#4147](https://github.com/ant-design/ant-design/issues/4147)
* 修复 Affix 在开启动画的 Tabs 里使用时会消失的问题。[#3943](https://github.com/ant-design/ant-design/issues/3943)
* 修复 Cascader 手动选择和搜索选择时 `onChange` 接收到的 `selectedOptions` 不同的问题。[#4096](https://github.com/ant-design/ant-design/issues/4096)
* 修复 Tabs 页增加到一定数量时会产生偏移的问题。[#3637](https://github.com/ant-design/ant-design/issues/3637)
* Table
* 居中对齐表头分组的父表头。
* 修正设置 filterDropdownVisible 时不生效的问题。[#4162](https://github.com/ant-design/ant-design/issues/4162)
## 2.5.1
`2016-12-03`
* 提升网站首页在移动端访问的体验。
* 补充从 `1.x` 升级到 `2.x` 时的组件改动警告提示。[#4028](https://github.com/ant-design/ant-design/pull/4028)
* 现在 ToolTip、Popover、Popconfirm 支持直接包裹文本节点和多个节点。[#3924](https://github.com/ant-design/ant-design/issues/3924)
* Anchor
* 修复快速滚动时的定位问题。[#4053](https://github.com/ant-design/ant-design/issues/4053)
* 修复 target 指定父元素 ref 时无效的问题。[#4037](https://github.com/ant-design/ant-design/issues/4037)
* Table
* 修复设置 defaultChecked 时的一个选中问题。[#4020](https://github.com/ant-design/ant-design/issues/4020)
* 修复分组表头中筛选功能无法使用的问题。[#4099](https://github.com/ant-design/ant-design/issues/4099)
* 修复在 `Input[type="textarea"]` 上使用 Popover 定位错误问题。[#4092](https://github.com/ant-design/ant-design/issues/4092)
* 修复 Popconfirm 的 `visible` 属性失效的问题。[#4068](https://github.com/ant-design/ant-design/issues/4068)
* 修复 TimePicker 无法设置 `style.width` 的问题。
* 修复 Steps 自定义图标和默认图标大小不一致的问题。[#3817](https://github.com/ant-design/ant-design/issues/3817)
* 修复 Form、Button、Slider、Table 等组件的一些样式细节。
## 2.5.0
`2016-11-25`
* 默认主题风格修改为支付宝钱包风格,及大量样式优化。
* 支持服务端渲染。Mention 会因为 [draft-js](https://github.com/facebook/draft-js/issues/385) 的问题有 warning
* 引入 [Jest Snapshot](https://facebook.github.io/jest/docs/tutorial-react.html#snapshot-testing) 测试组件结构及服务端渲染问题。
* 官网及文档优化。
* 新增自定义主题的 [文档](https://ant.design/docs/react/customize-theme)。
* 新增 [Sketch 资源文件](https://ant.design/docs/resource/download)。
* LocaleProvider 新增巴西语支持。[#4004](https://github.com/ant-design/ant-design/pull/4004) [@nathantn](https://github.com/nathantn)
* DatePicker
* DatePicker 现在可以决定是否展示 “今天” 按钮。[commit](https://github.com/ant-design/ant-design/commit/bbef274aae169d142e3e7e3ea0af922d48e6dd64)
* RangePicker 现在可以自定义快捷选择。[demo](https://ant.design/components/date-picker/#components-date-picker-demo-presetted-ranges)
* 修复 DatePicker 设置 `showTime` 后 “此刻” 按钮失效的问题。[#3748](https://github.com/ant-design/ant-design/issues/3748)
* 修复 `RangePicker[format]` 失效的问题。[#3808](https://github.com/ant-design/ant-design/issues/3808)
* 新增并优化部分 Icon。[#3977](https://github.com/ant-design/ant-design/pull/3977)
* 新增 Input.Search 控件。[demo](https://ant.design/components/input/#components-input-demo-search-input)
* Mention onSelect 事件现在可以获取完整的数据。[#3867](https://github.com/ant-design/ant-design/issues/3867)
* Pagination 现在支持展示当前页的索引范围。[demo](https://ant.design/components/pagination/#components-pagination-demo-total)
* Table
* 自定义筛选的显示隐藏现在可以通过代码控制。[demo](https://ant.design/components/table/#components-table-demo-custom-filter-panel)
* 支持 JSX 风格的方式设置 columns。[demo](https://ant.design/components/table/#components-table-demo-jsx)
* 现在可以监听单元格的点击事件。[#3774](https://github.com/ant-design/ant-design/issues/3774)
* 修复无边框 Table 头部的圆角样式问题。
* 修复 title 和 footer 高度不随 `Table[size]` 变化的问题。[commit](https://github.com/ant-design/ant-design/commit/9e6439b06cd099ab384a4a2f026f0def6e12bf23)
* 修复选中状态出错的问题。[#3900](https://github.com/ant-design/ant-design/issues/3900)
* Upload
* 修复 children 不能为 `null` 的问题。
* 修复预览逻辑的问题。[commit](https://github.com/ant-design/ant-design/commit/e552880c32aaa3f5b0fb09a5e1fb7454c24d5378)
* 修复 Badge 会覆盖其他组件的问题。[#3898](https://github.com/ant-design/ant-design/issues/3898)
* 修复多行 Checkbox 样式不对齐的问题。[#3971](https://github.com/ant-design/ant-design/issues/3971) [@flashback313](https://github.com/flashback313)
* 修复 InputNumber 与其它表单控件不对齐的问题。[#3866(comment)](https://github.com/ant-design/ant-design/issues/3866#issuecomment-261148256)
* 修复 `Menu.Divider` 样式问题。[#3813](https://github.com/ant-design/ant-design/issues/3813)
* 修复 Popover 直接内嵌 Checkbox 和 Radio 无效的问题。[#3455](https://github.com/ant-design/ant-design/issues/3455)
* 修复 Select combobox 高度异常问题。[#3855](https://github.com/ant-design/ant-design/issues/3855)
* 修复 Switch actived 后的样式问题。[#3838](https://github.com/ant-design/ant-design/issues/3838)
* 修复 Transfer 搜索无结果时不展示 “Not Found” 提示的问题。[#3996](https://github.com/ant-design/ant-design/issues/3996)
* 修复 TreeSelect 占位符的样式问题。[#3841](https://github.com/ant-design/ant-design/issues/3841)
* 修复 TypeScript 编译报错的问题。[#3969](https://github.com/ant-design/ant-design/pull/3969) [@AlbertZheng](https://github.com/AlbertZheng)
* 修复表单反馈图标影响用户操作的问题。[#3891](https://github.com/ant-design/ant-design/issues/3891)
## 2.4.3
`2016-11-17`
* 修复 `Anchor` 内部 querySelector 报错,并做了一些体验优化 。[#3832](https://github.com/ant-design/ant-design/issues/3832) [#3844](https://github.com/ant-design/ant-design/issues/3844)
## 2.4.2
`2016-11-13`
* 修复 `Dropdown.Button` 不弹出的问题。[#3815](https://github.com/ant-design/ant-design/issues/3815)
## 2.4.1
`2016-11-11`
* 修复 `2.4.0` 组件 index 文件丢失的问题。
## 2.4.0
`2016-11-11`
* 调整了组件的导航结构。
* 新增 [Anchor](https://ant.design/components/anchor) 锚点组件。
* 整理了样式变量,修复 `@font-size-base``@text-color` 在部分组件无效的问题,新增 `@font-size-lg` `@text-color-secondary`,并移除了部分无用的变量。
* `Transfer` 组件新增了受控属性 `selectedKeys`。[#3729](https://github.com/ant-design/ant-design/issues/3729)
* `Tag` 新增选中状态。
* 修复 `Dropdown.Button` 不支持 `visible``onVisibleChange` 的问题。[#3779](https://github.com/ant-design/ant-design/issues/3779)
* 修复 `DatePicker[showTime]`` 的 `此刻` 按钮。[#3748](https://github.com/ant-design/ant-design/issues/3748)
* 修复 `Steps` 竖直方向的样式。[#3760](https://github.com/ant-design/ant-design/issues/3760)
* 修复 `Spin` 组件在 IE10+ 的样式问题。[#3755](https://github.com/ant-design/ant-design/issues/3755)
* 修复 `Mention` 组件的 focus 逻辑. [#3801](https://github.com/ant-design/ant-design/issues/3801)
* 修复 `Progress` 组件的动画问题。[#3784](https://github.com/ant-design/ant-design/issues/3784)
* 修复 `Select` 搜索时的丢失焦点问题。[#3778](https://github.com/ant-design/ant-design/issues/3778)
* 修复 `TimePicker` 不支持 `format="HH"` 等格式的问题。[#3793](https://github.com/ant-design/ant-design/issues/3793)
* 修复 `Input``suffix` 部分区域中鼠标事件无法响应的问题。[#3714](https://github.com/ant-design/ant-design/issues/3714)
* 优化了 `Table` 选择的性能。[#3757](https://github.com/ant-design/ant-design/pull/3757)
* 优化 `Carousel` 的默认样式。
* 优化 `Checkbox``Radio` 的样式。[#3590](https://github.com/ant-design/ant-design/issues/3590)
* 修复 `DatePicker``Form``Table` 等组件的样式细节。
## 2.3.2
`2016-11-09`
* 修复使用 `getFieldProps` 会导致死循环的问题。
## 2.3.1
`2016-11-07`
* 修正上个版本缺少 `dist/antd.css` 的问题。
## 2.3.0
`2016-11-04`
* 升级 normalize.css 到 5.0。
* package.json 的 main 换成了 `lib/index.js`。[#3397](https://github.com/ant-design/ant-design/pull/3397)
* 全新的 `Spin` 设计。
* `TimePicker` 新增了 `addon` 以支持自定义的附加内容。
* `Tree` 新增了 `onDragEnd`
* `Collapse` 新增了 `bordered`
* 优化 `Tabs` 切换时的动画效果。
* 优化 `Radio``Checkbox` 在禁用和鼠标停留时的样式。[#3590](https://github.com/ant-design/ant-design/issues/3590)
* 优化 `Transfer` 的性能。[#2860](https://github.com/ant-design/ant-design/issues/2860)
* 修复 `Popover` 嵌套时的样式问题。[#3448](https://github.com/ant-design/ant-design/issues/3448)
* 修复 `Transfer` 服务端渲染报错的问题。[#3686](https://github.com/ant-design/ant-design/issues/3686)
* 修复 `Upload` `picture-card` 模式下新上传的图片不显示预览的问题。[#3706](https://github.com/ant-design/ant-design/pull/3706) [@denzw](https://github.com/denzw)
* DatePicker
*`showTime` 模式下现在失去焦点也会触发 `onChange`
* `MonthPicker` 增加了 `monthCellContentRender``cellContentRender`
* `RangePicker` 现在可以手动输入时间了。[#3718](https://github.com/ant-design/ant-design/issues/3718)
* 新增了捷克语的翻译。
* Badge
* 优化鼠标停留时超过 99 的数字显示。[#3645](https://github.com/ant-design/ant-design/issues/3645)
* 修复单独使用时会有移动动画的问题。[#3709](https://github.com/ant-design/ant-design/issues/3709)
* Mention
* 修复会被 `Table` 遮住的问题。[#3588](https://github.com/ant-design/ant-design/issues/3588)
* 新增 `getSuggestionContainer` 来指定容器。[#3658](https://github.com/ant-design/ant-design/pull/3658)
* Tag
* 废弃 `color` 属性。[#3560](https://github.com/ant-design/ant-design/issues/3560)
* 新增 `type`。[#3560](https://github.com/ant-design/ant-design/issues/3560)
* 新增 `checkable`。[#3560](https://github.com/ant-design/ant-design/issues/3560)
* Radio.Group
* 新增 `className`
* `children``null``undefined` 时现在会被忽略。
* Select
* 新增 `tokenSeparators` 支持粘贴时自动分词。[#2071](https://github.com/ant-design/ant-design/issues/2071)
* 新增 `onFocus` 回调。[#3587](https://github.com/ant-design/ant-design/issues/3587)
* 修复 `combobox` 模式下选中项不能正确显示的问题。[#3401](https://github.com/ant-design/ant-design/issues/3401)
## 2.2.1
`2016-11-02`
* 修复 Form 中 DatePicker[showTime](受控)无法使用的问题。[#3665](https://github.com/ant-design/ant-design/issues/3665)
## 2.2.0
`2016-10-28`
@@ -27,7 +201,6 @@ timeline: true
* 新增 `bulb` `select` `like-o` `dislike-o`
* 调整 `loading` `like` `dislike`
* 优化 Card DatePicker Icon Table 的 TypeScript 定义。[@infeng](https://github.com/infeng) [3468](https://github.com/ant-design/ant-design/pull/3468) [#3603](https://github.com/ant-design/ant-design/pull/3603) [#3531](https://github.com/ant-design/ant-design/pull/3531)
* 修复 Cascader `defaultValue` 失效的问题。[#3470](https://github.com/ant-design/ant-design/issues/3470)
* 修复在一行内同时使用 Button Input DatePicker Select 时对齐的问题。[#3481](https://github.com/ant-design/ant-design/issues/3481)
* DatePicker
@@ -124,6 +297,8 @@ timeline: true
### 2.x 不兼容改动
> 建议从 `1.x` 升级时,直接升级到 `2.x` 的最新版本。
此版本有部分不兼容的改动,升级时确保修改相应的使用代码。
* 时间类组件的 `value``defaultValue` 不再支持 `String/Date` 类型,请使用 [moment](http://momentjs.com/)。
@@ -137,7 +312,7 @@ timeline: true
- <Calendar defaultValue={new Date('2010-10-10')} />
+ <Calendar defaultValue={moment('2010-10-10', 'YYYY-MM-DD')} />
```
* 时间类组件的 `onChange` 和 `onPanelChange` 及其他回调函数中为 `Date/GregorianCalendar` 类型的参数,均修改为 moment 类型,两者 API 有所不同,但功能基本一致,请对照 [moment 的 API 文档](http://momentjs.com/docs/) 和 [gregorian-calendar 的文档](https://github.com/yiminghe/gregorian-calendar) 进行修改。你也可以参考这个 [commit](https://github.com/ant-design/ant-design/commit/5a4ebe535f0353089b30ac331bc4fb7877963371) 来进行修改。
* 时间类组件的 `onChange` 和 `onPanelChange` 及其他回调函数中为 `Date/GregorianCalendar` 类型的参数,均修改为 moment 类型,两者 API 有所不同,但功能基本一致,请对照 [moment 的 API 文档](http://momentjs.com/docs/) 和 [gregorian-calendar 的文档](https://github.com/yiminghe/gregorian-calendar) 进行修改。你也可以参考这个 [commit](https://github.com/ant-design/ant-design/commit/4026221d451b246956983bb42140142d4a48b7d7) 来进行修改。
由于 `JSON.stringy(date: moment)` 返回的值会丢失时区设置,所以要先使用 `.format` 把日期转成字符串,相关 issue 见 [#3082](https://github.com/ant-design/ant-design/issues/3082)
```js
@@ -236,446 +411,6 @@ timeline: true
* [dva@1.0.0](https://github.com/dvajs/dva) 也已经发布,并推荐 [在实战项目中使用](http://ant.design/docs/react/practical-projects)。
* 脚手架工具推荐使用 [dva-cli](https://github.com/dvajs/dva-cli),原来的 `antd-init` 以后仅会用于学习以及 demo。
## 1.11.2
## 1.11.4
`2016-09-26`
- 修复 Popover 内嵌 Badge 后失效的问题。[#3109](https://github.com/ant-design/ant-design/issues/3109)
- 修复 Modal 内嵌的 Button 在某些情况下与 Modal 的滚动不同步的问题。[#3031](https://github.com/ant-design/ant-design/issues/3031)
## 1.11.1
`2016-09-14`
- 修复 Menu 设置成 `theme=dark` 后,链接点击无效的问题。[#2929](https://github.com/ant-design/ant-design/issues/2929)
- 修复迷你型 Table 表头与内容不对齐的问题。[#2933](https://github.com/ant-design/ant-design/issues/2933)
- 修复 Cascader hover 样式。[#3015](https://github.com/ant-design/ant-design/issues/3015)
- 修复 Upload 上传多个文件时,`onChange` 调用不正确的问题。[#3001](https://github.com/ant-design/ant-design/issues/3001)
- 修复 TimePicker 报错样式的问题。[#2973](https://github.com/ant-design/ant-design/issues/2973)
- 修复 Calendar 控件的年度选择下拉内容截断的问题。[#2927](https://github.com/ant-design/ant-design/issues/2927)
## 1.11.0
`2016-09-01`
- `Tooltip` `Popover` `Popconfirm` 修正默认对齐方式为边缘对齐,增加 arrowPointAtCenter 属性用于箭头指向中心的行为。[commit 977e2e3](https://github.com/ant-design/ant-design/commit/977e2e32fc40968846c8201ed72bdc3818375d2f)
- `Table`
- 移除数据中添加的 `indexForSort`。[#2501](https://github.com/ant-design/ant-design/issues/2501)
- 修复 `pagination` 属性中 `defaultPageSize` 不生效的问题。[#2874](https://github.com/ant-design/ant-design/issues/2874)
- 修复数据为空时固定列出现重复提示的问题。[#2812](https://github.com/ant-design/ant-design/issues/2812)
- 给树形子数据增加排序功能。[#2839](https://github.com/ant-design/ant-design/issues/2839)
- `InputNumber` 样式问题修复。[#2876](https://github.com/ant-design/ant-design/issues/2876)
- 修复手动导入 less 文件时 input error 样式被 focus 样式覆盖的问题。[#2916](https://github.com/ant-design/ant-design/issues/2916)
- index.d.ts 中补充了一些缺失的声明,修复 `Form` 中 typescript 语法检查报错的问题。[#2885](https://github.com/ant-design/ant-design/issues/2885)
- 升级 react-slick 依赖到 `0.13`。
## 1.10.0
`2016-08-20`
- Affix 和 BackTop 新增 `target` 属性,支持指定滚动容器。[#2718](https://github.com/ant-design/ant-design/issues/2718)
- 文档页面加上编辑按钮,方便社区贡献。[#2325](https://github.com/ant-design/ant-design/issues/2325)
- 升级 rc-cascader 依赖,修复一个 `loadData` 属性和表单结合使用的问题。[#2767](https://github.com/ant-design/ant-design/issues/2767)
- 修复 `editable-card` 类型的 Tabs 没有关闭图标的问题。[#2747](https://github.com/ant-design/ant-design/issues/2747)
- Menu 修正默认 `z-index`。[#2762](https://github.com/ant-design/ant-design/issues/2762)
- 修正 Select 组件在 IE 下的一些样式问题。[#2741](https://github.com/ant-design/ant-design/issues/2741)
## 1.9.1
`2016-08-16`
- 修复 `editable-card` 类型的 Tabs 设置 `activeKey` 无效的问题。[#2725](https://github.com/ant-design/ant-design/issues/2725)
- 修复一个 Table 的样式兼容性问题。[#2723](https://github.com/ant-design/ant-design/issues/2723)
- 更新 axure 部件库。[#2714](https://github.com/ant-design/ant-design/issues/2714)
## 1.9.0
`2016-08-15`
- Transfer 修复在火狐下 item 文案过长时只显示省略号的问题。[#2674](https://github.com/ant-design/ant-design/issues/2674)
- Input 修复 `autosize` 模式下特定场景中不能输入中文及光标定位不准的问题。[#2666](https://github.com/ant-design/ant-design/issues/2666) [#2239](https://github.com/ant-design/ant-design/issues/2239)
- Tabs 修复 `type="editable-card"` 模式下的 `children` 解析问题。[#2658](https://github.com/ant-design/ant-design/issues/2658)
- Radio 修复若干 less 硬编码问题。[#2424](https://github.com/ant-design/ant-design/issues/2424)
- Upload 的 rc-upload 依赖升级至 2.x引入的变化有
- 增加 `disabled` 属性。[#2645](https://github.com/ant-design/ant-design/issues/2645)
- 取消上传时会自动 abort 上传请求。[#2571](https://github.com/ant-design/ant-design/issues/2571) [#2518](https://github.com/ant-design/ant-design/issues/2518)
- Table
- 修复 spin 在可滚动区域的定位问题。[#2652](https://github.com/ant-design/ant-design/issues/2652)
- 修复无数据时 提示样式错位的问题。[#2663](https://github.com/ant-design/ant-design/issues/2663)
- Popover 修复设定 `getTooltipContainer` 后会导致内嵌 DatePicker 样式失效的问题。[#2675](https://github.com/ant-design/ant-design/issues/2675)
- Modal 修复重复卸载组件导致的报错。[#2688](https://github.com/ant-design/ant-design/issues/2688)
- 升级 rc-slider 组件依赖。
## 1.8.0
`2016-08-08`
- 修复可关闭 Tabs 组件只有一个 Tab 的时候报错的问题。[#2559](https://github.com/ant-design/ant-design/issues/2559)
- 修复 Datepicker 在 IE8 下关闭图标。[#2584](https://github.com/ant-design/ant-design/issues/2584)
- Tags 支持自定义标签颜色。[#2585](https://github.com/ant-design/ant-design/issues/2585)
- TreeSelect 修复未找到内容时的样式。[9cee9f](https://github.com/ant-design/ant-design/commit/9cee9f103a4729572358206c81cba84e2fdc20f5)
- Modal 适配小屏幕。[#2597](https://github.com/ant-design/ant-design/issues/2597)
- 修复了 Row 组件在同一行闭合会报错的问题。[#2603](https://github.com/ant-design/ant-design/issues/2603)
- Table 的 `rowSelection.onChange` 的参数 `selectedRows` 现在和 `selectedRowKeys` 保持一致。[#2566](https://github.com/ant-design/ant-design/issues/2603)
- Checkbox 和 Radio 现在支持 `onClick` 属性。
## 1.7.0
`2016-07-30`
友情提示 [Ant Design Mobile](http://mobile.ant.design) 已经发布。
- Table
- 现可以定义页头。[demo](http://ant.design/components/table#components-table-demo-bordered)
- 修复当 `rowKey` 为 `String` 时的报错问题。[#2500](https://github.com/ant-design/ant-design/issues/2500)
- 修复 `Table` 会修改 `dataSource` 里面的值的问题。[#2501](https://github.com/ant-design/ant-design/issues/2501)
- Form 现在不再需要显式传递 `form={this.props.form}`。
- 优化 Breadcrumb.Item 的 hover 效果。
- 优化 Progress 的动画效果。
- DatePicker
- 优化清除按钮样式。
- 修复点击 `此刻` 时不触发 `onChange` 的问题。[#1902](https://github.com/ant-design/ant-design/issues/1902)
- Menu
- 修复子菜单中的 Item 被选中后,父级元素无样式变化的问题。[#2414](https://github.com/ant-design/ant-design/issues/2414)
- 修复 Menu.Item disabled 后的样式问题。
- TreeSelect
- treeNodes 可以设置是否可选。[#2401](https://github.com/ant-design/ant-design/issues/2401)
- 修复多选模式下进行搜索会把已选项清掉的问题。[#2393](https://github.com/ant-design/ant-design/issues/2393)
- 修复 TreeSelect 会修改原数据的问题。[#2459](https://github.com/ant-design/ant-design/issues/2459)
- 修复了 Select 组件 placeholder 溢出的问题。[#2480](https://github.com/ant-design/ant-design/pull/2480)
- 修复 Timeline.Item 无法自定义边框颜色的问题。[#2479](https://github.com/ant-design/ant-design/issues/2479)
- 修复 Spin 显示突兀的问题。[#2398](https://github.com/ant-design/ant-design/issues/2398)
- 修复 Cascader 选项文字过长导致的样式问题。[#2515](https://github.com/ant-design/ant-design/issues/2515)
## 1.6.5
`2016-07-16`
- 修复 Input 的 `value prop on input should not be null` 警告并且导致在表单中无法重置的问题。[#2335](https://github.com/ant-design/ant-design/issues/2335)
- 优化 FormItem 的布局实现,修复表单布局不支持响应式布局的问题。[#2305](https://github.com/ant-design/ant-design/issues/2305)
- 修复带时间的 DatePicker 的 onChange 触发逻辑。[#2399](https://github.com/ant-design/ant-design/issues/2399#issuecomment-232893146)
- 修复 Transfer 搜索后全选的问题。[#2396](https://github.com/ant-design/ant-design/issues/2396)
- 修复 Cascader 样式会被 ant-input 样式覆盖的问题。[#2400](https://github.com/ant-design/ant-design/issues/2400)
- 修复 Table 删除数据时导致当前页数溢出的问题。[#2301](https://github.com/ant-design/ant-design/pull/2301)
- 修复 resize 浏览器时 Affix 元素没有和原来的位置同步的问题。[#1987](https://github.com/ant-design/ant-design/issues/1987)
- 给 Affix 元素添加占位,修复固定时页面跳动的问题。
- 修复 Select combobox 模式会导致页面出现横向滚动条的问题。[#2353](https://github.com/ant-design/ant-design/issues/2353)
- 修复 Upload 组件已上传文件链接点击无效的问题。[#2331](https://github.com/ant-design/ant-design/issues/2331)
- 修复 Upload 上传过程中删除图片后的报错问题。[#2342](https://github.com/ant-design/ant-design/issues/2342)
## 1.6.4
`2016-07-08`
- 修复组件在 react@15.2.0 下报 Unknown props 警告的问题。[#2258](https://github.com/ant-design/ant-design/issues/2258)
- `Table`
- 修复 filterDropDown 中内容未改变也会调用 onChange 的问题。[#2228](https://github.com/ant-design/ant-design/issues/2228)
- 修复设置 scroll.y 高度后导致内容无法对齐的问题。[#2227](https://github.com/ant-design/ant-design/issues/2227)
- `Form`
- 修复 `FormItem` 中带空格后缀的冒号替换问题关联issue[#1877](https://github.com/ant-design/ant-design/issues/1877)
- demo 优化。
- `Transfer`
- 修复重复 render 的问题,性能优化。[#2112](https://github.com/ant-design/ant-design/issues/2112)
- 优化搜索逻辑,修复搜索时未对特殊字符进行处理的问题。[#2260](https://github.com/ant-design/ant-design/issues/2260)
- 清除按钮样式优化。
- 修复 `Steps` 最后一步多余横线隐藏的问题。
- 修复 `Cascader` small size 样式下沉 1px以及 hover/click 样式残缺的问题。[#2234](https://github.com/ant-design/ant-design/issues/2234)
- 修复 `RangePicker` 无清除按钮的问题。[#2252](https://github.com/ant-design/ant-design/issues/2252)
## 1.6.3
`2016-07-04`
- 修复 Transfer 的一个 unmount 的错误。[#2206](https://github.com/ant-design/ant-design/pull/2206)
- 修复了 Badge、Alert、Menu、Tag、Checkbox、Radio 组件的一些样式细节问题。
## 1.6.2
`2016-06-27`
- 修复 Table、Transfer 的样式错位问题。
- 修复 DatePicker 的一个样式问题。[#2182](https://github.com/ant-design/ant-design/issues/2182)
- 优化 Menu 的 hover 样式响应性能。
## 1.6.1
`2016-06-24`
- 回滚一个未完成的 DatePicker 时间选项改造效果。
## 1.6.0
`2016-06-24`
- 新增置顶组件 [BackTop](/components/back-top)。
- 全新的 [Spin](/components/spin) 样式。
- 给 `Modal.xxx` 系列方法添加了 `{ destory }` 的访问值,方便事后销毁。[#2110](https://github.com/ant-design/ant-design/issues/2110)
- Table 的 `rowKey` 属性支持直接使用字符串。[#2058](https://github.com/ant-design/ant-design/issues/2058)
- Table 增加 `column.filterDropdown` 属性用于自定义渲染筛选菜单的浮层。[#1736](https://github.com/ant-design/ant-design/issues/1736)
- 修复 Tooltip、Popover、Popconfirm 设置 `onVisibleChange` 后失效的问题。[#2134](https://github.com/ant-design/ant-design/issues/2134)
- 修复在 IE8 下 Checkbox 的勾样式变形的问题。[#2148](https://github.com/ant-design/ant-design/issues/2148)
- 优化 Checkbox、Radio 失效状态的文字颜色。[#2114](https://github.com/ant-design/ant-design/issues/2114)
- 优化 Checkbox、Radio 的默认边距过于拥挤的问题。[#2137](https://github.com/ant-design/ant-design/issues/2137)
- 优化 Pagination 在暗色背景下的样式。[#2126](https://github.com/ant-design/ant-design/issues/2126)
- 修复 Table 固定列时内容无法换行和高度对齐的问题,同时修复了一个 Chrome 下的表格内容错位问题。[#2130](https://github.com/ant-design/ant-design/issues/2130)
- 修复一个 Table 的 `rowSelection` 设为 null 时可能导致报错的问题。[#2127](https://github.com/ant-design/ant-design/issues/2127)
- 修复在 IE8 下点击 Table 选择框报错的问题。[#2154](https://github.com/ant-design/ant-design/issues/2154)
- 小幅优化了 Transfer 的渲染性能。[#2112](https://github.com/ant-design/ant-design/issues/2112)
- 将 DatePicker 的清除按钮从面板上移到外部输入框,解决用户容易误解为关闭的问题。[#1708](https://github.com/ant-design/ant-design/issues/1708)
- Upload 的 `onPreview` 现在没有 `file.url` 时也能生效。[#2163](https://github.com/ant-design/ant-design/issues/2163)
## 1.5.1
`2016-06-21`
- 修复一个 TypeScript 定义文件的语法错误。
- 修复 Table 固定表头高度和滚动条样式问题。
## 1.5.0
`2016-06-17`
- 升级 `rc-form` 到 0.17,支持 `getFieldProps('xx.yy')` 的写法,并支持单多选控件进行关联。[#](https://github.com/react-component/form/pull/21)
- Input 的 `addonBefore` 和 `addonAfter` 支持内嵌选择框。[#1927](https://github.com/ant-design/ant-design/issues/1927)
- 优化了两个 DatePicker 组成的时间范围选择演示的体验。
- 优化一个多个对话框的遮罩层高度的问题。[#2009](https://github.com/ant-design/ant-design/issues/2009)
- 优化 Table 的 `getCheckboxProps` 的调用次数。[#2086](https://github.com/ant-design/ant-design/issues/2086)
- 修复 Table 固定列时,表头无法左右滚动的问题。[#2068](https://github.com/ant-design/ant-design/issues/2068)
- 修复小型表格固定表头的样式。[#2023](https://github.com/ant-design/ant-design/issues/2023)
- 修复 Tabs 的 `tabPosition` 为左右时样式错位的问题。[#2046](https://github.com/ant-design/ant-design/issues/2046)
- 修复 RangePicker 的日期范围背景丢失的问题。
- 修复 Switch 失效状态下文字颜色太浅的问题。[#2051](https://github.com/ant-design/ant-design/issues/2051)
- 修复一个 Select 的 `disabled` 选项依然可以被移除的问题。[#2034](https://github.com/ant-design/ant-design/issues/2034)
- 修复官方站点在 IE 下的报错问题。
## 1.4.1
`2016-06-12`
- 修复一个展开 Tabs 会导致表格宽度溢出的问题。[#2013](https://github.com/ant-design/ant-design/issues/2013)
- 修复一个某些情况下表格布局被破坏的问题。
## 1.4.0
`2016-06-12`
此版本之后你可能会遇到 [#2030](https://github.com/ant-design/ant-design/issues/2030),请使用 `react@15+` 或 `npm@3+`。
- `Input[type="textarea"]` 支持自动调整高度。 [#](http://ant.design/components/input#components-input-demo-autosize-textarea)
- `Breadcrumb`
- `nameRender` 新增 `route` 和 `params` 参数。 [#1999](https://github.com/ant-design/ant-design/issues/1999)
- `linkRender` 新增 `paths` 参数。
- 再次修复 `Table` 组件 `rowSelection.onChange` 与 `onRowClick` 冲突问题。 [#1470](https://github.com/ant-design/ant-design/issues/1470)
- 修复 `Form.Item` 中 `Input` 高度抖动问题。 [#1955](https://github.com/ant-design/ant-design/issues/1955)
- 修复高级搜索的 `ant-advanced-search-form` 样式丢失的问题。
## 1.3.2
`2016-06-06`
- 修复全局模式下引用 antdIE8 环境报错的问题。 [#1970](https://github.com/ant-design/ant-design/issues/1970)
## 1.3.1
`2016-06-06`
- 修复 `Message` `Notification` 找不到的问题。 [#1968](https://github.com/ant-design/ant-design/issues/1968)
## 1.3.0
`2016-06-02`
- Transfer 组件增加 `rowKey` 属性,可自定义数据源主键。 [#1900](https://github.com/ant-design/ant-design/issues/1900)
- Tag 组件 `default` 类型的样式增加边框,防止淹没在背景中。 [#1910](https://github.com/ant-design/ant-design/issues/1910)
- Table
- 修复筛选为单选时仍旧展示多选框的问题。 [#1880](https://github.com/ant-design/ant-design/issues/1880)
- 修复 fixed left 的固定列会覆盖 rowSelection 的 Checkbox 的问题。 [#1829](https://github.com/ant-design/ant-design/issues/1829)
- 升级 rc-table 依赖
- 修复了 fixed 列中数据重复展示以及一些错位问题。 [#1898](https://github.com/ant-design/ant-design/issues/1898)
- `dataIndex` 支持内嵌属性的写法。 [react-component/table#46](https://github.com/react-component/table/issues/46)
- 修复了 v1.2.0 新增加的组件属性的 TypeScript 定义。 [#1933](https://github.com/ant-design/ant-design/issues/1933)
- Form 修复 label中冒号的国际化问题采用样式实现冒号不再需要手动输入冒号。 [#1877](https://github.com/ant-design/ant-design/issues/1877)
- 修复 DatePicker 组件点击『此刻』失效的问题,并进行了一些代码优化。 [#1902](https://github.com/ant-design/ant-design/issues/1902)
- 升级 rc-upload 依赖,修复了 IE10 中第二次上传同一文件不触发 `onChange` 的问题。 [058af3c](https://github.com/ant-design/ant-design/commit/b15a4e3165be5e4db995d3fe75d4d557c7f21c61)
- 文档使用 [bisheng](https://github.com/benjycui/bisheng) 重构。
## 1.2.1
`2016-05-27`
- 修复一个 Select 组件的文字重复问题。
## 1.2.0
`2016-05-26`
- Input 组件的文档现在和 Form 分离。 [3c98d3](https://github.com/ant-design/ant-design/commit/3c98d3f80f4ec80066756adc3b4108141d4383ca)
- Affix
- 新增了 `onChange` 属性。当固定状态改变时回调 [#1777](https://github.com/ant-design/ant-design/issues/1777)
- 找回了从 affixStyle 中走失的 `width` 属性,修复固定后错位的问题。[#1820](https://github.com/ant-design/ant-design/issues/1820)
- Table
- 修复了 Table 组件的分页相关的一系列问题 [#1669](https://github.com/ant-design/ant-design/issues/1669) [#1842](https://github.com/ant-design/ant-design/issues/1842)
- 修复了当有列固定在左边时,选择框不显示的问题 [#1829](https://github.com/ant-design/ant-design/issues/1829)
- 修复了当 Checkbox 的 label 为数字 0 时, label 不显示的问题 [#1811](https://github.com/ant-design/ant-design/issues/1811)
- 修复 Select combobox 模式下无法重置 `optionLabelProp` 的问题。[#1773](https://github.com/ant-design/ant-design/issues/1773)
- 修复了 Tag 组件为 closeable 时,内部链接无法点击的问题 [#1862](https://github.com/ant-design/ant-design/issues/1862)
- Tab 组件新增 `hideAdd` 属性,用于关闭右边的添加按钮 [#1750](https://github.com/ant-design/ant-design/issues/1750)
- 修复了一个在某些情况下找不到 `normalize.css/normalize.css` 文件的问题。[ant-design/antd-init#52](https://github.com/ant-design/antd-init/issues/52)
- 修复构建文件在 IE8 下报错的问题。[#1804](https://github.com/ant-design/ant-design/issues/1804)
- 更新了第三方依赖。
## 1.1.0
`2016-05-18`
- Cascader 的选择框支持自定义渲染节点,并给 `displayRender` 方法增加了 `selectedOptions` 参数。[#1726](https://github.com/ant-design/ant-design/issues/1726)
- Input.Group 新增 `size` 属性,可设置控件尺寸。[#1732](https://github.com/ant-design/ant-design/issues/1732)
- Layout 新增常用布局:侧边导航展开收起模式。[#1643](https://github.com/ant-design/ant-design/issues/1643)
- Transfer 支持自定义渲染行数据。[#1664](https://github.com/ant-design/ant-design/issues/1664)
- Upload 的 children 为空时,不再显示上传按钮。[#1610](https://github.com/ant-design/ant-design/issues/1610)
- Table
- 修复 `filter` 过滤数据后显示错误分页的问题。[#1669](https://github.com/ant-design/ant-design/issues/1669)
- 修复 `pagination` 不指定时显示错误分页的问题。[#1683](https://github.com/ant-design/ant-design/issues/1683)
- Modal
- 修复弹出时背景依然跟随滚动的问题。[#1751](https://github.com/ant-design/ant-design/issues/1751)
- 修复关闭按钮获得焦点时的样式问题。[#1668](https://github.com/ant-design/ant-design/issues/1668)
- 将搜索输入框相关样式移到 Input 组件下。[7b7f846](https://github.com/ant-design/ant-design/commit/7b7f8461611e53f4f96ae8d64d37fe28ee8d2553)
- 修复 Select 获得焦点时的样式问题。[#1684](https://github.com/ant-design/ant-design/issues/1684)
- 修复 TreeSelect 占位符样式问题。[#1657](https://github.com/ant-design/ant-design/issues/1657)
- 修复了类型定义以更好地支持 `TypeScript`。[#1696](https://github.com/ant-design/ant-design/pull/1696) [@xujihui1985](https://github.com/xujihui1985)
- 优化了 LocaleProvider。[a3850a4](https://github.com/ant-design/ant-design/commit/a3850a4df84d7055a1a40600919f2f9ba1bbf2b2)
- 其他组件的样式优化。
## 1.0.1
`2016-05-11`
- 修复当 Table 的 `rowSelection.type` 为 'radio' 时的报错。[#1627](https://github.com/ant-design/ant-design/issues/1627)
- 修复 CheckboxGroup 与 `getFieldProps`共用时的问题。[#1631](https://github.com/ant-design/ant-design/issues/1631)
- 修复 RangePicker 中 TimePicker 不会受 locale 控制的问题。[#1635](https://github.com/ant-design/ant-design/issues/1635)
- 修复 Tag 组件缺失的问题。
- 修复 Table 的 className 不在最外层容器上的问题。
- 修复一个样式文件重复打包的问题。
## 1.0.0
`2016-05-09`
很高兴的通知各位,经过四个月时间的紧密开发,`antd@1.0.0` 终于发布了。从去年 5 月 7 日提交第一行代码以来经过整整一年的开发迭代antd 受到社区的大量关注,使用的公司和产品持续增加,已经日趋成熟。这个版本我们重构了底层代码和站点,持续完善现有组件功能和优化细节,其中很多都来自社区的贡献,无法一一感谢,欢迎各位持续关注和鞭策。在升级过程中遇到任何问题,请及时反馈给我们。
### 主要变化
- **兼容 React@15.x**。
- **全新单页站点**,使用 React 和 antd 进行了彻底重构,加载更快,访问更流畅。
- **样式支持按需加载**。可参考 [antd-init](https://github.com/ant-design/antd-init) 的模版代码, 需要配合 [babel-plugin-antd](https://github.com/ant-design/babel-plugin-antd#usage) 插件和 `style` 配置进行使用。[#900](https://github.com/ant-design/ant-design/issues/900)
- **提供独立的构建文件**。[文档](/docs/react/install#浏览器引入)
- 新增卡片组件 [Card](/components/card)。
- 新增评分组件 [Rate](/components/rate)。
- 新增 [LocaleProvider](/components/locale-provider) 组件,提供组件文案的国际化支持,并新增了英语和俄语的语言配置。[#1411](https://github.com/ant-design/ant-design/issues/1411)
- 更好的服务端渲染支持,修复了 Badge、Spin、Calendar、Upload 等组件服务端渲染的问题。
- 新增 antd.d.ts 以更好的支持 TypeScript。[@bang88](https://github.com/bang88)
- 布局组件支持响应式布局和栅格间隔设置。[#1082](https://github.com/ant-design/ant-design/issues/1082)
- Table 支持固定列和横向滚动。[#1265](https://github.com/ant-design/ant-design/issues/1265)
### 不兼容改动
此版本有部分不兼容的改动,升级时确保修改相应的使用代码。
- 推荐使用样式按需加载。如果依然需要整体载入样式,**样式入口文件已变为** `antd/dist/antd.css` 和 `antd/dist/antd.less`。如果你在项目中覆盖了 less 变量less 文件的引用方式也有 [相应变更](https://github.com/ant-design/ant-design/issues/1558#issuecomment-218120000)。
```diff
- import 'antd/lib/index.css'; // import 'antd/style/index.less';
+ import 'antd/dist/antd.css'; // import 'antd/dist/antd.less';
```
- 完全移除了 `0.12` 中废弃的 Validation 组件,可以直接 import [rc-form-validation](https://github.com/react-component/form-validation) 用以代替。[#1096](https://github.com/ant-design/ant-design/issues/1096)
- Breadcrumb.Item 的 `href` 属性被移除,请直接用 `a` 标签包裹可点击的内容。
- Modal 移除了 `align` 属性,现在可以使用 `style` 属性调整位置。
- `Modal.confirm` 等方法的配置项 `iconClassName` 重命名为 `iconType`。
- Select 移除了 `onChange` 中的 `label` 参数,新增了 `labelInValue` 属性。[#1695](https://github.com/ant-design/ant-design/issues/1695)
- 移除了 `import { Form } from 'antd/lib/form';` 的用法,应统一为 `import { Form } from 'antd';` 或 `import Form from 'antd/lib/form';`。
#### 有兼容提示的改动
这里的改动在升级后控制台会出现警告提示,请按提示进行修改。
- 废弃 QueueAnim可以直接 import [rc-queue-anim](https://github.com/react-component/queue-anim) 用以代替。Ant Design 的动效方案已移至 [Ant Motion](http://motion.ant.design/components/queue-anim),欢迎前往探索。
- Affix 的 `offset` 属性重命名为 `offsetTop`。
- Popover 的 `overlay` 属性重命名为 `content`。
- Progress.Line 使用方式改为 `<Progress />` 或 `<Progress type="line" />`。
- Progress.Circle 使用方式改为 `<Progress type="circle" />`。
- Spin 的 `spining` 属性更正为 `spinning`。
- Alert 的 type `warn` 重命名为 `warning`。[#1225](https://github.com/ant-design/ant-design/issues/1225)
- Tree 的 `onExpand` 参数从 `function(node, expanded, expandedKeys)` 调整为 `function(expandedKeys, {expanded, node})`。
### Bug 修复
- 修复 Table 的 `size` 为 `middle` 时,分页器大小无法控制的问题。[#1396](https://github.com/ant-design/ant-design/issues/1396)
- 修复 Table 的 `pagination.defaultCurrent` 失效的问题。
- 修复 Cascader 的 `defaultValue` 没有被 `value` 覆盖的问题。
- 修复 Select 同时设置 `allowClear` `disabled` 时还是会出现清除按钮的问题。[#1480](https://github.com/ant-design/ant-design/issues/1480)
- 修复 Transfer 的 `DataSource` 变化时已选中项没有同步的问题。[#1587](https://github.com/ant-design/ant-design/issues/1587)
- 修复 DatePicker 日期格式与国际化配置不同步的问题。[#1509](https://github.com/ant-design/ant-design/issues/1509)
- 修复 Button 禁用时事件仍然会冒泡的问题。[#1541](https://github.com/ant-design/ant-design/issues/1541)
- 修复 Carousel 自动播放时的卡顿和报错问题。[#1397](https://github.com/ant-design/ant-design/issues/1397)
- 修复 Tabs 的 card 类型内嵌标准 Tabs 时的样式问题。[#1617](https://github.com/ant-design/ant-design/issues/1617)
- 修复 Menu `horizontal` 和 `vertical` 模式不支持受控 `openKeys` 的问题。
### 其他改进
- 样式变量梳理,去除了部分无用的变量,另外还有大量样式细节问题修复。
- 依赖的 normalize.css 升级到 [4.x](https://github.com/necolas/normalize.css/blob/4.1.1/CHANGELOG.md)。
- 使用 ES2016 classes 重构了代码。[@waywardmonkeys](https://github.com/waywardmonkeys)
- Popover、Popconfirm 和 Tooltip 组件根据不同的弹出位置有了更精准方向的弹出动画。
- 补充 Select TreeSelect Switch Radio Checkbox 等组件的 `focus` 表现,增强表单组件的可用性。[#1358](https://github.com/ant-design/ant-design/issues/1358)
- message 和 notification 现在可以全局配置 `duration`。[#1143](https://github.com/ant-design/ant-design/issues/1143)
- DatePicker 和 TimePicker 的 `onChange(date, dateString)` 方法增加第二个参数用于获得格式化后的日期字符串。[#1104](https://github.com/ant-design/ant-design/issues/1104)
- DatePicker 和 DatePicker.RangePicker 现在可以设置内部 TimePikcer 的属性。[#1415](https://github.com/ant-design/ant-design/issues/1415)
- Checkbox
- 支持类似 Radio 的使用方式 `<Checkbox>option</Checkbox>`。[#1029](https://github.com/ant-design/ant-design/issues/1029)
- Checkbox.Group 现在允许 `label` 和 `value` 不同。[#1025](https://github.com/ant-design/ant-design/issues/1025)
- Checkbox.Group 允许单独设置某个 Checkbox 为 `disabled`。[#1218](https://github.com/ant-design/ant-design/issues/1218)
- Breadcrumb
- 支持路由模式下自定义链接 `linkRender`。[#1026](https://github.com/ant-design/ant-design/issues/1026)
- 支持路由模式下自定义最后一项内容 `nameRender`。[#1304](https://github.com/ant-design/ant-design/issues/1304)
- Modal
- 新增 `Modal.warning` 方法。
- 弹出时背景不再跟随滚动。[#1195](https://github.com/ant-design/ant-design/issues/1195)
- Select
- 搜索框和单选选择框合并,以优化视觉和交互效果。
- 优化多选框的选中效果。
- Spin
- 增加延时展示以优化体验。[#1273](https://github.com/ant-design/ant-design/issues/1273)
- 增加 `tip` 属性用于定义加载文案。[#1046](https://github.com/ant-design/ant-design/issues/1046)
- Steps
- 重构布局方式,以支持更灵活的自适应布局和优化了性能,并移除了 `maxDescriptionWidth` 属性。[#1099](https://github.com/ant-design/ant-design/issues/1099)
- 新增 `status` 属性以指定当前步骤状态,同时支持错误步骤的展示。[#1098](https://github.com/ant-design/ant-design/issues/1098)
- Timeline
- 新增 `dot` 属性,可自定义时间轴点。
- 现在可以设置 `className` 和 `style` 的问题。
- `color` 属性现在支持自定义色值。
- Tree
- 当子节点被选中时,自动展开父节点。
- 新增 `checkStrictly` 属性,支持父子节点选中关系脱离。
- Upload
- 在上传文件列表中的文件被删除时,将触发 `onRemove` 事件。[#1240](https://github.com/ant-design/ant-design/issues/1240)
- 增加 `onPreview` 支持文件的自定义预览方式。[#1240](https://github.com/ant-design/ant-design/issues/1240)
- `data` 属性支持设为一个函数,用于动态修改上传参数。[react-component/upload#32](https://github.com/react-component/upload/pull/32)
- Slider `marks` 现在支持 JSX 并可以单独设置某个标记的样式。
- Tag 的 `onClose` 可以使用 `e.preventDefault()` 阻止默认事件。[#1267](https://github.com/ant-design/ant-design/issues/1267)
- Form.Item 在有多个 child 时也可以自动生成错误信息与校验状态,但一个 Form.Item 内仍然只能有一个表单控件。[#1287](https://github.com/ant-design/ant-design/issues/1287)
- Input 新增 `onPressEnter` 属性监听回车事件。
- Table 现在可以通过 `filteredValue` `sortOrder` 控制筛选和排序的状态。[#971](https://github.com/ant-design/ant-design/issues/971)
- Button 增加了 `icon` 属性。[#1199](https://github.com/ant-design/ant-design/issues/1199)
- SubMenu 增加 `onTitleClick` 属性。
- Affix 增加 `offsetBottm` 属性,支持固定在底部。[#1000](https://github.com/ant-design/ant-design/issues/1000)
### 相关工具发布
- [antd-init](http://github.com/ant-design/antd-init) 同步发布 `1.0.0` 版本,享受最新 [ant-tool](https://github.com/ant-tool/) 工具带来的流畅开发体验。
- [Ant Motion](http://motion.ant.design) 全新的动效设计解决方案。
- [Ant UX](http://ux.ant.design/) 发布 1.0 版本,提供多种平台的流程素材支持。
## 0.12.17
去 [GitHub](https://github.com/ant-design/ant-design/releases?after=1.0.0) 查看 `0.12.x` 及之前的更新日志。
去 [GitHub](https://github.com/ant-design/ant-design/releases?after=2.0.0) 查看 `0.x` 到 `1.x` 的 Change Log。

View File

@@ -5,11 +5,14 @@
</p>
# Ant Design
[![](https://img.shields.io/travis/ant-design/ant-design.svg?style=flat-square)](https://travis-ci.org/ant-design/ant-design)
[![Coverage Status](https://coveralls.io/repos/github/ant-design/ant-design/badge.svg?branch=master)](https://coveralls.io/github/ant-design/ant-design?branch=master)
[![Dependency Status](https://img.shields.io/david/ant-design/ant-design.svg?style=flat-square)](https://david-dm.org/ant-design/ant-design)
[![npm package](https://img.shields.io/npm/v/antd.svg?style=flat-square)](https://www.npmjs.org/package/antd)
[![NPM downloads](http://img.shields.io/npm/dm/antd.svg?style=flat-square)](https://npmjs.org/package/antd)
[![CDNJS](https://img.shields.io/cdnjs/v/antd.svg?style=flat-square)](https://cdnjs.com/libraries/antd)
[![Dependency Status](https://david-dm.org/ant-design/ant-design.svg?style=flat-square)](https://david-dm.org/ant-design/ant-design)
[![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/ant-design/ant-design.svg)](http://isitmaintained.com/project/ant-design/ant-design "Average time to resolve an issue")
[![Join the chat at https://gitter.im/ant-design/ant-design](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/ant-design/ant-design?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
一套企业级的 UI 设计语言和 React 实现。
@@ -53,7 +56,7 @@ import 'antd/dist/antd.css'; // or 'antd/dist/antd.less'
tsconfig.json
```
```js
{
"compilerOptions": {
"moduleResolution": "node",
@@ -63,23 +66,27 @@ tsconfig.json
}
```
> 注意:设置 `allowSyntheticDefaultImports` 避免 `error TS1192: Module 'react' has no default export` 的错误。
## 链接
- [首页](http://ant.design/)
- [React 实现](http://ant.design/docs/react/introduce)
- [修改记录](CHANGELOG.zh-CN.md)
- [开发脚手架](https://github.com/ant-design/antd-init/)
- [组件文档](http://ant.design/docs/react/introduce)
- [更新日志](CHANGELOG.en-US.md)
- [开发脚手架](https://github.com/dvajs/dva-cli)
- [开发工具文档](http://ant-tool.github.io/)
- [React 基础组件](http://react-component.github.io/)
- [移动端组件](http://mobile.ant.design)
- [React 代码规范](https://github.com/react-component/react-component.github.io/blob/master/docs/zh-cn/component-code-style.md)
- [组件设计原则](https://github.com/react-component/react-component.github.io/blob/master/docs/zh-cn/component-design.md)
- [网站和组件开发说明](https://github.com/ant-design/ant-design/wiki/%E7%BD%91%E7%AB%99%E5%92%8C%E7%BB%84%E4%BB%B6%E5%BC%80%E5%8F%91%E8%AF%B4%E6%98%8E)
- [版本发布手册](https://github.com/ant-design/ant-design/wiki/%E8%BD%AE%E5%80%BC%E8%A7%84%E5%88%99%E5%92%8C%E7%89%88%E6%9C%AC%E5%8F%91%E5%B8%83%E6%B5%81%E7%A8%8B)
- [动效](https://motion.ant.design)
- [设计规范速查手册](https://os.alipayobjects.com/rmsportal/HTXUgPGkyyxEivE.png)
- [开发说明](https://github.com/ant-design/ant-design/wiki/Development)
- [版本发布规则](https://github.com/ant-design/ant-design/wiki/%E8%BD%AE%E5%80%BC%E8%A7%84%E5%88%99%E5%92%8C%E7%89%88%E6%9C%AC%E5%8F%91%E5%B8%83%E6%B5%81%E7%A8%8B)
- [社区贡献脚手架和范例](https://github.com/ant-design/ant-design/issues/129)
- [常见问题](https://github.com/ant-design/ant-design/wiki/FAQ)
- [CodePen 模板](http://codepen.io/benjycui/pen/KgPZrE?editors=001)
- [CodePen 模板](http://codepen.io/benjycui/pen/KgPZrE?editors=001) for bug reports
- [Awesome Ant Design](https://github.com/websemantics/awesome-ant-design)
- [定制主题](http://ant.design/docs/react/customize-theme)
## 如何贡献

View File

@@ -5,11 +5,14 @@
</p>
# Ant Design
[![](https://img.shields.io/travis/ant-design/ant-design.svg?style=flat-square)](https://travis-ci.org/ant-design/ant-design)
[![Coverage Status](https://coveralls.io/repos/github/ant-design/ant-design/badge.svg?branch=master)](https://coveralls.io/github/ant-design/ant-design?branch=master)
[![Dependency Status](https://img.shields.io/david/ant-design/ant-design.svg?style=flat-square)](https://david-dm.org/ant-design/ant-design)
[![npm package](https://img.shields.io/npm/v/antd.svg?style=flat-square)](https://www.npmjs.org/package/antd)
[![NPM downloads](http://img.shields.io/npm/dm/antd.svg?style=flat-square)](https://npmjs.org/package/antd)
[![CDNJS](https://img.shields.io/cdnjs/v/antd.svg?style=flat-square)](https://cdnjs.com/libraries/antd)
[![Dependency Status](https://david-dm.org/ant-design/ant-design.svg?style=flat-square)](https://david-dm.org/ant-design/ant-design)
[![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/ant-design/ant-design.svg)](http://isitmaintained.com/project/ant-design/ant-design "Average time to resolve an issue")
[![Join the chat at https://gitter.im/ant-design/ant-design](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/ant-design/ant-design?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
An enterprise-class UI design language and React-based implementation.
@@ -18,9 +21,13 @@ An enterprise-class UI design language and React-based implementation.
- An enterprise-class design language and high quality UI.
- Graceful UI components out of the box, base on [React Component](http://react-component.github.io/badgeboard/).
- Writen in TypeScript with complete define types.
- Written in TypeScript with complete define types.
- A npm + webpack + babel + [dora](https://github.com/dora-js/dora) + [dva](https://github.com/dvajs/dva) development framework.
## Let's build a better antd together [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
`antd` is an open source project, any reasonable improvement is welcomed. If you are interested in contributing to `antd`, you can watch this repository and join in [discussion](https://github.com/ant-design/ant-design/issues?q=is%3Aopen+is%3Aissue+label%3ADiscussion), or try to implement some [features which had been accepted](https://github.com/ant-design/ant-design/issues?q=is%3Aopen+is%3Aissue+label%3A%22PR+welcome%22).
## Install
```bash
@@ -67,18 +74,18 @@ import 'antd/dist/antd.css'; // or 'antd/dist/antd.less'
import 'antd/lib/date-picker/style/css'; // with style
```
## Environment Support
## Browser Support
Normal browsers and Internet Explorer 9+.
* Browser: Modern browsers and Internet Explorer 9+.
> [IE8 issues](https://github.com/xcatliu/react-ie8)
* Server-side Rendering
* [Electron](http://electron.atom.io/)
## TypeScript
tsconfig.json
```
```js
{
"compilerOptions": {
"moduleResolution": "node",
@@ -88,23 +95,25 @@ tsconfig.json
}
```
> Note: set `allowSyntheticDefaultImports` to prevent `error TS1192: Module 'react' has no default export`.
## Links
- [Home page](http://ant.design/)
- [UI library](http://ant.design/docs/react/introduce)
- [ChangeLog](CHANGELOG.en-US.md)
- [Scaffold tool](https://github.com/ant-design/antd-init/)
- [Change Log](CHANGELOG.en-US.md)
- [Scaffold tool](https://github.com/dvajs/dva-cli/)
- [Development tool](http://ant-tool.github.io/)
- [React components](http://react-component.github.io/)
- [Mobile UI](http://mobile.ant.design)
- [React style guide](https://github.com/react-component/react-component.github.io/blob/master/docs/zh-cn/component-code-style.md)
- [React component design guide](https://github.com/react-component/react-component.github.io/blob/master/docs/zh-cn/component-design.md)
- [Motion](https://motion.ant.design)
- [Developer Instruction](https://github.com/ant-design/ant-design/wiki/Development)
- [Versioning Release Note](https://github.com/ant-design/ant-design/wiki/%E8%BD%AE%E5%80%BC%E8%A7%84%E5%88%99%E5%92%8C%E7%89%88%E6%9C%AC%E5%8F%91%E5%B8%83%E6%B5%81%E7%A8%8B)
- [Boilerplates](https://github.com/ant-design/ant-design/issues/129)
- [FAQ](https://github.com/ant-design/ant-design/wiki/FAQ)
- [CodePen boilerplate](http://codepen.io/benjycui/pen/KgPZrE?editors=001) for bug reports
- [Awesome Ant Design](https://github.com/websemantics/awesome-ant-design)
- [Customize Theme](http://ant.design/docs/react/customize-theme)
## Contributing

View File

@@ -0,0 +1,9 @@
import warning from 'warning';
const warned: { [msg: string]: boolean} = {};
export default (valid: boolean, message: string): void => {
if (!valid && !warned[message]) {
warning(false, message);
warned[message] = true;
}
};

View File

@@ -17,8 +17,15 @@ The simplest usage.
import { Affix, Button } from 'antd';
ReactDOM.render(
<Affix>
<Button type="primary">Affix top</Button>
</Affix>
, mountNode);
<div>
<Affix>
<Button type="primary">Affix top</Button>
</Affix>
<br />
<Affix offsetBottom={0}>
<Button type="primary">Affix bottom</Button>
</Affix>
</div>,
mountNode
);
````

View File

@@ -1,24 +0,0 @@
---
order: 2
title:
zh-CN: 下方固定
en-US: Bottom
---
## zh-CN
固定在屏幕下方。
## en-US
Affix to bottom.
````jsx
import { Affix, Button } from 'antd';
ReactDOM.render(
<Affix offsetBottom={20}>
<Button type="primary">20px to affix bottom</Button>
</Affix>
, mountNode);
````

View File

@@ -1,24 +0,0 @@
---
order: 1
title:
zh-CN: 偏移
en-US: Offset
---
## zh-CN
达到一定的偏移量才触发。
## en-US
Affix element according to offset value.
````jsx
import { Affix, Button } from 'antd';
ReactDOM.render(
<Affix offsetTop={75}>
<Button type="primary">75px to affix top</Button>
</Affix>
, mountNode);
````

View File

@@ -1,5 +1,5 @@
---
order: 3
order: 1
title:
zh-CN: 固定状态改变的回调
en-US: Callback
@@ -19,6 +19,7 @@ import { Affix, Button } from 'antd';
ReactDOM.render(
<Affix offsetTop={120} onChange={affixed => console.log(affixed)}>
<Button>120px to affix top</Button>
</Affix>
, mountNode);
</Affix>,
mountNode
);
````

View File

@@ -1,5 +1,5 @@
---
order: 4
order: 2
title:
zh-CN: 滚动容器
en-US: Container to scroll.
@@ -11,27 +11,38 @@ title:
## en-US
Set a `target` for 'Affix', which is listen to scroll event of target element (default is `window`).
Set a `target` for 'Affix', which is listen to scroll event of target element (default is `window`).
````jsx
import { Affix, Button } from 'antd';
const Demo = () => {
return (
<div style={{ height: 100, overflow: 'hidden' }}>
<div style={{ height: '100%', overflowY: 'scroll' }} id="affix-target">
<div style={{ height: 300, backgroundImage: 'url(https://zos.alipayobjects.com/rmsportal/RmjwQiJorKyobvI.jpg)' }}>
<br />
<br />
<br />
<Affix target={() => document.getElementById('affix-target')} offsetTop={20}>
<Button type="primary">Fixed at the top of container</Button>
class Demo extends React.Component {
render() {
return (
<div className="scrollable-container" ref={(node) => { this.container = node; }}>
<div className="background">
<Affix target={() => this.container}>
<Button type="primary">
Fixed at the top of container
</Button>
</Affix>
</div>
</div>
</div>
);
};
);
}
}
ReactDOM.render(<Demo />, mountNode);
````
<style>
#components-affix-demo-target .scrollable-container {
height: 100px;
overflow-y: scroll;
}
#components-affix-demo-target .background {
padding-top: 60px;
height: 300px;
background-image: url('https://zos.alipayobjects.com/rmsportal/RmjwQiJorKyobvI.jpg');
}
</style>

View File

@@ -1,6 +1,6 @@
---
category: Components
type: Other
type: Navigation
title: Affix
---
@@ -8,9 +8,9 @@ Make an element sticky to viewport.
## When To Use
When user browses a long web page, some content need to sticky to viewport. It is common for menus and actions.
When user browses a long web page, some content need to stick to the viewport. This is common for menus and actions.
Please note that Affix should not cover other content in page, especially when the size of viewport is small.
Please note that Affix should not cover other content on the page, especially when the size of the viewport is small.
## API

View File

@@ -64,6 +64,7 @@ export default class Affix extends React.Component<AffixProps, any> {
scrollEvent: any;
resizeEvent: any;
timeout: any;
refs: {
fixedNode: HTMLElement;
};
@@ -172,7 +173,10 @@ export default class Affix extends React.Component<AffixProps, any> {
componentDidMount() {
const target = this.props.target || getDefaultTarget;
this.setTargetEventListeners(target);
// Wait for parent component ref has its value
this.timeout = setTimeout(() => {
this.setTargetEventListeners(target);
});
}
componentWillReceiveProps(nextProps) {
@@ -187,10 +191,14 @@ export default class Affix extends React.Component<AffixProps, any> {
componentWillUnmount() {
this.clearScrollEventListeners();
clearTimeout(this.timeout);
}
setTargetEventListeners(getTarget) {
const target = getTarget();
if (!target) {
return;
}
this.scrollEvent = addEventListener(target, 'scroll', this.updatePosition);
this.resizeEvent = addEventListener(target, 'resize', this.updatePosition);
}

View File

@@ -1,7 +1,7 @@
---
category: Components
subtitle: 固钉
type: Other
type: Navigation
title: Affix
---

View File

@@ -1,6 +1,6 @@
---
category: Components
type: Views
type: Feedback
title: Alert
---
@@ -9,7 +9,7 @@ Alert component for feedback.
## When To Use
- When you need to show alert messages for users.
- When you need a persist static container, and closable by user actions.
- When you need a persistent static container which is closable by user actions.
## API

View File

@@ -93,21 +93,25 @@ export default class Alert extends React.Component<AlertProps, any> {
iconType += '-o';
}
let alertCls = classNames({
[prefixCls]: true,
let alertCls = classNames(prefixCls, {
[`${prefixCls}-${type}`]: true,
[`${prefixCls}-close`]: !this.state.closing,
[`${prefixCls}-with-description`]: !!description,
[`${prefixCls}-no-icon`]: !showIcon,
[`${prefixCls}-banner`]: !!banner,
[className]: !!className,
});
}, className);
// closeable when closeText is assigned
if (closeText) {
closable = true;
}
const closeIcon = closable ? (
<a onClick={this.handleClose} className={`${prefixCls}-close-icon`}>
{closeText || <Icon type="cross" />}
</a>
) : null;
return this.state.closed ? null : (
<Animate
component=""
@@ -119,9 +123,7 @@ export default class Alert extends React.Component<AlertProps, any> {
{showIcon ? <Icon className={`${prefixCls}-icon`} type={iconType} /> : null}
<span className={`${prefixCls}-message`}>{message}</span>
<span className={`${prefixCls}-description`}>{description}</span>
{closable ? <a onClick={this.handleClose} className={`${prefixCls}-close-icon`}>
{closeText || <Icon type="cross" />}
</a> : null}
{closeIcon}
</div>
</Animate>
);

View File

@@ -1,7 +1,7 @@
---
category: Components
subtitle: 警告提示
type: Views
type: Feedback
title: Alert
---

View File

@@ -16,8 +16,8 @@
}
&-icon {
font-size: 14px;
top: 9px;
font-size: @font-size-lg;
top: 9.5px;
left: 16px;
position: absolute;
}
@@ -71,7 +71,7 @@
cursor: pointer;
.@{iconfont-css-prefix}-cross {
color: @legend-color;
color: @text-color-secondary;
transition: color .3s ease;
&:hover {
color: #404040;
@@ -113,7 +113,7 @@
}
&-with-description &-message {
font-size: 14px;
font-size: @font-size-lg;
color: @heading-color;
display: block;
margin-bottom: 4px;

View File

@@ -0,0 +1,103 @@
import React from 'react';
import classNames from 'classnames';
import AnchorHelper, { scrollTo } from './anchorHelper';
export interface AnchorLinkProps {
href: string;
onClick: (href: string, component: Element) => void;
active?: boolean;
prefixCls?: string;
children?: any;
title?: Element;
bounds: number;
target?: () => HTMLElement | Window;
affix?: boolean;
}
export default class AnchorLink extends React.Component<AnchorLinkProps, any> {
static contextTypes = {
anchorHelper: React.PropTypes.any,
};
static defaultProps = {
href: '#',
prefixCls: 'ant-anchor',
};
context: {
anchorHelper: AnchorHelper;
};
private _component: Element;
setActiveAnchor() {
const { bounds, href, affix } = this.props;
const { anchorHelper } = this.context;
const active = affix && anchorHelper && anchorHelper.getCurrentAnchor(bounds) === href;
if (active && anchorHelper) {
anchorHelper.setActiveAnchor(this._component);
}
}
componentDidMount() {
this.setActiveAnchor();
}
componentDidUpdate() {
this.setActiveAnchor();
}
renderAnchorLink = (child) => {
const { href } = child.props;
if (href) {
this.context.anchorHelper.addLink(href);
return React.cloneElement(child, {
onClick: this.props.onClick,
prefixCls: this.props.prefixCls,
affix: this.props.affix,
});
}
return child;
}
refsTo = (component) => {
this._component = component;
}
scrollTo = (e) => {
e.preventDefault();
const { onClick, href } = this.props;
const { anchorHelper } = this.context;
if (onClick) {
onClick(href, this._component);
} else {
e.stopPreventDefault();
const scrollToFn = anchorHelper ? anchorHelper.scrollTo : scrollTo;
scrollToFn(href);
}
}
render() {
const { prefixCls, href, children, title, bounds, affix } = this.props;
const { anchorHelper } = this.context;
const active = affix && anchorHelper && anchorHelper.getCurrentAnchor(bounds) === href;
const cls = classNames({
[`${prefixCls}-link`]: true,
[`${prefixCls}-link-active`]: active,
});
return (
<div className={cls}>
<a
ref={this.refsTo}
className={`${prefixCls}-link-title`}
onClick={this.scrollTo}
href={href}
title={typeof title === 'string' ? title : ''}
>
{title}
</a>
{React.Children.map(children, this.renderAnchorLink)}
</div>
);
}
}

View File

@@ -0,0 +1,129 @@
import getScroll from '../_util/getScroll';
import getRequestAnimationFrame from '../_util/getRequestAnimationFrame';
export const reqAnimFrame = getRequestAnimationFrame();
export const easeInOutCubic = (t, b, c, d) => {
const cc = c - b;
t /= d / 2;
if (t < 1) {
return cc / 2 * t * t * t + b;
}
return cc / 2 * ((t -= 2) * t * t + 2) + b;
};
export function getDefaultTarget() {
return typeof window !== 'undefined' ?
window : null;
}
export function getOffsetTop(element): number {
if (!element) {
return 0;
}
if (!element.getClientRects().length) {
return 0;
}
const rect = element.getBoundingClientRect();
if ( rect.width || rect.height ) {
const doc = element.ownerDocument;
const docElem = doc.documentElement;
return rect.top - docElem.clientTop;
}
return rect.top;
}
export type Section = {
top: number;
bottom: number;
section: any;
};
export function scrollTo(href, target = getDefaultTarget, callback = () => {}) {
const scrollTop = getScroll(target(), true);
const targetElement = document.getElementById(href.substring(1));
if (!targetElement) {
return;
}
const offsetTop = getOffsetTop(targetElement);
const targetScrollTop = scrollTop + offsetTop;
const startTime = Date.now();
const frameFunc = () => {
const timestamp = Date.now();
const time = timestamp - startTime;
window.scrollTo(window.pageXOffset, easeInOutCubic(time, scrollTop, targetScrollTop, 450));
if (time < 450) {
reqAnimFrame(frameFunc);
} else {
callback();
}
};
reqAnimFrame(frameFunc);
history.pushState(null, '', href);
}
class AnchorHelper {
private links: Array<string>;
private currentAnchor: HTMLElement | null;
private _activeAnchor: string;
constructor() {
this.links = [];
this.currentAnchor = null;
this._activeAnchor = '';
}
addLink(link) {
if (this.links.indexOf(link) === -1) {
this.links.push(link);
}
}
getCurrentActiveAnchor(): HTMLElement | null {
return this.currentAnchor;
}
setActiveAnchor(component) {
this.currentAnchor = component;
}
getCurrentAnchor(bounds = 5) {
let activeAnchor = '';
if (typeof document === 'undefined') {
return activeAnchor;
}
const linksPositions = (this.links
.map(section => {
const target = document.getElementById(section.substring(1));
if (target && getOffsetTop(target) < bounds) {
const top = getOffsetTop(target);
if (top <= bounds) {
return {
section,
top,
bottom: top + target.clientHeight,
};
}
}
return null;
})
.filter(section => section !== null) as Array<Section>);
if (linksPositions.length) {
const maxSection = linksPositions.reduce((prev, curr) => curr.top > prev.top ? curr : prev);
return maxSection.section;
}
return '';
}
scrollTo(href, target = getDefaultTarget, callback = () => {}) {
scrollTo(href, target, callback);
}
}
export default AnchorHelper;

View File

@@ -0,0 +1,36 @@
---
order: 0
title:
zh-CN: 基本
en-US: Basic
---
## zh-CN
最简单的用法。
## en-US
The simplest usage.
```jsx
import { Anchor } from 'antd';
const { Link } = Anchor;
ReactDOM.render(
<Anchor>
<Link href="#components-anchor-demo-basic" title="Basic demo" />
<Link href="#components-anchor-demo-fixed" title="Fixed demo" />
<Link href="#API" title="API">
<Link href="#Anchor-Props" title="Anchor Props" />
<Link href="#Link-Props" title="Link Props" />
</Link>
</Anchor>
, mountNode);
```
<style>
.code-box-demo .ant-affix {
z-index: 11;
}
</style>

View File

@@ -0,0 +1,30 @@
---
order: 2
title:
zh-CN: 固定
en-US: Fixed Anchor
---
## zh-CN
不浮动,状态不随页面滚动变化。
## en-US
Do not change state when page is scrolling.
```jsx
import { Anchor } from 'antd';
const { Link } = Anchor;
ReactDOM.render(
<Anchor affix={false}>
<Link href="#components-anchor-demo-basic" title="Basic demo" />
<Link href="#components-anchor-demo-fixed" title="Fixed demo" />
<Link href="#API" title="API">
<Link href="#Anchor-Props" title="Anchor Props" />
<Link href="#Link-Props" title="Link Props" />
</Link>
</Anchor>
, mountNode);
```

View File

@@ -0,0 +1,29 @@
---
category: Components
type: Navigation
cols: 2
title: Anchor
---
Hyperlinks to scroll on one page.
## When To Use
For displaying anchor hyperlinks on page and jumping between them.
## API
### Anchor Props
| Property | Description | Type | Default |
|--------------|-----------------------|----------|--------------|
| offsetTop | Pixels to offset from top when calculating position of scroll | Number | 0 |
| offsetBottom | Pixels to offset from bottom when calculating position of scroll | Number | - |
| bounds | Bounding distance of anchor area | Number | 5(px) |
### Link Props
| Property | Description | Type | Default |
|-------------|----------------|--------------------|--------------|
| href | target of hyperlink | String | |
| title | content of hyperlink | React.Node | |

141
components/anchor/index.tsx Normal file
View File

@@ -0,0 +1,141 @@
import React from 'react';
import classNames from 'classnames';
import addEventListener from 'rc-util/lib/Dom/addEventListener';
import AnchorLink from './AnchorLink';
import Affix from '../affix';
import AnchorHelper, { getDefaultTarget } from './anchorHelper';
export interface AnchorProps {
target: () => HTMLElement | Window;
children: React.ReactNode;
prefixCls?: string;
offsetTop?: number;
bounds?: number;
className?: string;
style?: React.CSSProperties;
affix?: boolean;
}
export default class Anchor extends React.Component<AnchorProps, any> {
static Link = AnchorLink;
static defaultProps = {
prefixCls: 'ant-anchor',
affix: true,
};
static childContextTypes = {
anchorHelper: React.PropTypes.any,
};
refs: {
ink?: any;
};
private scrollEvent: any;
private anchorHelper: AnchorHelper;
private _avoidInk: boolean;
constructor(props) {
super(props);
this.state = {
activeAnchor: null,
animated: true,
};
this.anchorHelper = new AnchorHelper();
}
handleScroll = () => {
this.setState({
activeAnchor: this.anchorHelper.getCurrentAnchor(this.props.bounds),
});
}
getChildContext() {
return {
anchorHelper: this.anchorHelper,
};
}
componentDidMount() {
this.handleScroll();
this.updateInk();
this.scrollEvent = addEventListener((this.props.target || getDefaultTarget)(), 'scroll', this.handleScroll);
}
componentWillUnmount() {
if (this.scrollEvent) {
this.scrollEvent.remove();
}
}
componentDidUpdate() {
if (!this._avoidInk) {
this.updateInk();
}
}
updateInk = () => {
const activeAnchor = this.anchorHelper.getCurrentActiveAnchor();
if (activeAnchor) {
this.refs.ink.style.top = `${activeAnchor.offsetTop + activeAnchor.clientHeight / 2 - 4.5}px`;
}
}
clickAnchorLink = (href, component) => {
this._avoidInk = true;
this.refs.ink.style.top = `${component.offsetTop + component.clientHeight / 2 - 4.5}px`;
this.anchorHelper.scrollTo(href, getDefaultTarget, () => {
this._avoidInk = false;
});
}
renderAnchorLink = (child) => {
const { href } = child.props;
if (href) {
this.anchorHelper.addLink(href);
return React.cloneElement(child, {
onClick: this.clickAnchorLink,
prefixCls: this.props.prefixCls,
bounds: this.props.bounds,
affix: this.props.affix,
});
}
return child;
}
render() {
const { prefixCls, offsetTop, style, className = '', affix } = this.props;
const { activeAnchor, animated } = this.state;
const inkClass = classNames({
[`${prefixCls}-ink-ball`]: true,
animated,
visible: !!activeAnchor,
});
const wrapperClass = classNames({
[`${prefixCls}-wrapper`]: true,
}, className);
const anchorClass = classNames(prefixCls, {
'fixed': !affix,
});
const anchorContent = (
<div className={wrapperClass} style={style}>
<div className={anchorClass}>
<div className={`${prefixCls}-ink`} >
<span className={inkClass} ref="ink" />
</div>
{React.Children.map(this.props.children, this.renderAnchorLink)}
</div>
</div>
);
return !affix ? anchorContent : (
<Affix offsetTop={offsetTop}>
{anchorContent}
</Affix>
);
}
}

View File

@@ -0,0 +1,30 @@
---
category: Components
subtitle: 锚点
cols: 2
type: Navigation
title: Anchor
---
用于跳转到页面指定位置。
## 何时使用
需要展现当前页面上可供跳转的锚点链接,以及快速在锚点之间跳转。
## API
### Anchor Props
| 成员 | 说明 | 类型 | 默认值 |
|-------------|----------------|--------------------|--------------|
| offsetTop | 距离窗口顶部达到指定偏移量后触发 | Number | |
| offsetBottom | 距离窗口底部达到指定偏移量后触发 | Number | |
| bounds | 锚点区域边界 | Number | 5(px) |
### Link Props
| 成员 | 说明 | 类型 | 默认值 |
|-------------|----------------|--------------------|--------------|
| href | 锚点链接 | String | |
| title | 文字内容 | React.Node | |

View File

@@ -0,0 +1,78 @@
@import "../../style/themes/default";
.@{ant-prefix} {
&-anchor {
position: relative;
&-wrapper {
background-color: @component-background;
}
&-ink {
position: absolute;
height: 100%;
left: 0;
top: 0;
&:before {
content: ' ';
position: relative;
width: 2px;
height: 100%;
display: block;
background-color: @border-color-split;
margin: 0 auto;
}
&-ball {
display: none;
position: absolute;
width: 9px;
height: 9px;
border-radius: 9px;
border: 3px solid @primary-color;
background-color: @component-background;
left: 50%;
transition: top .3s ease-in-out;
transform: translateX(-50%);
&.visible {
display: inline-block;
}
}
}
&.fixed &-ink &-ink-ball {
display: none;
}
}
&-anchor-link {
padding: 8px 0 8px 18px;
line-height: 1;
& & {
padding-top: 6px;
padding-bottom: 6px;
}
&-title {
display: block;
position: relative;
transition: all .3s;
color: @text-color;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
margin-bottom: 8px;
}
&-title:only-child {
margin-bottom: 0;
}
&-active > &-title {
color: @primary-color;
}
& > & {
font-size: @font-size-base;
}
}
}

View File

@@ -43,6 +43,7 @@ const Complete = React.createClass({
style={{ width: 200 }}
onSelect={onSelect}
onChange={this.handleChange}
placeholder="input here"
/>
);
},

View File

@@ -42,6 +42,7 @@ const Complete = React.createClass({
<AutoComplete
style={{ width: 200 }}
onChange={this.handleChange}
placeholder="input here"
>
{children}
</AutoComplete>

View File

@@ -1,6 +1,6 @@
---
category: Components
type: Form Controls
type: Data Entry
cols: 1
title: AutoComplete
---
@@ -9,7 +9,7 @@ Autocomplete function of input field.
## When To Use
When need to use autocomplete function.
When there is a need for autocomplete functionality.
## API
@@ -17,7 +17,7 @@ When need to use autocomplete function.
const dataSource = ['12345', '23456', '34567'];
<AutoComplete dataSource={dataSource} />
```
Since `AutoComplete` is based on `Select`, so besides the following API, `AutoComplete` has the same API as `Select`.
| Property | Description | Type | Default |
|----------------|----------------------------------|------------|--------|
@@ -28,3 +28,4 @@ const dataSource = ['12345', '23456', '34567'];
| onChange | Called when select an option or input value change, or value of input is changed | function(value, label) | - |
| onSelect | Called when a option is selected. param is option's value and option instance. | function(value, option) | - |
| disabled | Whether disabled select | boolean | false |
| placeholder | placeholder of input | string | - |

View File

@@ -72,11 +72,13 @@ export default class AutoComplete extends React.Component<AutoCompleteProps, any
}) : []);
return (
<Select {...this.props}
<Select
{...this.props}
className={cls}
optionLabelProp={optionLabelProp}
combobox
notFoundContent={notFoundContent} >
notFoundContent={notFoundContent}
>
{options}
</Select>
);

View File

@@ -1,7 +1,7 @@
---
category: Components
subtitle: 自动完成
type: Form Controls
type: Data Entry
cols: 1
title: AutoComplete
---
@@ -18,7 +18,7 @@ title: AutoComplete
const dataSource = ['12345', '23456', '34567'];
<AutoComplete dataSource={dataSource} />
```
因为 `AutoComplete` 是基于 `Select` 封装的,所以除了以下 API 外,`AutoComplete``Select` 拥有一样的 API。
| 参数 | 说明 | 类型 | 默认值 |
|----------------|----------------------------------|------------|---------|
@@ -29,3 +29,4 @@ const dataSource = ['12345', '23456', '34567'];
| onChange | 选中 option或 input 的 value 变化时,调用此函数 | function(value) | 无 |
| onSelect | 被选中时调用,参数为选中项的 value 值 | function(value, option) | 无 |
| disabled | 是否禁用 | boolean | false |
| placeholder | 输入框提示 | string | - |

View File

@@ -19,7 +19,10 @@ import { BackTop } from 'antd';
ReactDOM.render(
<div>
<BackTop />
Scroll down to see the bottom right gray button.
</div>
, mountNode);
Scroll down to see the bottom-right
<strong style={{ color: 'rgba(64, 64, 64, 0.6)' }}> gray </strong>
button.
</div>,
mountNode
);
````

View File

@@ -17,23 +17,31 @@ You can customize the style of the button, just note the size limit: no more tha
````jsx
import { BackTop } from 'antd';
const style = {
height: 40,
width: 40,
lineHeight: '40px',
borderRadius: 4,
backgroundColor: '#57c5f7',
color: '#fff',
textAlign: 'center',
fontSize: 20,
};
ReactDOM.render(
<div>
<BackTop style={{ bottom: 100 }}>
<div style={style}>UP</div>
<BackTop>
<div className="ant-back-top-inner">UP</div>
</BackTop>
Scroll down to see the bottom right blue button.
</div>
, mountNode);
Scroll down to see the bottom-right
<strong style={{ color: '#57c5f7' }}> blue </strong>
button.
</div>,
mountNode
);
````
````css
#components-back-top-demo-custom .ant-back-top {
bottom: 100px;
}
#components-back-top-demo-custom .ant-back-top-inner {
height: 40px;
width: 40px;
line-height: 40px;
border-radius: 4px;
background-color: #57c5f7;
color: #fff;
text-align: center;
font-size: 20px;
}
````

View File

@@ -1,6 +1,6 @@
---
category: Components
type: Other
type: Navigation
title: BackTop
---

View File

@@ -99,10 +99,7 @@ export default class BackTop extends React.Component<BackTopProps, any> {
render() {
const { prefixCls = 'ant-back-top', className = '', children } = this.props;
const classString = classNames({
[prefixCls]: true,
[className]: !!className,
});
const classString = classNames(prefixCls, className);
const defaultElement = (
<div className={`${prefixCls}-content`}>
@@ -118,15 +115,15 @@ export default class BackTop extends React.Component<BackTopProps, any> {
'visibilityHeight',
]);
const backTopBtn = this.state.visible ? (
<div {...divProps} className={classString} onClick={this.scrollToTop}>
{children || defaultElement}
</div>
) : null;
return (
<Animate component="" transitionName="fade">
{
this.state.visible ?
<div {...divProps} className={classString} onClick={this.scrollToTop}>
{children || defaultElement}
</div>
: null
}
{backTopBtn}
</Animate>
);
}

View File

@@ -1,6 +1,6 @@
---
category: Components
type: Other
type: Navigation
subtitle: 回到顶部
title: BackTop
---

View File

@@ -67,7 +67,5 @@ const Test = React.createClass({
},
});
ReactDOM.render(
<Test />
, mountNode);
ReactDOM.render(<Test />, mountNode);
````

View File

@@ -1,6 +1,6 @@
---
category: Components
type: Views
type: Data Display
title: Badge
---
@@ -27,6 +27,6 @@ Badge normally appears in proximity to notification or head picture with eye-cat
|----------------|-------------------------|------------|---------|
| count | Number to show in badge | Number | |
| overflowCount | Max count to show | Number | 99 |
| dot | whether to show red dot without number | Boolean | false |
| dot | Whether to show red dot without number | Boolean | false |
| status | Set Badge as a status dot | Enum{ 'success', 'processing, 'default', 'error', 'warning' } | '' |
| text | If `status` is set, `text` is to set the text of status dot | String | '' |

View File

@@ -2,7 +2,7 @@ import React from 'react';
import Animate from 'rc-animate';
import ScrollNumber from './ScrollNumber';
import classNames from 'classnames';
import warning from 'warning';
import warning from '../_util/warning';
import splitObject from '../_util/splitObject';
export interface BadgeProps {
@@ -44,7 +44,7 @@ export default class Badge extends React.Component<BadgeProps, any> {
['count', 'prefixCls', 'overflowCount', 'className', 'style', 'children', 'dot', 'status', 'text']
);
const isDot = dot || status;
const realCount = count;
count = count > overflowCount ? `${overflowCount}+` : count;
// dot mode don't need count
@@ -58,9 +58,7 @@ export default class Badge extends React.Component<BadgeProps, any> {
[`${prefixCls}-dot`]: isDot,
[`${prefixCls}-count`]: !isDot,
});
const badgeCls = classNames({
[className]: !!className,
[prefixCls]: true,
const badgeCls = classNames(className, prefixCls, {
[`${prefixCls}-status`]: !!status,
[`${prefixCls}-not-a-wrapper`]: !children,
});
@@ -83,29 +81,31 @@ export default class Badge extends React.Component<BadgeProps, any> {
);
}
const scrollNumber = hidden ? null : (
<ScrollNumber
data-show={!hidden}
className={scrollNumberCls}
count={count}
style={style}
/>
);
const statusText = (hidden || !text) ? null : (
<span className={`${prefixCls}-status-text`}>{text}</span>
);
return (
<span {...restProps} className={badgeCls} title={count}>
<span {...restProps} className={badgeCls} title={realCount}>
{children}
<Animate
component=""
showProp="data-show"
transitionName={`${prefixCls}-zoom`}
transitionName={children ? `${prefixCls}-zoom` : ''}
transitionAppear
>
{
hidden ? null :
<ScrollNumber
data-show={!hidden}
className={scrollNumberCls}
count={count}
style={style}
/>
}
{scrollNumber}
</Animate>
{
hidden || !text ? null :
<span className={`${prefixCls}-status-text`}>{text}</span>
}
{statusText}
</span>
);
}

View File

@@ -1,7 +1,7 @@
---
category: Components
subtitle: 徽标数
type: Views
type: Data Display
title: Badge
---

View File

@@ -16,16 +16,15 @@
height: 20px;
border-radius: 10px;
min-width: 20px;
background: @error-color;
background: @highlight-color;
border: 1px solid transparent;
color: #fff;
line-height: 18px;
text-align: center;
padding: 0 6px;
font-size: 12px;
font-size: @font-size-base;
white-space: nowrap;
transform-origin: -10% center;
z-index: 10;
font-family: tahoma;
box-shadow: 0 0 0 1px #fff;
a,
@@ -42,7 +41,7 @@
height: 8px;
width: 8px;
border-radius: 100%;
background: @error-color;
background: @highlight-color;
z-index: 10;
box-shadow: 0 0 0 1px #fff;
}
@@ -109,15 +108,6 @@
}
}
a & {
&-count:hover {
background: tint(@error-color, 20%);
}
&-count:active {
background: shade(@error-color, 5%);
}
}
.@{number-prefix-cls} {
overflow: hidden;
&-only {

View File

@@ -1,6 +1,6 @@
import React from 'react';
import { cloneElement } from 'react';
import warning from 'warning';
import warning from '../_util/warning';
import BreadcrumbItem from './BreadcrumbItem';
export interface BreadcrumbProps {
@@ -52,12 +52,12 @@ export default class Breadcrumb extends React.Component<BreadcrumbProps, any> {
nameRender: React.PropTypes.func,
};
constructor(props) {
super();
componentDidMount() {
const props = this.props;
warning(
!('linkRender' in props || 'nameRender' in props),
'`linkRender` and `nameRender` are removed, please use `itemRender` instead.'
'`linkRender` and `nameRender` are removed, please use `itemRender` instead, ' +
'see: http://u.ant.design/item-render.'
);
}

View File

@@ -8,15 +8,15 @@ title:
## zh-CN
`react-router@2.x` 进行结合使用。
`react-router@2+` 进行结合使用。
## en-US
Used together with `react-router@2.x`.
Used together with `react-router@2+`.
````jsx
import { Router, Route, Link, hashHistory } from 'react-router';
import { Breadcrumb } from 'antd';
import { Breadcrumb, Alert } from 'antd';
const Apps = () => (
<ul className="app-list">
@@ -29,24 +29,15 @@ const Apps = () => (
</ul>
);
const Home = props => (
const Home = ({ routes, params, children }) => (
<div>
<div className="demo-nav">
<Link to="/">Home</Link>
<Link to="/apps">Application List</Link>
</div>
{props.children || 'Home'}
<div
style={{
marginBottom: 15,
marginTop: 15,
paddingBottom: 15,
borderBottom: '1px dashed #ccc',
}}
>
Click the navigation above to switch:
</div>
<Breadcrumb {...props} />
{children || 'Home Page'}
<Alert style={{ margin: '16px 0' }} message="Click the navigation above to switch:" />
<Breadcrumb routes={routes} params={params} />
</div>
);

View File

@@ -4,25 +4,17 @@ type: Navigation
title: Breadcrumb
---
A breadcrumb displays the current location within a hierarchy. It allows going back to states higher up within the hierarchy.
A breadcrumb displays the current location within a hierarchy. It allows going back to states higher up in the hierarchy.
## When To Use
- When the system has more than two layers in a hierarchy.
- When you need to inform the user of where they are.
- When the user may need to navigate back to a higher level When the application has multi-layer architecture.
- When the user may need to navigate back to a higher level.
- When the application has multi-layer architecture.
## API
```html
<Breadcrumb>
<Breadcrumb.Item>Home</Breadcrumb.Item>
<Breadcrumb.Item>Application Center</Breadcrumb.Item>
<Breadcrumb.Item>Application List</Breadcrumb.Item>
<Breadcrumb.Item>An Application</Breadcrumb.Item>
</Breadcrumb>
```
| Property | Description | Type | Optional | Default |
|-----------|-----------------------------------|-----------------|---------|--------|
| routes | The routing stack information of router | Array | | - |
@@ -31,3 +23,18 @@ A breadcrumb displays the current location within a hierarchy. It allows going b
| itemRender | Custom item renderer | (route, params, routes, paths) => React.ReactNode | | - |
> `linkRender` and `nameRender` were removed after `antd@2.0`, please use `itemRender` instead.
### Use with browserHistory
The link of Breadcrumb item contain `#` defaultly, you can use `itemRender` to make `browserHistory` Link.
```jsx
import { Link } from 'react-router';
function itemRender(route, params, routes, paths) {
const last = routes.indexOf(route) === routes.length - 1;
return last ? <span>{route.breadcrumbName}</span> : <Link to={paths.join('/')}>{route.breadcrumbName}</Link>;
}
return <Breadcrumb itemRender={itemRender} />;
```

View File

@@ -15,15 +15,6 @@ title: Breadcrumb
## API
```html
<Breadcrumb>
<Breadcrumb.Item>首页</Breadcrumb.Item>
<Breadcrumb.Item>应用中心</Breadcrumb.Item>
<Breadcrumb.Item>应用列表</Breadcrumb.Item>
<Breadcrumb.Item>某应用</Breadcrumb.Item>
</Breadcrumb>
```
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|-----------|-----------------------------------|-----------------|---------|--------|
| routes | router 的路由栈信息 | Array | | - |
@@ -32,3 +23,18 @@ title: Breadcrumb
| itemRender | 自定义链接函数,和 react-router 配置使用 | (route, params, routes, paths) => React.ReactNode | | - |
> 2.0 之后,`linkRender` 和 `nameRender` 被移除,请使用 `itemRender` 来代替。
### 和 browserHistory 配合
和 react-router 一起使用时,默认生成的 url 路径是带有 `#` 的,如果和 browserHistory 一起使用的话,你可以使用 `itemRender` 属性定义面包屑链接。
```jsx
import { Link } from 'react-router';
function itemRender(route, params, routes, paths) {
const last = routes.indexOf(route) === routes.length - 1;
return last ? <span>{route.breadcrumbName}</span> : <Link to={paths.join('/')}>{route.breadcrumbName}</Link>;
}
return <Breadcrumb itemRender={itemRender} />;
```

View File

@@ -3,7 +3,7 @@
@breadcrumb-prefix-cls: ~"@{ant-prefix}-breadcrumb";
.@{breadcrumb-prefix-cls} {
color: #999;
color: @text-color-secondary;
font-size: @font-size-base;
a {

View File

@@ -22,11 +22,9 @@ export default function ButtonGroup(props: ButtonGroupProps) {
small: 'sm',
})[size] || '';
const classes = classNames({
[prefixCls]: true,
const classes = classNames(prefixCls, {
[`${prefixCls}-${sizeCls}`]: sizeCls,
[className]: className,
});
}, className);
return <div {...others} className={classes} />;
}

View File

@@ -112,22 +112,21 @@ export default class Button extends React.Component<ButtonProps, any> {
small: 'sm',
})[size] || '';
const classes = classNames({
[prefixCls]: true,
const classes = classNames(prefixCls, {
[`${prefixCls}-${type}`]: type,
[`${prefixCls}-${shape}`]: shape,
[`${prefixCls}-${sizeCls}`]: sizeCls,
[`${prefixCls}-icon-only`]: !children && icon,
[`${prefixCls}-loading`]: loading,
[className]: className,
});
}, className);
const iconType = loading ? 'loading' : icon;
const kids = React.Children.map(children, insertSpace);
return (
<button {...others}
<button
{...others}
type={htmlType || 'button'}
className={classes}
onMouseUp={this.handleMouseUp}

View File

@@ -30,7 +30,6 @@ ReactDOM.render(
<Button>Default</Button>
<Button type="ghost">Ghost</Button>
<Button type="dashed">Dashed</Button>
</div>,
mountNode
);
</div>
, mountNode);
````

View File

@@ -53,20 +53,6 @@ ReactDOM.render(
<Button type="primary" icon="cloud" />
<Button type="primary" icon="cloud-download" />
</ButtonGroup>
<h4>Size</h4>
<ButtonGroup size="large">
<Button type="ghost">Large</Button>
<Button type="ghost">Large</Button>
</ButtonGroup>
<ButtonGroup>
<Button type="ghost">Default</Button>
<Button type="ghost">Default</Button>
</ButtonGroup>
<ButtonGroup size="small">
<Button type="ghost">Small</Button>
<Button type="ghost">Small</Button>
</ButtonGroup>
</div>,
mountNode
);
@@ -85,8 +71,4 @@ ReactDOM.render(
#components-button-demo-button-group .ant-btn-group {
margin-right: 8px;
}
#components-button-demo-button-group .ant-btn {
margin-bottom: 12px;
margin-right: 0;
}
</style>

View File

@@ -24,9 +24,13 @@ ReactDOM.render(
<div>
<Button type="primary" shape="circle" icon="search" />
<Button type="primary" icon="search">Search</Button>
<Button shape="circle" icon="search" />
<Button icon="search">Search</Button>
<br />
<Button type="ghost" shape="circle-outline" icon="search" />
<Button type="ghost" shape="circle" icon="search" />
<Button type="ghost" icon="search">Search</Button>
<Button type="dashed" shape="circle" icon="search" />
<Button type="dashed" icon="search">Search</Button>
</div>,
mountNode
);

View File

@@ -0,0 +1,44 @@
---
order: 6
title:
zh-CN: 多个按钮组合
en-US: Multiple Buttons
---
## zh-CN
按钮组合使用时推荐使用1个主操作 + n 个次操作3个以上操作时把更多操作放到 `Dropdown.Button` 中组合使用。
## en-US
If you need several buttons, we recommend that you use 1 primary button + n secondary buttons, and if there are more than three operations, you can group some of them into `Dropdown.Button`.
````jsx
import { Button, Menu, Dropdown, Icon } from 'antd';
function handleMenuClick(e) {
console.log('click', e);
}
const menu = (
<Menu onClick={handleMenuClick}>
<Menu.Item key="1">1st item</Menu.Item>
<Menu.Item key="2">2nd item</Menu.Item>
<Menu.Item key="3">3rd item</Menu.Item>
</Menu>
);
ReactDOM.render(
<div>
<Button type="primary">primary</Button>
<Button type="ghost">secondary</Button>
<Dropdown overlay={menu}>
<Button type="ghost">
more <Icon type="down" />
</Button>
</Dropdown>
</div>,
mountNode
);
````

View File

@@ -18,11 +18,43 @@ Ant Design supports a default button size as well as a large and small size.
If a large or small button is desired, set the `size` property to either `large` or `small` respectively. Omit the `size` property for a button with the default size.
````jsx
import { Button } from 'antd';
import { Button, Radio, Icon } from 'antd';
ReactDOM.render(<div>
<Button type="primary" size="large">Large</Button>
<Button type="primary">Default</Button>
<Button type="primary" size="small">Small</Button>
</div>, mountNode);
class ButtonSize extends React.Component {
state = {
size: 'default',
};
handleSizeChange = (e) => {
this.setState({ size: e.target.value });
}
render() {
const size = this.state.size;
return (
<div>
<Radio.Group value={size} onChange={this.handleSizeChange}>
<Radio.Button value="large">Large</Radio.Button>
<Radio.Button value="default">Default</Radio.Button>
<Radio.Button value="small">Small</Radio.Button>
</Radio.Group>
<br /><br />
<Button type="primary" shape="circle" icon="download" size={size} />
<Button type="primary" icon="download" size={size}>Download</Button>
<Button type="primary" size={size}>Normal</Button>
<br />
<Button.Group size={size}>
<Button type="primary">
<Icon type="left" />Backward
</Button>
<Button type="primary">
Forward<Icon type="right" />
</Button>
</Button.Group>
</div>
);
}
}
ReactDOM.render(<ButtonSize />, mountNode);
````

View File

@@ -1,6 +1,6 @@
---
category: Components
type: Basic
type: General
title: Button
---
@@ -8,7 +8,7 @@ To trigger an operation.
## When To Use
A button means an operation(or a series of operations). Click a button will trigger corresponding business logic.
A button means an operation (or a series of operations). Clicking a button will trigger corresponding business logic.
## API
@@ -16,10 +16,10 @@ To get a customized button, just set `type`/`shape`/`size`/`loading`/`disabled`.
Property | Description | Type | Default
-----|-----|-----|------
type | can be set to `primary` `ghost` or omitted | string | -
type | can be set to `primary` `ghost` `dashed` or omitted | string | -
htmlType | to set the original `type` of `button`, see: [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-type) | string | `button`
icon | set the icon of button, see: Icon component | string | -
shape | can be set to `circle` `circle-outline` or omitted | string | -
shape | can be set to `circle` or omitted | string | -
size | can be set to `small` `large` or omitted | string | `default`
loading | to set the loading status of button | boolean | false
onClick | set the handler to handle `click` event | function | -
@@ -27,8 +27,11 @@ onClick | set the handler to handle `click` event | function | -
`<Button>Hello world!</Button>` will be rendered into `<button>Hello world!</button>`, and all the properties which are not listed above will be transferred to the `<button>` tag.
<style>
[id^="components-button-demo-"] .ant-btn {
[id^=components-button-demo-] .ant-btn {
margin-right: 8px;
margin-bottom: 12px;
}
[id^=components-button-demo-] .ant-btn-group > .ant-btn {
margin-right: 0;
}
</style>

View File

@@ -1,6 +1,6 @@
---
category: Components
type: Basic
type: General
title: Button
subtitle: 按钮
---
@@ -19,10 +19,10 @@ subtitle: 按钮
属性 | 说明 | 类型 | 默认值
-----|-----|-----|------
type | 设置按钮类型,可选值为 `primary` `ghost` 或者不设 | string | -
type | 设置按钮类型,可选值为 `primary` `ghost` `dashed` 或者不设 | string | -
htmlType | 设置 `button` 原生的 `type` 值,可选值请参考 [HTML 标准](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-type) | string | `button`
icon | 设置按钮的图标类型 | string | -
shape | 设置按钮形状,可选值为 `circle` `circle-outline` 或者不设 | string | -
shape | 设置按钮形状,可选值为 `circle` 或者不设 | string | -
size | 设置按钮大小,可选值为 `small` `large` 或者不设 | string | `default`
loading | 设置按钮载入状态 | boolean | false
onClick | `click` 事件的 handler | function | -
@@ -34,4 +34,7 @@ onClick | `click` 事件的 handler | function | -
margin-right: 8px;
margin-bottom: 12px;
}
[id^="components-button-demo-"] .ant-btn-group > .ant-btn {
margin-right: 0;
}
</style>

View File

@@ -101,27 +101,27 @@
}
&-clicked:after {
content: '';
position: absolute;
top: -1px;
left: -1px;
bottom: -1px;
right: -1px;
border-radius: inherit;
content: '';
position: absolute;
top: -1px;
left: -1px;
bottom: -1px;
right: -1px;
border-radius: inherit;
border: 0 solid @primary-color;
opacity: 0.4;
opacity: 0.4;
animation: buttonEffect 0.36s ease-out forwards;
display: block;
}
}
@keyframes buttonEffect {
to {
opacity: 0;
to {
opacity: 0;
top: -6px;
left: -6px;
bottom: -6px;
right: -6px;
left: -6px;
bottom: -6px;
right: -6px;
border-width: 6px;
}
}
}

View File

@@ -74,7 +74,6 @@
.button-group-base(@btnClassName) {
position: relative;
display: inline-block;
vertical-align: middle;
> .@{btnClassName} {
position: relative;
&:hover,
@@ -137,7 +136,7 @@
&.disabled,
&[disabled] {
cursor: @cursor-disabled;
cursor: not-allowed;
> * {
pointer-events: none;
}

View File

@@ -108,7 +108,7 @@ ReactDOM.render(
}
.event-normal {
color: #2db7f5;
color: #108ee9;
}
.event-error {

View File

@@ -1,11 +1,11 @@
---
category: Components
type: Views
type: Data Display
cols: 1
title: Calendar
---
When To Use container for displaying data in calendar form.
Container for displaying data in calendar form.
## When To Use
@@ -29,5 +29,5 @@ When data is in the form of date, such as schedule, timetable, prices calendar,
| fullscreen | to set whether full-screen display | boolean | true |
| dateCellRender | to set the way of renderer the date cell | function(date: moment): ReactNode | - |
| monthCellRender | to set the way of renderer the month cell | function(date: moment): ReactNode | - |
| locale | set locale | Object | [defualt](https://github.com/ant-design/ant-design/issues/424) |
| locale | set locale | Object | [default](https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json) |
| onPanelChange| the callback when panel change | function(date: moment, mode: string) | - |

View File

@@ -64,8 +64,15 @@ export default class Calendar extends React.Component<CalendarProps, any> {
constructor(props) {
super(props);
const value = props.value || props.defaultValue || moment();
if (!moment.isMoment(value)) {
throw new Error(
'The value/defaultValue of Calendar must be a moment object after `antd@2.0`, ' +
'see: http://u.ant.design/calendar-value'
);
}
this.state = {
value: props.value || props.defaultValue || moment(),
value,
mode: props.mode,
};
}

View File

@@ -1,6 +1,6 @@
---
category: Components
type: Views
type: Data Display
subtitle: 日历
cols: 1
title: Calendar
@@ -31,5 +31,5 @@ title: Calendar
| fullscreen | 是否全屏显示 | boolean | true |
| dateCellRender | 自定义渲染日期单元格| function(date: moment): ReactNode | 无 |
| monthCellRender | 自定义渲染月单元格 | function(date: moment): ReactNode | 无 |
| locale | 国际化配置 | Object | [默认配置](https://github.com/ant-design/ant-design/issues/424) |
| locale | 国际化配置 | Object | [默认配置](https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json) |
| onPanelChange| 日期面板变化回调 | function(date: moment, mode: string) | 无 |

View File

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

View File

@@ -4,7 +4,9 @@
.@{full-calendar-prefix-cls} {
font-size: @font-size-base;
line-height: 1.5;
line-height: @line-height-base;
outline: none;
border-top: 1px solid @border-color-base;
&-month-select {
margin-left: 5px;
@@ -30,8 +32,6 @@
}
}
outline: none;
border-top: 1px solid @legend-border-color;
&-date-panel {
position: relative;
outline: none;
@@ -201,7 +201,7 @@
}
&-fullscreen &-today &-value {
color: #666;
color: @text-color;
}

View File

@@ -11,7 +11,7 @@ title:
## en-US
Shows a loading indicator while the contents of the card are being fetched.
Shows a loading indicator while the contents of the card is being fetched.
````jsx
import { Card } from 'antd';

View File

@@ -1,6 +1,6 @@
---
category: Components
type: Views
type: Data Display
title: Card
cols: 1
---

View File

@@ -21,9 +21,7 @@ export default (props: CardProps) => {
}, others] = splitObject(props,
['prefixCls', 'className', 'children', 'extra', 'bodyStyle', 'title', 'loading', 'bordered']);
let children = props.children;
const classString = classNames({
[prefixCls]: true,
[className]: !!className,
const classString = classNames(prefixCls, className, {
[`${prefixCls}-loading`]: loading,
[`${prefixCls}-bordered`]: bordered,
});

View File

@@ -1,6 +1,6 @@
---
category: Components
type: Views
type: Data Display
title: Card
subtitle: 卡片
cols: 1

View File

@@ -3,7 +3,7 @@
@card-prefix-cls: ~"@{ant-prefix}-card";
.@{card-prefix-cls} {
background: #fff;
background: @component-background;
border-radius: @border-radius-sm;
font-size: @font-size-base;
position: relative;
@@ -12,7 +12,8 @@
&:hover {
box-shadow: @box-shadow-base;
border-color: #eee;
border-color: transparent;
z-index: 1;
}
&-bordered {
@@ -26,7 +27,7 @@
padding: 0 24px;
&-title {
font-size: 14px;
font-size: @font-size-lg;
display: inline-block;
text-overflow: ellipsis;
width: 100%;

View File

@@ -1,6 +1,6 @@
---
category: Components
type: Views
type: Data Display
title: Carousel
---
@@ -10,14 +10,14 @@ A carousel component. Scales with its container.
- When there is a group of content on the same level.
- When there is insufficient content space, it can be used to save space in the form of a resolving door.
- Commonly used in a carousel for a group of pictures/cards.
- Commonly used for a group of pictures/cards.
## API
| Property | Description | Type | Default |
|------------------|----------------------------------------------|----------|---------------------------------|
| effect | Animation effect, either `scrollx` or `fade` | String | scrollx |
| dots | Should we show the dots at the bottom of the gallery | Boolean | true |
| dots | Whether to show the dots at the bottom of the gallery | Boolean | true |
| vertical | Whether to use a vertical display | Boolean | false |
| autoplay | Whether to scroll automatically | Boolean | false |
| easing | Transition name | String | linear |
@@ -29,13 +29,10 @@ For more info on the parameters, refer to the https://github.com/akiran/react-sl
<style>
.ant-carousel .slick-slide {
text-align: center;
height: 100px;
line-height: 100px;
background: #71B5DE;
height: 160px;
line-height: 160px;
background: #364d79;
color: #fff;
overflow: hidden;
}
#components-carousel-demo-vertical .ant-carousel {
margin-right: 35px;
}
</style>

View File

@@ -1,6 +1,6 @@
---
category: Components
type: Views
type: Data Display
title: Carousel
subtitle: 走马灯
---
@@ -30,13 +30,10 @@ subtitle: 走马灯
<style>
.ant-carousel .slick-slide {
text-align: center;
height: 100px;
line-height: 100px;
background: #71B5DE;
height: 160px;
line-height: 130px;
background: #506b9e;
color: #fff;
overflow: hidden;
}
#components-carousel-demo-vertical .ant-carousel {
margin-right: 35px;
}
</style>

View File

@@ -138,14 +138,9 @@
}
// Dots
.slick-slider {
padding-bottom: 45px;
}
.slick-dots {
position: absolute;
bottom: 0;
bottom: 6px;
list-style: none;
display: block;
text-align: center;
@@ -156,62 +151,48 @@
display: inline-block;
height: 20px;
width: 20px;
margin: 0 5px;
line-height: 20px;
text-align: center;
margin: 0 2px;
padding: 0;
cursor: pointer;
button {
border: 0;
background: transparent;
display: block;
height: 20px;
width: 20px;
cursor: pointer;
background: #000;
opacity: 0.3;
display: inline-block;
width: 7px;
height: 7px;
border-radius: 7px;
outline: none;
line-height: 0;
font-size: 0;
color: transparent;
padding: 5px;
cursor: pointer;
transition: all .3s;
&:hover,
&:focus {
outline: none;
&:before {
opacity: 1;
}
}
&:before {
position: absolute;
top: 0;
left: 0;
content: "•";
width: 20px;
height: 20px;
font-size: 18px;
font-family: arial, sans-serif;
line-height: 20px;
text-align: center;
color: gray;
transition: all .3s;
opacity: 0.25;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
opacity: 0.75;
}
}
&.slick-active button:before {
color: black;
opacity: 0.75;
&.slick-active button {
background: #fff;
opacity: 1;
box-shadow: 0 0 3px rgba(0, 0, 0, .25);
&:hover,
&:focus {
opacity: 1;
}
}
}
}
}
.@{ant-prefix}-carousel-vertical {
.slick-slider {
padding-bottom: 0;
}
.slick-dots {
width: 20px;
bottom: auto;
right: -35px;
top: 0;
right: 8px;
top: 50%;
transform: translateY(-50%);
}
}

View File

@@ -40,8 +40,8 @@ const options = [{
}],
}];
function onChange(value) {
console.log(value);
function onChange(value, selectedOptions) {
console.log(value, selectedOptions);
}
ReactDOM.render(

View File

@@ -1,6 +1,6 @@
---
category: Components
type: Form Controls
type: Data Entry
title: Cascader
---
@@ -11,7 +11,7 @@ Cascade selection box.
- When you need to select from a set of associated data set. Such as province/city/district, company level, things classification.
- When selecting from a large data set, with multi-stage classification separated for easy selection.
- chooses cascade items in one float layer for better user experience.
- Chooses cascade items in one float layer for better user experience.
## API

View File

@@ -1,11 +1,11 @@
import React from 'react';
import RcCascader from 'rc-cascader';
import Input from '../input';
import Icon from '../icon';
import arrayTreeFilter from 'array-tree-filter';
import classNames from 'classnames';
import splitObject from '../_util/splitObject';
import omit from 'omit.js';
import Input from '../input';
import Icon from '../icon';
import splitObject from '../_util/splitObject';
export interface CascaderOptionType {
value: string;
@@ -134,9 +134,14 @@ export default class Cascader extends React.Component<CascaderProps, any> {
}
handleChange = (value, selectedOptions) => {
const unwrappedValue = Array.isArray(value[0]) ? value[0] : value;
this.setState({ inputValue: '' });
this.setValue(unwrappedValue, selectedOptions);
if (selectedOptions[0].__IS_FILTERED_OPTION) {
const unwrappedValue = value[0];
const unwrappedSelectedOptions = selectedOptions[0].path;
this.setValue(unwrappedValue, unwrappedSelectedOptions);
return;
}
this.setValue(value, selectedOptions);
}
handlePopupVisibleChange = (popupVisible) => {
@@ -230,6 +235,8 @@ export default class Cascader extends React.Component<CascaderProps, any> {
if (filtered.length > 0) {
return filtered.map((path) => {
return {
__IS_FILTERED_OPTION: true,
path,
label: render(inputValue, path, prefixCls),
value: path.map(o => o.value),
};
@@ -239,8 +246,7 @@ export default class Cascader extends React.Component<CascaderProps, any> {
}
render() {
const props = this.props;
const state = this.state;
const { props, state } = this;
const [{ prefixCls, inputPrefixCls, children, placeholder, size, disabled,
className, style, allowClear, showSearch }, otherProps] = splitObject(props,
['prefixCls', 'inputPrefixCls', 'children', 'placeholder', 'size', 'disabled',
@@ -252,7 +258,8 @@ export default class Cascader extends React.Component<CascaderProps, any> {
[`${inputPrefixCls}-sm`]: size === 'small',
});
const clearIcon = (allowClear && !disabled && value.length > 0) || state.inputValue ?
<Icon type="cross-circle"
<Icon
type="cross-circle"
className={`${prefixCls}-picker-clear`}
onClick={this.clearSelection}
/> : null;
@@ -260,8 +267,7 @@ export default class Cascader extends React.Component<CascaderProps, any> {
[`${prefixCls}-picker-arrow`]: true,
[`${prefixCls}-picker-arrow-expand`]: state.popupVisible,
});
const pickerCls = classNames({
[className]: !!className,
const pickerCls = classNames(className, {
[`${prefixCls}-picker`]: true,
[`${prefixCls}-picker-with-value`]: state.inputValue,
[`${prefixCls}-picker-disabled`]: disabled,
@@ -309,6 +315,33 @@ export default class Cascader extends React.Component<CascaderProps, any> {
if (resultListMatchInputWidth && state.inputValue && this.refs.input) {
dropdownMenuColumnStyle.width = this.refs.input.refs.input.offsetWidth;
}
const input = children || (
<span
style={style}
className={pickerCls}
>
<Input
{...inputProps}
ref="input"
placeholder={value && value.length > 0 ? null : placeholder}
className={`${prefixCls}-input ${sizeCls}`}
value={state.inputValue}
disabled={disabled}
readOnly={!showSearch}
autoComplete="off"
onClick={showSearch ? this.handleInputClick : undefined}
onBlur={showSearch ? this.handleInputBlur : undefined}
onChange={showSearch ? this.handleInputChange : undefined}
/>
<span className={`${prefixCls}-picker-label`}>
{this.getLabel()}
</span>
{clearIcon}
<Icon type="down" className={arrowCls} />
</span>
);
return (
<RcCascader
{...props}
@@ -319,31 +352,7 @@ export default class Cascader extends React.Component<CascaderProps, any> {
onChange={this.handleChange}
dropdownMenuColumnStyle={dropdownMenuColumnStyle}
>
{children ||
<span
style={style}
className={pickerCls}
>
<Input
{...inputProps}
ref="input"
placeholder={value && value.length > 0 ? null : placeholder}
className={`${prefixCls}-input ${sizeCls}`}
value={state.inputValue}
disabled={disabled}
readOnly={!showSearch}
autoComplete="off"
onClick={showSearch ? this.handleInputClick : undefined}
onBlur={showSearch ? this.handleInputBlur : undefined}
onChange={showSearch ? this.handleInputChange : undefined}
/>
<span className={`${prefixCls}-picker-label`}>
{this.getLabel()}
</span>
{clearIcon}
<Icon type="down" className={arrowCls} />
</span>
}
{input}
</RcCascader>
);
}

View File

@@ -1,6 +1,6 @@
---
category: Components
type: Form Controls
type: Data Entry
title: Cascader
subtitle: 级联选择
---

View File

@@ -54,7 +54,7 @@
z-index: 2;
background: #fff;
top: 50%;
font-size: 12px;
font-size: @font-size-base;
color: #ccc;
width: 12px;
height: 12px;
@@ -63,7 +63,7 @@
cursor: pointer;
transition: color 0.3s ease, opacity 0.15s ease;
&:hover {
color: #999;
color: @text-color-secondary;
}
}
@@ -81,7 +81,7 @@
height: 12px;
margin-top: -6px;
line-height: 12px;
color: #999;
color: @text-color-secondary;
.iconfont-size-under-12px(9px);
&:before {
transition: transform 0.2s ease;
@@ -95,7 +95,7 @@
}
}
&-menus {
font-size: 12px;
font-size: @font-size-base;
background: #fff;
position: absolute;
z-index: @zindex-dropdown;
@@ -173,14 +173,14 @@
&:after {
.iconfont-font("\e61f");
.iconfont-size-under-12px(8px);
color: #999;
color: @text-color-secondary;
position: absolute;
right: 15px;
}
}
& &-keyword {
color: @error-color;
color: @highlight-color;
}
}
}

View File

@@ -84,20 +84,21 @@ export default class CheckboxGroup extends React.Component<CheckboxGroupProps, C
}
render() {
const { prefixCls } = this.props;
const options = this.getOptions();
const options = this.getOptions().map(option =>
<Checkbox
disabled={'disabled' in option ? option.disabled : this.props.disabled}
checked={this.state.value.indexOf(option.value) !== -1}
onChange={() => this.toggleOption(option)}
className={`${prefixCls}-item`}
key={option.value}
>
{option.label}
</Checkbox>
);
return (
<div className={prefixCls}>
{
options.map(option =>
<Checkbox disabled={'disabled' in option ? option.disabled : this.props.disabled}
checked={this.state.value.indexOf(option.value) !== -1}
onChange={() => this.toggleOption(option)}
className={`${prefixCls}-item`} key={option.value}
>
{option.label}
</Checkbox>
)
}
{options}
</div>
);
}

View File

@@ -1,6 +1,6 @@
---
category: Components
type: Form Controls
type: Data Entry
title: Checkbox
---

View File

@@ -29,18 +29,24 @@ export default class Checkbox extends React.Component<CheckboxProps, any> {
return PureRenderMixin.shouldComponentUpdate.apply(this, args);
}
render() {
const [{ prefixCls, style, children, className, indeterminate }, restProps] = splitObject(
this.props, ['prefixCls', 'style', 'children', 'className', 'indeterminate']
const [{ prefixCls, style, children, className, indeterminate, onMouseEnter,
onMouseLeave }, restProps] = splitObject(
this.props, ['prefixCls', 'style', 'children', 'className', 'indeterminate',
'onMouseEnter', 'onMouseLeave']
);
const classString = classNames({
[className]: !!className,
const classString = classNames(className, {
[`${prefixCls}-wrapper`]: true,
});
const checkboxClass = classNames({
[`${prefixCls}-indeterminate`]: indeterminate,
});
return (
<label className={classString} style={style}>
<label
className={classString}
style={style}
onMouseEnter={onMouseEnter}
onMouseLeave={onMouseLeave}
>
<RcCheckbox
{...restProps}
prefixCls={prefixCls}

View File

@@ -1,7 +1,7 @@
---
category: Components
subtitle: 多选框
type: Form Controls
type: Data Entry
title: Checkbox
---

View File

@@ -12,14 +12,26 @@
position: relative;
vertical-align: middle;
.@{checkbox-prefix-cls}-wrapper:hover &,
&:hover,
&-focused {
.@{checkbox-inner-prefix-cls} {
border-color: #bcbcbc;
border-color: @primary-color;
}
}
&-inner {
position: relative;
top: 0;
left: 0;
display: inline-block;
width: 14px;
height: 14px;
border: 1px solid @border-color-base;
border-radius: 3px;
background-color: #fff;
transition: all .3s;
&:after {
transform: rotate(45deg) scale(0);
position: absolute;
@@ -34,19 +46,6 @@
content: ' ';
transition: all .1s @ease-in-back;
}
position: relative;
top: 0;
left: 0;
display: inline-block;
width: 14px;
height: 14px;
border-width: 1px;
border-style: solid;
border-radius: 3px;
border-color: @border-color-base;
background-color: #fff;
transition: border-color 0.1s @ease-in-out-back, background-color 0.1s @ease-in-out-back;
}
&-input {
@@ -64,83 +63,50 @@
}
// 半选状态
.@{checkbox-prefix-cls}-indeterminate .@{checkbox-inner-prefix-cls}:after {
content: ' ';
transform: scale(1);
position: absolute;
left: 2px;
top: 5px;
width: 8px;
height: 1px;
}
// 选中状态
.@{checkbox-prefix-cls}-checked .@{checkbox-inner-prefix-cls}:after {
transform: rotate(45deg) scale(1);
position: absolute;
left: 4px;
top: 1px;
display: table;
width: 5px;
height: 8px;
border: 2px solid #fff;
border-top: 0;
border-left: 0;
content: ' ';
transition: all .2s @ease-out-back .1s;
}
.@{checkbox-prefix-cls}-checked,
.@{checkbox-prefix-cls}-indeterminate {
.@{checkbox-inner-prefix-cls} {
border-color: @primary-color;
background-color: @primary-color;
&:after {
content: ' ';
transform: scale(1);
position: absolute;
left: 2px;
top: 5px;
width: 8px;
height: 1px;
}
}
&:hover {
.@{checkbox-inner-prefix-cls} {
border-color: @primary-color;
}
}
}
// 选中状态
.@{checkbox-prefix-cls}-checked {
&:hover {
.@{checkbox-inner-prefix-cls} {
border-color: @primary-color;
}
}
.@{checkbox-inner-prefix-cls} {
border-color: @primary-color;
background-color: @primary-color;
&:after {
transform: rotate(45deg) scale(1);
position: absolute;
left: 4px;
top: 1px;
display: table;
width: 5px;
height: 8px;
border: 2px solid #fff;
border-top: 0;
border-left: 0;
content: ' ';
transition: all .2s @ease-out-back .1s;
}
}
}
.@{checkbox-prefix-cls}-disabled {
&.@{checkbox-prefix-cls}-checked {
&:hover {
.@{checkbox-inner-prefix-cls} {
border-color: @border-color-base;
}
}
.@{checkbox-inner-prefix-cls} {
background-color: #f3f3f3;
border-color: @border-color-base;
&:after {
animation-name: none;
border-color: #ccc;
}
}
}
&:hover {
.@{checkbox-inner-prefix-cls} {
border-color: @border-color-base;
.@{checkbox-inner-prefix-cls}:after {
animation-name: none;
border-color: #ccc;
}
}
.@{checkbox-inner-prefix-cls} {
border-color: @border-color-base;
border-color: @border-color-base!important;
background-color: #f3f3f3;
&:after {
animation-name: none;
@@ -148,13 +114,9 @@
}
}
.@{checkbox-inner-prefix-cls}-input {
cursor: default;
}
& + span {
color: #ccc;
cursor: @cursor-disabled;
cursor: not-allowed;
}
}
@@ -162,15 +124,15 @@
cursor: pointer;
font-size: @font-size-base;
display: inline-block;
& + & {
margin-left: 8px;
&:not(:last-child) {
margin-right: 8px;
}
}
.@{checkbox-prefix-cls}-wrapper + span,
.@{checkbox-prefix-cls} + span {
margin-left: 8px;
margin-right: 8px;
padding-left: 8px;
padding-right: 8px;
}
.@{checkbox-prefix-cls}-group {

View File

@@ -1,2 +1,2 @@
import { Col } from '../layout';
import { Col } from '../grid';
export default Col;

View File

@@ -1,2 +1,2 @@
import '../../style/index.less';
import '../../layout/style/index.less';
import '../../grid/style/index.less';

View File

@@ -0,0 +1,39 @@
---
order: 3
title:
zh-CN: 简洁风格
en-US: Borderless
---
## zh-CN
一套没有边框的简洁样式。
## en-US
A borderless style of Collapse.
````jsx
import { Collapse } from 'antd';
const Panel = Collapse.Panel;
const text = `
A dog is a type of domesticated animal.
Known for its loyalty and faithfulness,
it can be found as a welcome guest in many households across the world.
`;
ReactDOM.render(
<Collapse bordered={false} defaultActiveKey={['1']}>
<Panel header="This is panel header 1" key="1">
<p>{text}</p>
</Panel>
<Panel header="This is panel header 2" key="2">
<p>{text}</p>
</Panel>
<Panel header="This is panel header 3" key="3">
<p>{text}</p>
</Panel>
</Collapse>
, mountNode);
````

View File

@@ -1,17 +1,17 @@
---
order: 2
title:
title:
zh-CN: 面板嵌套
en-US: Nested panel
---
## zh-CN
手风琴嵌套折叠面板。
嵌套折叠面板。
## en-US
`Collapse` is nested inside the `Accordion`.
`Collapse` is nested inside the `Collapse`.
````jsx
import { Collapse } from 'antd';
@@ -28,7 +28,7 @@ const text = `
`;
ReactDOM.render(
<Collapse onChange={callback} accordion>
<Collapse onChange={callback}>
<Panel header={'This is panel header 1'} key="1">
<Collapse defaultActiveKey="1">
<Panel header={'This is panel nest panel'} key="1">

View File

@@ -1,7 +1,8 @@
---
category: Components
type: Views
type: Data Display
title: Collapse
cols: 1
---
A content area which can be collapsed and expanded.
@@ -27,4 +28,3 @@ A content area which can be collapsed and expanded.
|----------|----------------|----------|--------------|
| key | corresponds to the `activeKey` | String | - |
| header | title of the panel | React.Element or String | - |

View File

@@ -1,27 +1,27 @@
import RcCollapse from 'rc-collapse';
import React from 'react';
import RcCollapse from 'rc-collapse';
import classNames from 'classnames';
export interface CollapseProps {
activeKey?: Array<string> | string;
/** 初始化选中面板的key */
defaultActiveKey?: Array<string>;
/** accordion 为 true 的时候,一次只可以打开一个面板 */
/** 手风琴效果 */
accordion?: boolean;
/** 切换面板的回调 */
onChange?: (key: string) => void;
style?: React.CSSProperties;
className?: string;
bordered?: boolean;
prefixCls?: string;
}
export interface CollapsePanelProps {
/** 对应 activeKey */
key: string;
/** 面板头内容 */
header: React.ReactNode;
style?: React.CSSProperties;
className?: string;
}
export class CollapsePanel extends React.Component<CollapsePanelProps, {}> {
}
export default class Collapse extends React.Component<CollapseProps, any> {
@@ -29,9 +29,14 @@ export default class Collapse extends React.Component<CollapseProps, any> {
static defaultProps = {
prefixCls: 'ant-collapse',
bordered: true,
};
render() {
return <RcCollapse {...this.props} />;
const { prefixCls, className = '', bordered } = this.props;
const collapseClassName = classNames({
[`${prefixCls}-borderless`]: !bordered,
}, className);
return <RcCollapse {...this.props} className={collapseClassName} />;
}
}

View File

@@ -1,8 +1,9 @@
---
category: Components
type: Views
type: Data Display
title: Collapse
subtitle: 折叠面板
cols: 1
---
可以折叠/展开的内容区域。

View File

@@ -25,7 +25,7 @@
height: 38px;
line-height: 38px;
padding-left: 32px;
color: #666;
color: @text-color;
cursor: pointer;
position: relative;
@@ -33,7 +33,7 @@
.collapse-close();
.iconfont-mixin();
position: absolute;
color: #666;
color: @text-color;
display: inline-block;
margin-right: 8px;
line-height: 40px;
@@ -59,7 +59,7 @@
overflow: hidden;
color: @text-color;
padding: 0 16px;
background-color: #fff;
background-color: @component-background;
& > &-box {
padding-top: 16px;
@@ -82,4 +82,22 @@
.collapse-open();
}
}
&-borderless {
background-color: @component-background;
border: 0;
}
&-borderless > &-item {
border: 0;
}
&-borderless > &-item > &-header {
border-bottom: 1px solid @border-color-base;
transition: all .3s;
border-radius: @border-color-base @border-color-base 0 0;
&:hover {
background-color: #fcfcfc;
}
}
}

View File

@@ -9,12 +9,24 @@ export default class RangePicker extends React.Component<any, any> {
static defaultProps = {
prefixCls: 'ant-calendar',
allowClear: true,
showToday: false,
};
constructor(props) {
super(props);
const value = props.value || props.defaultValue || [];
if (
value[0] && !moment.isMoment(value[0]) ||
value[1] && !moment.isMoment(value[1])
) {
throw new Error(
'The value/defaultValue of RangePicker must be a moment object array after `antd@2.0`, ' +
'see: http://u.ant.design/date-picker-value'
);
}
this.state = {
value: props.value || props.defaultValue || [],
value,
open: props.open,
};
}
@@ -24,6 +36,11 @@ export default class RangePicker extends React.Component<any, any> {
value: nextProps.value || [],
});
}
if ('open' in nextProps) {
this.setState({
open: nextProps.open,
});
}
}
clearSelection = (e) => {
@@ -44,13 +61,51 @@ export default class RangePicker extends React.Component<any, any> {
]);
}
handleOpenChange = (open) => {
this.setState({ open });
const onOpenChange = this.props.onOpenChange;
if (onOpenChange) {
onOpenChange(open);
}
}
setValue(value) {
this.handleChange(value);
if (!this.props.showTime) {
this.setState({ open: false });
}
}
renderFooter = () => {
const { prefixCls, ranges } = this.props;
if (!ranges) {
return null;
}
const operations = Object.keys(ranges).map((range) => {
const value = ranges[range];
return <a key={range} onClick={() => this.setValue(value)}>{range}</a>;
});
return (
<div className={`${prefixCls}-range-quick-selector`}>
{operations}
</div>
);
}
render() {
const props = this.props;
const { disabledDate, disabledTime, showTime, prefixCls, popupStyle, style, onOk, locale } = props;
const {
disabledDate, disabledTime, showTime, showToday,
ranges, prefixCls, popupStyle,
style, onOk, locale, format,
} = props;
const state = this.state;
const calendarClassName = classNames({
[`${prefixCls}-time`]: showTime,
[`${prefixCls}-range-with-ranges`]: ranges,
});
// 需要选择时间时,点击 ok 时才触发 onChange
@@ -66,16 +121,18 @@ export default class RangePicker extends React.Component<any, any> {
calendarHandler = {};
}
const startPlaceholder = ('startPlaceholder' in this.props)
? props.startPlaceholder : locale.lang.rangePlaceholder[0];
const endPlaceholder = ('endPlaceholder' in props)
? props.endPlaceholder : locale.lang.rangePlaceholder[1];
const startPlaceholder = ('placeholder' in props)
? props.placeholder[0] : locale.lang.rangePlaceholder[0];
const endPlaceholder = ('placeholder' in props)
? props.placeholder[1] : locale.lang.rangePlaceholder[1];
const calendar = (
<RangeCalendar
{...calendarHandler}
format={format}
prefixCls={prefixCls}
className={calendarClassName}
renderFooter={this.renderFooter}
timePicker={props.timePicker}
disabledDate={disabledDate}
disabledTime={disabledTime}
@@ -83,6 +140,7 @@ export default class RangePicker extends React.Component<any, any> {
locale={locale.lang}
onOk={onOk}
defaultValue={props.defaultPickerValue || [moment(), moment()]}
showToday={showToday}
/>
);
@@ -93,42 +151,44 @@ export default class RangePicker extends React.Component<any, any> {
onClick={this.clearSelection}
/> : null;
const input = ({ value }) => {
const start = value[0];
const end = value[1];
return (
<span className={props.pickerInputClass} disabled={props.disabled}>
<input
disabled={props.disabled}
readOnly
value={(start && start.format(props.format)) || ''}
placeholder={startPlaceholder}
className={`${prefixCls}-range-picker-input`}
/>
<span className={`${prefixCls}-range-picker-separator`}> ~ </span>
<input
disabled={props.disabled}
readOnly
value={(end && end.format(props.format)) || ''}
placeholder={endPlaceholder}
className={`${prefixCls}-range-picker-input`}
/>
{clearIcon}
<span className={`${prefixCls}-picker-icon`} />
</span>
);
};
return (<span className={props.pickerClass} style={style}>
<RcDatePicker
{...props}
{...pickerChangeHandler}
calendar={calendar}
value={state.value}
open={state.open}
onOpenChange={this.handleOpenChange}
prefixCls={`${prefixCls}-picker-container`}
style={popupStyle}
>
{
({ value }) => {
const start = value[0];
const end = value[1];
return (
<span className={props.pickerInputClass} disabled={props.disabled}>
<input
disabled={props.disabled}
readOnly
value={(start && start.format(props.format)) || ''}
placeholder={startPlaceholder}
className={`${prefixCls}-range-picker-input`}
/>
<span className={`${prefixCls}-range-picker-separator`}> ~ </span>
<input
disabled={props.disabled}
readOnly
value={(end && end.format(props.format)) || ''}
placeholder={endPlaceholder}
className={`${prefixCls}-range-picker-input`}
/>
{clearIcon}
<span className={`${prefixCls}-picker-icon`} />
</span>
);
}
}
{input}
</RcDatePicker>
</span>);
}

View File

@@ -3,7 +3,6 @@ import moment from 'moment';
import MonthCalendar from 'rc-calendar/lib/MonthCalendar';
import RcDatePicker from 'rc-calendar/lib/Picker';
import classNames from 'classnames';
import assign from 'object-assign';
import omit from 'omit.js';
import Icon from '../icon';
@@ -19,13 +18,21 @@ export default function createPicker(TheCalendar) {
return {
prefixCls: 'ant-calendar',
allowClear: true,
showToday: true,
};
},
getInitialState() {
const props = this.props;
const value = props.value || props.defaultValue;
if (value && !moment.isMoment(value)) {
throw new Error(
'The value/defaultValue of DatePicker or MonthPicker must be ' +
'a moment object after `antd@2.0`, see: http://u.ant.design/date-picker-value'
);
}
return {
value: props.value || props.defaultValue,
value,
tempValue: undefined,
};
},
@@ -34,6 +41,7 @@ export default function createPicker(TheCalendar) {
if ('value' in nextProps) {
this.setState({
value: nextProps.value,
tempValue: nextProps.value,
});
}
},
@@ -54,20 +62,28 @@ export default function createPicker(TheCalendar) {
},
handleTempChange(tempValue) {
if (!('value' in this.props)) {
this.setState({ tempValue });
}
this.setState({ tempValue });
},
// Clear temp value when hide picker panel
// Clear temp value and trigger onChange when hide DatePicker[showTime] panel
handleOpenChange(open) {
const { showTime, onOpenChange, onChange, format } = this.props;
if (!open) {
this.setState({
tempValue: undefined,
// tricky code to avoid triggering onChange multiple times
// when click `Now` button
let tempValue;
this.setState(prevState => {
tempValue = prevState.tempValue;
const nextState = { tempValue: undefined } as any;
if (showTime && tempValue) {
nextState.value = tempValue;
onChange(tempValue, (tempValue && tempValue.format(format)) || '');
}
return nextState;
});
}
if (this.props.onOpenChange) {
this.props.onOpenChange(open);
if (onOpenChange) {
onOpenChange(open);
}
},
@@ -91,14 +107,9 @@ export default function createPicker(TheCalendar) {
let calendarHandler: Object = {};
if (props.showTime) {
calendarHandler = {
onOk: this.handleChange,
// fix https://github.com/ant-design/ant-design/issues/1902
onSelect: (value, cause) => {
if (cause && cause.source === 'todayButton') {
this.handleChange(value);
} else {
this.handleTempChange(value);
}
onSelect: (value) => {
this.handleTempChange(value);
},
};
} else {
@@ -109,6 +120,7 @@ export default function createPicker(TheCalendar) {
const calendar = (
<TheCalendar
{...calendarHandler}
disabledDate={props.disabledDate}
disabledTime={disabledTime}
locale={locale.lang}
@@ -119,23 +131,33 @@ export default function createPicker(TheCalendar) {
className={calendarClassName}
onOk={props.onOk}
format={props.format}
{...calendarHandler}
showToday={props.showToday}
/>
);
// default width for showTime
const pickerStyle: { width?: number } = {};
if (props.showTime) {
pickerStyle.width = 180;
}
const clearIcon = (!props.disabled && props.allowClear && this.state.value) ?
<Icon type="cross-circle"
<Icon
type="cross-circle"
className={`${prefixCls}-picker-clear`}
onClick={this.clearSelection}
/> : null;
const input = ({ value }) => (
<span>
<input
disabled={props.disabled}
readOnly
value={(value && value.format(props.format)) || ''}
placeholder={placeholder}
className={props.pickerInputClass}
/>
{clearIcon}
<span className={`${prefixCls}-picker-icon`} />
</span>
);
return (
<span className={props.pickerClass} style={assign({}, pickerStyle, props.style)}>
<span className={props.pickerClass} style={props.style}>
<RcDatePicker
{...props}
{...pickerChangeHandler}
@@ -145,23 +167,7 @@ export default function createPicker(TheCalendar) {
prefixCls={`${prefixCls}-picker-container`}
style={props.popupStyle}
>
{
({ value }) => {
return (
<span>
<input
disabled={props.disabled}
readOnly
value={(value && value.format(props.format)) || ''}
placeholder={placeholder}
className={props.pickerInputClass}
/>
{clearIcon}
<span className={`${prefixCls}-picker-icon`} />
</span>
);
}
}
{input}
</RcDatePicker>
</span>
);

Some files were not shown because too many files have changed in this diff Show More