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

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,47 +0,0 @@
1
- import * as React from 'react';
2
- import { render } from '@testing-library/react';
3
- import { ThemeProvider } from '../../../ThemeProvider';
4
- import { lightTheme } from '../../../themes';
5
- import { Breadcrumbs } from '../Breadcrumbs';
6
- import { Crumb } from '../Crumb';
7
-
8
- describe('Breadcrumb', () => {
9
- it('should render only one crumb without any separator', async () => {
10
- const { container } = render(
11
- <ThemeProvider theme={lightTheme}>
12
- <Breadcrumbs>
13
- <Crumb>First</Crumb>
14
- {undefined && <Crumb>Second</Crumb>}
15
- </Breadcrumbs>
16
- </ThemeProvider>,
17
- );
18
-
19
- const crumbList = container.querySelectorAll('li');
20
- // The divider is a span as well as the crumb text.
21
- // In this case, only one crumb should be rendered without any divider
22
- const spanList = container.querySelectorAll('span');
23
-
24
- expect(crumbList.length).toEqual(1);
25
- expect(spanList.length).toEqual(1);
26
- });
27
-
28
- it('should render two crumbs with only one separator', async () => {
29
- const { container } = render(
30
- <ThemeProvider theme={lightTheme}>
31
- <Breadcrumbs>
32
- <Crumb>First</Crumb>
33
- <Crumb>Second</Crumb>
34
- </Breadcrumbs>
35
- </ThemeProvider>,
36
- );
37
-
38
- const crumbList = container.querySelectorAll('li');
39
-
40
- // The divider is a span as well as the crumb text which means:
41
- // 2 spans for the crumb texts + 1 for the divider
42
- const spanList = container.querySelectorAll('span');
43
-
44
- expect(crumbList.length).toEqual(2);
45
- expect(spanList.length).toEqual(3);
46
- });
47
- });
@@ -1,4 +0,0 @@
1
- export * from './Breadcrumbs';
2
- export * from './Crumb';
3
- export * from './CrumbLink';
4
- export * from './CrumbSimpleMenu';
@@ -1,79 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import styled from 'styled-components';
4
- import ExternalLink from '@strapi/icons/ExternalLink';
5
- import { Typography } from '../../Typography';
6
- import { Box } from '../../Box';
7
- import { buttonFocusStyle } from '../../themes/utils';
8
- import { BaseLink } from '../../BaseLink';
9
-
10
- const LinkWrapper = styled(BaseLink)`
11
- display: inline-flex;
12
- align-items: center;
13
- text-decoration: none;
14
- pointer-events: ${({ disabled }) => (disabled ? 'none' : undefined)};
15
-
16
- svg path {
17
- fill: ${({ disabled, theme }) => (disabled ? theme.colors.neutral600 : theme.colors.primary600)};
18
- }
19
-
20
- svg {
21
- font-size: ${10 / 16}rem;
22
- }
23
-
24
- &:hover,
25
- &:active {
26
- color: ${({ theme }) => theme.colors.primary800};
27
- }
28
-
29
- ${buttonFocusStyle};
30
- `;
31
-
32
- const IconWrapper = styled(Box)`
33
- display: flex;
34
- `;
35
-
36
- export const Link = React.forwardRef(({ children, href, disabled, startIcon, endIcon, ...props }, ref) => {
37
- return (
38
- <LinkWrapper ref={ref} href={href} disabled={disabled} {...props}>
39
- {startIcon && (
40
- <IconWrapper as="span" aria-hidden={true} paddingRight={2}>
41
- {startIcon}
42
- </IconWrapper>
43
- )}
44
-
45
- <Typography textColor={disabled ? 'neutral600' : 'primary600'}>{children}</Typography>
46
-
47
- {endIcon && (
48
- <IconWrapper as="span" aria-hidden={true} paddingLeft={2}>
49
- {endIcon}
50
- </IconWrapper>
51
- )}
52
-
53
- {href && !endIcon && (
54
- <IconWrapper as="span" aria-hidden={true} paddingLeft={2}>
55
- <ExternalLink />
56
- </IconWrapper>
57
- )}
58
- </LinkWrapper>
59
- );
60
- });
61
-
62
- Link.displayName = 'Link';
63
-
64
- Link.defaultProps = {
65
- as: undefined,
66
- href: undefined,
67
- disabled: false,
68
- startIcon: undefined,
69
- endIcon: undefined,
70
- };
71
-
72
- Link.propTypes = {
73
- as: PropTypes.elementType,
74
- children: PropTypes.node.isRequired,
75
- disabled: PropTypes.bool,
76
- endIcon: PropTypes.element,
77
- href: PropTypes.string,
78
- startIcon: PropTypes.element,
79
- };
@@ -1,113 +0,0 @@
1
- <!--- Link.stories.mdx --->
2
-
3
- import { Meta, Story, Canvas } from '@storybook/addon-docs';
4
- import { ArgsTable } from '@storybook/addon-docs';
5
- import { Link } from './Link';
6
- import { Stack } from '../../Stack';
7
- import Strapi from '@strapi/icons/Strapi';
8
-
9
- <Meta title="Design System/Components/v2/Link" component={Link} />
10
-
11
- # Link
12
-
13
- Links are used to send users to another page or an anchor. They are used for external navigation.
14
-
15
- **Best practices**
16
-
17
- - Use TextButton component if an action needs to be triggered within the admin panel (ex: Opening a modal ).
18
- - Clicking on a Link most of the time opens a new tab.
19
- - Links should always be used with an icon. If it is an external link, use the ExternalLink icon accordingly.
20
- - Links text should be concise and describe their purpose. Users need to know exactly what they are about to do.
21
- - Use capital letters.
22
-
23
- [View source](https://github.com/strapi/design-system/tree/main/packages/strapi-design-system/src/v2/Link)
24
-
25
- ## Imports
26
-
27
- ```js
28
- import { Link } from '@strapi/design-system/v2/Link';
29
- ```
30
-
31
- ## Usage
32
-
33
- Links are used for external navigation. Moreover, they should be associated with an icon to indicate its external navigation purpose.
34
-
35
- ### Base
36
-
37
- The simplest representation of the Link component.
38
-
39
- <Canvas>
40
- <Story name="base">
41
- <Stack spacing={5}>
42
- <Link isExternal href="https://strapi.io/">
43
- External link
44
- </Link>
45
- </Stack>
46
- </Story>
47
- </Canvas>
48
-
49
- ### Disabled link
50
-
51
- Depending on the permissions a user have or the status of an action, a link can be unreachable or unavailable yet.
52
-
53
- <Canvas>
54
- <Story name="disabled">
55
- <Stack spacing={5}>
56
- <Link isExternal href="https://strapi.io/" disabled>
57
- Disabled link
58
- </Link>
59
- </Stack>
60
- </Story>
61
- </Canvas>
62
-
63
- ### Start & end icons
64
-
65
- Display icons on the left or right side.
66
-
67
- <Canvas>
68
- <Story name="icons">
69
- <Stack spacing={5}>
70
- <div>
71
- <Link isExternal href="https://strapi.io/" startIcon={<Strapi />}>
72
- Strapi
73
- </Link>
74
- </div>
75
- <div>
76
- <Link isExternal href="https://strapi.io/" endIcon={<Strapi />}>
77
- Strapi
78
- </Link>
79
- </div>
80
- </Stack>
81
- </Story>
82
- </Canvas>
83
-
84
- ### Usage with other routing libraries
85
-
86
- To use the Link component with a routing library (e.g. react-router-dom), you'll need to pass the `NavLink` component to the `as` prop in order to replace the default HTML anchor `<a />`.
87
- You'll now be able to pass all `NavLink` props.
88
-
89
- ```jsx
90
- import { Link } from '@strapi/design-system/Link';
91
- import { NavLink } from 'react-router-dom';
92
-
93
- <Link as={NavLink} to="/home">
94
- Home
95
- </Link>;
96
- ```
97
-
98
- #### NextJS usage
99
-
100
- For NextJS, you'll need to wrap the `Link` with the `NextLink` component
101
-
102
- ```jsx
103
- import { Link } from '@strapi/design-system/Link';
104
- import NextLink from 'next/link';
105
-
106
- <NextLink href="/home" passHref>
107
- <Link>Home</Link>
108
- </NextLink>;
109
- ```
110
-
111
- ## Props
112
-
113
- <ArgsTable of={Link} />
@@ -1,23 +0,0 @@
1
- import { injectAxe, checkA11y } from 'axe-playwright';
2
-
3
- import { test } from '@playwright/test';
4
-
5
- test.describe.parallel('Link', () => {
6
- test.describe('light mode', () => {
7
- test('triggers axe on the document', async ({ page }) => {
8
- // This is the URL of the Storybook Iframe
9
- await page.goto('/iframe.html?id=design-system-components-v2-link--base&viewMode=story');
10
- await injectAxe(page);
11
- await checkA11y(page);
12
- });
13
- });
14
-
15
- test.describe('dark mode', () => {
16
- test('triggers axe on the document', async ({ page }) => {
17
- // This is the URL of the Storybook Iframe
18
- await page.goto('/iframe.html?id=design-system-components-v2-link--base&viewMode=story&theme=dark');
19
- await injectAxe(page);
20
- await checkA11y(page);
21
- });
22
- });
23
- });
@@ -1 +0,0 @@
1
- export * from './Link';
@@ -1,105 +0,0 @@
1
- import React from 'react';
2
- import styled from 'styled-components';
3
- import PropTypes from 'prop-types';
4
- import { Typography } from '../../Typography';
5
- import { Box } from '../../Box';
6
- import { getDisabledStyle, getHoverStyle, getActiveStyle, getVariantStyle } from '../../Button/utils';
7
- import { VARIANTS, BUTTON_SIZES } from '../../Button/constants';
8
- import { BaseButtonWrapper } from '../../BaseButton';
9
- import { BaseLink } from '../../BaseLink';
10
-
11
- const LinkWrapper = styled(BaseButtonWrapper)`
12
- padding: ${({ theme, size }) => `${size === 'S' ? theme.spaces[2] : '10px'} ${theme.spaces[4]}`};
13
- background: ${({ theme }) => theme.colors.buttonPrimary600};
14
- border: 1px solid ${({ theme }) => theme.colors.buttonPrimary600};
15
- border-radius: ${({ theme }) => theme.borderRadius};
16
- ${Box} {
17
- display: flex;
18
- align-items: center;
19
- }
20
- ${Typography} {
21
- color: ${({ theme }) => theme.colors.buttonNeutral0};
22
- }
23
- &[aria-disabled='true'] {
24
- ${getDisabledStyle}
25
- &:active {
26
- ${getDisabledStyle}
27
- }
28
- }
29
- &:hover {
30
- ${getHoverStyle}
31
- }
32
- &:active {
33
- ${getActiveStyle}
34
- }
35
- ${getVariantStyle}
36
-
37
- /**
38
- Link specific properties
39
- */
40
- display: inline-flex;
41
- text-decoration: none;
42
- pointer-events: ${({ disabled }) => (disabled ? 'none' : undefined)};
43
- `;
44
-
45
- export const LinkButton = React.forwardRef(
46
- ({ variant, startIcon, endIcon, disabled, children, size, as, ...props }, ref) => {
47
- return (
48
- <LinkWrapper ref={ref} aria-disabled={disabled} size={size} variant={variant} {...props} as={as || BaseLink}>
49
- {startIcon && (
50
- <Box aria-hidden={true} paddingRight={2}>
51
- {startIcon}
52
- </Box>
53
- )}
54
-
55
- {size === 'S' ? (
56
- <Typography variant="pi" fontWeight="bold">
57
- {children}
58
- </Typography>
59
- ) : (
60
- <Typography fontWeight="bold">{children}</Typography>
61
- )}
62
-
63
- {endIcon && (
64
- <Box aria-hidden={true} paddingLeft={2}>
65
- {endIcon}
66
- </Box>
67
- )}
68
- </LinkWrapper>
69
- );
70
- },
71
- );
72
-
73
- LinkButton.displayName = 'LinkButton';
74
-
75
- LinkButton.defaultProps = {
76
- as: BaseLink,
77
- disabled: false,
78
- startIcon: undefined,
79
- endIcon: undefined,
80
- size: 'S',
81
- variant: 'default',
82
- onClick: undefined,
83
- href: undefined,
84
- to: undefined,
85
- };
86
- LinkButton.propTypes = {
87
- as: PropTypes.elementType,
88
- children: PropTypes.node.isRequired,
89
- disabled: PropTypes.bool,
90
- endIcon: PropTypes.element,
91
- href: (props) => {
92
- if (!props.disabled && !props.to && !props.href) {
93
- return new Error('href must be defined');
94
- }
95
- },
96
- onClick: PropTypes.func,
97
- size: PropTypes.oneOf(BUTTON_SIZES),
98
- startIcon: PropTypes.element,
99
- to: (props) => {
100
- if (!props.disabled && !props.href && !props.to) {
101
- return new Error('to must be defined');
102
- }
103
- },
104
- variant: PropTypes.oneOf(VARIANTS),
105
- };
@@ -1,153 +0,0 @@
1
- <!--- LinkButton.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 Write from '@strapi/icons/Write';
7
- import { LinkButton } from './LinkButton';
8
- import { Box } from '../../Box';
9
- import { Flex } from '../../Flex';
10
-
11
- <Meta title="Design System/Components/v2/LinkButton" component={LinkButton} />
12
-
13
- # LinkButton
14
-
15
- LinkButtons are a way to perform actions that links to a different page component that will stay within one 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.
16
-
17
- The difference with the `Button` component will be that the action of the LinkButton redirects to a different page.
18
- The difference with the `Link` is the style.
19
-
20
- Best practices
21
-
22
- - A link button should have a relevant and clear label.
23
- - Be positioned in consistent locations in the interface.
24
- - If there are no primary action on a screen yet, this might be the one to look for.
25
- - Prefer to have not more than two buttons side to side.
26
- - To navigate to another page in your browser (use Link component instead).
27
-
28
- [View source](https://github.com/strapi/design-system/tree/main/packages/strapi-design-system/src/v2/LinkButton)
29
-
30
- ## Imports
31
-
32
- ```js
33
- import { LinkButton } from '@strapi/design-system/v2/LinkButton';
34
- ```
35
-
36
- ## Usage
37
-
38
- The most common LinkButton component used in the interface (primary action). It can have different variants and meaning.
39
-
40
- Use the `to` parameter to redirect using the router's routes, `href` parameter for an external url.
41
-
42
- <Canvas>
43
- <Story name="base">
44
- <Box paddingBottom={2}>
45
- <LinkButton variant="default" isExternal href="https://strapi.io/">
46
- Default
47
- </LinkButton>
48
- </Box>
49
- </Story>
50
- </Canvas>
51
-
52
- ### LinkButton sizes
53
-
54
- Main actions usually use a L LinkButton (top of a screen, footer of a modal, ...). For subsidiary action, a S LinkButton suits more (filters, configure the view, ...).
55
-
56
- Use the size prop to change the size of the button. You can set the value to S or L.
57
-
58
- <Canvas>
59
- <Story name="sizes">
60
- <Flex>
61
- <Box paddingRight={1}>
62
- <LinkButton size="S" to="/">
63
- Small
64
- </LinkButton>
65
- </Box>
66
- <LinkButton size="L" to="/">
67
- Large
68
- </LinkButton>
69
- </Flex>
70
- </Story>
71
- </Canvas>
72
-
73
- ### LinkButton variants
74
-
75
- Use the variant prop to change the visual style of the LinkButton. You can set the value to default, secondary, tertiary, success, danger, success-light, or danger-light.
76
-
77
- <Canvas>
78
- <Story name="variants">
79
- <Flex>
80
- {['default', 'secondary', 'tertiary', 'success', 'danger', 'success-light', 'danger-light'].map((variant) => (
81
- <Box key={variant} paddingRight={2}>
82
- <LinkButton variant={variant} to="/">
83
- {variant}
84
- </LinkButton>
85
- </Box>
86
- ))}
87
- </Flex>
88
- </Story>
89
- </Canvas>
90
-
91
- ### LinkButton with icon
92
-
93
- A LinkButton can be associated with an icon to give more impact. You can add start and end icons to the Button component using the startIcon and endIcon props respectively.
94
-
95
- <Canvas>
96
- <Story name="icons">
97
- <Flex>
98
- <Box paddingRight={1}>
99
- <LinkButton startIcon={<Information />} to="/">
100
- Information
101
- </LinkButton>
102
- </Box>
103
- <LinkButton variant="secondary" endIcon={<Write />} to="/">
104
- Write content
105
- </LinkButton>
106
- </Flex>
107
- </Story>
108
- </Canvas>
109
-
110
- ### LinkButton disabled
111
-
112
- For all actions that cannot be performed yet, you can use the disabled state.
113
-
114
- <Canvas>
115
- <Story name="disabled">
116
- <Box paddingRight={1}>
117
- <LinkButton disabled to="/" startIcon={<Information />}>
118
- Information
119
- </LinkButton>
120
- </Box>
121
- </Story>
122
- </Canvas>
123
-
124
- ### Usage with other routing libraries
125
-
126
- To use the LinkButton component with a routing library (e.g. react-router-dom), you'll need to pass the `NavLink` component to the `as` prop in order to replace the default HTML anchor `<a />`.
127
- You'll now be able to pass all `NavLink` props.
128
-
129
- ```jsx
130
- import { LinkButton } from '@strapi/design-system/LinkButton';
131
- import { NavLink } from 'react-router-dom';
132
-
133
- <LinkButton as={NavLink} to="/home">
134
- Home
135
- </LinkButton>;
136
- ```
137
-
138
- #### NextJS usage
139
-
140
- For NextJS, you'll need to wrap the `LinkButton` with the `NextLink` component
141
-
142
- ```jsx
143
- import { LinkButton } from '@strapi/design-system/LinkButton';
144
- import NextLink from 'next/link';
145
-
146
- <NextLink href="/home" passHref>
147
- <LinkButton>Home</LinkButton>
148
- </NextLink>;
149
- ```
150
-
151
- ## Props
152
-
153
- <ArgsTable of={LinkButton} />
@@ -1,89 +0,0 @@
1
- import { injectAxe, checkA11y } from 'axe-playwright';
2
-
3
- import { test } from '@playwright/test';
4
-
5
- test.describe.parallel('LinkButton', () => {
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-v2-linkbutton--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-v2-linkbutton--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-v2-linkbutton--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-v2-linkbutton--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-v2-linkbutton--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-v2-linkbutton--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-v2-linkbutton--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-v2-linkbutton--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-v2-linkbutton--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-v2-linkbutton--disabled&viewMode=story&theme=dark');
84
- await injectAxe(page);
85
- await checkA11y(page);
86
- });
87
- });
88
- });
89
- });
@@ -1 +0,0 @@
1
- export * from './LinkButton';
@@ -1,31 +0,0 @@
1
- import React from 'react';
2
- import styled from 'styled-components';
3
- import PropTypes from 'prop-types';
4
- import { Grid } from '../../Grid';
5
- import { MainNavContext } from './MainNavContext';
6
-
7
- const MainNavWrapper = styled(Grid)`
8
- width: ${({ condensed }) => (condensed ? 'max-content' : `${224 / 16}rem`)};
9
- background: ${({ theme }) => theme.colors.neutral0};
10
- position: sticky;
11
- top: 0;
12
- height: 100vh;
13
- z-index: 2;
14
- border-right: 1px solid ${({ theme }) => theme.colors.neutral150};
15
- `;
16
-
17
- export const MainNav = ({ condensed, ...props }) => {
18
- return (
19
- <MainNavContext.Provider value={condensed}>
20
- <MainNavWrapper as="nav" condensed={condensed} {...props} />
21
- </MainNavContext.Provider>
22
- );
23
- };
24
-
25
- MainNav.defaultProps = {
26
- condensed: false,
27
- };
28
-
29
- MainNav.propTypes = {
30
- condensed: PropTypes.bool,
31
- };