@strapi/design-system 1.3.0-beta.1 → 1.3.0-beta.2

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 (733) hide show
  1. package/Accordion.development.js +775 -0
  2. package/Accordion.js +9 -0
  3. package/Accordion.production.js +1 -0
  4. package/Alert.development.js +562 -0
  5. package/Alert.js +9 -0
  6. package/Alert.production.js +1 -0
  7. package/Avatar.development.js +485 -0
  8. package/Avatar.js +9 -0
  9. package/Avatar.production.js +1 -0
  10. package/Badge.development.js +494 -0
  11. package/Badge.js +9 -0
  12. package/Badge.production.js +1 -0
  13. package/BaseButton.development.js +285 -0
  14. package/BaseButton.js +9 -0
  15. package/BaseButton.production.js +1 -0
  16. package/BaseCheckbox.development.js +434 -0
  17. package/BaseCheckbox.js +9 -0
  18. package/BaseCheckbox.production.js +1 -0
  19. package/BaseLink.development.js +273 -0
  20. package/BaseLink.js +9 -0
  21. package/BaseLink.production.js +1 -0
  22. package/BaseRadio.development.js +321 -0
  23. package/BaseRadio.js +9 -0
  24. package/BaseRadio.production.js +1 -0
  25. package/Box.development.js +341 -0
  26. package/Box.js +9 -0
  27. package/Box.production.js +1 -0
  28. package/Breadcrumbs.development.js +518 -0
  29. package/Breadcrumbs.js +9 -0
  30. package/Breadcrumbs.production.js +1 -0
  31. package/Button.development.js +573 -0
  32. package/Button.js +9 -0
  33. package/Button.production.js +1 -0
  34. package/Card.development.js +746 -0
  35. package/Card.js +9 -0
  36. package/Card.production.js +1 -0
  37. package/CarouselInput.development.js +898 -0
  38. package/CarouselInput.js +9 -0
  39. package/CarouselInput.production.js +1 -0
  40. package/Checkbox.development.js +722 -0
  41. package/Checkbox.js +9 -0
  42. package/Checkbox.production.js +1 -0
  43. package/Combobox.development.js +934 -0
  44. package/Combobox.js +9 -0
  45. package/Combobox.production.js +1 -0
  46. package/DatePicker.development.js +1323 -0
  47. package/DatePicker.js +9 -0
  48. package/DatePicker.production.js +1 -0
  49. package/DateTimePicker.development.js +1622 -0
  50. package/DateTimePicker.js +9 -0
  51. package/DateTimePicker.production.js +1 -0
  52. package/Dialog.development.js +741 -0
  53. package/Dialog.js +9 -0
  54. package/Dialog.production.js +1 -0
  55. package/DismissibleLayer.development.js +218 -0
  56. package/DismissibleLayer.js +9 -0
  57. package/DismissibleLayer.production.js +1 -0
  58. package/Divider.development.js +398 -0
  59. package/Divider.js +9 -0
  60. package/Divider.production.js +1 -0
  61. package/EmptyStateLayout.development.js +425 -0
  62. package/EmptyStateLayout.js +9 -0
  63. package/EmptyStateLayout.production.js +1 -0
  64. package/Field.development.js +614 -0
  65. package/Field.js +9 -0
  66. package/Field.production.js +1 -0
  67. package/Flex.development.js +377 -0
  68. package/Flex.js +9 -0
  69. package/Flex.production.js +1 -0
  70. package/FocusTrap.development.js +341 -0
  71. package/FocusTrap.js +9 -0
  72. package/FocusTrap.production.js +1 -0
  73. package/Grid.development.js +422 -0
  74. package/Grid.js +9 -0
  75. package/Grid.production.js +1 -0
  76. package/Icon.development.js +376 -0
  77. package/Icon.js +9 -0
  78. package/Icon.production.js +1 -0
  79. package/IconButton.development.js +684 -0
  80. package/IconButton.js +9 -0
  81. package/IconButton.production.js +1 -0
  82. package/KeyboardNavigable.development.js +454 -0
  83. package/KeyboardNavigable.js +9 -0
  84. package/KeyboardNavigable.production.js +1 -0
  85. package/Layout.development.js +626 -0
  86. package/Layout.js +9 -0
  87. package/Layout.production.js +1 -0
  88. package/Link.development.js +492 -0
  89. package/Link.js +9 -0
  90. package/Link.production.js +1 -0
  91. package/LinkButton.development.js +573 -0
  92. package/LinkButton.js +9 -0
  93. package/LinkButton.production.js +1 -0
  94. package/LiveRegions.development.js +147 -0
  95. package/LiveRegions.js +9 -0
  96. package/LiveRegions.production.js +1 -0
  97. package/Loader.development.js +309 -0
  98. package/Loader.js +9 -0
  99. package/Loader.production.js +1 -0
  100. package/Main.development.js +410 -0
  101. package/Main.js +9 -0
  102. package/Main.production.js +1 -0
  103. package/MainNav.development.js +957 -0
  104. package/MainNav.js +9 -0
  105. package/MainNav.production.js +1 -0
  106. package/ModalLayout.development.js +895 -0
  107. package/ModalLayout.js +9 -0
  108. package/ModalLayout.production.js +1 -0
  109. package/NumberInput.development.js +733 -0
  110. package/NumberInput.js +9 -0
  111. package/NumberInput.production.js +1 -0
  112. package/Pagination.development.js +587 -0
  113. package/Pagination.js +9 -0
  114. package/Pagination.production.js +1 -0
  115. package/Popover.development.js +481 -0
  116. package/Popover.js +9 -0
  117. package/Popover.production.js +1 -0
  118. package/Portal.development.js +212 -0
  119. package/Portal.js +9 -0
  120. package/Portal.production.js +1 -0
  121. package/ProgressBar.development.js +273 -0
  122. package/ProgressBar.js +9 -0
  123. package/ProgressBar.production.js +1 -0
  124. package/Radio.development.js +518 -0
  125. package/Radio.js +9 -0
  126. package/Radio.production.js +1 -0
  127. package/RawTable.development.js +549 -0
  128. package/RawTable.js +9 -0
  129. package/RawTable.production.js +1 -0
  130. package/Searchbar.development.js +696 -0
  131. package/Searchbar.js +9 -0
  132. package/Searchbar.production.js +1 -0
  133. package/Select.development.js +1063 -0
  134. package/Select.js +9 -0
  135. package/Select.production.js +1 -0
  136. package/SimpleMenu.development.js +821 -0
  137. package/SimpleMenu.js +9 -0
  138. package/SimpleMenu.production.js +1 -0
  139. package/Stack.development.js +434 -0
  140. package/Stack.js +9 -0
  141. package/Stack.production.js +1 -0
  142. package/Status.development.js +494 -0
  143. package/Status.js +9 -0
  144. package/Status.production.js +1 -0
  145. package/SubNav.development.js +1123 -0
  146. package/SubNav.js +9 -0
  147. package/SubNav.production.js +1 -0
  148. package/Switch.development.js +434 -0
  149. package/Switch.js +9 -0
  150. package/Switch.production.js +1 -0
  151. package/Table.development.js +741 -0
  152. package/Table.js +9 -0
  153. package/Table.production.js +1 -0
  154. package/Tabs.development.js +590 -0
  155. package/Tabs.js +9 -0
  156. package/Tabs.production.js +1 -0
  157. package/Tag.development.js +494 -0
  158. package/Tag.js +9 -0
  159. package/Tag.production.js +1 -0
  160. package/TextButton.development.js +517 -0
  161. package/TextButton.js +9 -0
  162. package/TextButton.production.js +1 -0
  163. package/TextInput.development.js +662 -0
  164. package/TextInput.js +9 -0
  165. package/TextInput.production.js +1 -0
  166. package/Textarea.development.js +674 -0
  167. package/Textarea.js +9 -0
  168. package/Textarea.production.js +1 -0
  169. package/ThemeProvider.development.js +300 -0
  170. package/ThemeProvider.js +9 -0
  171. package/ThemeProvider.production.js +1 -0
  172. package/TimePicker.development.js +1098 -0
  173. package/TimePicker.js +9 -0
  174. package/TimePicker.production.js +1 -0
  175. package/ToggleCheckbox.development.js +542 -0
  176. package/ToggleCheckbox.js +9 -0
  177. package/ToggleCheckbox.production.js +1 -0
  178. package/ToggleInput.development.js +745 -0
  179. package/ToggleInput.js +9 -0
  180. package/ToggleInput.production.js +1 -0
  181. package/Tooltip.development.js +588 -0
  182. package/Tooltip.js +9 -0
  183. package/Tooltip.production.js +1 -0
  184. package/Typography.development.js +276 -0
  185. package/Typography.js +9 -0
  186. package/Typography.production.js +1 -0
  187. package/VisuallyHidden.development.js +146 -0
  188. package/VisuallyHidden.js +9 -0
  189. package/VisuallyHidden.production.js +1 -0
  190. package/index.development.js +4338 -0
  191. package/index.js +9 -0
  192. package/index.production.js +1 -0
  193. package/package.json +2 -2
  194. package/themes.development.js +254 -0
  195. package/themes.js +9 -0
  196. package/themes.production.js +1 -0
  197. package/v2/Breadcrumbs.development.js +906 -0
  198. package/v2/Breadcrumbs.js +9 -0
  199. package/v2/Breadcrumbs.production.js +1 -0
  200. package/v2/Link.development.js +505 -0
  201. package/v2/Link.js +9 -0
  202. package/v2/Link.production.js +1 -0
  203. package/v2/LinkButton.development.js +586 -0
  204. package/v2/LinkButton.js +9 -0
  205. package/v2/LinkButton.production.js +1 -0
  206. package/v2/MainNav.development.js +970 -0
  207. package/v2/MainNav.js +9 -0
  208. package/v2/MainNav.production.js +1 -0
  209. package/v2/Pagination.development.js +600 -0
  210. package/v2/Pagination.js +9 -0
  211. package/v2/Pagination.production.js +1 -0
  212. package/v2/SimpleMenu.development.js +834 -0
  213. package/v2/SimpleMenu.js +9 -0
  214. package/v2/SimpleMenu.production.js +1 -0
  215. package/v2/SubNav.development.js +1136 -0
  216. package/v2/SubNav.js +9 -0
  217. package/v2/SubNav.production.js +1 -0
  218. package/v2/index.development.js +1740 -0
  219. package/v2/index.js +9 -0
  220. package/v2/index.production.js +1 -0
  221. package/v2/package.json +81 -0
  222. package/.eslintignore +0 -3
  223. package/.eslintrc.js +0 -38
  224. package/.prettierrc.js +0 -7
  225. package/.storybook/components/Theme.js +0 -28
  226. package/.storybook/main.js +0 -13
  227. package/.storybook/manager.js +0 -12
  228. package/.storybook/preview.js +0 -42
  229. package/.storybook/utils/createCustomTheme.js +0 -26
  230. package/LICENSE +0 -20
  231. package/__mocks__/fileMock.js +0 -1
  232. package/__mocks__/styleMock.js +0 -1
  233. package/babel.config.js +0 -5
  234. package/createIndexFiles.js +0 -34
  235. package/global-setup.js +0 -4
  236. package/jest.config.js +0 -17
  237. package/playwright.config.js +0 -39
  238. package/src/Accordion/Accordion.js +0 -148
  239. package/src/Accordion/Accordion.stories.mdx +0 -327
  240. package/src/Accordion/AccordionContent.js +0 -26
  241. package/src/Accordion/AccordionContext.js +0 -5
  242. package/src/Accordion/AccordionGroup.js +0 -114
  243. package/src/Accordion/AccordionToggle.js +0 -192
  244. package/src/Accordion/__tests__/Accordion.e2e.js +0 -32
  245. package/src/Accordion/__tests__/AccordionKeyboard.e2e.js +0 -73
  246. package/src/Accordion/index.js +0 -4
  247. package/src/Accordion/utils.js +0 -15
  248. package/src/Alert/Alert.js +0 -144
  249. package/src/Alert/Alert.stories.mdx +0 -135
  250. package/src/Alert/__tests__/Alert.e2e.js +0 -39
  251. package/src/Alert/index.js +0 -1
  252. package/src/Alert/utils.js +0 -35
  253. package/src/Avatar/Avatar.js +0 -110
  254. package/src/Avatar/Avatar.stories.mdx +0 -67
  255. package/src/Avatar/AvatarGroup.js +0 -9
  256. package/src/Avatar/__tests__/Avatar.e2e.js +0 -23
  257. package/src/Avatar/__tests__/Avatar.spec.js +0 -153
  258. package/src/Avatar/constants.js +0 -2
  259. package/src/Avatar/index.js +0 -2
  260. package/src/Badge/Badge.js +0 -41
  261. package/src/Badge/Badge.stories.mdx +0 -57
  262. package/src/Badge/__tests__/Badge.e2e.js +0 -23
  263. package/src/Badge/index.js +0 -1
  264. package/src/BaseButton/BaseButton.js +0 -46
  265. package/src/BaseButton/BaseButton.stories.mdx +0 -32
  266. package/src/BaseButton/__tests__/BaseButton.e2e.js +0 -23
  267. package/src/BaseButton/index.js +0 -1
  268. package/src/BaseCheckbox/BaseCheckbox.js +0 -133
  269. package/src/BaseCheckbox/BaseCheckbox.stories.mdx +0 -107
  270. package/src/BaseCheckbox/__tests__/BaseCheckbox.e2e.js +0 -94
  271. package/src/BaseCheckbox/assets/checkmark-black.svg +0 -6
  272. package/src/BaseCheckbox/assets/checkmark.svg +0 -6
  273. package/src/BaseCheckbox/index.js +0 -1
  274. package/src/BaseCheckbox/utils.js +0 -7
  275. package/src/BaseLink/BaseLink.js +0 -38
  276. package/src/BaseLink/BaseLink.stories.mdx +0 -34
  277. package/src/BaseLink/__tests__/BaseLink.e2e.js +0 -23
  278. package/src/BaseLink/__tests__/BaseLink.spec.js +0 -26
  279. package/src/BaseLink/index.js +0 -1
  280. package/src/BaseRadio/BaseRadio.js +0 -69
  281. package/src/BaseRadio/BaseRadio.stories.mdx +0 -110
  282. package/src/BaseRadio/RadioGroup.js +0 -36
  283. package/src/BaseRadio/__tests__/BaseRadio.e2e.js +0 -90
  284. package/src/BaseRadio/context.js +0 -3
  285. package/src/BaseRadio/index.js +0 -2
  286. package/src/BaseRadio/utils.js +0 -30
  287. package/src/Box/Box.js +0 -104
  288. package/src/Box/Box.stories.mdx +0 -57
  289. package/src/Box/BoxProps.js +0 -99
  290. package/src/Box/__tests__/Box.e2e.js +0 -23
  291. package/src/Box/__tests__/Box.spec.js +0 -36
  292. package/src/Box/index.js +0 -1
  293. package/src/Breadcrumbs/Breadcrumbs.js +0 -58
  294. package/src/Breadcrumbs/Breadcrumbs.stories.mdx +0 -47
  295. package/src/Breadcrumbs/__tests__/Breadcrumbs.e2e.js +0 -23
  296. package/src/Breadcrumbs/index.js +0 -1
  297. package/src/Button/Button.js +0 -138
  298. package/src/Button/Button.stories.mdx +0 -216
  299. package/src/Button/__tests__/Button.e2e.js +0 -89
  300. package/src/Button/__tests__/utils.spec.js +0 -19
  301. package/src/Button/constants.js +0 -12
  302. package/src/Button/index.js +0 -1
  303. package/src/Button/utils.js +0 -170
  304. package/src/Card/Card.js +0 -35
  305. package/src/Card/Card.stories.mdx +0 -202
  306. package/src/Card/CardAction.js +0 -13
  307. package/src/Card/CardAsset.js +0 -49
  308. package/src/Card/CardBadge.js +0 -18
  309. package/src/Card/CardBody.js +0 -11
  310. package/src/Card/CardCheckbox.js +0 -14
  311. package/src/Card/CardContent.js +0 -16
  312. package/src/Card/CardContext.js +0 -5
  313. package/src/Card/CardHeader.js +0 -12
  314. package/src/Card/CardTimer.js +0 -23
  315. package/src/Card/CardTitle.js +0 -12
  316. package/src/Card/__tests__/Card.e2e.js +0 -164
  317. package/src/Card/index.js +0 -10
  318. package/src/Card/story-assets/first.jpg +0 -0
  319. package/src/CarouselInput/Carousel.js +0 -138
  320. package/src/CarouselInput/Carousel.stories.mdx +0 -149
  321. package/src/CarouselInput/CarouselActions.js +0 -6
  322. package/src/CarouselInput/CarouselImage.js +0 -39
  323. package/src/CarouselInput/CarouselInput.js +0 -80
  324. package/src/CarouselInput/CarouselSlide.js +0 -32
  325. package/src/CarouselInput/__tests__/CarouselImage.e2e.js +0 -15
  326. package/src/CarouselInput/__tests__/CarouselInput.e2e.js +0 -48
  327. package/src/CarouselInput/index.js +0 -5
  328. package/src/CarouselInput/story-assets/first.jpg +0 -0
  329. package/src/Checkbox/Checkbox.js +0 -63
  330. package/src/Checkbox/Checkbox.stories.mdx +0 -190
  331. package/src/Checkbox/__tests__/Checkbox.e2e.js +0 -96
  332. package/src/Checkbox/index.js +0 -1
  333. package/src/Combobox/Combobox.js +0 -421
  334. package/src/Combobox/Combobox.stories.mdx +0 -191
  335. package/src/Combobox/ComboboxList.js +0 -22
  336. package/src/Combobox/ComboboxOption.js +0 -36
  337. package/src/Combobox/__tests__/Combobox.e2e.js +0 -133
  338. package/src/Combobox/__tests__/utils.spec.js +0 -94
  339. package/src/Combobox/components.js +0 -69
  340. package/src/Combobox/index.js +0 -2
  341. package/src/Combobox/utils.js +0 -97
  342. package/src/DatePicker/DatePicker.js +0 -132
  343. package/src/DatePicker/DatePicker.stories.mdx +0 -172
  344. package/src/DatePicker/DatePickerCalendar.js +0 -134
  345. package/src/DatePicker/DatePickerTd.js +0 -51
  346. package/src/DatePicker/DatePickerTh.js +0 -39
  347. package/src/DatePicker/__tests__/DatePicker.e2e.js +0 -94
  348. package/src/DatePicker/__tests__/DatePicker.spec.js +0 -40
  349. package/src/DatePicker/compareDates.js +0 -9
  350. package/src/DatePicker/components.js +0 -45
  351. package/src/DatePicker/index.js +0 -1
  352. package/src/DatePicker/utils/formatDate.js +0 -5
  353. package/src/DatePicker/utils/generateWeeks.js +0 -58
  354. package/src/DatePicker/utils/getDayOfWeek.js +0 -24
  355. package/src/DatePicker/utils/getMonths.js +0 -10
  356. package/src/DatePicker/utils/getYears.js +0 -19
  357. package/src/DatePicker/utils/index.js +0 -5
  358. package/src/DatePicker/utils/tests/generateWeeks.spec.js +0 -136
  359. package/src/DatePicker/utils/tests/getMonths.spec.js +0 -21
  360. package/src/DatePicker/utils/tests/getYears.spec.js +0 -21
  361. package/src/DateTimePicker/DateTimePicker.js +0 -151
  362. package/src/DateTimePicker/DateTimePicker.stories.mdx +0 -114
  363. package/src/DateTimePicker/DateTimePickerProps.js +0 -85
  364. package/src/DateTimePicker/__tests__/DateTimePicker.e2e.js +0 -103
  365. package/src/DateTimePicker/__tests__/DateTimePicker.spec.js +0 -89
  366. package/src/DateTimePicker/__tests__/__snapshots__/DateTimePicker.spec.js.snap +0 -448
  367. package/src/DateTimePicker/__tests__/parseDate.test.js +0 -10
  368. package/src/DateTimePicker/index.js +0 -1
  369. package/src/DateTimePicker/parseDate.js +0 -11
  370. package/src/Dialog/Dialog.js +0 -86
  371. package/src/Dialog/Dialog.stories.mdx +0 -78
  372. package/src/Dialog/DialogBody.js +0 -36
  373. package/src/Dialog/DialogFooter.js +0 -38
  374. package/src/Dialog/__tests__/Dialog.e2e.js +0 -20
  375. package/src/Dialog/__tests__/Dialog.spec.js +0 -28
  376. package/src/Dialog/index.js +0 -3
  377. package/src/DismissibleLayer/DismissibleLayer.js +0 -87
  378. package/src/DismissibleLayer/DismissibleLayer.stories.mdx +0 -50
  379. package/src/DismissibleLayer/__test__/DimissibleLayer.spec.js +0 -44
  380. package/src/DismissibleLayer/index.js +0 -1
  381. package/src/Divider/Divider.js +0 -26
  382. package/src/Divider/Divider.stories.mdx +0 -55
  383. package/src/Divider/__tests__/Divider.e2e.js +0 -23
  384. package/src/Divider/index.js +0 -1
  385. package/src/EmptyStateLayout/EmptyStateLayout.js +0 -48
  386. package/src/EmptyStateLayout/EmptyStateLayout.stories.mdx +0 -87
  387. package/src/EmptyStateLayout/__tests__/EmptyStateLayout.e2e.js +0 -31
  388. package/src/EmptyStateLayout/index.js +0 -1
  389. package/src/EmptyStateLayout/story-assets/Illo.js +0 -51
  390. package/src/Field/Field.js +0 -29
  391. package/src/Field/Field.stories.mdx +0 -237
  392. package/src/Field/FieldAction.js +0 -25
  393. package/src/Field/FieldContext.js +0 -4
  394. package/src/Field/FieldError.js +0 -17
  395. package/src/Field/FieldHint.js +0 -17
  396. package/src/Field/FieldInput.js +0 -129
  397. package/src/Field/FieldLabel.js +0 -50
  398. package/src/Field/__tests__/Field.e2e.js +0 -61
  399. package/src/Field/index.js +0 -7
  400. package/src/Flex/Flex.js +0 -26
  401. package/src/Flex/Flex.stories.mdx +0 -45
  402. package/src/Flex/FlexProps.js +0 -41
  403. package/src/Flex/__tests__/Flex.e2e.js +0 -23
  404. package/src/Flex/index.js +0 -1
  405. package/src/FocusTrap/ExampleComponent.js +0 -71
  406. package/src/FocusTrap/FocusTrap.js +0 -83
  407. package/src/FocusTrap/FocusTrap.stories.mdx +0 -32
  408. package/src/FocusTrap/__tests__/FocusTrap.e2e.js +0 -126
  409. package/src/FocusTrap/index.js +0 -1
  410. package/src/Grid/Grid.js +0 -30
  411. package/src/Grid/Grid.stories.mdx +0 -112
  412. package/src/Grid/GridContext.js +0 -5
  413. package/src/Grid/GridItem.js +0 -40
  414. package/src/Grid/__tests__/Grid.e2e.js +0 -23
  415. package/src/Grid/index.js +0 -2
  416. package/src/Icon/Icon.js +0 -27
  417. package/src/Icon/Icon.stories.mdx +0 -41
  418. package/src/Icon/__tests__/Icon.e2e.js +0 -21
  419. package/src/Icon/index.js +0 -1
  420. package/src/IconButton/IconButton.js +0 -175
  421. package/src/IconButton/IconButton.stories.mdx +0 -153
  422. package/src/IconButton/__tests__/IconButton.e2e.js +0 -57
  423. package/src/IconButton/index.js +0 -1
  424. package/src/KeyboardNavigable/KeyboardNavigable.js +0 -96
  425. package/src/KeyboardNavigable/index.js +0 -1
  426. package/src/Layout/ActionLayout.js +0 -40
  427. package/src/Layout/ContentLayout.js +0 -15
  428. package/src/Layout/GridLayout.js +0 -12
  429. package/src/Layout/GridLayout.stories.mdx +0 -36
  430. package/src/Layout/HeaderLayout.js +0 -170
  431. package/src/Layout/HeaderLayout.stories.mdx +0 -175
  432. package/src/Layout/Layout.js +0 -31
  433. package/src/Layout/Layout.stories.mdx +0 -240
  434. package/src/Layout/TwoColsLayout.js +0 -26
  435. package/src/Layout/TwoColsLayout.stories.mdx +0 -46
  436. package/src/Layout/__tests__/GridLayout.e2e.js +0 -23
  437. package/src/Layout/__tests__/HeaderLayout.e2e.js +0 -83
  438. package/src/Layout/__tests__/Layout.e2e.js +0 -23
  439. package/src/Layout/__tests__/TwoColsLayout.e2e.js +0 -23
  440. package/src/Layout/index.js +0 -6
  441. package/src/Link/Link.js +0 -105
  442. package/src/Link/Link.stories.mdx +0 -57
  443. package/src/Link/__tests__/Link.e2e.js +0 -23
  444. package/src/Link/index.js +0 -1
  445. package/src/LinkButton/LinkButton.js +0 -113
  446. package/src/LinkButton/LinkButton.stories.mdx +0 -153
  447. package/src/LinkButton/__tests__/LinkButton.e2e.js +0 -89
  448. package/src/LinkButton/index.js +0 -1
  449. package/src/LiveRegions/LiveRegions.js +0 -13
  450. package/src/LiveRegions/LiveRegions.stories.mdx +0 -76
  451. package/src/LiveRegions/StoryComponent.js +0 -26
  452. package/src/LiveRegions/__tests__/LiveRegions.spec.js +0 -200
  453. package/src/LiveRegions/constants.js +0 -5
  454. package/src/LiveRegions/index.js +0 -1
  455. package/src/LiveRegions/useNotifyAT.js +0 -39
  456. package/src/Loader/Loader.js +0 -40
  457. package/src/Loader/Loader.stories.mdx +0 -48
  458. package/src/Loader/__tests__/Loader.e2e.js +0 -23
  459. package/src/Loader/assets/loader.svg +0 -3
  460. package/src/Loader/index.js +0 -1
  461. package/src/Main/Main.js +0 -24
  462. package/src/Main/SkipToContent.js +0 -29
  463. package/src/Main/index.js +0 -2
  464. package/src/MainNav/MainNav.js +0 -31
  465. package/src/MainNav/MainNav.stories.mdx +0 -197
  466. package/src/MainNav/MainNavContext.js +0 -5
  467. package/src/MainNav/NavBrand.js +0 -76
  468. package/src/MainNav/NavCondense.js +0 -44
  469. package/src/MainNav/NavLink.js +0 -143
  470. package/src/MainNav/NavSection.js +0 -53
  471. package/src/MainNav/NavSections.js +0 -20
  472. package/src/MainNav/NavUser.js +0 -53
  473. package/src/MainNav/__tests__/MainNav.e2e.js +0 -23
  474. package/src/MainNav/index.js +0 -7
  475. package/src/MainNav/strapi-img.png +0 -0
  476. package/src/ModalLayout/ModalBody.js +0 -12
  477. package/src/ModalLayout/ModalContext.js +0 -4
  478. package/src/ModalLayout/ModalFooter.js +0 -37
  479. package/src/ModalLayout/ModalHeader.js +0 -35
  480. package/src/ModalLayout/ModalLayout.js +0 -58
  481. package/src/ModalLayout/ModalLayout.stories.mdx +0 -100
  482. package/src/ModalLayout/__tests__/ModalLayout.e2e.js +0 -19
  483. package/src/ModalLayout/__tests__/ModalLayout.spec.js +0 -596
  484. package/src/ModalLayout/index.js +0 -4
  485. package/src/NumberInput/NumberInput.js +0 -253
  486. package/src/NumberInput/NumberInput.stories.mdx +0 -319
  487. package/src/NumberInput/__tests__/NumberInput.e2e.js +0 -194
  488. package/src/NumberInput/index.js +0 -1
  489. package/src/Pagination/Pagination.js +0 -37
  490. package/src/Pagination/Pagination.stories.mdx +0 -97
  491. package/src/Pagination/PaginationContext.js +0 -4
  492. package/src/Pagination/__tests__/Pagination.e2e.js +0 -23
  493. package/src/Pagination/assets/next.svg +0 -3
  494. package/src/Pagination/assets/previous.svg +0 -3
  495. package/src/Pagination/components.js +0 -147
  496. package/src/Pagination/index.js +0 -2
  497. package/src/Popover/Popover.js +0 -167
  498. package/src/Popover/Popover.stories.mdx +0 -167
  499. package/src/Popover/__tests__/Popover.e2e.js +0 -48
  500. package/src/Popover/__tests__/Popover.spec.js +0 -153
  501. package/src/Popover/index.js +0 -1
  502. package/src/Portal/Portal.js +0 -25
  503. package/src/Portal/Portal.stories.mdx +0 -33
  504. package/src/Portal/__tests__/Portal.e2e.js +0 -23
  505. package/src/Portal/index.js +0 -1
  506. package/src/ProgressBar/ProgressBar.js +0 -57
  507. package/src/ProgressBar/ProgressBar.stories.mdx +0 -47
  508. package/src/ProgressBar/__tests__/ProgressBar.e2e.js +0 -41
  509. package/src/ProgressBar/index.js +0 -1
  510. package/src/Radio/Radio.js +0 -25
  511. package/src/Radio/Radio.stories.mdx +0 -66
  512. package/src/Radio/__tests__/Radio.e2e.js +0 -66
  513. package/src/Radio/__tests__/Radio.spec.js +0 -56
  514. package/src/Radio/index.js +0 -2
  515. package/src/RawTable/RawCell.js +0 -182
  516. package/src/RawTable/RawTable.js +0 -123
  517. package/src/RawTable/RawTable.stories.mdx +0 -258
  518. package/src/RawTable/RawTableContext.js +0 -10
  519. package/src/RawTable/RawTbody.js +0 -18
  520. package/src/RawTable/RawThead.js +0 -15
  521. package/src/RawTable/RawTr.js +0 -20
  522. package/src/RawTable/__tests__/RawTable.e2e.js +0 -344
  523. package/src/RawTable/focusFocusable.js +0 -7
  524. package/src/RawTable/index.js +0 -5
  525. package/src/Searchbar/SearchForm.js +0 -3
  526. package/src/Searchbar/Searchbar.js +0 -103
  527. package/src/Searchbar/Searchbar.stories.mdx +0 -115
  528. package/src/Searchbar/__tests__/Searchbar.e2e.js +0 -52
  529. package/src/Searchbar/index.js +0 -2
  530. package/src/Select/MultiSelectNested.js +0 -31
  531. package/src/Select/OptGroup.js +0 -27
  532. package/src/Select/Option.js +0 -123
  533. package/src/Select/Select.js +0 -318
  534. package/src/Select/Select.stories.mdx +0 -362
  535. package/src/Select/SelectButton.js +0 -77
  536. package/src/Select/SelectList.js +0 -113
  537. package/src/Select/SelectTags.js +0 -50
  538. package/src/Select/__tests__/Select.e2e.js +0 -238
  539. package/src/Select/__tests__/Select.spec.js +0 -1020
  540. package/src/Select/components.js +0 -51
  541. package/src/Select/constants.js +0 -6
  542. package/src/Select/hooks/useButtonRef.js +0 -31
  543. package/src/Select/hooks/useListRef.js +0 -35
  544. package/src/Select/index.js +0 -5
  545. package/src/Select/utils.js +0 -27
  546. package/src/SimpleMenu/SimpleMenu.js +0 -252
  547. package/src/SimpleMenu/SimpleMenu.stories.mdx +0 -220
  548. package/src/SimpleMenu/__tests__/SimpleMenu.e2e.js +0 -98
  549. package/src/SimpleMenu/__tests__/SimpleMenu.spec.js +0 -48
  550. package/src/SimpleMenu/index.js +0 -1
  551. package/src/SimpleMenu/utils.js +0 -12
  552. package/src/Stack/Stack.js +0 -75
  553. package/src/Stack/Stack.stories.mdx +0 -66
  554. package/src/Stack/__tests__/Stack.e2e.js +0 -43
  555. package/src/Stack/index.js +0 -1
  556. package/src/Status/Status.js +0 -76
  557. package/src/Status/Status.stories.mdx +0 -80
  558. package/src/Status/__tests__/Status.e2e.js +0 -23
  559. package/src/Status/__tests__/Status.spec.js +0 -48
  560. package/src/Status/index.js +0 -1
  561. package/src/SubNav/SubNav.js +0 -25
  562. package/src/SubNav/SubNav.stories.mdx +0 -234
  563. package/src/SubNav/SubNavHeader.js +0 -122
  564. package/src/SubNav/SubNavLink.js +0 -92
  565. package/src/SubNav/SubNavLinkSection.js +0 -75
  566. package/src/SubNav/SubNavSection.js +0 -75
  567. package/src/SubNav/SubNavSectionLabel.js +0 -67
  568. package/src/SubNav/SubNavSections.js +0 -20
  569. package/src/SubNav/__tests__/SubNav.e2e.js +0 -23
  570. package/src/SubNav/index.js +0 -6
  571. package/src/Switch/Switch.js +0 -97
  572. package/src/Switch/Switch.stories.mdx +0 -76
  573. package/src/Switch/__tests__/Switch.e2e.js +0 -33
  574. package/src/Switch/index.js +0 -1
  575. package/src/Table/Cell.js +0 -49
  576. package/src/Table/TFooter.js +0 -58
  577. package/src/Table/Table.js +0 -96
  578. package/src/Table/Table.stories.mdx +0 -330
  579. package/src/Table/Tbody.js +0 -13
  580. package/src/Table/Thead.js +0 -11
  581. package/src/Table/Tr.js +0 -28
  582. package/src/Table/__tests__/Table.e2e.js +0 -41
  583. package/src/Table/index.js +0 -6
  584. package/src/Tabs/TabGroup.js +0 -46
  585. package/src/Tabs/TabPanels.js +0 -32
  586. package/src/Tabs/Tabs.js +0 -227
  587. package/src/Tabs/Tabs.stories.mdx +0 -211
  588. package/src/Tabs/TabsContext.js +0 -5
  589. package/src/Tabs/__tests__/Tabs.e2e.js +0 -253
  590. package/src/Tabs/components.js +0 -66
  591. package/src/Tabs/index.js +0 -3
  592. package/src/Tabs/useTabsFocus.js +0 -28
  593. package/src/Tag/Tag.js +0 -72
  594. package/src/Tag/Tag.stories.mdx +0 -47
  595. package/src/Tag/__tests__/Tag.e2e.js +0 -37
  596. package/src/Tag/index.js +0 -1
  597. package/src/TextButton/TextButton.js +0 -102
  598. package/src/TextButton/TextButton.stories.mdx +0 -71
  599. package/src/TextButton/__tests__/TextButton.e2e.js +0 -23
  600. package/src/TextButton/index.js +0 -1
  601. package/src/TextInput/TextInput.js +0 -67
  602. package/src/TextInput/TextInput.stories.mdx +0 -228
  603. package/src/TextInput/__tests__/TextInput.e2e.js +0 -73
  604. package/src/TextInput/index.js +0 -1
  605. package/src/Textarea/Textarea.js +0 -74
  606. package/src/Textarea/Textarea.stories.mdx +0 -105
  607. package/src/Textarea/TextareaInput.js +0 -77
  608. package/src/Textarea/__tests__/Textarea.e2e.js +0 -37
  609. package/src/Textarea/index.js +0 -1
  610. package/src/ThemeProvider/ThemeProvider.js +0 -193
  611. package/src/ThemeProvider/hooks.js +0 -5
  612. package/src/ThemeProvider/index.js +0 -2
  613. package/src/TimePicker/TimePicker.js +0 -128
  614. package/src/TimePicker/TimePicker.stories.mdx +0 -171
  615. package/src/TimePicker/__tests__/TimePicker.e2e.js +0 -37
  616. package/src/TimePicker/__tests__/TimePicker.spec.js +0 -2099
  617. package/src/TimePicker/index.js +0 -1
  618. package/src/ToggleCheckbox/ToggleCheckbox.js +0 -169
  619. package/src/ToggleCheckbox/ToggleCheckbox.stories.mdx +0 -96
  620. package/src/ToggleCheckbox/__tests__/ToggleCheckbox.e2e.js +0 -59
  621. package/src/ToggleCheckbox/index.js +0 -1
  622. package/src/ToggleInput/ToggleInput.js +0 -89
  623. package/src/ToggleInput/ToggleInput.stories.mdx +0 -171
  624. package/src/ToggleInput/__tests__/ToggleInput.e2e.js +0 -109
  625. package/src/ToggleInput/index.js +0 -1
  626. package/src/Tooltip/Tooltip.js +0 -72
  627. package/src/Tooltip/Tooltip.stories.mdx +0 -127
  628. package/src/Tooltip/__tests__/Tooltip.e2e.js +0 -33
  629. package/src/Tooltip/__tests__/Tooltip.spec.js +0 -306
  630. package/src/Tooltip/hooks/useTooltipHandlers.js +0 -39
  631. package/src/Tooltip/hooks/useTooltipLayout.js +0 -21
  632. package/src/Tooltip/index.js +0 -1
  633. package/src/Tooltip/utils/__tests__/positionTooltip.spec.js +0 -114
  634. package/src/Tooltip/utils/positionTooltip.js +0 -83
  635. package/src/Typography/Typography.js +0 -24
  636. package/src/Typography/Typography.stories.mdx +0 -86
  637. package/src/Typography/TypographyProps.js +0 -30
  638. package/src/Typography/__tests__/Typography.e2e.js +0 -25
  639. package/src/Typography/__tests__/Typography.spec.js +0 -32
  640. package/src/Typography/__tests__/__snapshots__/Typography.spec.js.snap +0 -103
  641. package/src/Typography/constants.js +0 -9
  642. package/src/Typography/index.js +0 -1
  643. package/src/Typography/utils.js +0 -69
  644. package/src/VisuallyHidden/VisuallyHidden.js +0 -12
  645. package/src/VisuallyHidden/index.js +0 -1
  646. package/src/helpers/__tests__/useId.spec.js +0 -39
  647. package/src/helpers/escapeSelector.js +0 -1
  648. package/src/helpers/genId.js +0 -2
  649. package/src/helpers/getDefaultLocale.js +0 -33
  650. package/src/helpers/getFocusableNodes.js +0 -35
  651. package/src/helpers/handleResponsiveValues.js +0 -34
  652. package/src/helpers/keyboardKeys.js +0 -17
  653. package/src/helpers/setOpacity.js +0 -4
  654. package/src/helpers/setTabIndexOnFirstItem.js +0 -7
  655. package/src/helpers/useElementOnScreen.js +0 -27
  656. package/src/helpers/useId.js +0 -8
  657. package/src/helpers/useIntersection.js +0 -31
  658. package/src/helpers/useLockScroll.js +0 -14
  659. package/src/helpers/usePrevious.js +0 -9
  660. package/src/helpers/useResizeObserver.js +0 -22
  661. package/src/index.js +0 -65
  662. package/src/themes/ColorButton.js +0 -24
  663. package/src/themes/Theme.stories.mdx +0 -227
  664. package/src/themes/__tests__/extendTheme.spec.js +0 -119
  665. package/src/themes/colors.js +0 -46
  666. package/src/themes/common-theme.js +0 -19
  667. package/src/themes/darkTheme/dark-colors.js +0 -49
  668. package/src/themes/darkTheme/dark-shadows.js +0 -10
  669. package/src/themes/darkTheme/index.js +0 -9
  670. package/src/themes/extendTheme.js +0 -60
  671. package/src/themes/index.js +0 -4
  672. package/src/themes/lightTheme/index.js +0 -9
  673. package/src/themes/lightTheme/light-colors.js +0 -49
  674. package/src/themes/lightTheme/light-shadows.js +0 -10
  675. package/src/themes/sizes.js +0 -10
  676. package/src/themes/utils.js +0 -50
  677. package/src/v2/Breadcrumbs/Breadcrumbs.js +0 -45
  678. package/src/v2/Breadcrumbs/Breadcrumbs.stories.mdx +0 -129
  679. package/src/v2/Breadcrumbs/Crumb.js +0 -30
  680. package/src/v2/Breadcrumbs/CrumbLink.js +0 -33
  681. package/src/v2/Breadcrumbs/CrumbSimpleMenu.js +0 -30
  682. package/src/v2/Breadcrumbs/Divider.js +0 -16
  683. package/src/v2/Breadcrumbs/__tests__/Breadcrumbs.e2e.js +0 -47
  684. package/src/v2/Breadcrumbs/__tests__/Breadcrumbs.spec.js +0 -47
  685. package/src/v2/Breadcrumbs/index.js +0 -4
  686. package/src/v2/Link/Link.js +0 -79
  687. package/src/v2/Link/Link.stories.mdx +0 -113
  688. package/src/v2/Link/__tests__/Link.e2e.js +0 -23
  689. package/src/v2/Link/index.js +0 -1
  690. package/src/v2/LinkButton/LinkButton.js +0 -105
  691. package/src/v2/LinkButton/LinkButton.stories.mdx +0 -153
  692. package/src/v2/LinkButton/__tests__/LinkButton.e2e.js +0 -89
  693. package/src/v2/LinkButton/index.js +0 -1
  694. package/src/v2/MainNav/MainNav.js +0 -31
  695. package/src/v2/MainNav/MainNav.stories.mdx +0 -197
  696. package/src/v2/MainNav/MainNavContext.js +0 -5
  697. package/src/v2/MainNav/NavBrand.js +0 -79
  698. package/src/v2/MainNav/NavCondense.js +0 -44
  699. package/src/v2/MainNav/NavLink.js +0 -143
  700. package/src/v2/MainNav/NavSection.js +0 -53
  701. package/src/v2/MainNav/NavSections.js +0 -20
  702. package/src/v2/MainNav/NavUser.js +0 -53
  703. package/src/v2/MainNav/__tests__/MainNav.e2e.js +0 -23
  704. package/src/v2/MainNav/index.js +0 -7
  705. package/src/v2/MainNav/strapi-img.png +0 -0
  706. package/src/v2/Pagination/Pagination.js +0 -37
  707. package/src/v2/Pagination/Pagination.stories.mdx +0 -97
  708. package/src/v2/Pagination/PaginationContext.js +0 -4
  709. package/src/v2/Pagination/__tests__/Pagination.e2e.js +0 -23
  710. package/src/v2/Pagination/assets/next.svg +0 -3
  711. package/src/v2/Pagination/assets/previous.svg +0 -3
  712. package/src/v2/Pagination/components.js +0 -136
  713. package/src/v2/Pagination/index.js +0 -2
  714. package/src/v2/SimpleMenu/SimpleMenu.js +0 -252
  715. package/src/v2/SimpleMenu/SimpleMenu.stories.mdx +0 -220
  716. package/src/v2/SimpleMenu/__tests__/SimpleMenu.e2e.js +0 -100
  717. package/src/v2/SimpleMenu/__tests__/SimpleMenu.spec.js +0 -48
  718. package/src/v2/SimpleMenu/index.js +0 -1
  719. package/src/v2/SimpleMenu/utils.js +0 -12
  720. package/src/v2/SubNav/SubNav.js +0 -25
  721. package/src/v2/SubNav/SubNav.stories.mdx +0 -234
  722. package/src/v2/SubNav/SubNavHeader.js +0 -122
  723. package/src/v2/SubNav/SubNavLink.js +0 -95
  724. package/src/v2/SubNav/SubNavLinkSection.js +0 -75
  725. package/src/v2/SubNav/SubNavSection.js +0 -75
  726. package/src/v2/SubNav/SubNavSectionLabel.js +0 -67
  727. package/src/v2/SubNav/SubNavSections.js +0 -20
  728. package/src/v2/SubNav/__tests__/SubNav.e2e.js +0 -23
  729. package/src/v2/SubNav/index.js +0 -6
  730. package/src/v2/index.js +0 -7
  731. package/test-bundler.js +0 -35
  732. package/tests/check-exports.spec.js +0 -36
  733. package/webpack.config.js +0 -84
