@douyinfe/semi-ui 2.1.3 → 2.1.6-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (788) hide show
  1. package/_base/_story/index.scss +15 -0
  2. package/_base/_story/index.stories.js +118 -0
  3. package/_base/_story/index.stories.tsx +55 -0
  4. package/_base/base.scss +3 -0
  5. package/_base/base.ts +36 -0
  6. package/_base/baseComponent.tsx +78 -0
  7. package/_base/reactUtils.ts +43 -0
  8. package/_portal/_story/portal.stories.js +17 -0
  9. package/_portal/index.tsx +112 -0
  10. package/_test_/utils/dom/index.js +9 -0
  11. package/_test_/utils/function/index.js +1 -0
  12. package/_test_/utils/function/sleep.js +9 -0
  13. package/_test_/utils/index.js +4 -0
  14. package/_test_/utils/table/index.js +310 -0
  15. package/_test_/utils/tooltip/index.js +39 -0
  16. package/_utils/index.ts +157 -0
  17. package/anchor/__test__/anchor.test.js +59 -0
  18. package/anchor/_story/anchor.stories.js +266 -0
  19. package/anchor/_story/anchor.stories.tsx +165 -0
  20. package/anchor/anchor-context.ts +13 -0
  21. package/anchor/index.tsx +296 -0
  22. package/anchor/link.tsx +136 -0
  23. package/autoComplete/__test__/autoComplete.test.js +456 -0
  24. package/autoComplete/_story/CustomTrigger/index.jsx +106 -0
  25. package/autoComplete/_story/autoComplete.stories.js +349 -0
  26. package/autoComplete/_story/autoComplete.stories.tsx +87 -0
  27. package/autoComplete/index.tsx +476 -0
  28. package/avatar/__test__/avatar.test.js +363 -0
  29. package/avatar/__test__/avatarGroup.test.js +193 -0
  30. package/avatar/_story/Demo.tsx +22 -0
  31. package/avatar/_story/avatar.stories.js +191 -0
  32. package/avatar/_story/avatar.stories.tsx +7 -0
  33. package/avatar/avatarGroup.tsx +81 -0
  34. package/avatar/index.tsx +163 -0
  35. package/avatar/interface.ts +51 -0
  36. package/backtop/__test__/backtop.test.js +49 -0
  37. package/backtop/_story/backtop.stories.js +37 -0
  38. package/backtop/_story/backtop.stories.tsx +30 -0
  39. package/backtop/index.tsx +112 -0
  40. package/badge/__test__/badge.test.js +123 -0
  41. package/badge/_story/Demo.tsx +16 -0
  42. package/badge/_story/badge.stories.js +91 -0
  43. package/badge/_story/badge.stories.tsx +8 -0
  44. package/badge/index.tsx +80 -0
  45. package/banner/__test__/banner.test.js +58 -0
  46. package/banner/_story/Demo.tsx +14 -0
  47. package/banner/_story/banner.stories.js +45 -0
  48. package/banner/_story/banner.stories.tsx +8 -0
  49. package/banner/index.tsx +172 -0
  50. package/breadcrumb/__test__/breadcrumb.test.js +219 -0
  51. package/breadcrumb/_story/Demo.tsx +24 -0
  52. package/breadcrumb/_story/breadcrumb.stories.js +317 -0
  53. package/breadcrumb/_story/breadcrumb.stories.tsx +45 -0
  54. package/breadcrumb/bread-context.tsx +13 -0
  55. package/breadcrumb/index.tsx +293 -0
  56. package/breadcrumb/item.tsx +207 -0
  57. package/button/Button.tsx +126 -0
  58. package/button/__test__/button.test.js +64 -0
  59. package/button/_story/Demo.tsx +51 -0
  60. package/button/_story/button.stories.js +293 -0
  61. package/button/_story/button.stories.tsx +10 -0
  62. package/button/buttonGroup.tsx +49 -0
  63. package/button/index.tsx +38 -0
  64. package/button/splitButtonGroup.tsx +27 -0
  65. package/calendar/__test__/calendar.test.js +163 -0
  66. package/calendar/_story/Demo.tsx +20 -0
  67. package/calendar/_story/calendar.stories.js +405 -0
  68. package/calendar/_story/calendar.stories.tsx +5 -0
  69. package/calendar/dayCalendar.tsx +191 -0
  70. package/calendar/dayCol.tsx +156 -0
  71. package/calendar/index.tsx +61 -0
  72. package/calendar/interface.ts +42 -0
  73. package/calendar/monthCalendar.tsx +399 -0
  74. package/calendar/rangeCalendar.tsx +270 -0
  75. package/calendar/timeCol.tsx +64 -0
  76. package/calendar/weekCalendar.tsx +271 -0
  77. package/card/__test__/card.test.js +202 -0
  78. package/card/_story/card.stories.js +555 -0
  79. package/card/_story/card.stories.tsx +100 -0
  80. package/card/cardGroup.tsx +63 -0
  81. package/card/index.tsx +243 -0
  82. package/card/meta.tsx +73 -0
  83. package/cascader/__test__/cascader.test.js +1030 -0
  84. package/cascader/_story/CustomTrigger/index.jsx +63 -0
  85. package/cascader/_story/Demo.tsx +63 -0
  86. package/cascader/_story/cascader.stories.js +1213 -0
  87. package/cascader/_story/cascader.stories.tsx +6 -0
  88. package/cascader/index.tsx +901 -0
  89. package/cascader/item.tsx +304 -0
  90. package/checkbox/__test__/checkbox.test.js +85 -0
  91. package/checkbox/__test__/checkboxGroup.test.js +180 -0
  92. package/checkbox/_story/Demo.tsx +27 -0
  93. package/checkbox/_story/checkbox.stories.js +1015 -0
  94. package/checkbox/_story/checkbox.stories.tsx +8 -0
  95. package/checkbox/checkbox.tsx +203 -0
  96. package/checkbox/checkboxGroup.tsx +172 -0
  97. package/checkbox/checkboxInner.tsx +88 -0
  98. package/checkbox/context.ts +14 -0
  99. package/checkbox/index.tsx +19 -0
  100. package/collapse/__test__/collapse.test.js +148 -0
  101. package/collapse/_story/Demo.tsx +28 -0
  102. package/collapse/_story/accordion.stories.js +143 -0
  103. package/collapse/_story/accordion.stories.tsx +8 -0
  104. package/collapse/collapse-context.tsx +18 -0
  105. package/collapse/index.tsx +119 -0
  106. package/collapse/item.tsx +139 -0
  107. package/collapsible/_story/Demo.tsx +41 -0
  108. package/collapsible/_story/Nested/index.js +101 -0
  109. package/collapsible/_story/collapsible.stories.js +588 -0
  110. package/collapsible/_story/collapsible.stories.tsx +7 -0
  111. package/collapsible/index.tsx +156 -0
  112. package/configProvider/_story/ChangeTimeZone/index.js +183 -0
  113. package/configProvider/_story/GetPopupContainer/index.js +194 -0
  114. package/configProvider/_story/RTLDirection/RTLForm.jsx +313 -0
  115. package/configProvider/_story/RTLDirection/RTLTable.jsx +94 -0
  116. package/configProvider/_story/RTLDirection/RTLWrapper.tsx +27 -0
  117. package/configProvider/_story/configProvider.stories.js +30 -0
  118. package/configProvider/context.tsx +14 -0
  119. package/configProvider/index.tsx +48 -0
  120. package/datePicker/__test__/datePicker.test.js +873 -0
  121. package/datePicker/_story/AllTypes/index.js +19 -0
  122. package/datePicker/_story/AutoSwitchDate/index.jsx +14 -0
  123. package/datePicker/_story/Autofocus/index.js +11 -0
  124. package/datePicker/_story/BetterRangePicker/index.jsx +172 -0
  125. package/datePicker/_story/Callbacks/index.jsx +24 -0
  126. package/datePicker/_story/ControlledDemo/index.js +149 -0
  127. package/datePicker/_story/CustomTrigger/index.jsx +36 -0
  128. package/datePicker/_story/Cycled/index.jsx +11 -0
  129. package/datePicker/_story/DateOffset/index.js +83 -0
  130. package/datePicker/_story/DatePickerSlot/index.jsx +83 -0
  131. package/datePicker/_story/DatePickerSlot/index.scss +7 -0
  132. package/datePicker/_story/DatePickerTimeZone/index.jsx +27 -0
  133. package/datePicker/_story/Density/index.jsx +69 -0
  134. package/datePicker/_story/DisabledDate/index.js +189 -0
  135. package/datePicker/_story/ExceptionDemo/index.js +20 -0
  136. package/datePicker/_story/Multiple/index.jsx +24 -0
  137. package/datePicker/_story/NeedConfirm/index.jsx +94 -0
  138. package/datePicker/_story/OnChangeWithDateFirst/index.jsx +37 -0
  139. package/datePicker/_story/OverPopover/index.jsx +22 -0
  140. package/datePicker/_story/RenderDate/index.js +21 -0
  141. package/datePicker/_story/RenderFullDate/index.js +56 -0
  142. package/datePicker/_story/RenderFullDate/index.scss +23 -0
  143. package/datePicker/_story/SyncSwitchMonth/index.js +45 -0
  144. package/datePicker/_story/TimePickerOpts/index.jsx +16 -0
  145. package/datePicker/_story/datePicker.stories.js +636 -0
  146. package/datePicker/_story/datePicker.stories.tsx +230 -0
  147. package/datePicker/dateInput.tsx +358 -0
  148. package/datePicker/datePicker.tsx +647 -0
  149. package/datePicker/footer.tsx +29 -0
  150. package/datePicker/index.tsx +71 -0
  151. package/datePicker/month.tsx +388 -0
  152. package/datePicker/monthsGrid.tsx +615 -0
  153. package/datePicker/navigation.tsx +120 -0
  154. package/datePicker/quickControl.tsx +54 -0
  155. package/datePicker/yearAndMonth.tsx +228 -0
  156. package/descriptions/__test__/descriptions.test.js +167 -0
  157. package/descriptions/_story/Demo.tsx +36 -0
  158. package/descriptions/_story/descriptions.stories.js +95 -0
  159. package/descriptions/_story/descriptions.stories.tsx +6 -0
  160. package/descriptions/descriptions-context.ts +11 -0
  161. package/descriptions/index.tsx +82 -0
  162. package/descriptions/item.tsx +63 -0
  163. package/dist/css/semi.css +67 -12
  164. package/dist/css/semi.min.css +1 -1
  165. package/dist/umd/semi-ui.js +310 -279
  166. package/dist/umd/semi-ui.js.map +1 -1
  167. package/dist/umd/semi-ui.min.js +1 -1
  168. package/dist/umd/semi-ui.min.js.map +1 -1
  169. package/dropdown/__test__/dropdown.test.js +308 -0
  170. package/dropdown/_story/AutoClose/index.js +120 -0
  171. package/dropdown/_story/DisabledItem/index.js +31 -0
  172. package/dropdown/_story/InHoverElements/index.js +25 -0
  173. package/dropdown/_story/InHoverElements/index.scss +16 -0
  174. package/dropdown/_story/MultiDropdown/index.js +34 -0
  175. package/dropdown/_story/WrapAvatar/index.jsx +10 -0
  176. package/dropdown/_story/dropdown.stories.js +331 -0
  177. package/dropdown/_story/dropdown.stories.tsx +28 -0
  178. package/dropdown/_story/inTable/index.js +194 -0
  179. package/dropdown/context.ts +6 -0
  180. package/dropdown/dropdownDivider.tsx +23 -0
  181. package/dropdown/dropdownItem.tsx +104 -0
  182. package/dropdown/dropdownMenu.tsx +28 -0
  183. package/dropdown/dropdownTitle.tsx +36 -0
  184. package/dropdown/index.tsx +239 -0
  185. package/empty/__test__/empty.test.js +63 -0
  186. package/empty/_story/Demo.tsx +10 -0
  187. package/empty/_story/empty.stories.js +53 -0
  188. package/empty/_story/empty.stories.tsx +8 -0
  189. package/empty/index.tsx +127 -0
  190. package/form/__test__/arrayField.test.js +204 -0
  191. package/form/__test__/baseForm/baseForm.test.js +628 -0
  192. package/form/__test__/baseForm/onChange.test.js +144 -0
  193. package/form/__test__/errorMessage.test.js +59 -0
  194. package/form/__test__/field.test.js +426 -0
  195. package/form/__test__/formApi.test.js +422 -0
  196. package/form/__test__/group.test.js +108 -0
  197. package/form/__test__/hoc.test.js +24 -0
  198. package/form/__test__/label.test.js +69 -0
  199. package/form/__test__/section.test.js +49 -0
  200. package/form/__test__/slot.test.js +108 -0
  201. package/form/_story/Debug/bugDemo.jsx +219 -0
  202. package/form/_story/Debug/childDidMount.jsx +30 -0
  203. package/form/_story/Debug/myRadio.jsx +32 -0
  204. package/form/_story/DynamicField/arrayFieldDemo.jsx +320 -0
  205. package/form/_story/DynamicField/nestArrayField.jsx +159 -0
  206. package/form/_story/FieldProps/bigNumberFieldPath.jsx +73 -0
  207. package/form/_story/FieldProps/convert.jsx +100 -0
  208. package/form/_story/FieldProps/fieldRef.jsx +74 -0
  209. package/form/_story/FieldProps/helpAndExtra.jsx +136 -0
  210. package/form/_story/FieldProps/pureField.jsx +0 -0
  211. package/form/_story/FieldProps/rulesUpdateDemo.js +116 -0
  212. package/form/_story/FormApi/arrayDemo.jsx +97 -0
  213. package/form/_story/FormApi/formApiDemo.jsx +82 -0
  214. package/form/_story/FormApi/resetDemo.jsx +41 -0
  215. package/form/_story/FormApi/setValuesDemo.jsx +133 -0
  216. package/form/_story/HOC/displayName.jsx +19 -0
  217. package/form/_story/HOC/withFieldDemo.jsx +216 -0
  218. package/form/_story/Hook/hookDemo.jsx +195 -0
  219. package/form/_story/Layout/layoutDemo.jsx +348 -0
  220. package/form/_story/Layout/modalFormDemo.jsx +94 -0
  221. package/form/_story/Layout/slotDemo.jsx +126 -0
  222. package/form/_story/Performance/performanceDemo.jsx +440 -0
  223. package/form/_story/Performance/selectUseReactNode.jsx +110 -0
  224. package/form/_story/Reference/inform.test.js +110 -0
  225. package/form/_story/Validate/validateDemo.jsx +421 -0
  226. package/form/_story/demo.jsx +397 -0
  227. package/form/_story/form.stories.js +439 -0
  228. package/form/_story/form.stories.tsx +176 -0
  229. package/form/arrayField.tsx +199 -0
  230. package/form/baseForm.tsx +290 -0
  231. package/form/context.tsx +18 -0
  232. package/form/errorMessage.tsx +80 -0
  233. package/form/field.tsx +79 -0
  234. package/form/group.tsx +91 -0
  235. package/form/hoc/withField.tsx +559 -0
  236. package/form/hoc/withFormApi.tsx +11 -0
  237. package/form/hoc/withFormState.tsx +11 -0
  238. package/form/hooks/index.ts +12 -0
  239. package/form/hooks/useArrayFieldState.tsx +9 -0
  240. package/form/hooks/useFieldApi.tsx +21 -0
  241. package/form/hooks/useFieldState.tsx +18 -0
  242. package/form/hooks/useFormApi.tsx +6 -0
  243. package/form/hooks/useFormState.tsx +9 -0
  244. package/form/hooks/useFormUpdater.tsx +6 -0
  245. package/form/hooks/useStateWithGetter.ts +13 -0
  246. package/form/index.tsx +42 -0
  247. package/form/interface.ts +132 -0
  248. package/form/label.tsx +79 -0
  249. package/form/section.tsx +38 -0
  250. package/form/slot.tsx +165 -0
  251. package/getBabelConfig.js +37 -0
  252. package/grid/__test__/calculateGutter.test.js +50 -0
  253. package/grid/_story/demo.scss +23 -0
  254. package/grid/_story/grid.stories.js +290 -0
  255. package/grid/_story/grid.stories.tsx +15 -0
  256. package/grid/col.tsx +133 -0
  257. package/grid/index.tsx +7 -0
  258. package/grid/row.tsx +174 -0
  259. package/gulpfile.js +116 -0
  260. package/iconButton/_story/iconButton.stories.tsx +16 -0
  261. package/iconButton/index.tsx +130 -0
  262. package/icons/_story/Others/add-template-icon.jsx +0 -0
  263. package/icons/_story/Others/add-template-icon.svg +10 -0
  264. package/icons/_story/Others/hangup.svg +3 -0
  265. package/icons/_story/Others/index.js +24 -0
  266. package/icons/_story/Others/xianglin.svg +3 -0
  267. package/icons/_story/icon.stories.js +63 -0
  268. package/icons/_story/icon.stories.tsx +46 -0
  269. package/icons/index.tsx +5 -0
  270. package/index.ts +94 -0
  271. package/input/__test__/input.test.js +245 -0
  272. package/input/__test__/textArea.test.js +119 -0
  273. package/input/_story/Demo.tsx +33 -0
  274. package/input/_story/TextareaDemo.tsx +27 -0
  275. package/input/_story/input.scss +0 -0
  276. package/input/_story/input.stories.js +887 -0
  277. package/input/_story/input.stories.tsx +11 -0
  278. package/input/index.tsx +444 -0
  279. package/input/inputGroup.tsx +119 -0
  280. package/input/textarea.tsx +330 -0
  281. package/inputNumber/__test__/inputNumber.test.js +370 -0
  282. package/inputNumber/_story/input.stories.tsx +17 -0
  283. package/inputNumber/_story/inputNumber.scss +10 -0
  284. package/inputNumber/_story/inputNumber.stories.js +643 -0
  285. package/inputNumber/index.tsx +480 -0
  286. package/layout/Sider.tsx +116 -0
  287. package/layout/__test__/layout.test.js +51 -0
  288. package/layout/_story/layout.stories.js +305 -0
  289. package/layout/_story/layout.stories.tsx +13 -0
  290. package/layout/index.tsx +126 -0
  291. package/layout/layout-context.ts +18 -0
  292. package/lib/cjs/_base/base.css +2 -2
  293. package/lib/cjs/button/Button.d.ts +1 -0
  294. package/lib/cjs/button/buttonGroup.js +11 -3
  295. package/lib/cjs/cascader/item.js +5 -0
  296. package/lib/cjs/checkbox/checkbox.js +4 -1
  297. package/lib/cjs/checkbox/checkboxGroup.d.ts +1 -0
  298. package/lib/cjs/checkbox/checkboxGroup.js +3 -1
  299. package/lib/cjs/form/baseForm.d.ts +2 -1
  300. package/lib/cjs/form/field.d.ts +2 -1
  301. package/lib/cjs/form/hoc/withField.js +3 -1
  302. package/lib/cjs/modal/Modal.d.ts +8 -8
  303. package/lib/cjs/modal/Modal.js +4 -4
  304. package/lib/cjs/modal/confirm.d.ts +10 -10
  305. package/lib/cjs/navigation/index.d.ts +2 -2
  306. package/lib/cjs/pagination/index.js +9 -4
  307. package/lib/cjs/radio/radio.js +1 -0
  308. package/lib/cjs/rating/item.js +2 -1
  309. package/lib/cjs/select/index.d.ts +1 -0
  310. package/lib/cjs/select/index.js +5 -1
  311. package/lib/cjs/table/Table.d.ts +1 -1
  312. package/lib/cjs/timeline/item.d.ts +2 -2
  313. package/lib/cjs/timeline/item.js +3 -3
  314. package/lib/cjs/tree/treeNode.js +0 -2
  315. package/lib/cjs/treeSelect/index.js +1 -0
  316. package/lib/cjs/typography/title.d.ts +1 -1
  317. package/lib/cjs/upload/index.d.ts +10 -1
  318. package/lib/cjs/upload/index.js +8 -0
  319. package/lib/es/_base/base.css +2 -2
  320. package/lib/es/button/Button.d.ts +1 -0
  321. package/lib/es/button/buttonGroup.js +3 -3
  322. package/lib/es/cascader/item.js +5 -0
  323. package/lib/es/checkbox/checkbox.js +4 -1
  324. package/lib/es/checkbox/checkboxGroup.d.ts +1 -0
  325. package/lib/es/checkbox/checkboxGroup.js +3 -1
  326. package/lib/es/form/baseForm.d.ts +2 -1
  327. package/lib/es/form/field.d.ts +2 -1
  328. package/lib/es/form/hoc/withField.js +3 -1
  329. package/lib/es/modal/Modal.d.ts +8 -8
  330. package/lib/es/modal/Modal.js +4 -4
  331. package/lib/es/modal/confirm.d.ts +10 -10
  332. package/lib/es/navigation/index.d.ts +2 -2
  333. package/lib/es/pagination/index.js +8 -4
  334. package/lib/es/radio/radio.js +1 -0
  335. package/lib/es/rating/item.js +2 -1
  336. package/lib/es/select/index.d.ts +1 -0
  337. package/lib/es/select/index.js +5 -1
  338. package/lib/es/table/Table.d.ts +1 -1
  339. package/lib/es/timeline/item.d.ts +2 -2
  340. package/lib/es/timeline/item.js +3 -3
  341. package/lib/es/tree/treeNode.js +0 -2
  342. package/lib/es/treeSelect/index.js +1 -0
  343. package/lib/es/typography/title.d.ts +1 -1
  344. package/lib/es/upload/index.d.ts +10 -1
  345. package/lib/es/upload/index.js +8 -0
  346. package/list/__test__/list.test.js +264 -0
  347. package/list/_story/list.stories.js +920 -0
  348. package/list/_story/list.stories.tsx +26 -0
  349. package/list/index.tsx +173 -0
  350. package/list/item.tsx +109 -0
  351. package/list/list-context.ts +15 -0
  352. package/locale/README.md +53 -0
  353. package/locale/_story/locale.stories.js +221 -0
  354. package/locale/_story/locale.stories.tsx +57 -0
  355. package/locale/context.tsx +5 -0
  356. package/locale/interface.ts +152 -0
  357. package/locale/localeConsumer.tsx +58 -0
  358. package/locale/localeProvider.tsx +35 -0
  359. package/locale/source/ar.ts +156 -0
  360. package/locale/source/en_GB.ts +156 -0
  361. package/locale/source/en_US.ts +156 -0
  362. package/locale/source/id_ID.ts +157 -0
  363. package/locale/source/ja_JP.ts +157 -0
  364. package/locale/source/ko_KR.ts +157 -0
  365. package/locale/source/ms_MY.ts +156 -0
  366. package/locale/source/pt_BR.ts +164 -0
  367. package/locale/source/ru_RU.ts +159 -0
  368. package/locale/source/th_TH.ts +160 -0
  369. package/locale/source/tr_TR.ts +156 -0
  370. package/locale/source/vi_VN.ts +159 -0
  371. package/locale/source/zh_CN.ts +157 -0
  372. package/locale/source/zh_TW.ts +157 -0
  373. package/modal/ConfirmModal.tsx +89 -0
  374. package/modal/Modal.tsx +415 -0
  375. package/modal/ModalContent.tsx +276 -0
  376. package/modal/__test__/confirm.test.js +203 -0
  377. package/modal/__test__/modal.test.js +324 -0
  378. package/modal/_story/CollapsibleInModal/index.jsx +100 -0
  379. package/modal/_story/DynamicContext/context.js +8 -0
  380. package/modal/_story/DynamicContext/index.jsx +30 -0
  381. package/modal/_story/modal.stories.js +251 -0
  382. package/modal/_story/modal.stories.tsx +41 -0
  383. package/modal/confirm.tsx +121 -0
  384. package/modal/index.tsx +13 -0
  385. package/modal/useModal/HookModal.tsx +62 -0
  386. package/modal/useModal/index.tsx +72 -0
  387. package/motions/Rotate.tsx +64 -0
  388. package/navigation/CollapseButton.tsx +47 -0
  389. package/navigation/Footer.tsx +72 -0
  390. package/navigation/Header.tsx +80 -0
  391. package/navigation/Item.tsx +274 -0
  392. package/navigation/OpenIconTransition.tsx +57 -0
  393. package/navigation/README.md +10 -0
  394. package/navigation/SubNav.tsx +376 -0
  395. package/navigation/SubNavTransition.tsx +58 -0
  396. package/navigation/__test__/navigation.test.js +274 -0
  397. package/navigation/_story/AutoOpen/index.js +69 -0
  398. package/navigation/_story/ControlledSelectedKeys/index.js +78 -0
  399. package/navigation/_story/DisabledNav/index.js +46 -0
  400. package/navigation/_story/ItemsChange/index.js +41 -0
  401. package/navigation/_story/LinkNav/index.jsx +90 -0
  402. package/navigation/_story/MountUnmount/index.js +57 -0
  403. package/navigation/_story/WithChildren/index.js +119 -0
  404. package/navigation/_story/WithRouter/index.js +111 -0
  405. package/navigation/_story/navigation.stories.js +330 -0
  406. package/navigation/_story/navigation.stories.tsx +101 -0
  407. package/navigation/index.tsx +427 -0
  408. package/navigation/nav-context.ts +9 -0
  409. package/notification/NoticeTransition.tsx +68 -0
  410. package/notification/__test__/notification.test.js +325 -0
  411. package/notification/_story/Demo.tsx +29 -0
  412. package/notification/_story/notification.stories.js +225 -0
  413. package/notification/_story/notification.stories.tsx +6 -0
  414. package/notification/_story/useNotification/context.js +3 -0
  415. package/notification/_story/useNotification/index.jsx +29 -0
  416. package/notification/index.tsx +265 -0
  417. package/notification/notice.tsx +185 -0
  418. package/notification/useNotification/HookNotice.tsx +36 -0
  419. package/notification/useNotification/index.tsx +94 -0
  420. package/overflowList/__test__/overflowList.test.js +31 -0
  421. package/overflowList/_story/Demo.tsx +36 -0
  422. package/overflowList/_story/overflowList.stories.js +356 -0
  423. package/overflowList/_story/overflowList.stories.tsx +7 -0
  424. package/overflowList/index.tsx +279 -0
  425. package/overflowList/intersectionObserver.tsx +93 -0
  426. package/package.json +16 -13
  427. package/pagination/__test__/pagination.test.js +255 -0
  428. package/pagination/_story/pagination.stories.js +159 -0
  429. package/pagination/_story/pagination.stories.tsx +11 -0
  430. package/pagination/index.tsx +455 -0
  431. package/popconfirm/__test__/popconfirm.test.js +131 -0
  432. package/popconfirm/_story/DynamicDisable/index.jsx +25 -0
  433. package/popconfirm/_story/InTable/index.js +75 -0
  434. package/popconfirm/_story/ShowArrow/index.jsx +141 -0
  435. package/popconfirm/_story/TitlePopconfirm/index.js +130 -0
  436. package/popconfirm/_story/TypesConfirm/index.jsx +121 -0
  437. package/popconfirm/_story/popconfirm.stories.js +170 -0
  438. package/popconfirm/_story/popconfirm.stories.tsx +20 -0
  439. package/popconfirm/index.tsx +239 -0
  440. package/popover/Arrow.tsx +66 -0
  441. package/popover/__test__/popover.test.js +52 -0
  442. package/popover/_story/ArrowPointAtCenter/index.jsx +138 -0
  443. package/popover/_story/BtnClose/index.jsx +80 -0
  444. package/popover/_story/NestedPopover/index.js +41 -0
  445. package/popover/_story/PopRight/index.js +25 -0
  446. package/popover/_story/PopRight/index.scss +25 -0
  447. package/popover/_story/SelectInPopover/index.jsx +38 -0
  448. package/popover/_story/popover.stories.js +574 -0
  449. package/popover/_story/popover.stories.tsx +53 -0
  450. package/popover/index.tsx +156 -0
  451. package/progress/__test__/progress.test.js +127 -0
  452. package/progress/_story/progress.stories.js +71 -0
  453. package/progress/_story/progress.stories.tsx +11 -0
  454. package/progress/index.tsx +245 -0
  455. package/radio/__test__/radio.test.jsx +91 -0
  456. package/radio/__test__/radioGroup.test.jsx +199 -0
  457. package/radio/_story/Demo.tsx +34 -0
  458. package/radio/_story/radio.scss +4 -0
  459. package/radio/_story/radio.stories.js +868 -0
  460. package/radio/_story/radio.stories.tsx +7 -0
  461. package/radio/context.ts +25 -0
  462. package/radio/index.tsx +12 -0
  463. package/radio/radio.tsx +245 -0
  464. package/radio/radioGroup.tsx +204 -0
  465. package/radio/radioInner.tsx +130 -0
  466. package/rating/__test__/rating.test.js +265 -0
  467. package/rating/_story/rating.stories.js +97 -0
  468. package/rating/_story/rating.stories.tsx +11 -0
  469. package/rating/index.tsx +283 -0
  470. package/rating/item.tsx +112 -0
  471. package/resizeObserver/index.tsx +115 -0
  472. package/scripts/compileDist.js +52 -0
  473. package/scripts/compileLib.js +13 -0
  474. package/scripts/compileScss.js +25 -0
  475. package/scrollList/__test__/scrollList.test.js +226 -0
  476. package/scrollList/_story/ScrollList/index.js +66 -0
  477. package/scrollList/_story/WheelList/index.js +116 -0
  478. package/scrollList/_story/scrolllist.stories.js +26 -0
  479. package/scrollList/_story/scrolllist.stories.tsx +131 -0
  480. package/scrollList/index.tsx +65 -0
  481. package/scrollList/scrollItem.tsx +509 -0
  482. package/select/__test__/select.test.js +1266 -0
  483. package/select/_story/CustomTrigger/index.jsx +21 -0
  484. package/select/_story/select.scss +51 -0
  485. package/select/_story/select.stories.js +2852 -0
  486. package/select/_story/select.stories.tsx +195 -0
  487. package/select/index.tsx +1124 -0
  488. package/select/option.tsx +157 -0
  489. package/select/optionGroup.tsx +42 -0
  490. package/select/utils.tsx +76 -0
  491. package/select/virtualRow.tsx +13 -0
  492. package/sideSheet/SideSheetContent.tsx +174 -0
  493. package/sideSheet/SideSheetTransition.tsx +104 -0
  494. package/sideSheet/__test__/sideSheet.test.js +319 -0
  495. package/sideSheet/_story/sideSheet.stories.js +379 -0
  496. package/sideSheet/_story/sideSheet.stories.tsx +48 -0
  497. package/sideSheet/index.tsx +268 -0
  498. package/skeleton/__test__/skeleton.test.js +32 -0
  499. package/skeleton/_story/skeleton.stories.js +82 -0
  500. package/skeleton/_story/skeleton.stories.tsx +61 -0
  501. package/skeleton/index.tsx +62 -0
  502. package/skeleton/item.tsx +82 -0
  503. package/slider/__test__/__snapshots__/slider.test.js.snap +5 -0
  504. package/slider/__test__/slider.test.js +155 -0
  505. package/slider/_story/Demo.scss +3 -0
  506. package/slider/_story/Demo.tsx +28 -0
  507. package/slider/_story/slider.stories.js +404 -0
  508. package/slider/_story/slider.stories.tsx +7 -0
  509. package/slider/index.tsx +561 -0
  510. package/space/__test__/space.test.js +99 -0
  511. package/space/_story/space.stories.js +254 -0
  512. package/space/_story/space.stories.tsx +26 -0
  513. package/space/index.tsx +95 -0
  514. package/space/utils.ts +24 -0
  515. package/spin/__test__/spin.test.js +46 -0
  516. package/spin/_story/Demo.tsx +10 -0
  517. package/spin/_story/spin.stories.js +92 -0
  518. package/spin/_story/spin.stories.tsx +6 -0
  519. package/spin/icon.tsx +54 -0
  520. package/spin/index.tsx +131 -0
  521. package/steps/__test__/steps.test.js +372 -0
  522. package/steps/_story/steps.stories.js +306 -0
  523. package/steps/_story/steps.stories.tsx +17 -0
  524. package/steps/basicStep.tsx +130 -0
  525. package/steps/basicSteps.tsx +110 -0
  526. package/steps/context.ts +7 -0
  527. package/steps/fillStep.tsx +113 -0
  528. package/steps/fillSteps.tsx +96 -0
  529. package/steps/index.tsx +69 -0
  530. package/steps/navStep.tsx +63 -0
  531. package/steps/navSteps.tsx +73 -0
  532. package/steps/step.tsx +37 -0
  533. package/switch/__test__/switch.test.js +128 -0
  534. package/switch/_story/switch.stories.js +160 -0
  535. package/switch/_story/switch.stories.tsx +124 -0
  536. package/switch/index.tsx +155 -0
  537. package/table/Body/BaseRow.tsx +361 -0
  538. package/table/Body/ExpandedRow.tsx +155 -0
  539. package/table/Body/SectionRow.tsx +200 -0
  540. package/table/Body/index.tsx +842 -0
  541. package/table/ColGroup.tsx +66 -0
  542. package/table/Column.tsx +17 -0
  543. package/table/ColumnFilter.tsx +203 -0
  544. package/table/ColumnSelection.tsx +88 -0
  545. package/table/ColumnShape.ts +33 -0
  546. package/table/ColumnSorter.tsx +58 -0
  547. package/table/CustomExpandIcon.tsx +95 -0
  548. package/table/HeadTable.tsx +118 -0
  549. package/table/ResizableHeaderCell.tsx +44 -0
  550. package/table/ResizableTable.tsx +176 -0
  551. package/table/Table.tsx +1384 -0
  552. package/table/TableCell.tsx +355 -0
  553. package/table/TableContextProvider.tsx +53 -0
  554. package/table/TableHeader.tsx +183 -0
  555. package/table/TableHeaderRow.tsx +180 -0
  556. package/table/TablePagination.tsx +52 -0
  557. package/table/__test__/table.test.js +1887 -0
  558. package/table/_story/BetterScrollbar.tsx +115 -0
  559. package/table/_story/ChildrenData/index.js +251 -0
  560. package/table/_story/ChildrenDataInnerSelected/index.js +221 -0
  561. package/table/_story/ChildrenDataSelected/index.js +247 -0
  562. package/table/_story/ControlledPagination/index.jsx +232 -0
  563. package/table/_story/ControlledSortOrder/index.jsx +85 -0
  564. package/table/_story/CustomComponents/index.js +101 -0
  565. package/table/_story/CustomExpandIcons/index.js +97 -0
  566. package/table/_story/CustomFilterDropdownItem/index.jsx +98 -0
  567. package/table/_story/DefaultSortOrder.tsx +120 -0
  568. package/table/_story/Demos/columnRender.jsx +131 -0
  569. package/table/_story/Demos/controlledPagination.jsx +125 -0
  570. package/table/_story/Demos/customFilter.jsx +110 -0
  571. package/table/_story/Demos/default.jsx +82 -0
  572. package/table/_story/Demos/dynamic.jsx +594 -0
  573. package/table/_story/Demos/expand.jsx +114 -0
  574. package/table/_story/Demos/filterAndSorter.jsx +102 -0
  575. package/table/_story/Demos/fixed.jsx +117 -0
  576. package/table/_story/Demos/fullRender.jsx +131 -0
  577. package/table/_story/Demos/group.jsx +109 -0
  578. package/table/_story/Demos/headerMerge.jsx +121 -0
  579. package/table/_story/Demos/headerMergeJSX.jsx +83 -0
  580. package/table/_story/Demos/infiniteScroll.jsx +118 -0
  581. package/table/_story/Demos/onRow.jsx +114 -0
  582. package/table/_story/Demos/pagination.jsx +101 -0
  583. package/table/_story/Demos/resizable copy.jsx +102 -0
  584. package/table/_story/Demos/resizable.jsx +183 -0
  585. package/table/_story/Demos/rowSelection.jsx +130 -0
  586. package/table/_story/Demos/sortTree.jsx +218 -0
  587. package/table/_story/Demos/sortable.jsx +183 -0
  588. package/table/_story/Demos/span.jsx +155 -0
  589. package/table/_story/Demos/tree.jsx +109 -0
  590. package/table/_story/Demos/treeSelect.jsx +196 -0
  591. package/table/_story/Demos/virtualized.jsx +103 -0
  592. package/table/_story/Demos/zebra.jsx +124 -0
  593. package/table/_story/DragableTable/index.jsx +156 -0
  594. package/table/_story/DragableTable/index.scss +7 -0
  595. package/table/_story/DynamicFilters/data.json +105 -0
  596. package/table/_story/DynamicFilters/index.js +78 -0
  597. package/table/_story/DynamicTable/index.jsx +569 -0
  598. package/table/_story/EventTable/index.jsx +76 -0
  599. package/table/_story/Expand/index.js +85 -0
  600. package/table/_story/ExpandAllGroupRows/index.jsx +90 -0
  601. package/table/_story/ExpandAllRows/index.jsx +111 -0
  602. package/table/_story/ExpandRowByClick.jsx +77 -0
  603. package/table/_story/FilterWithNewDataTable/index.jsx +108 -0
  604. package/table/_story/FixAllColumnsWithoutWidth.tsx +52 -0
  605. package/table/_story/FixRenderReturnProps.jsx +105 -0
  606. package/table/_story/FixedExpandedRows/index.js +105 -0
  607. package/table/_story/FixedGroups/index.js +80 -0
  608. package/table/_story/FixedTable/index.js +92 -0
  609. package/table/_story/FnTable/index.js +103 -0
  610. package/table/_story/FullRender/index.jsx +135 -0
  611. package/table/_story/GroupedCols/index.jsx +83 -0
  612. package/table/_story/GroupedColsFixed/index.jsx +95 -0
  613. package/table/_story/GroupedColsFixedJSX/index.jsx +122 -0
  614. package/table/_story/GroupedColsFixedVirtualized/index.jsx +107 -0
  615. package/table/_story/GroupedColsFixedVirtualizedGroups/index.jsx +110 -0
  616. package/table/_story/GroupedRows/index.js +83 -0
  617. package/table/_story/GroupedRowsFixed/index.js +81 -0
  618. package/table/_story/InSideSheet/index.jsx +90 -0
  619. package/table/_story/InfiniteScroll/index.js +115 -0
  620. package/table/_story/JSXAsyncData/index.jsx +47 -0
  621. package/table/_story/JSXColumnPropColumn.jsx +57 -0
  622. package/table/_story/JSXColumnsComplex.jsx +174 -0
  623. package/table/_story/JSXColumnsNest.tsx +74 -0
  624. package/table/_story/JSXColumnsSmiple.jsx +53 -0
  625. package/table/_story/JSXFixedTable/index.js +224 -0
  626. package/table/_story/JSXTitles/index.js +55 -0
  627. package/table/_story/LinkedScroll/index.jsx +137 -0
  628. package/table/_story/LinkedScroll/index.scss +0 -0
  629. package/table/_story/MassiveColumns/index.jsx +109 -0
  630. package/table/_story/MassiveColumns/index.scss +9 -0
  631. package/table/_story/ModalTable/index.jsx +228 -0
  632. package/table/_story/PagintaionTable/index.js +123 -0
  633. package/table/_story/Perf/Render/complex.jsx +191 -0
  634. package/table/_story/Perf/Render/context.jsx +72 -0
  635. package/table/_story/Perf/Render/controlledSelection.jsx +103 -0
  636. package/table/_story/Perf/Render/index.jsx +95 -0
  637. package/table/_story/Perf/Render/onRow.jsx +112 -0
  638. package/table/_story/Perf/Render/resizableSelection.jsx +193 -0
  639. package/table/_story/Perf/Virtualized/index.jsx +65 -0
  640. package/table/_story/Perf/index.js +8 -0
  641. package/table/_story/RTL/AlignScrollBar.jsx +17 -0
  642. package/table/_story/RTL/index.js +2 -0
  643. package/table/_story/RenderPagination/index.jsx +161 -0
  644. package/table/_story/ResizableColumns/index.jsx +95 -0
  645. package/table/_story/ResizableColumns/index.scss +30 -0
  646. package/table/_story/ResizableTable/index.jsx +85 -0
  647. package/table/_story/ScrollBar/index.jsx +71 -0
  648. package/table/_story/SelectedRows/index.js +137 -0
  649. package/table/_story/TableSpan/index.jsx +117 -0
  650. package/table/_story/TabsTable/index.jsx +78 -0
  651. package/table/_story/TestClone/index.js +0 -0
  652. package/table/_story/VirtualTableOnCell/index.jsx +84 -0
  653. package/table/_story/VirtualizedDynamicData/index.jsx +111 -0
  654. package/table/_story/VirtualizedGroupedRows/index.jsx +135 -0
  655. package/table/_story/VirtualizedNotFixed/index.js +89 -0
  656. package/table/_story/VritualizedDataSelected/index.js +273 -0
  657. package/table/_story/WarnColumnWithoutDataIndex.tsx +71 -0
  658. package/table/_story/WithSideSheet/index.js +82 -0
  659. package/table/_story/data/big.json +8205 -0
  660. package/table/_story/data/big2.json +42271 -0
  661. package/table/_story/table.stories.js +595 -0
  662. package/table/_story/table.stories.tsx +382 -0
  663. package/table/_story/virtualized/index.js +92 -0
  664. package/table/_story/virtualizedFixed/index.js +131 -0
  665. package/table/getColumns.tsx +34 -0
  666. package/table/index.tsx +44 -0
  667. package/table/interface.ts +320 -0
  668. package/table/table-context.ts +28 -0
  669. package/table/utils.ts +123 -0
  670. package/tabs/TabBar.tsx +248 -0
  671. package/tabs/TabPane.tsx +116 -0
  672. package/tabs/TabPaneTransition.tsx +67 -0
  673. package/tabs/__test__/tabs.test.js +208 -0
  674. package/tabs/_story/Demo.tsx +30 -0
  675. package/tabs/_story/search.jsx +37 -0
  676. package/tabs/_story/tabs.stories.js +797 -0
  677. package/tabs/_story/tabs.stories.tsx +6 -0
  678. package/tabs/index.tsx +300 -0
  679. package/tabs/interface.ts +83 -0
  680. package/tabs/tabs-context.ts +6 -0
  681. package/tag/_story/Demo.tsx +22 -0
  682. package/tag/_story/tag.stories.js +234 -0
  683. package/tag/_story/tag.stories.tsx +6 -0
  684. package/tag/group.tsx +131 -0
  685. package/tag/index.tsx +132 -0
  686. package/tag/interface.ts +48 -0
  687. package/tagInput/__test__/tagInput.test.js +352 -0
  688. package/tagInput/_story/tagInput.stories.js +414 -0
  689. package/tagInput/_story/tagInput.stories.tsx +24 -0
  690. package/tagInput/index.tsx +440 -0
  691. package/timePicker/Combobox.tsx +331 -0
  692. package/timePicker/PanelShape.ts +8 -0
  693. package/timePicker/TimeInput.tsx +205 -0
  694. package/timePicker/TimePicker.tsx +531 -0
  695. package/timePicker/TimeShape.ts +19 -0
  696. package/timePicker/__test__/timePicker.test.js +283 -0
  697. package/timePicker/_story/Callbacks/index.jsx +24 -0
  698. package/timePicker/_story/CustomTrigger/index.jsx +35 -0
  699. package/timePicker/_story/DisabledTime/index.jsx +17 -0
  700. package/timePicker/_story/timepicker.stories.js +264 -0
  701. package/timePicker/_story/timepicker.stories.tsx +18 -0
  702. package/timePicker/index.tsx +47 -0
  703. package/timeline/__test__/timeline.test.js +253 -0
  704. package/timeline/_story/timeline.stories.js +185 -0
  705. package/timeline/_story/timeline.stories.tsx +15 -0
  706. package/timeline/index.tsx +96 -0
  707. package/timeline/item.tsx +76 -0
  708. package/toast/ToastTransition.tsx +43 -0
  709. package/toast/__test__/toast-command-call.test.js +63 -0
  710. package/toast/__test__/toast.test.js +104 -0
  711. package/toast/_story/Demo.tsx +22 -0
  712. package/toast/_story/toast.stories.js +98 -0
  713. package/toast/_story/toast.stories.tsx +7 -0
  714. package/toast/index.tsx +234 -0
  715. package/toast/toast.tsx +148 -0
  716. package/toast/useToast/HookToast.tsx +35 -0
  717. package/toast/useToast/index.tsx +79 -0
  718. package/tooltip/ArrowBoundingShape.ts +8 -0
  719. package/tooltip/TooltipStyledTransition.tsx +30 -0
  720. package/tooltip/TriangleArrow.tsx +12 -0
  721. package/tooltip/TriangleArrowVertical.tsx +12 -0
  722. package/tooltip/__test__/tooltip.test.js +320 -0
  723. package/tooltip/_story/ArrowPointAtCenter/index.jsx +137 -0
  724. package/tooltip/_story/ContainerPosition/index.jsx +15 -0
  725. package/tooltip/_story/ContainerPosition/index.scss +10 -0
  726. package/tooltip/_story/CustomContainer/index.jsx +39 -0
  727. package/tooltip/_story/DangerousHtml/index.js +30 -0
  728. package/tooltip/_story/Edge/index.js +16 -0
  729. package/tooltip/_story/InTable/index.jsx +86 -0
  730. package/tooltip/_story/Safari/autoAdjust.js +23 -0
  731. package/tooltip/_story/ScrollDemo/index.js +65 -0
  732. package/tooltip/_story/story.scss +50 -0
  733. package/tooltip/_story/tooltip.stories.js +690 -0
  734. package/tooltip/_story/tooltip.stories.tsx +54 -0
  735. package/tooltip/index.tsx +646 -0
  736. package/transfer/__test__/transfer.test.js +324 -0
  737. package/transfer/_story/transfer.scss +124 -0
  738. package/transfer/_story/transfer.stories.js +758 -0
  739. package/transfer/_story/transfer.stories.tsx +80 -0
  740. package/transfer/index.tsx +652 -0
  741. package/tree/__test__/autosizer.test.js +102 -0
  742. package/tree/__test__/tree.test.js +842 -0
  743. package/tree/__test__/treeMultiple.test.js +593 -0
  744. package/tree/__test__/treeNodeProps.test.js +192 -0
  745. package/tree/_story/BigData.jsx +58 -0
  746. package/tree/_story/Demo.tsx +72 -0
  747. package/tree/_story/bigDataGen.jsx +98 -0
  748. package/tree/_story/data.js +3 -0
  749. package/tree/_story/tree.stories.js +2172 -0
  750. package/tree/_story/tree.stories.tsx +7 -0
  751. package/tree/autoSizer.tsx +86 -0
  752. package/tree/collapse.tsx +144 -0
  753. package/tree/index.tsx +754 -0
  754. package/tree/interface.ts +141 -0
  755. package/tree/nodeList.tsx +87 -0
  756. package/tree/treeContext.tsx +49 -0
  757. package/tree/treeNode.tsx +399 -0
  758. package/tree/treeUtil.tsx +14 -0
  759. package/treeSelect/__test__/treeMultiple.test.js +676 -0
  760. package/treeSelect/__test__/treeSelect.test.js +783 -0
  761. package/treeSelect/_story/CustomTrigger/index.jsx +47 -0
  762. package/treeSelect/_story/Demo.tsx +83 -0
  763. package/treeSelect/_story/treeSelect.stories.js +1155 -0
  764. package/treeSelect/_story/treeSelect.stories.tsx +7 -0
  765. package/treeSelect/index.tsx +1289 -0
  766. package/trigger/__test__/trigger.test.js +17 -0
  767. package/trigger/index.tsx +45 -0
  768. package/tsconfig.json +33 -0
  769. package/typography/__test__/typography.test.js +74 -0
  770. package/typography/_story/typography.stories.js +629 -0
  771. package/typography/_story/typography.stories.tsx +175 -0
  772. package/typography/base.tsx +628 -0
  773. package/typography/copyable.tsx +135 -0
  774. package/typography/index.tsx +24 -0
  775. package/typography/interface.ts +27 -0
  776. package/typography/paragraph.tsx +77 -0
  777. package/typography/text.tsx +68 -0
  778. package/typography/title.tsx +74 -0
  779. package/typography/typography.tsx +41 -0
  780. package/typography/util.tsx +141 -0
  781. package/upload/__test__/dragUpload.test.js +122 -0
  782. package/upload/__test__/upload.test.js +896 -0
  783. package/upload/_story/upload.stories.js +943 -0
  784. package/upload/_story/upload.stories.tsx +13 -0
  785. package/upload/fileCard.tsx +270 -0
  786. package/upload/index.tsx +545 -0
  787. package/upload/interface.ts +59 -0
  788. package/webpack.config.js +86 -0
