space.stories.jsx 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  1. import React from 'react';
  2. import { Button, Tag } from '@douyinfe/semi-ui/';
  3. import Space from '../index';
  4. export default {
  5. title: 'Space'
  6. }
  7. const divStyle = {
  8. width: 100,
  9. height: 100,
  10. backgroundColor: 'lightblue',
  11. display: 'flex',
  12. alignItems: 'center',
  13. };
  14. export const SpaceDefault = () => (
  15. <>
  16. <Space align="baseline">
  17. <Button
  18. onClick={() => {
  19. alert('button');
  20. }}
  21. >
  22. 按钮
  23. </Button>
  24. <Button>按钮</Button>
  25. <Tag> default tag </Tag>
  26. <div style={divStyle}>div</div>
  27. </Space>
  28. </>
  29. );
  30. SpaceDefault.story = {
  31. name: 'Space default',
  32. };
  33. export const SpaceAlign = () => (
  34. <>
  35. <Space align="center">
  36. <span>horizontal:align-center</span>
  37. <Button>按钮</Button>
  38. <Button>按钮</Button>
  39. <Tag> default tag </Tag>
  40. <div style={divStyle}>div</div>
  41. </Space>
  42. <br />
  43. <Space align="start">
  44. <span>horizontal:align-start</span>
  45. <Button>按钮</Button>
  46. <Button>按钮</Button>
  47. <Tag> default tag </Tag>
  48. <div style={divStyle}>div</div>
  49. </Space>
  50. <br />
  51. <Space align="end">
  52. <span>horizontal:align-end</span>
  53. <Button>按钮</Button>
  54. <Button>按钮</Button>
  55. <Tag> default tag </Tag>
  56. <div style={divStyle}>div</div>
  57. </Space>
  58. <br />
  59. <Space align="baseline">
  60. <span>horizontal:align-baseline</span>
  61. <Button>按钮</Button>
  62. <Button>按钮</Button>
  63. <Tag> default tag </Tag>
  64. <div style={divStyle}>div</div>
  65. </Space>
  66. <hr />
  67. <br />
  68. <Space vertical align="center">
  69. <span>vertical:align-center</span>
  70. <Button>按钮</Button>
  71. <Button>按钮</Button>
  72. <Tag> default tag </Tag>
  73. <div style={divStyle}>div</div>
  74. </Space>
  75. <br />
  76. <Space vertical align="start">
  77. <span>vertical:align-start</span>
  78. <Button>按钮</Button>
  79. <Button>按钮</Button>
  80. <Tag> default tag </Tag>
  81. <div style={divStyle}>div</div>
  82. </Space>
  83. <br />
  84. <Space vertical align="end">
  85. <span>vertical:align-end</span>
  86. <Button>按钮</Button>
  87. <Button>按钮</Button>
  88. <Tag> default tag </Tag>
  89. <div style={divStyle}>div</div>
  90. </Space>
  91. <br />
  92. <Space vertical align="baseline">
  93. <span>vertical:align-baseline</span>
  94. <Button>按钮</Button>
  95. <Button>按钮</Button>
  96. <Tag> default tag </Tag>
  97. <div style={divStyle}>div</div>
  98. </Space>
  99. </>
  100. );
  101. SpaceAlign.story = {
  102. name: 'Space align',
  103. };
  104. export const SpaceVertical = () => (
  105. <>
  106. <Space direction="horizontal">
  107. <Button>主要按钮</Button>
  108. <Button type="secondary">次要按钮</Button>
  109. <Button type="tertiary">第三按钮</Button>
  110. <Button type="warning">警告按钮</Button>
  111. <Button type="danger">危险按钮</Button>
  112. </Space>
  113. <br />
  114. <Space vertical>
  115. <Button>主要按钮</Button>
  116. <Button type="secondary">次要按钮</Button>
  117. <Button type="tertiary">第三按钮</Button>
  118. <Button type="warning">警告按钮</Button>
  119. <Button type="danger">危险按钮</Button>
  120. </Space>
  121. </>
  122. );
  123. SpaceVertical.story = {
  124. name: 'Space vertical',
  125. };
  126. export const SpaceSpacing = () => (
  127. <>
  128. <Space spacing="loose">
  129. <span>spacing-loose</span>
  130. <Button>主要按钮</Button>
  131. <Button type="secondary">次要按钮</Button>
  132. <Button type="tertiary">第三按钮</Button>
  133. <Button type="warning">警告按钮</Button>
  134. <Button type="danger">危险按钮</Button>
  135. </Space>
  136. <br />
  137. <Space spacing="medium">
  138. <span>spacing-medium</span>
  139. <Button>主要按钮</Button>
  140. <Button type="secondary">次要按钮</Button>
  141. <Button type="tertiary">第三按钮</Button>
  142. <Button type="warning">警告按钮</Button>
  143. <Button type="danger">危险按钮</Button>
  144. </Space>
  145. <br />
  146. <Space spacing="tight">
  147. <span>spacing-tight</span>
  148. <Button>主要按钮</Button>
  149. <Button type="secondary">次要按钮</Button>
  150. <Button type="tertiary">第三按钮</Button>
  151. <Button type="warning">警告按钮</Button>
  152. <Button type="danger">危险按钮</Button>
  153. </Space>
  154. <br />
  155. <Space spacing={30}>
  156. <span>spacing-number-30</span>
  157. <Button>主要按钮</Button>
  158. <Button type="secondary">次要按钮</Button>
  159. <Button type="tertiary">第三按钮</Button>
  160. <Button type="warning">警告按钮</Button>
  161. <Button type="danger">危险按钮</Button>
  162. </Space>
  163. <br />
  164. <Space spacing={[20, 20]}>
  165. <span>spacing-array-[20,20]</span>
  166. <Button>主要按钮</Button>
  167. <Button type="secondary">次要按钮</Button>
  168. <Button type="tertiary">第三按钮</Button>
  169. <Button type="warning">警告按钮</Button>
  170. <Button type="danger">危险按钮</Button>
  171. </Space>
  172. <br />
  173. <Space spacing={['medium', 'loose']}>
  174. <span>spacing-array-['medium','loose']</span>
  175. <Button>主要按钮</Button>
  176. <Button type="secondary">次要按钮</Button>
  177. <Button type="tertiary">第三按钮</Button>
  178. <Button type="warning">警告按钮</Button>
  179. <Button type="danger">危险按钮</Button>
  180. </Space>
  181. <br />
  182. <Space spacing={['medium', 20]}>
  183. <span>spacing-array-['medium',20]</span>
  184. <Button>主要按钮</Button>
  185. <Button type="secondary">次要按钮</Button>
  186. <Button type="tertiary">第三按钮</Button>
  187. <Button type="warning">警告按钮</Button>
  188. <Button type="danger">危险按钮</Button>
  189. </Space>
  190. <br />
  191. <Space wrap spacing="loose">
  192. <span>spacing-loose,wrap=true</span>
  193. <Button>主要按钮</Button>
  194. <Button type="secondary">次要按钮</Button>
  195. <Button type="tertiary">第三按钮</Button>
  196. <Button type="warning">警告按钮</Button>
  197. <Button type="danger">危险按钮</Button>
  198. </Space>
  199. <br />
  200. <Space wrap spacing="medium">
  201. <span>spacing-medium,wrap=true</span>
  202. <Button>主要按钮</Button>
  203. <Button type="secondary">次要按钮</Button>
  204. <Button type="tertiary">第三按钮</Button>
  205. <Button type="warning">警告按钮</Button>
  206. <Button type="danger">危险按钮</Button>
  207. </Space>
  208. <br />
  209. <Space wrap spacing="tight">
  210. <span>spacing-tight,wrap=true</span>
  211. <Button>主要按钮</Button>
  212. <Button type="secondary">次要按钮</Button>
  213. <Button type="tertiary">第三按钮</Button>
  214. <Button type="warning">警告按钮</Button>
  215. <Button type="danger">危险按钮</Button>
  216. </Space>
  217. <br />
  218. </>
  219. );
  220. SpaceSpacing.story = {
  221. name: 'Space spacing',
  222. };
  223. export const SpaceWrap = () => (
  224. <>
  225. <Space wrap={false}>
  226. {new Array(30).fill(null).map((item, idex) => (
  227. <Button key={idex}>按钮</Button>
  228. ))}
  229. </Space>
  230. <br />
  231. <Space wrap={true}>
  232. {new Array(30).fill(null).map((item, idex) => (
  233. <Button theme="solid" type="secondary" key={idex}>
  234. 按钮
  235. </Button>
  236. ))}
  237. </Space>
  238. </>
  239. );
  240. SpaceWrap.story = {
  241. name: 'Space wrap',
  242. };