@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
package/src/Tabs/Tabs.js DELETED
@@ -1,227 +0,0 @@
1
- import React, { Children, cloneElement } from 'react';
2
- import PropTypes from 'prop-types';
3
- import styled from 'styled-components';
4
- import { useTabs } from './TabsContext';
5
- import { Typography } from '../Typography';
6
- import { KeyboardKeys } from '../helpers/keyboardKeys';
7
- import { useTabsFocus } from './useTabsFocus';
8
- import { DefaultTabsRow, DefaultTabButton, DefaultTabBox, SimpleTabBox } from './components';
9
-
10
- const TabButton = styled.button`
11
- &[aria-disabled='true'] {
12
- cursor: not-allowed;
13
- }
14
- `;
15
-
16
- export const Tabs = ({ children, ...props }) => {
17
- const { id, selectedTabIndex, selectTabIndex, label, variant, onTabChange } = useTabs();
18
- const tabsRef = useTabsFocus(selectedTabIndex, onTabChange);
19
-
20
- const childrenArray = Children.toArray(children).map((node, index) =>
21
- cloneElement(node, {
22
- id: `${id}-${index}`,
23
- index,
24
- selectedTabIndex,
25
- onTabClick: () => selectTabIndex(index),
26
- variant,
27
- }),
28
- );
29
-
30
- const handleKeyDown = (e) => {
31
- const hasAllChildrenDisabled = childrenArray.every((node) => node.props.disabled);
32
-
33
- if (hasAllChildrenDisabled) {
34
- return;
35
- }
36
-
37
- switch (e.key) {
38
- case KeyboardKeys.RIGHT: {
39
- const nextWantedIndex = selectedTabIndex + 1;
40
- const findNextIndex = (ref) => {
41
- const isDisabled = childrenArray[ref].props.disabled;
42
-
43
- if (!isDisabled) {
44
- return ref;
45
- }
46
-
47
- if (ref === childrenArray.length - 1) {
48
- return findNextIndex(0);
49
- }
50
-
51
- return findNextIndex(ref + 1);
52
- };
53
-
54
- const nextIndex = findNextIndex(nextWantedIndex >= childrenArray.length ? 0 : nextWantedIndex);
55
-
56
- selectTabIndex(nextIndex);
57
-
58
- break;
59
- }
60
-
61
- case KeyboardKeys.LEFT: {
62
- const nextWantedIndex = selectedTabIndex - 1;
63
- const findNextIndex = (ref) => {
64
- const isDisabled = childrenArray[ref].props.disabled;
65
-
66
- if (!isDisabled) {
67
- return ref;
68
- }
69
-
70
- if (ref === 0) {
71
- return findNextIndex(childrenArray.length - 1);
72
- }
73
-
74
- return findNextIndex(ref - 1);
75
- };
76
- const nextIndex = findNextIndex(nextWantedIndex < 0 ? childrenArray.length - 1 : nextWantedIndex);
77
-
78
- selectTabIndex(nextIndex);
79
-
80
- break;
81
- }
82
-
83
- case KeyboardKeys.HOME: {
84
- const nextIndex = childrenArray.findIndex((node) => !node.props.disabled);
85
-
86
- selectTabIndex(nextIndex);
87
-
88
- break;
89
- }
90
-
91
- case KeyboardKeys.END: {
92
- const arrayOfChildrenProps = childrenArray.map((node, index) => ({ isDisabled: node.props.disabled, index }));
93
- const firstNonDisabledChildren = arrayOfChildrenProps.reverse().find(({ isDisabled }) => !isDisabled);
94
-
95
- if (firstNonDisabledChildren) {
96
- selectTabIndex(firstNonDisabledChildren.index);
97
- }
98
-
99
- break;
100
- }
101
-
102
- default:
103
- break;
104
- }
105
- };
106
-
107
- if (variant === 'simple') {
108
- return (
109
- <div ref={tabsRef} role="tablist" aria-label={label} onKeyDown={handleKeyDown} {...props}>
110
- {childrenArray}
111
- </div>
112
- );
113
- }
114
-
115
- return (
116
- <DefaultTabsRow
117
- ref={tabsRef}
118
- role="tablist"
119
- alignItems="flex-end"
120
- aria-label={label}
121
- onKeyDown={handleKeyDown}
122
- {...props}
123
- >
124
- {childrenArray}
125
- </DefaultTabsRow>
126
- );
127
- };
128
-
129
- Tabs.propTypes = {
130
- children: PropTypes.node.isRequired,
131
- };
132
-
133
- export const Tab = ({ disabled, id, children, variant, hasError, index, selectedTabIndex, onTabClick, ...props }) => {
134
- const tabId = `${id}-tab`;
135
- const tabPanelId = `${id}-tabpanel`;
136
- const selected = index === selectedTabIndex;
137
-
138
- const handleClick = () => {
139
- if (disabled) {
140
- return;
141
- }
142
-
143
- onTabClick();
144
- };
145
-
146
- if (variant === 'simple') {
147
- let textColor;
148
-
149
- if (hasError) {
150
- textColor = 'danger600';
151
- } else if (selected) {
152
- textColor = 'primary600';
153
- } else if (disabled) {
154
- textColor = 'neutral600';
155
- } else {
156
- textColor = 'neutral600';
157
- }
158
-
159
- return (
160
- <TabButton
161
- id={tabId}
162
- role="tab"
163
- aria-controls={selected ? tabPanelId : undefined}
164
- tabIndex={selected ? 0 : -1}
165
- aria-selected={selected}
166
- type="button"
167
- onClick={handleClick}
168
- aria-disabled={disabled}
169
- {...props}
170
- >
171
- <SimpleTabBox padding={4} selected={selected} hasError={hasError}>
172
- <Typography variant="sigma" textColor={textColor}>
173
- {children}
174
- </Typography>
175
- </SimpleTabBox>
176
- </TabButton>
177
- );
178
- }
179
-
180
- if (hasError) {
181
- console.warn('The "hasError" prop is only available for the "simple" variant.');
182
- }
183
-
184
- const showRightBorder = selectedTabIndex - 1 === index;
185
-
186
- return (
187
- <DefaultTabButton
188
- id={tabId}
189
- role="tab"
190
- type="button"
191
- aria-controls={selected ? tabPanelId : undefined}
192
- tabIndex={selected ? 0 : -1}
193
- aria-selected={selected}
194
- onClick={handleClick}
195
- aria-disabled={disabled}
196
- showRightBorder={showRightBorder}
197
- {...props}
198
- >
199
- <DefaultTabBox padding={selected ? 4 : 3} background={selected ? 'neutral0' : 'neutral100'} selected={selected}>
200
- <Typography fontWeight="bold" textColor={selected ? 'primary700' : 'neutral600'}>
201
- {children}
202
- </Typography>
203
- </DefaultTabBox>
204
- </DefaultTabButton>
205
- );
206
- };
207
-
208
- Tab.defaultProps = {
209
- disabled: false,
210
- hasError: false,
211
- id: undefined,
212
- index: undefined,
213
- onTabClick: undefined,
214
- selectedTabIndex: undefined,
215
- variant: undefined,
216
- };
217
-
218
- Tab.propTypes = {
219
- children: PropTypes.node.isRequired,
220
- disabled: PropTypes.bool,
221
- hasError: PropTypes.bool,
222
- id: PropTypes.string,
223
- index: PropTypes.number,
224
- onTabClick: PropTypes.func,
225
- selectedTabIndex: PropTypes.number,
226
- variant: PropTypes.oneOf(['simple']),
227
- };
@@ -1,211 +0,0 @@
1
- <!--- Tabs.stories.mdx --->
2
-
3
- import { Meta, Story, Canvas } from '@storybook/addon-docs';
4
- import { ArgsTable } from '@storybook/addon-docs';
5
- import { Tabs, Tab } from './Tabs';
6
- import { TabGroup } from './TabGroup';
7
- import { TabPanels, TabPanel } from './TabPanels';
8
- import { Box } from '../Box';
9
-
10
- <Meta title="Design System/Components/Tabs" component={Tabs} />
11
-
12
- # Tabs
13
-
14
- Tabs are a set of related views within a same page. They help classify better the different levels of information for a same topic.
15
-
16
- **Best practices**
17
-
18
- - Tabs label should be concise. One word or two maximum is preferable.
19
- - Tabs navigation should follow a logical order: from Tab 1 to Tab 2 and then to Tab 3.
20
- - Avoid using more than 5 tabs to keep it easily scannable and readable.
21
- [View source](https://github.com/strapi/design-system/tree/main/packages/strapi-design-system/src/Tabs)
22
-
23
- ## Imports
24
-
25
- ```js
26
- import { Tabs, Tab, TabGroup, TabPanels, TabPanel } from '@strapi/design-system/Tabs';
27
- ```
28
-
29
- ## Usage
30
-
31
- Tabs allow to classify related content in different views within a same page.
32
-
33
- ### Default Tabs
34
-
35
- Default Tabs mostly used in forms.
36
-
37
- <Canvas>
38
- <Story name="base">
39
- <Box padding={8} background="primary100">
40
- <TabGroup label="Some stuff for the label" id="tabs" onTabChange={(selected) => console.log(selected)}>
41
- <Tabs>
42
- <Tab>First</Tab>
43
- <Tab>Second</Tab>
44
- <Tab>Third</Tab>
45
- </Tabs>
46
- <TabPanels>
47
- <TabPanel>
48
- <Box color="neutral800" padding={4} background="neutral0">
49
- First panel
50
- </Box>
51
- </TabPanel>
52
- <TabPanel>
53
- <Box color="neutral800" padding={4} background="neutral0">
54
- Second panel
55
- </Box>
56
- </TabPanel>
57
- <TabPanel>
58
- <Box color="neutral800" padding={4} background="neutral0">
59
- Third panel
60
- </Box>
61
- </TabPanel>
62
- </TabPanels>
63
- </TabGroup>
64
- </Box>
65
- </Story>
66
- </Canvas>
67
-
68
- ### Simple Tabs
69
-
70
- Simple Tabs are used in modals.
71
-
72
- <Canvas>
73
- <Story name="simple">
74
- <Box padding={8} background="neutral0">
75
- <TabGroup label="Some stuff for the label" id="tabs" variant="simple">
76
- <Tabs>
77
- <Tab>First</Tab>
78
- <Tab hasError>Second</Tab>
79
- <Tab>Third</Tab>
80
- </Tabs>
81
- <TabPanels>
82
- <TabPanel>
83
- <Box color="neutral800" padding={4} background="neutral0">
84
- First panel
85
- </Box>
86
- </TabPanel>
87
- <TabPanel>
88
- <Box color="neutral800" padding={4} background="neutral0">
89
- Second panel
90
- </Box>
91
- </TabPanel>
92
- <TabPanel>
93
- <Box color="neutral800" padding={4} background="neutral0">
94
- Third panel
95
- </Box>
96
- </TabPanel>
97
- </TabPanels>
98
- </TabGroup>
99
- </Box>
100
- </Story>
101
- </Canvas>
102
-
103
- ### Disabled Tabs
104
-
105
- Disabled Tabs are used in modals.
106
-
107
- <Canvas>
108
- <Story name="disabled">
109
- <Box padding={8} background="neutral0">
110
- <TabGroup label="Some stuff for the label" id="tabs" variant="simple">
111
- <Tabs>
112
- <Tab disabled>First</Tab>
113
- <Tab>Second</Tab>
114
- <Tab disabled>Third</Tab>
115
- <Tab>Fourth</Tab>
116
- <Tab disabled>Fifth</Tab>
117
- <Tab>Sixth</Tab>
118
- <Tab disabled>Seventh</Tab>
119
- </Tabs>
120
- <TabPanels>
121
- <TabPanel>
122
- <Box color="neutral800" padding={4} background="neutral0">
123
- First panel
124
- </Box>
125
- </TabPanel>
126
- <TabPanel>
127
- <Box color="neutral800" padding={4} background="neutral0">
128
- Second panel
129
- </Box>
130
- </TabPanel>
131
- <TabPanel>
132
- <Box color="neutral800" padding={4} background="neutral0">
133
- Third panel
134
- </Box>
135
- </TabPanel>
136
- <TabPanel>
137
- <Box color="neutral800" padding={4} background="neutral0">
138
- Fourth panel
139
- </Box>
140
- </TabPanel>
141
- <TabPanel>
142
- <Box color="neutral800" padding={4} background="neutral0">
143
- Fifth panel
144
- </Box>
145
- </TabPanel>
146
- <TabPanel>
147
- <Box color="neutral800" padding={4} background="neutral0">
148
- Sixth panel
149
- </Box>
150
- </TabPanel>
151
- <TabPanel>
152
- <Box color="neutral800" padding={4} background="neutral0">
153
- Seventh panel
154
- </Box>
155
- </TabPanel>
156
- </TabPanels>
157
- </TabGroup>
158
- </Box>
159
- </Story>
160
- </Canvas>
161
-
162
- ### Selected Tab
163
-
164
- Chose which tab is selected
165
-
166
- <Canvas>
167
- <Story name="selected">
168
- <Box padding={8} background="neutral0">
169
- <TabGroup label="Some stuff for the label" id="tabs" variant="simple" initialSelectedTabIndex={1}>
170
- <Tabs>
171
- <Tab>First</Tab>
172
- <Tab>Second</Tab>
173
- <Tab>Third</Tab>
174
- </Tabs>
175
- <TabPanels>
176
- <TabPanel>
177
- <Box color="neutral800" padding={4} background="neutral0">
178
- First panel
179
- </Box>
180
- </TabPanel>
181
- <TabPanel>
182
- <Box color="neutral800" padding={4} background="neutral0">
183
- Second panel
184
- </Box>
185
- </TabPanel>
186
- <TabPanel>
187
- <Box color="neutral800" padding={4} background="neutral0">
188
- Third panel
189
- </Box>
190
- </TabPanel>
191
- </TabPanels>
192
- </TabGroup>
193
- </Box>
194
- </Story>
195
- </Canvas>
196
-
197
- ## TabGroup Props
198
-
199
- <ArgsTable of={TabGroup} />
200
-
201
- ## Tabs Props
202
-
203
- <ArgsTable of={Tabs} />
204
-
205
- ## Tab Props
206
-
207
- <ArgsTable of={Tab} />
208
-
209
- ## TabPanel Props
210
-
211
- <ArgsTable of={TabPanel} />
@@ -1,5 +0,0 @@
1
- import { createContext, useContext } from 'react';
2
-
3
- export const TabsContext = createContext();
4
-
5
- export const useTabs = () => useContext(TabsContext);
@@ -1,253 +0,0 @@
1
- import { injectAxe, checkA11y } from 'axe-playwright';
2
-
3
- import { test, expect } from '@playwright/test';
4
-
5
- test.describe.parallel('Tabs', () => {
6
- test.describe('light mode', () => {
7
- test.describe('default variant', () => {
8
- test.beforeEach(async ({ page }) => {
9
- // This is the URL of the Storybook Iframe
10
- await page.goto('/iframe.html?id=design-system-components-tabs--base&viewMode=story');
11
- await injectAxe(page);
12
- });
13
-
14
- test('triggers axe on the document', async ({ page }) => {
15
- await checkA11y(page);
16
- });
17
-
18
- test('verifies that only the first panel is visible at the beginning', async ({ page }) => {
19
- const isFirstPanelVisible = await page.isVisible('text="First panel"');
20
- expect(isFirstPanelVisible).toBeTruthy();
21
-
22
- const isSecondPanelVisible = await page.isVisible('text="Second panel"');
23
- expect(isSecondPanelVisible).toBeFalsy();
24
-
25
- const isThirdPanelVisible = await page.isVisible('text="Third panel"');
26
- expect(isThirdPanelVisible).toBeFalsy();
27
- });
28
-
29
- test.describe('Click interactions', () => {
30
- test('shows only the first panel when clicking on it', async ({ page }) => {
31
- await page.click('text="Second"');
32
- await page.click('text="First"');
33
-
34
- const isFirstPanelVisible = await page.isVisible('text="First panel"');
35
- expect(isFirstPanelVisible).toBeTruthy();
36
-
37
- const isSecondPanelVisible = await page.isVisible('text="Second panel"');
38
- expect(isSecondPanelVisible).toBeFalsy();
39
-
40
- const isThirdPanelVisible = await page.isVisible('text="Third panel"');
41
- expect(isThirdPanelVisible).toBeFalsy();
42
- });
43
-
44
- test('shows only the second panel when clicking on it', async ({ page }) => {
45
- await page.click('text="Second"');
46
-
47
- const isFirstPanelVisible = await page.isVisible('text="First panel"');
48
- expect(isFirstPanelVisible).toBeFalsy();
49
-
50
- const isSecondPanelVisible = await page.isVisible('text="Second panel"');
51
- expect(isSecondPanelVisible).toBeTruthy();
52
-
53
- const isThirdPanelVisible = await page.isVisible('text="Third panel"');
54
- expect(isThirdPanelVisible).toBeFalsy();
55
- });
56
-
57
- test('shows only the third panel when clicking on it', async ({ page }) => {
58
- await page.click('text="Third"');
59
-
60
- const isFirstPanelVisible = await page.isVisible('text="First panel"');
61
- expect(isFirstPanelVisible).toBeFalsy();
62
-
63
- const isSecondPanelVisible = await page.isVisible('text="Second panel"');
64
- expect(isSecondPanelVisible).toBeFalsy();
65
-
66
- const isThirdPanelVisible = await page.isVisible('text="Third panel"');
67
- expect(isThirdPanelVisible).toBeTruthy();
68
- });
69
- });
70
-
71
- test.describe('Keyboard interactions', () => {
72
- test('moves to the next tab when pressing ArrowRight', async ({ page }) => {
73
- await page.waitForSelector('#tabs-0-tab');
74
-
75
- await page.focus('#tabs-0-tab');
76
- await page.keyboard.press('ArrowRight');
77
- await expect(page.locator('#tabs-1-tab')).toBeFocused();
78
-
79
- await page.keyboard.press('ArrowRight');
80
- await expect(page.locator('#tabs-2-tab')).toBeFocused();
81
-
82
- await page.keyboard.press('ArrowRight');
83
- await expect(page.locator('#tabs-0-tab')).toBeFocused();
84
- });
85
-
86
- test('moves to the previous tab when pressing ArrowLeft', async ({ page }) => {
87
- await page.waitForSelector('#tabs-0-tab');
88
-
89
- await page.focus('#tabs-0-tab');
90
- await page.keyboard.press('ArrowLeft');
91
- await expect(page.locator('#tabs-2-tab')).toBeFocused();
92
-
93
- await page.keyboard.press('ArrowLeft');
94
- await expect(page.locator('#tabs-1-tab')).toBeFocused();
95
-
96
- await page.keyboard.press('ArrowLeft');
97
- await expect(page.locator('#tabs-0-tab')).toBeFocused();
98
- });
99
-
100
- test('moves to the first tab when pressing Home', async ({ page }) => {
101
- await page.waitForSelector('#tabs-0-tab');
102
-
103
- await page.focus('#tabs-0-tab');
104
- await page.keyboard.press('ArrowLeft');
105
- await page.keyboard.press('Home');
106
-
107
- await expect(page.locator('#tabs-0-tab')).toBeFocused();
108
- });
109
-
110
- test('moves to the last tab when pressing End', async ({ page }) => {
111
- await page.waitForSelector('#tabs-0-tab');
112
-
113
- await page.focus('#tabs-0-tab');
114
- await page.keyboard.press('End');
115
-
116
- await expect(page.locator('#tabs-2-tab')).toBeFocused();
117
- });
118
- });
119
- });
120
-
121
- test.describe('simple variant', () => {
122
- test.beforeEach(async ({ page }) => {
123
- // This is the URL of the Storybook Iframe
124
- await page.goto('/iframe.html?id=design-system-components-tabs--simple&viewMode=story');
125
- await injectAxe(page);
126
- });
127
-
128
- test('triggers axe on the document', async ({ page }) => {
129
- await checkA11y(page);
130
- });
131
- });
132
-
133
- test.describe('Disabled tabs', () => {
134
- test.beforeEach(async ({ page }) => {
135
- // This is the URL of the Storybook Iframe
136
- await page.goto('/iframe.html?id=design-system-components-tabs--disabled&viewMode=story');
137
- await injectAxe(page);
138
- });
139
-
140
- test('triggers axe on the document', async ({ page }) => {
141
- await checkA11y(page);
142
- });
143
-
144
- test('verifies that only the first not visible panel is visible at the beginning', async ({ page }) => {
145
- const isFirstPanelVisible = await page.isVisible('text="First panel"');
146
- expect(isFirstPanelVisible).toBeFalsy();
147
-
148
- const isSecondPanelVisible = await page.isVisible('text="Second panel"');
149
- expect(isSecondPanelVisible).toBeTruthy();
150
-
151
- const isThirdPanelVisible = await page.isVisible('text="Third panel"');
152
- expect(isThirdPanelVisible).toBeFalsy();
153
-
154
- const isFourthPanelVisible = await page.isVisible('text="Fourth panel"');
155
- expect(isFourthPanelVisible).toBeFalsy();
156
-
157
- const isFifthPanelVisible = await page.isVisible('text="Fifth panel"');
158
- expect(isFifthPanelVisible).toBeFalsy();
159
- });
160
-
161
- test.describe('Keyboard interactions', () => {
162
- test('moves to the next tab when pressing ArrowRight', async ({ page }) => {
163
- await page.waitForSelector('#tabs-1-tab');
164
-
165
- await page.focus('#tabs-1-tab');
166
- await page.keyboard.press('ArrowRight');
167
- await expect(page.locator('#tabs-3-tab')).toBeFocused();
168
-
169
- await page.keyboard.press('ArrowRight');
170
- await expect(page.locator('#tabs-5-tab')).toBeFocused();
171
-
172
- await page.keyboard.press('ArrowRight');
173
- await expect(page.locator('#tabs-1-tab')).toBeFocused();
174
- });
175
-
176
- test('moves to the previous tab when pressing ArrowLeft', async ({ page }) => {
177
- await page.waitForSelector('#tabs-1-tab');
178
-
179
- await page.focus('#tabs-1-tab');
180
- await page.keyboard.press('ArrowLeft');
181
- await expect(page.locator('#tabs-5-tab')).toBeFocused();
182
-
183
- await page.keyboard.press('ArrowLeft');
184
- await expect(page.locator('#tabs-3-tab')).toBeFocused();
185
-
186
- await page.keyboard.press('ArrowLeft');
187
- await expect(page.locator('#tabs-1-tab')).toBeFocused();
188
- });
189
-
190
- test('moves to the first tab when pressing Home', async ({ page }) => {
191
- await page.waitForSelector('#tabs-1-tab');
192
-
193
- await page.focus('#tabs-1-tab');
194
- await page.keyboard.press('ArrowLeft');
195
- await page.keyboard.press('Home');
196
-
197
- await expect(page.locator('#tabs-1-tab')).toBeFocused();
198
- });
199
-
200
- test('moves to the last tab when pressing End', async ({ page }) => {
201
- await page.waitForSelector('#tabs-1-tab');
202
-
203
- await page.focus('#tabs-1-tab');
204
- await page.keyboard.press('End');
205
-
206
- await expect(page.locator('#tabs-5-tab')).toBeFocused();
207
- });
208
- });
209
- });
210
-
211
- test.describe('Initial selected tabs', () => {
212
- test.beforeEach(async ({ page }) => {
213
- // This is the URL of the Storybook Iframe
214
- await page.goto('/iframe.html?id=design-system-components-tabs--selected&viewMode=story');
215
- await injectAxe(page);
216
- });
217
-
218
- test('verifies that only the first not visible panel is visible at the beginning', async ({ page }) => {
219
- const isFirstPanelVisible = await page.isVisible('text="First panel"');
220
- expect(isFirstPanelVisible).toBeFalsy();
221
-
222
- const isSecondPanelVisible = await page.isVisible('text="Second panel"');
223
- expect(isSecondPanelVisible).toBeTruthy();
224
-
225
- const isThirdPanelVisible = await page.isVisible('text="Third panel"');
226
- expect(isThirdPanelVisible).toBeFalsy();
227
- });
228
- });
229
- });
230
-
231
- test.describe('dark mode', () => {
232
- test('default tabs A11y', async ({ page }) => {
233
- // This is the URL of the Storybook Iframe
234
- await page.goto('/iframe.html?id=design-system-components-tabs--base&viewMode=story&theme=dark');
235
- await injectAxe(page);
236
- await checkA11y(page);
237
- });
238
-
239
- test('simple tabs A11y', async ({ page }) => {
240
- // This is the URL of the Storybook Iframe
241
- await page.goto('/iframe.html?id=design-system-components-tabs--simple&viewMode=story&theme=dark');
242
- await injectAxe(page);
243
- await checkA11y(page);
244
- });
245
-
246
- test('disabled tabs A11y', async ({ page }) => {
247
- // This is the URL of the Storybook Iframe
248
- await page.goto('/iframe.html?id=design-system-components-tabs--disabled&viewMode=story&theme=dark');
249
- await injectAxe(page);
250
- await checkA11y(page);
251
- });
252
- });
253
- });