@@ -1,138 +0,0 @@
1
- import React from 'react';
2
-
3
- import PropTypes from 'prop-types';
4
- import styled, { keyframes } from 'styled-components';
5
- import Loader from '@strapi/icons/Loader';
6
- import { Typography } from '../Typography';
7
- import { Box } from '../Box';
8
- import { getDisabledStyle, getHoverStyle, getActiveStyle, getVariantStyle } from './utils';
9
- import { VARIANTS, BUTTON_SIZES } from './constants';
10
- import { BaseButton } from '../BaseButton';
11
-
12
- const rotation = keyframes`
13
- from {
14
- transform: rotate(0deg);
15
- }
16
- to {
17
- transform: rotate(359deg);
18
- }
19
- `;
20
-
21
- const LoadingWrapper = styled.div`
22
- animation: ${rotation} 2s infinite linear;
23
- will-change: transform;
24
- `;
25
-
26
- const BoxFullHeight = styled(Box)`
27
- height: 100%;
28
- `;
29
-
30
- // TODO: Check the L size button with Maeva
31
- export const ButtonWrapper = styled(BaseButton)`
32
- align-items: center;
33
- padding: ${({ theme, size }) => `${size === 'S' ? theme.spaces[2] : '10px'} ${theme.spaces[4]}`};
34
- background: ${({ theme }) => theme.colors.buttonPrimary600};
35
- border: 1px solid ${({ theme }) => theme.colors.buttonPrimary600};
36
- ${Box} {
37
- display: flex;
38
- align-items: center;
39
- }
40
- ${Typography} {
41
- color: ${({ theme }) => theme.colors.buttonNeutral0};
42
- }
43
- &[aria-disabled='true'] {
44
- ${getDisabledStyle}
45
- &:active {
46
- ${getDisabledStyle}
47
- }
48
- }
49
- &:hover {
50
- ${getHoverStyle}
51
- }
52
- &:active {
53
- ${getActiveStyle}
54
- }
55
- ${getVariantStyle}
56
- ${({ fullWidth }) =>
57
- fullWidth &&
58
- `
59
- display: inline-flex;
60
- justify-content: center;
61
- width: 100%;
62
- `}
63
- `;
64
-
65
- export const Button = React.forwardRef(
66
- ({ variant, startIcon, endIcon, disabled, children, onClick, size, loading, fullWidth, ...props }, ref) => {
67
- const isDisabled = disabled || loading;
68
-
69
- const handleClick = (e) => {
70
- if (!isDisabled && onClick) {
71
- onClick(e);
72
- }
73
- };
74
-
75
- return (
76
- <ButtonWrapper
77
- ref={ref}
78
- aria-disabled={isDisabled}
79
- disabled={isDisabled}
80
- size={size}
81
- variant={variant}
82
- onClick={handleClick}
83
- fullWidth={fullWidth}
84
- {...props}
85
- >
86
- {(startIcon || loading) && (
87
- <BoxFullHeight aria-hidden={true} paddingRight={2}>
88
- {loading ? (
89
- <LoadingWrapper>
90
- <Loader />
91
- </LoadingWrapper>
92
- ) : (
93
- startIcon
94
- )}
95
- </BoxFullHeight>
96
- )}
97
-
98
- {size === 'S' ? (
99
- <Typography variant="pi" fontWeight="bold">
100
- {children}
101
- </Typography>
102
- ) : (
103
- <Typography fontWeight="bold">{children}</Typography>
104
- )}
105
-
106
- {endIcon && (
107
- <Box aria-hidden={true} paddingLeft={2}>
108
- {endIcon}
109
- </Box>
110
- )}
111
- </ButtonWrapper>
112
- );
113
- },
114
- );
115
-
116
- Button.displayName = 'Button';
117
-
118
- Button.defaultProps = {
119
- disabled: false,
120
- endIcon: undefined,
121
- fullWidth: false,
122
- loading: false,
123
- onClick: undefined,
124
- size: 'S',
125
- startIcon: undefined,
126
- variant: 'default',
127
- };
128
- Button.propTypes = {
129
- children: PropTypes.node.isRequired,
130
- disabled: PropTypes.bool,
131
- endIcon: PropTypes.element,
132
- fullWidth: PropTypes.bool,
133
- loading: PropTypes.bool,
134
- onClick: PropTypes.func,
135
- size: PropTypes.oneOf(BUTTON_SIZES),
136
- startIcon: PropTypes.element,
137
- variant: PropTypes.oneOf(VARIANTS),
138
- };
@@ -1,216 +0,0 @@
1
- <!--- Button.stories.mdx --->
2
-
3
- import { Meta, Story, Canvas } from '@storybook/addon-docs';
4
- import { ArgsTable } from '@storybook/addon-docs';
5
- import Information from '@strapi/icons/Information';
6
- import Plus from '@strapi/icons/Plus';
7
- import Write from '@strapi/icons/Write';
8
- import { Button } from './Button';
9
- import { Box } from '../Box';
10
- import { Flex } from '../Flex';
11
- import { Stack } from '../Stack';
12
-
13
- <Meta title="Design System/Components/Button" component={Button} />
14
-
15
- # Button
16
-
17
- Buttons are a way to perform actions within a page. They help interact with its content via a single click. According to their style, specific labels and icons, they help understand the most important actions to take.
18
-
19
- **Best practices**
20
-
21
- - A button should have a relevant and clear label.
22
- - Be positioned in consistent locations in the interface.
23
- - If there are no primary action on a screen yet, this might be the one to look for.
24
- - Prefer to have not more than two buttons side to side.
25
- - To navigate to another page in your browser (use Link component instead).
26
-
27
- [View source](https://github.com/strapi/design-system-experiments/tree/main/packages/strapi-design-system/src/Button)
28
-
29
- ## Imports
30
-
31
- ```js
32
- import { Button } from '@strapi/design-system/Button';
33
- ```
34
-
35
- ## Usage
36
-
37
- The most common button component used in the interface (primary action). It can have different variants and meaning.
38
-
39
- <Canvas withSource="open">
40
- <Story name="base" parameters={{ docs: { source: { code: '<Button>Default button</Button>' } } }}>
41
- <Box paddingBottom={2}>
42
- <Button variant="default">Default</Button>
43
- </Box>
44
- </Story>
45
- </Canvas>
46
-
47
- ### Button sizes
48
-
49
- Main actions usually use a L button (top of a screen, footer of a modal, ...). For subsidiary action, a S button suits more (filters, configure the view, ...).
50
-
51
- Use the size prop to change the size of the button. You can set the value to `S` or `L`.
52
-
53
- <Canvas withSource="open">
54
- <Story
55
- name="sizes"
56
- parameters={{
57
- docs: {
58
- source: {
59
- code: `
60
- <Button size="S">Small</Button>
61
- <Button size="L">Large</Button>
62
- `,
63
- },
64
- },
65
- }}
66
- >
67
- <Flex>
68
- <Box paddingRight={1}>
69
- <Button size="S">Small</Button>
70
- </Box>
71
- <Button size="L">Large</Button>
72
- </Flex>
73
- </Story>
74
- </Canvas>
75
-
76
- ### Button variants
77
-
78
- Use the variant prop to change the visual style of the Button.
79
- You can set the value to `default`, `secondary`, `tertiary`, `success`, `danger`, `success-light`, or `danger-light`.
80
-
81
- <Canvas withSource="open">
82
- <Story
83
- name="variants"
84
- parameters={{
85
- docs: {
86
- source: {
87
- code: `
88
- <Button variant='default'>Default</Button>
89
- <Button variant='secondary'>Secondary</Button>
90
- <Button variant='tertiary'>Tertiary</Button>
91
- ...
92
- `,
93
- },
94
- },
95
- }}
96
- >
97
- <Stack spacing={2} horizontal>
98
- {['default', 'secondary', 'tertiary', 'success', 'danger', 'success-light', 'danger-light', 'ghost'].map(
99
- (variant) => (
100
- <Button onClick={(e) => console.log(e)} variant={variant} key={variant}>
101
- {variant}
102
- </Button>
103
- ),
104
- )}
105
- </Stack>
106
- </Story>
107
- </Canvas>
108
-
109
- | State | Description |
110
- | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
111
- | Primary button | Use a Primary button to inform about the importance of an action. This is the strongest call to action. No more than one primary button should appear on a screen. Examples: Save, Finish, ... |
112
- | Secondary button | Use a Secondary button mostly next to a primary button. This action has to be less important or is less likely to be perform by a user. Examples: Edit model, Configure the view, ... |
113
- | Tertiary button | Use a Tertiary button when the action has a low impact or is the least likely to be perform by a user. Examples: Cancel, Close, ... |
114
- | Success button | Use a Success button for reassurance. Use it preferably to indicate a validation, a success, an end of a workflow, ... Examples: Confirm, Save, ... |
115
- | Danger button | Use a Danger button to indicate a destructive action. They are most commonly found in confirmation modals. More generally the red color and danger style indicate an important action that could not be reversible. Example: Delete |
116
- | Success-light button | Use a Success-light button to indicate a lower emphasis style to a successful action. |
117
- | Danger-light button | Use a Danger-light button to indicate a lower emphasis style to a destructive action. Example: Delete this entry |
118
-
119
- ### Button with icon
120
-
121
- A button can be associated with an icon to give more impact.
122
-
123
- You can add start and end icons to the Button component using the `startIcon` and `endIcon` props respectively.
124
-
125
- <Canvas withSource="open">
126
- <Story
127
- name="icons"
128
- parameters={{
129
- docs: {
130
- source: {
131
- code: `
132
- <Button startIcon={<Information />}>Information</Button>
133
- <Button variant='secondary' endIcon={<Write />}>Write content</Button>
134
- <Button variant='secondary' endIcon={<Write />}>Write content</Button>
135
- <Button startIcon={<Information />} loading>With a loader</Button>
136
- `,
137
- },
138
- },
139
- }}
140
- >
141
- <Stack spacing={2} horizontal>
142
- <Button startIcon={<Information />}>Information</Button>
143
- <Button variant="secondary" endIcon={<Write />}>
144
- Write content
145
- </Button>
146
- <Button startIcon={<Information />} loading>
147
- With a loader
148
- </Button>
149
- <Button startIcon={<Plus />}>Woops</Button>
150
- </Stack>
151
- </Story>
152
- </Canvas>
153
-
154
- ### Button disabled
155
-
156
- All action that cannot be performed yet.
157
-
158
- <Canvas withSource="open">
159
- <Story
160
- name="disabled"
161
- parameters={{
162
- docs: {
163
- source: {
164
- code: `
165
- <Button disabled startIcon={<Information />}>Information</Button>
166
- `,
167
- },
168
- },
169
- }}
170
- >
171
- <Box paddingRight={1}>
172
- <Button disabled onClick={() => console.log('information')} startIcon={<Information />}>
173
- Information
174
- </Button>
175
- </Box>
176
- </Story>
177
- </Canvas>
178
-
179
- ### Full width button
180
-
181
- All action that cannot be performed yet.
182
-
183
- <Canvas withSource="open">
184
- <Story
185
- name="fullWidth"
186
- parameters={{
187
- docs: {
188
- source: {
189
- code: `
190
- <Button fullWidth>Information</Button>
191
- `,
192
- },
193
- },
194
- }}
195
- >
196
- <Box paddingRight={1}>
197
- <Button
198
- fullWidth
199
- onClick={() => console.log('information')}
200
- startIcon={<Information />}
201
- endIcon={<Information />}
202
- >
203
- Information
204
- </Button>
205
- </Box>
206
- </Story>
207
- </Canvas>
208
-
209
- ## Accessibility
210
-
211
- - Button has role of button.
212
- - When Button has focus, `Space` or `Enter` activates it.
213
-
214
- ## Props
215
-
216
- <ArgsTable of={Button} />
@@ -1,89 +0,0 @@
1
- import { injectAxe, checkA11y } from 'axe-playwright';
2
-
3
- import { test } from '@playwright/test';
4
-
5
- test.describe.parallel('Button', () => {
6
- test.describe('light mode', () => {
7
- test.describe('base', () => {
8
- test('triggers axe on the document', async ({ page }) => {
9
- await page.goto('/iframe.html?id=design-system-components-button--base&viewMode=story');
10
- await injectAxe(page);
11
- await checkA11y(page);
12
- });
13
- });
14
-
15
- test.describe('sizes', () => {
16
- test('triggers axe on the document', async ({ page }) => {
17
- await page.goto('/iframe.html?id=design-system-components-button--sizes&viewMode=story');
18
- await injectAxe(page);
19
- await checkA11y(page);
20
- });
21
- });
22
-
23
- test.describe('variants', () => {
24
- test('triggers axe on the document', async ({ page }) => {
25
- await page.goto('/iframe.html?id=design-system-components-button--variants&viewMode=story');
26
- await injectAxe(page);
27
- await checkA11y(page);
28
- });
29
- });
30
-
31
- test.describe('icons', () => {
32
- test('triggers axe on the document', async ({ page }) => {
33
- await page.goto('/iframe.html?id=design-system-components-button--icons&viewMode=story');
34
- await injectAxe(page);
35
- await checkA11y(page);
36
- });
37
- });
38
-
39
- test.describe('disabled', () => {
40
- test('triggers axe on the document', async ({ page }) => {
41
- await page.goto('/iframe.html?id=design-system-components-button--disabled&viewMode=story');
42
- await injectAxe(page);
43
- await checkA11y(page);
44
- });
45
- });
46
- });
47
-
48
- test.describe('dark mode', () => {
49
- test.describe('base', () => {
50
- test('triggers axe on the document', async ({ page }) => {
51
- await page.goto('/iframe.html?id=design-system-components-button--base&viewMode=story&theme=dark');
52
- await injectAxe(page);
53
- await checkA11y(page);
54
- });
55
- });
56
-
57
- test.describe('sizes', () => {
58
- test('triggers axe on the document', async ({ page }) => {
59
- await page.goto('/iframe.html?id=design-system-components-button--sizes&viewMode=story&theme=dark');
60
- await injectAxe(page);
61
- await checkA11y(page);
62
- });
63
- });
64
-
65
- test.describe('variants', () => {
66
- test('triggers axe on the document', async ({ page }) => {
67
- await page.goto('/iframe.html?id=design-system-components-button--variants&viewMode=story&theme=dark');
68
- await injectAxe(page);
69
- await checkA11y(page);
70
- });
71
- });
72
-
73
- test.describe('icons', () => {
74
- test('triggers axe on the document', async ({ page }) => {
75
- await page.goto('/iframe.html?id=design-system-components-button--icons&viewMode=story&theme=dark');
76
- await injectAxe(page);
77
- await checkA11y(page);
78
- });
79
- });
80
-
81
- test.describe('disabled', () => {
82
- test('triggers axe on the document', async ({ page }) => {
83
- await page.goto('/iframe.html?id=design-system-components-button--disabled&viewMode=story&theme=dark');
84
- await injectAxe(page);
85
- await checkA11y(page);
86
- });
87
- });
88
- });
89
- });
@@ -1,19 +0,0 @@
1
- import { getVariantColorName } from '../utils';
2
-
3
- describe('utils', () => {
4
- describe('getVariantsColorName', () => {
5
- it('should return primary for the default and secondary', () => {
6
- expect(getVariantColorName('default')).toEqual('primary');
7
- expect(getVariantColorName('secondary')).toEqual('primary');
8
- });
9
-
10
- it('should return the right color name for light variants', () => {
11
- expect(getVariantColorName('success-light')).toEqual('success');
12
- expect(getVariantColorName('danger-light')).toEqual('danger');
13
- });
14
-
15
- it('should return primary by default', () => {
16
- expect(getVariantColorName('unknown')).toEqual('primary');
17
- });
18
- });
19
- });
@@ -1,12 +0,0 @@
1
- export const SUCCESS_LIGHT = 'success-light';
2
- export const DANGER_LIGHT = 'danger-light';
3
- export const DEFAULT = 'default';
4
- export const TERTIARY = 'tertiary';
5
- export const SECONDARY = 'secondary';
6
- export const DANGER = 'danger';
7
- export const SUCCESS = 'success';
8
- export const GHOST = 'ghost';
9
-
10
- export const LIGHT_VARIANTS = [SUCCESS_LIGHT, DANGER_LIGHT];
11
- export const VARIANTS = [DEFAULT, TERTIARY, SECONDARY, DANGER, SUCCESS, GHOST, ...LIGHT_VARIANTS];
12
- export const BUTTON_SIZES = ['S', 'L'];
@@ -1 +0,0 @@
1
- export * from './Button';
@@ -1,170 +0,0 @@
1
- import { Typography } from '../Typography';
2
- import {
3
- LIGHT_VARIANTS,
4
- VARIANTS,
5
- SECONDARY,
6
- TERTIARY,
7
- DEFAULT,
8
- GHOST,
9
- DANGER,
10
- SUCCESS,
11
- DANGER_LIGHT,
12
- SUCCESS_LIGHT,
13
- } from './constants';
14
-
15
- export const getVariantColorName = (variant) => {
16
- if (LIGHT_VARIANTS.includes(variant)) {
17
- return variant.substring(0, variant.lastIndexOf('-'));
18
- }
19
- if (variant === TERTIARY) {
20
- return 'neutral';
21
- }
22
- if ([DEFAULT, SECONDARY].includes(variant) || !VARIANTS.includes(variant)) {
23
- return 'primary';
24
- }
25
-
26
- return variant;
27
- };
28
-
29
- export const getDisabledStyle = ({ theme }) => {
30
- return `
31
- border: 1px solid ${theme.colors.neutral200};
32
- background: ${theme.colors.neutral150};
33
- ${Typography} {
34
- color: ${theme.colors.neutral600};
35
- }
36
- svg {
37
- > g, path {
38
- fill: ${theme.colors.neutral600};
39
- }
40
- }
41
- `;
42
- };
43
-
44
- export const getHoverStyle = ({ theme, variant }) => {
45
- if ([...LIGHT_VARIANTS, SECONDARY].includes(variant)) {
46
- return `
47
- background-color: ${theme.colors.neutral0};
48
- `;
49
- }
50
- if (variant === TERTIARY) {
51
- return `
52
- background-color: ${theme.colors.neutral100};
53
- `;
54
- }
55
-
56
- if (variant === GHOST) {
57
- return `
58
- background-color: ${theme.colors.neutral100};
59
- `;
60
- }
61
-
62
- if (variant === DEFAULT) {
63
- return `
64
- border: 1px solid ${theme.colors.buttonPrimary500};
65
- background: ${theme.colors.buttonPrimary500};
66
- `;
67
- }
68
-
69
- return `
70
- border: 1px solid ${theme.colors[`${getVariantColorName(variant)}500`]};
71
- background: ${theme.colors[`${getVariantColorName(variant)}500`]};
72
- `;
73
- };
74
-
75
- export const getActiveStyle = ({ theme, variant }) => {
76
- if ([...LIGHT_VARIANTS, SECONDARY].includes(variant)) {
77
- return `
78
- background-color: ${theme.colors.neutral0};
79
- border: 1px solid ${theme.colors[`${getVariantColorName(variant)}600`]};
80
- ${Typography} {
81
- color: ${theme.colors[`${getVariantColorName(variant)}600`]};
82
- }
83
- svg {
84
- > g, path {
85
- fill: ${theme.colors[`${getVariantColorName(variant)}600`]};
86
- }
87
- }
88
- `;
89
- }
90
- if (variant === TERTIARY) {
91
- return `
92
- background-color: ${theme.colors.neutral150};
93
- `;
94
- }
95
-
96
- return `
97
- border: 1px solid ${theme.colors[`${getVariantColorName(variant)}600`]};
98
- background: ${theme.colors[`${getVariantColorName(variant)}600`]};
99
- `;
100
- };
101
-
102
- export const getVariantStyle = ({ theme, variant }) => {
103
- switch (variant) {
104
- case DANGER_LIGHT:
105
- case SUCCESS_LIGHT:
106
- case SECONDARY: {
107
- return `
108
- border: 1px solid ${theme.colors[`${getVariantColorName(variant)}200`]};
109
- background: ${theme.colors[`${getVariantColorName(variant)}100`]};
110
- ${Typography} {
111
- color: ${theme.colors[`${getVariantColorName(variant)}700`]};
112
- }
113
- svg {
114
- > g, path {
115
- fill: ${theme.colors[`${getVariantColorName(variant)}700`]};
116
- }
117
- }
118
- `;
119
- }
120
- case TERTIARY: {
121
- return `
122
- border: 1px solid ${theme.colors.neutral200};
123
- background: ${theme.colors.neutral0};
124
- ${Typography} {
125
- color: ${theme.colors.neutral800};
126
- }
127
- svg {
128
- > g, path {
129
- fill: ${theme.colors.neutral800};
130
- }
131
- }
132
- `;
133
- }
134
- case GHOST: {
135
- return `
136
- border: 1px solid transparent;
137
- background: transparent;
138
-
139
- ${Typography} {
140
- color: ${theme.colors.neutral800};
141
- }
142
-
143
- svg {
144
- > g, path {
145
- fill: ${theme.colors.neutral500};
146
- }
147
- }
148
- `;
149
- }
150
- case SUCCESS:
151
- case DANGER: {
152
- return `
153
- border: 1px solid ${theme.colors[`${getVariantColorName(variant)}600`]};
154
- background: ${theme.colors[`${getVariantColorName(variant)}600`]};
155
- ${Typography} {
156
- color: ${theme.colors.neutral0};
157
- }
158
- `;
159
- }
160
- default: {
161
- return `
162
- svg {
163
- > g, path {
164
- fill: ${theme.colors.buttonNeutral0};
165
- }
166
- }
167
- `;
168
- }
169
- }
170
- };
package/src/Card/Card.js DELETED
@@ -1,35 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import { Box } from '../Box';
4
- import { CardContext } from './CardContext';
5
- import { useId } from '../helpers/useId';
6
-
7
- export const Card = ({ id, ...props }) => {
8
- const generatedId = useId('card', id);
9
-
10
- return (
11
- <CardContext.Provider value={{ id: generatedId }}>
12
- <Box
13
- id={id}
14
- tabIndex={0}
15
- hasRadius
16
- background="neutral0"
17
- borderStyle="solid"
18
- borderWidth="1px"
19
- borderColor="neutral150"
20
- shadow="tableShadow"
21
- as="article"
22
- aria-labelledby={`${generatedId}-title`}
23
- {...props}
24
- />
25
- </CardContext.Provider>
26
- );
27
- };
28
-
29
- Card.defaultProps = {
30
- id: undefined,
31
- };
32
-
33
- Card.propTypes = {
34
- id: PropTypes.string,
35
- };