@@ -0,0 +1,1015 @@
1
+ import React, { useCallback, useMemo, useState } from 'react';
2
+ import Button from '../../button';
3
+ import Popover from '../../popover';
4
+ import Tag from '../../tag';
5
+ import Cascader from '../../cascader';
6
+ import Checkbox from '../index';
7
+ import CheckboxGroup from '../checkboxGroup';
8
+ import { Col, Input, Row } from '../../index';
9
+ import { IconClose } from '@douyinfe/semi-icons';
10
+
11
+ export default {
12
+ title: 'Checkbox',
13
+ }
14
+
15
+ export const CheckboxDefault = () => {
16
+ return (
17
+ <div>
18
+ <Checkbox onChange={e => console.log(e)} value={1} onChange={v => console.log(v)}>
19
+ hello
20
+ </Checkbox>
21
+ <br />
22
+ <Checkbox checked>这是一个受控的checked=true的checkbox,没有配onChange</Checkbox>
23
+ <br />
24
+ <Checkbox defaultChecked>这是一个不受控的defaultChecked=true的checkbox</Checkbox>
25
+ <br />
26
+ <Checkbox disabled>这是一个受控的disabled=true的checkbox</Checkbox>
27
+ <br />
28
+ <Checkbox checked disabled>
29
+ 既checked又disabled
30
+ </Checkbox>
31
+ <br />
32
+ <Checkbox indeterminate>indeterminate</Checkbox>
33
+ </div>
34
+ );
35
+ };
36
+
37
+ export const CheckboxWithoutText = () => {
38
+ return (
39
+ <div>
40
+ <Checkbox onChange={e => console.log(e)} />
41
+ </div>
42
+ );
43
+ };
44
+
45
+ class CheckboxControl extends React.Component {
46
+ state = {
47
+ checked: true,
48
+ disabled: false,
49
+ };
50
+ toggleChecked = () => {
51
+ this.setState({
52
+ checked: !this.state.checked,
53
+ });
54
+ };
55
+ toggleDisable = () => {
56
+ this.setState({
57
+ disabled: !this.state.disabled,
58
+ });
59
+ };
60
+ onChange = e => {
61
+ console.log('checked = ', e.target.checked);
62
+ this.setState({
63
+ checked: e.target.checked,
64
+ });
65
+ };
66
+
67
+ render() {
68
+ const label = `${this.state.checked ? 'Checked' : 'Unchecked'}-${
69
+ this.state.disabled ? 'Disabled' : 'Enabled'
70
+ }`;
71
+ return (
72
+ <div>
73
+ <p
74
+ style={{
75
+ marginBottom: '20px',
76
+ }}
77
+ >
78
+ <Checkbox
79
+ checked={this.state.checked}
80
+ disabled={this.state.disabled}
81
+ onChange={this.onChange}
82
+ >
83
+ {label}
84
+ </Checkbox>
85
+ </p>
86
+ <p>
87
+ <Button type="primary" size="small" onClick={this.toggleChecked}>
88
+ {!this.state.checked ? 'Check' : 'Uncheck'}
89
+ </Button>
90
+ <Button
91
+ style={{
92
+ marginLeft: '10px',
93
+ }}
94
+ type="primary"
95
+ size="small"
96
+ onClick={this.toggleDisable}
97
+ >
98
+ {!this.state.disabled ? 'Disable' : 'Enable'}
99
+ </Button>
100
+ </p>
101
+ </div>
102
+ );
103
+ }
104
+ }
105
+
106
+ export const CheckboxControlledDisabledChecked = () => <CheckboxControl />;
107
+
108
+ CheckboxControlledDisabledChecked.story = {
109
+ name: 'checkbox controlled disabled & checked',
110
+ };
111
+
112
+ class GroupDemo extends React.Component {
113
+ constructor() {
114
+ super();
115
+ this.state = {
116
+ value: [],
117
+ };
118
+ this.onChange = this.onChange.bind(this);
119
+ }
120
+
121
+ onChange(value) {
122
+ console.log(value);
123
+ this.setState({
124
+ value: value,
125
+ });
126
+ }
127
+
128
+ render() {
129
+ let { value } = this.state;
130
+ return (
131
+ <>
132
+ 水平Group
133
+ <Checkbox.Group direction="horizontal" onChange={v => console.log(v)}>
134
+ <Checkbox value="dy">抖音</Checkbox>
135
+ <Checkbox value="hotsoon">火山</Checkbox>
136
+ <Checkbox value="toutiao">今日头条</Checkbox>
137
+ <Checkbox value="xigua">西瓜视频</Checkbox>
138
+ </Checkbox.Group>
139
+ <br />
140
+ <br />
141
+ 垂直Group
142
+ <Checkbox.Group onChange={v => console.log(v)}>
143
+ <Checkbox value="dy">抖音</Checkbox>
144
+ <Checkbox value="hotsoon">火山</Checkbox>
145
+ <Checkbox value="toutiao">今日头条</Checkbox>
146
+ <Checkbox value="xigua">西瓜视频</Checkbox>
147
+ </Checkbox.Group>
148
+ <br />
149
+ <br />
150
+ 默认Group
151
+ <Checkbox.Group direction="horizontal" defaultValue={['xigua']} onChange={console.log}>
152
+ <Checkbox value="dy">抖音</Checkbox>
153
+ <Checkbox value="hotsoon">火山</Checkbox>
154
+ <Checkbox value="toutiao">今日头条</Checkbox>
155
+ <Checkbox value="xigua">西瓜视频</Checkbox>
156
+ </Checkbox.Group>
157
+ <br />
158
+ <br />
159
+ 受控Group
160
+ <Checkbox.Group direction="horizontal" value={value} onChange={console.log}>
161
+ <Checkbox value="dy">抖音</Checkbox>
162
+ <Checkbox value="hotsoon">火山</Checkbox>
163
+ <Checkbox value="toutiao">今日头条</Checkbox>
164
+ <Checkbox value="xigua">西瓜视频</Checkbox>
165
+ </Checkbox.Group>
166
+ <br />
167
+ <br />
168
+ 受控Group+onChange
169
+ <Checkbox.Group direction="horizontal" value={value} onChange={this.onChange}>
170
+ <Checkbox value="dy">抖音</Checkbox>
171
+ <Checkbox value="hotsoon">火山</Checkbox>
172
+ <Checkbox value="toutiao">今日头条</Checkbox>
173
+ <Checkbox value="xigua">西瓜视频</Checkbox>
174
+ </Checkbox.Group>
175
+ <br />
176
+ <br />
177
+ disabled
178
+ <Checkbox.Group disabled>
179
+ <Checkbox value="dy">抖音</Checkbox>
180
+ <Checkbox value="hotsoon">火山</Checkbox>
181
+ <Checkbox value="toutiao">今日头条</Checkbox>
182
+ <Checkbox value="xigua">西瓜视频</Checkbox>
183
+ </Checkbox.Group>
184
+ </>
185
+ );
186
+ }
187
+ }
188
+
189
+ export const CheckboxGroupDemo = () => <GroupDemo />;
190
+
191
+ export const CheckboxGroupWithOptions = () => {
192
+ function onChange(checkedValues) {
193
+ console.log('checked = ', checkedValues);
194
+ }
195
+
196
+ const plainOptions = ['green', 'red', 'pink'];
197
+ const options = [
198
+ {
199
+ label: 'green',
200
+ value: 'green',
201
+ },
202
+ {
203
+ label: 'red',
204
+ value: 'red',
205
+ },
206
+ {
207
+ label: 'pink',
208
+ value: 'pink',
209
+ disabled: true,
210
+ },
211
+ ];
212
+ const optionsWithDisabled = [
213
+ {
214
+ label: 'green',
215
+ value: 'green',
216
+ },
217
+ {
218
+ label: 'red',
219
+ value: 'red',
220
+ },
221
+ {
222
+ label: 'pink',
223
+ value: 'pink',
224
+ disabled: false,
225
+ },
226
+ ];
227
+ return (
228
+ <div>
229
+ default
230
+ <CheckboxGroup options={plainOptions} defaultValue={['green']} onChange={onChange} />
231
+ <br />
232
+ <br />
233
+ 受控
234
+ <CheckboxGroup options={plainOptions} value={['green']} onChange={onChange} />
235
+ <br />
236
+ 最后一个disabled
237
+ <br />
238
+ <CheckboxGroup options={options} defaultValue={['red']} onChange={onChange} />
239
+ <br />
240
+ 全体disabled, 优先父级disabled,次选子级disabled
241
+ <br />
242
+ <CheckboxGroup
243
+ options={optionsWithDisabled}
244
+ disabled
245
+ defaultValue={['green']}
246
+ onChange={onChange}
247
+ />
248
+ </div>
249
+ );
250
+ };
251
+
252
+ export const CheckboxGroupWithOtherTypeChild = () => {
253
+ return (
254
+ <CheckboxGroup>
255
+ <div className="test">
256
+ <Checkbox value="green" extra="苹果">
257
+ green
258
+ </Checkbox>
259
+ <Checkbox value="red" extra="梨">
260
+ red
261
+ </Checkbox>
262
+ <Checkbox value="pink" extra="橙子">
263
+ pink
264
+ </Checkbox>
265
+ </div>
266
+ </CheckboxGroup>
267
+ );
268
+ };
269
+
270
+ CheckboxGroupWithOtherTypeChild.story = {
271
+ name: 'checkboxGroup-直接后代是其他类型Node',
272
+ };
273
+
274
+ export const CheckboxExtra = () => {
275
+ let options = [
276
+ {
277
+ label: 'green',
278
+ value: 'green',
279
+ extra: '苹果',
280
+ },
281
+ {
282
+ label: 'red',
283
+ value: 'red',
284
+ extra: '梨',
285
+ },
286
+ {
287
+ label: 'pink',
288
+ value: 'pink',
289
+ disabled: true,
290
+ extra: '橙子',
291
+ },
292
+ ];
293
+ return (
294
+ <div>
295
+ checkbox
296
+ <Checkbox
297
+ onChange={e => console.log(e)}
298
+ extra="我是副文本,这是辅助的文本,辅助文本会更长一些,甚至还可能换行"
299
+ >
300
+ 我是主文本
301
+ </Checkbox>
302
+ <Checkbox
303
+ style={{
304
+ width: 200,
305
+ }}
306
+ onChange={e => console.log(e)}
307
+ extra="我是副文本,这是辅助的文本,辅助文本会更长一些,甚至还可能换行"
308
+ >
309
+ 我是主文本
310
+ </Checkbox>
311
+ <br />
312
+ <br />
313
+ checkboxGroup
314
+ <CheckboxGroup>
315
+ <Checkbox value="green" extra="苹果">
316
+ green
317
+ </Checkbox>
318
+ <Checkbox value="red" extra="梨">
319
+ red
320
+ </Checkbox>
321
+ <Checkbox value="pink" extra="橙子">
322
+ pink
323
+ </Checkbox>
324
+ </CheckboxGroup>
325
+ <br />
326
+ <br />
327
+ checkboxGroup with options
328
+ <CheckboxGroup options={options}></CheckboxGroup>
329
+ </div>
330
+ );
331
+ };
332
+
333
+ export const CheckboxGrid = () => {
334
+ return (
335
+ <Checkbox.Group
336
+ style={{
337
+ width: '100%',
338
+ }}
339
+ onChange={v => console.log(v)}
340
+ >
341
+ <Row>
342
+ <Col span={8}>
343
+ <Checkbox value="A">
344
+ 无限长的一串字The Storybook webapp UI can be customised with this addon. It can be used
345
+ to change the header, show/hide various UI elements and to enable full-screen mode by
346
+ default.
347
+ </Checkbox>
348
+ </Col>
349
+ <Col span={8}>
350
+ <Checkbox value="B">B</Checkbox>
351
+ </Col>
352
+ <Col span={8}>
353
+ <Checkbox value="C">C</Checkbox>
354
+ </Col>
355
+ <Col span={8}>
356
+ <Checkbox value="D">D</Checkbox>
357
+ </Col>
358
+ <Col span={8}>
359
+ <Checkbox value="E">E</Checkbox>
360
+ </Col>
361
+ </Row>
362
+ </Checkbox.Group>
363
+ );
364
+ };
365
+
366
+ CheckboxGrid.story = {
367
+ name: 'checkbox + grid',
368
+ };
369
+
370
+ export const IndeterminateDemo = () => {
371
+ const options = ['yellow', 'green', 'red'];
372
+ const defaultCheckedColors = ['yellow', 'red'];
373
+
374
+ const [checkedList, setCheckList] = useState(defaultCheckedColors);
375
+ const [indeterminate, setIndeterminate] = useState(true);
376
+ const [checkAll, setCheckAll] = useState(false);
377
+
378
+ const onCheckListChange = checkedList => {
379
+ setCheckList([...checkedList]);
380
+ setIndeterminate(!!checkedList.length && checkedList.length < options.length);
381
+ setCheckAll(checkedList.length === options.length);
382
+ };
383
+
384
+ const onCheckAllChange = e => {
385
+ setCheckList([...(e.target.checked ? options : [])]);
386
+ setIndeterminate(false);
387
+ setCheckAll(e.target.checked);
388
+ };
389
+
390
+ return (
391
+ <div>
392
+ <div
393
+ style={{
394
+ borderBottom: '1px solid #E9E9E9',
395
+ }}
396
+ >
397
+ <Checkbox indeterminate={indeterminate} onChange={onCheckAllChange} checked={checkAll}>
398
+ Check all
399
+ </Checkbox>
400
+ </div>
401
+ <br />
402
+ <CheckboxGroup options={options} value={checkedList} onChange={onCheckListChange} />
403
+ </div>
404
+ );
405
+ };
406
+
407
+ export const CheckboxRenderInDiv = () => (
408
+ <>
409
+ <div
410
+ onClick={(...args) => {
411
+ console.log('clicked checkbox outer: ', ...args);
412
+ }}
413
+ >
414
+ <Checkbox
415
+ onChange={(...args) => {
416
+ console.log('clicked checkbox: ', ...args);
417
+ }}
418
+ />
419
+ </div>
420
+ </>
421
+ );
422
+
423
+ export const CheckboxInPopover = () => (
424
+ <div>
425
+ <Popover
426
+ content={
427
+ <div>
428
+ <Checkbox>选项一</Checkbox>
429
+ <Checkbox defaultChecked>选项二</Checkbox>
430
+ <Checkbox>选项三</Checkbox>
431
+ </div>
432
+ }
433
+ >
434
+ <Button>click me</Button>
435
+ </Popover>
436
+ </div>
437
+ )
438
+
439
+ const SwitchCheckedFromTrue2Undefined = () => {
440
+ const [props, setProps] = useState();
441
+ const [flag, setFlag] = useState(0);
442
+
443
+ const change = () => {
444
+ if (flag === 0) {
445
+ setFlag(1);
446
+ setProps({ checked: true });
447
+ } else {
448
+ setFlag(0);
449
+ setProps({ checked: false });
450
+ }
451
+ };
452
+
453
+ return (
454
+ <>
455
+ <Checkbox {...props}>123</Checkbox>
456
+ <Button onClick={() => change()}>switch</Button>
457
+ </>
458
+ );
459
+ };
460
+
461
+ export const CheckboxSwitchCheckedTrueUndefined = () => <SwitchCheckedFromTrue2Undefined />;
462
+
463
+ CheckboxSwitchCheckedTrueUndefined.story = {
464
+ name: 'checkbox switch checked: true => undefined',
465
+ };
466
+
467
+ const TransformSelect = props => {
468
+ const { onChange, value, options = [], defaultValue = [], placeholder } = props;
469
+ const [currentValue, setCurrentValue] = useState([]);
470
+ const [inputValue, setInputValue] = useState(''); // 变化
471
+
472
+ const onSelectChange = useCallback(() => {
473
+ setCurrentValue(currentValue);
474
+ onChange && onChange(currentValue);
475
+ }, []); // 选择某一个
476
+
477
+ const removeValue = useCallback(
478
+ currentIndex => {
479
+ currentValue.splice(currentIndex, 1);
480
+ onSelectChange([...currentValue]);
481
+ },
482
+ [currentValue]
483
+ ); // 选择所有
484
+
485
+ const selectAllValue = useCallback(() => {
486
+ const value = options.map(option => option.value);
487
+ onSelectChange(value);
488
+ }, [options]);
489
+ const viewsOptions = useMemo(() => {
490
+ if (inputValue) {
491
+ const newOptions = options.filter(option => option.label.indexOf(inputValue) !== -1);
492
+ return newOptions;
493
+ }
494
+
495
+ return options;
496
+ }, [options, inputValue]);
497
+ return (
498
+ <div>
499
+ <div>
500
+ <div>
501
+ <Input
502
+ value={inputValue}
503
+ prefix="search"
504
+ clearable
505
+ onChange={value => setInputValue(value)}
506
+ placeholder={placeholder}
507
+ />
508
+ </div>
509
+ <div>
510
+ <span>{`共 ${options.length} 项`}</span>
511
+ <Button type="tertiary" size="small" theme="borderless" onClick={() => selectAllValue()}>
512
+ 全选
513
+ </Button>
514
+ </div>
515
+ <div>
516
+ <CheckboxGroup
517
+ options={viewsOptions}
518
+ value={currentValue}
519
+ onChange={onSelectChange}
520
+ direction="vertical"
521
+ />
522
+ </div>
523
+ </div>
524
+ <div>
525
+ <div>
526
+ <span>{`已选 ${currentValue.length} 项`}</span>
527
+ <Button
528
+ type="tertiary"
529
+ size="small"
530
+ theme="borderless"
531
+ onClick={() => onSelectChange([])}
532
+ >
533
+ 清空
534
+ </Button>
535
+ </div>
536
+ <div>
537
+ {currentValue.length > 0 ? (
538
+ currentValue.map((value, idx) => {
539
+ // 不存在不需要展示
540
+ const option = options.find(option => option.value === value);
541
+ return (
542
+ <div key={option.key ? option.key : idx}>
543
+ <span>{option.label}</span>
544
+ <span onClick={() => removeValue(idx)}>
545
+ <IconClose size="small" />
546
+ </span>
547
+ </div>
548
+ );
549
+ })
550
+ ) : (
551
+ <div>暂无内容,可从左侧勾选</div>
552
+ )}
553
+ </div>
554
+ </div>
555
+ </div>
556
+ );
557
+ };
558
+
559
+ export const BugDemo = () => <TransformSelect />;
560
+
561
+ export const CheckboxGroupCardStyle = () => (
562
+ <>
563
+ <div>常见情况</div>
564
+ <CheckboxGroup type="card" direction="horizontal" defaultValue={['1']}>
565
+ <Checkbox value="1" extra="Semi Design" style={{ width: 280 }}>
566
+ 多选框标题
567
+ </Checkbox>
568
+ <Checkbox value="2" extra="Semi Design" style={{ width: 280 }}>
569
+ 多选框标题
570
+ </Checkbox>
571
+ <Checkbox value="3" extra="Semi Design" style={{ width: 280 }}>
572
+ 多选框标题
573
+ </Checkbox>
574
+ </CheckboxGroup>
575
+ <br />
576
+ <br />
577
+ <div>Checkbox disabled</div>
578
+ <CheckboxGroup type="card" direction="horizontal" defaultValue={['1']}>
579
+ <Checkbox value="1" disabled extra="disabled+checked" style={{ width: 280 }}>
580
+ 多选框标题
581
+ </Checkbox>
582
+ <Checkbox value="2" disabled extra="disabled+unchecked" style={{ width: 280 }}>
583
+ 多选框标题
584
+ </Checkbox>
585
+ <Checkbox value="3" extra="Semi Design" style={{ width: 280 }}>
586
+ 多选框标题
587
+ </Checkbox>
588
+ </CheckboxGroup>
589
+ <br />
590
+ <br />
591
+ <div>checkboxGroup disabled</div>
592
+ <CheckboxGroup type="card" direction="horizontal" disabled defaultValue={['1']}>
593
+ <Checkbox value="1" extra="Semi Design" style={{ width: 280 }}>
594
+ 多选框标题
595
+ </Checkbox>
596
+ <Checkbox value="2" extra="Semi Design" style={{ width: 280 }}>
597
+ 多选框标题
598
+ </Checkbox>
599
+ <Checkbox value="3" extra="Semi Design" style={{ width: 280 }}>
600
+ 多选框标题
601
+ </Checkbox>
602
+ </CheckboxGroup>
603
+ <br />
604
+ <br />
605
+ <div>文字很长,并且没有设置宽度,因此换行显示</div>
606
+ <CheckboxGroup type="card" direction="horizontal" defaultValue={['1']}>
607
+ <Checkbox
608
+ value="1"
609
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
610
+ >
611
+ 多选框标题
612
+ </Checkbox>
613
+ <Checkbox
614
+ value="2"
615
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
616
+ >
617
+ 多选框标题
618
+ </Checkbox>
619
+ <Checkbox
620
+ value="3"
621
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
622
+ >
623
+ 多选框标题
624
+ </Checkbox>
625
+ </CheckboxGroup>
626
+ <br />
627
+ <br />
628
+ <div>设置了width=180</div>
629
+ <CheckboxGroup type="card" direction="horizontal" defaultValue={['1']}>
630
+ <Checkbox
631
+ value="1"
632
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
633
+ style={{ width: 180 }}
634
+ >
635
+ 多选框标题
636
+ </Checkbox>
637
+ <Checkbox
638
+ value="2"
639
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
640
+ style={{ width: 180 }}
641
+ >
642
+ 多选框标题
643
+ </Checkbox>
644
+ <Checkbox
645
+ value="3"
646
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
647
+ style={{ width: 180 }}
648
+ >
649
+ 多选框标题
650
+ </Checkbox>
651
+ </CheckboxGroup>
652
+ <br />
653
+ <br />
654
+ <div>没有extra,width=180</div>
655
+ <CheckboxGroup type="card" direction="horizontal" defaultValue={['1']}>
656
+ <Checkbox value="1" style={{ width: 180 }}>
657
+ 多选框标题
658
+ </Checkbox>
659
+ <Checkbox value="2" style={{ width: 180 }}>
660
+ 多选框标题
661
+ </Checkbox>
662
+ <Checkbox value="3" style={{ width: 180 }}>
663
+ 多选框标题
664
+ </Checkbox>
665
+ </CheckboxGroup>
666
+ <br />
667
+ <br />
668
+ <div>没有标题,width=380</div>
669
+ <CheckboxGroup type="card" direction="horizontal" defaultValue={['1']}>
670
+ <Checkbox
671
+ value="1"
672
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
673
+ style={{ width: 380 }}
674
+ ></Checkbox>
675
+ <Checkbox
676
+ value="2"
677
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
678
+ style={{ width: 380 }}
679
+ ></Checkbox>
680
+ <Checkbox
681
+ value="3"
682
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
683
+ style={{ width: 380 }}
684
+ ></Checkbox>
685
+ </CheckboxGroup>
686
+ <br />
687
+ <br />
688
+ <hr />
689
+ <div>下面是垂直的情况:</div>
690
+ <div>常见情况</div>
691
+ <CheckboxGroup direction="vertical" type="card" defaultValue={['1']}>
692
+ <Checkbox value="1" extra="Semi Design" style={{ width: 280 }}>
693
+ 多选框标题
694
+ </Checkbox>
695
+ <Checkbox value="2" extra="Semi Design" style={{ width: 280 }}>
696
+ 多选框标题
697
+ </Checkbox>
698
+ <Checkbox value="3" extra="Semi Design" style={{ width: 280 }}>
699
+ 多选框标题
700
+ </Checkbox>
701
+ </CheckboxGroup>
702
+ <br />
703
+ <br />
704
+ <div>没有设置宽度</div>
705
+ <CheckboxGroup direction="vertical" type="card" defaultValue={['1']}>
706
+ <Checkbox
707
+ value="1"
708
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
709
+ >
710
+ 多选框标题
711
+ </Checkbox>
712
+ <Checkbox
713
+ value="2"
714
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
715
+ >
716
+ 多选框标题
717
+ </Checkbox>
718
+ <Checkbox
719
+ value="3"
720
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
721
+ >
722
+ 多选框标题
723
+ </Checkbox>
724
+ </CheckboxGroup>
725
+ <br />
726
+ <br />
727
+ <div>设置了width=380</div>
728
+ <CheckboxGroup direction="vertical" type="card" defaultValue={['1']}>
729
+ <Checkbox
730
+ value="1"
731
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
732
+ style={{ width: 380 }}
733
+ >
734
+ 多选框标题
735
+ </Checkbox>
736
+ <Checkbox
737
+ value="2"
738
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
739
+ style={{ width: 380 }}
740
+ >
741
+ 多选框标题
742
+ </Checkbox>
743
+ <Checkbox
744
+ value="3"
745
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
746
+ style={{ width: 380 }}
747
+ >
748
+ 多选框标题
749
+ </Checkbox>
750
+ </CheckboxGroup>
751
+ </>
752
+ );
753
+
754
+ export const CheckboxGroupPureCardStyle = () => (
755
+ <>
756
+ <div>常见情况</div>
757
+ <CheckboxGroup type="pureCard" defaultValue={['1']}>
758
+ <Checkbox value="1" extra="Semi Design" style={{ width: 280 }}>
759
+ 多选框标题
760
+ </Checkbox>
761
+ <Checkbox value="2" extra="Semi Design" style={{ width: 280 }}>
762
+ 多选框标题
763
+ </Checkbox>
764
+ <Checkbox value="3" extra="Semi Design" style={{ width: 280 }}>
765
+ 多选框标题
766
+ </Checkbox>
767
+ </CheckboxGroup>
768
+ <br />
769
+ <br />
770
+ <div>Checkbox disabled</div>
771
+ <CheckboxGroup type="pureCard" defaultValue={['1']}>
772
+ <Checkbox value="1" disabled extra="disabled+checked" style={{ width: 280 }}>
773
+ 多选框标题
774
+ </Checkbox>
775
+ <Checkbox value="2" disabled extra="disabled+unchecked" style={{ width: 280 }}>
776
+ 多选框标题
777
+ </Checkbox>
778
+ <Checkbox value="3" extra="Semi Design" style={{ width: 280 }}>
779
+ 多选框标题
780
+ </Checkbox>
781
+ </CheckboxGroup>
782
+ <br />
783
+ <br />
784
+ <div>checkboxGroup disabled</div>
785
+ <CheckboxGroup type="pureCard" disabled defaultValue={['1']}>
786
+ <Checkbox value="1" extra="Semi Design" style={{ width: 280 }}>
787
+ 多选框标题
788
+ </Checkbox>
789
+ <Checkbox value="2" extra="Semi Design" style={{ width: 280 }}>
790
+ 多选框标题
791
+ </Checkbox>
792
+ <Checkbox value="3" extra="Semi Design" style={{ width: 280 }}>
793
+ 多选框标题
794
+ </Checkbox>
795
+ </CheckboxGroup>
796
+ <br />
797
+ <br />
798
+ <div>文字很长,并且没有设置宽度,因此换行显示</div>
799
+ <CheckboxGroup type="pureCard" defaultValue={['1']}>
800
+ <Checkbox
801
+ value="1"
802
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
803
+ >
804
+ 多选框标题
805
+ </Checkbox>
806
+ <Checkbox
807
+ value="2"
808
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
809
+ >
810
+ 多选框标题
811
+ </Checkbox>
812
+ <Checkbox
813
+ value="3"
814
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
815
+ >
816
+ 多选框标题
817
+ </Checkbox>
818
+ </CheckboxGroup>
819
+ <br />
820
+ <br />
821
+ <div>设置了width=180</div>
822
+ <CheckboxGroup type="pureCard" defaultValue={['1']}>
823
+ <Checkbox
824
+ value="1"
825
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
826
+ style={{ width: 180 }}
827
+ >
828
+ 多选框标题
829
+ </Checkbox>
830
+ <Checkbox
831
+ value="2"
832
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
833
+ style={{ width: 180 }}
834
+ >
835
+ 多选框标题
836
+ </Checkbox>
837
+ <Checkbox
838
+ value="3"
839
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
840
+ style={{ width: 180 }}
841
+ >
842
+ 多选框标题
843
+ </Checkbox>
844
+ </CheckboxGroup>
845
+ <br />
846
+ <br />
847
+ <div>没有extra,width=180</div>
848
+ <CheckboxGroup type="pureCard" defaultValue={['1']}>
849
+ <Checkbox value="1" style={{ width: 180 }}>
850
+ 多选框标题
851
+ </Checkbox>
852
+ <Checkbox value="2" style={{ width: 180 }}>
853
+ 多选框标题
854
+ </Checkbox>
855
+ <Checkbox value="3" style={{ width: 180 }}>
856
+ 多选框标题
857
+ </Checkbox>
858
+ </CheckboxGroup>
859
+ <br />
860
+ <br />
861
+ <div>没有标题,width=380</div>
862
+ <CheckboxGroup type="pureCard" defaultValue={['1']}>
863
+ <Checkbox
864
+ value="1"
865
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
866
+ style={{ width: 380 }}
867
+ ></Checkbox>
868
+ <Checkbox
869
+ value="2"
870
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
871
+ style={{ width: 380 }}
872
+ ></Checkbox>
873
+ <Checkbox
874
+ value="3"
875
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
876
+ style={{ width: 380 }}
877
+ ></Checkbox>
878
+ </CheckboxGroup>
879
+ <br />
880
+ <br />
881
+ <hr />
882
+ <div>下面是垂直的情况:</div>
883
+ <div>常见情况</div>
884
+ <CheckboxGroup direction="vertical" type="pureCard" defaultValue={['1']}>
885
+ <Checkbox value="1" extra="Semi Design" style={{ width: 280 }}>
886
+ 多选框标题
887
+ </Checkbox>
888
+ <Checkbox value="2" extra="Semi Design" style={{ width: 280 }}>
889
+ 多选框标题
890
+ </Checkbox>
891
+ <Checkbox value="3" extra="Semi Design" style={{ width: 280 }}>
892
+ 多选框标题
893
+ </Checkbox>
894
+ </CheckboxGroup>
895
+ <br />
896
+ <br />
897
+ <div>没有设置宽度</div>
898
+ <CheckboxGroup direction="vertical" type="pureCard" defaultValue={['1']}>
899
+ <Checkbox
900
+ value="1"
901
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
902
+ >
903
+ 多选框标题
904
+ </Checkbox>
905
+ <Checkbox
906
+ value="2"
907
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
908
+ >
909
+ 多选框标题
910
+ </Checkbox>
911
+ <Checkbox
912
+ value="3"
913
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
914
+ >
915
+ 多选框标题
916
+ </Checkbox>
917
+ </CheckboxGroup>
918
+ <br />
919
+ <br />
920
+ <div>设置了width=380</div>
921
+ <CheckboxGroup direction="vertical" type="pureCard" defaultValue={['1']}>
922
+ <Checkbox
923
+ value="1"
924
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
925
+ style={{ width: 380 }}
926
+ >
927
+ 多选框标题
928
+ </Checkbox>
929
+ <Checkbox
930
+ value="2"
931
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
932
+ style={{ width: 380 }}
933
+ >
934
+ 多选框标题
935
+ </Checkbox>
936
+ <Checkbox
937
+ value="3"
938
+ extra="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统"
939
+ style={{ width: 380 }}
940
+ >
941
+ 多选框标题
942
+ </Checkbox>
943
+ </CheckboxGroup>
944
+ </>
945
+ );
946
+
947
+ export const CheckboxOnChangeEvent = () => (
948
+ <div style={{marginLeft: 100}}>
949
+ <div>查看 onChange 入参</div>
950
+ <Checkbox onChange={e => console.log(e)}>
951
+ Apple
952
+ </Checkbox>
953
+ <div style={{marginTop: 30}}>Popover 内套 Popover, 且 content 为 checkbox</div>
954
+ <Popover
955
+ trigger={'click'}
956
+ onClickOutSide={e => console.log('onClickOutSide')}
957
+ content={
958
+ <Popover
959
+ trigger='click'
960
+ content={
961
+ <Checkbox
962
+ onChange={e => {
963
+ console.log('checkbox onChange', e);
964
+ e.stopPropagation();
965
+ e.nativeEvent && e.nativeEvent.stopImmediatePropagation();
966
+ }}
967
+ >
968
+ Semi Design
969
+ </Checkbox>
970
+ }
971
+ >
972
+ trigger
973
+ </Popover>
974
+ }
975
+ >
976
+ <Tag>点击此处</Tag>
977
+ </Popover>
978
+ <div style={{marginTop: 30}}>Popover 内套 Cascader 多选</div>
979
+ <Popover
980
+ trigger={'click'}
981
+ content={
982
+ <Cascader
983
+ defaultValue={['zhejiang', 'ningbo', 'jiangbei']}
984
+ style={{ width: 300 }}
985
+ treeData={[
986
+ {
987
+ label: '浙江省',
988
+ value: 'zhejiang',
989
+ children: [
990
+ {
991
+ label: '杭州市',
992
+ value: 'hangzhou',
993
+ children: [
994
+ {
995
+ label: '西湖区',
996
+ value: 'xihu',
997
+ },
998
+ ],
999
+ },
1000
+ ],
1001
+ }
1002
+ ]}
1003
+ placeholder="请选择所在地区"
1004
+ multiple
1005
+ />
1006
+ }
1007
+ >
1008
+ <Tag>点击此处</Tag>
1009
+ </Popover>
1010
+ </div>
1011
+ );
1012
+
1013
+ CheckboxOnChangeEvent.story = {
1014
+ name: 'checkbox onChange event',
1015
+ };