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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (733) hide show
  1. package/Accordion.development.js +775 -0
  2. package/Accordion.js +9 -0
  3. package/Accordion.production.js +1 -0
  4. package/Alert.development.js +562 -0
  5. package/Alert.js +9 -0
  6. package/Alert.production.js +1 -0
  7. package/Avatar.development.js +485 -0
  8. package/Avatar.js +9 -0
  9. package/Avatar.production.js +1 -0
  10. package/Badge.development.js +494 -0
  11. package/Badge.js +9 -0
  12. package/Badge.production.js +1 -0
  13. package/BaseButton.development.js +285 -0
  14. package/BaseButton.js +9 -0
  15. package/BaseButton.production.js +1 -0
  16. package/BaseCheckbox.development.js +434 -0
  17. package/BaseCheckbox.js +9 -0
  18. package/BaseCheckbox.production.js +1 -0
  19. package/BaseLink.development.js +273 -0
  20. package/BaseLink.js +9 -0
  21. package/BaseLink.production.js +1 -0
  22. package/BaseRadio.development.js +321 -0
  23. package/BaseRadio.js +9 -0
  24. package/BaseRadio.production.js +1 -0
  25. package/Box.development.js +341 -0
  26. package/Box.js +9 -0
  27. package/Box.production.js +1 -0
  28. package/Breadcrumbs.development.js +518 -0
  29. package/Breadcrumbs.js +9 -0
  30. package/Breadcrumbs.production.js +1 -0
  31. package/Button.development.js +573 -0
  32. package/Button.js +9 -0
  33. package/Button.production.js +1 -0
  34. package/Card.development.js +746 -0
  35. package/Card.js +9 -0
  36. package/Card.production.js +1 -0
  37. package/CarouselInput.development.js +898 -0
  38. package/CarouselInput.js +9 -0
  39. package/CarouselInput.production.js +1 -0
  40. package/Checkbox.development.js +722 -0
  41. package/Checkbox.js +9 -0
  42. package/Checkbox.production.js +1 -0
  43. package/Combobox.development.js +934 -0
  44. package/Combobox.js +9 -0
  45. package/Combobox.production.js +1 -0
  46. package/DatePicker.development.js +1323 -0
  47. package/DatePicker.js +9 -0
  48. package/DatePicker.production.js +1 -0
  49. package/DateTimePicker.development.js +1622 -0
  50. package/DateTimePicker.js +9 -0
  51. package/DateTimePicker.production.js +1 -0
  52. package/Dialog.development.js +741 -0
  53. package/Dialog.js +9 -0
  54. package/Dialog.production.js +1 -0
  55. package/DismissibleLayer.development.js +218 -0
  56. package/DismissibleLayer.js +9 -0
  57. package/DismissibleLayer.production.js +1 -0
  58. package/Divider.development.js +398 -0
  59. package/Divider.js +9 -0
  60. package/Divider.production.js +1 -0
  61. package/EmptyStateLayout.development.js +425 -0
  62. package/EmptyStateLayout.js +9 -0
  63. package/EmptyStateLayout.production.js +1 -0
  64. package/Field.development.js +614 -0
  65. package/Field.js +9 -0
  66. package/Field.production.js +1 -0
  67. package/Flex.development.js +377 -0
  68. package/Flex.js +9 -0
  69. package/Flex.production.js +1 -0
  70. package/FocusTrap.development.js +341 -0
  71. package/FocusTrap.js +9 -0
  72. package/FocusTrap.production.js +1 -0
  73. package/Grid.development.js +422 -0
  74. package/Grid.js +9 -0
  75. package/Grid.production.js +1 -0
  76. package/Icon.development.js +376 -0
  77. package/Icon.js +9 -0
  78. package/Icon.production.js +1 -0
  79. package/IconButton.development.js +684 -0
  80. package/IconButton.js +9 -0
  81. package/IconButton.production.js +1 -0
  82. package/KeyboardNavigable.development.js +454 -0
  83. package/KeyboardNavigable.js +9 -0
  84. package/KeyboardNavigable.production.js +1 -0
  85. package/Layout.development.js +626 -0
  86. package/Layout.js +9 -0
  87. package/Layout.production.js +1 -0
  88. package/Link.development.js +492 -0
  89. package/Link.js +9 -0
  90. package/Link.production.js +1 -0
  91. package/LinkButton.development.js +573 -0
  92. package/LinkButton.js +9 -0
  93. package/LinkButton.production.js +1 -0
  94. package/LiveRegions.development.js +147 -0
  95. package/LiveRegions.js +9 -0
  96. package/LiveRegions.production.js +1 -0
  97. package/Loader.development.js +309 -0
  98. package/Loader.js +9 -0
  99. package/Loader.production.js +1 -0
  100. package/Main.development.js +410 -0
  101. package/Main.js +9 -0
  102. package/Main.production.js +1 -0
  103. package/MainNav.development.js +957 -0
  104. package/MainNav.js +9 -0
  105. package/MainNav.production.js +1 -0
  106. package/ModalLayout.development.js +895 -0
  107. package/ModalLayout.js +9 -0
  108. package/ModalLayout.production.js +1 -0
  109. package/NumberInput.development.js +733 -0
  110. package/NumberInput.js +9 -0
  111. package/NumberInput.production.js +1 -0
  112. package/Pagination.development.js +587 -0
  113. package/Pagination.js +9 -0
  114. package/Pagination.production.js +1 -0
  115. package/Popover.development.js +481 -0
  116. package/Popover.js +9 -0
  117. package/Popover.production.js +1 -0
  118. package/Portal.development.js +212 -0
  119. package/Portal.js +9 -0
  120. package/Portal.production.js +1 -0
  121. package/ProgressBar.development.js +273 -0
  122. package/ProgressBar.js +9 -0
  123. package/ProgressBar.production.js +1 -0
  124. package/Radio.development.js +518 -0
  125. package/Radio.js +9 -0
  126. package/Radio.production.js +1 -0
  127. package/RawTable.development.js +549 -0
  128. package/RawTable.js +9 -0
  129. package/RawTable.production.js +1 -0
  130. package/Searchbar.development.js +696 -0
  131. package/Searchbar.js +9 -0
  132. package/Searchbar.production.js +1 -0
  133. package/Select.development.js +1063 -0
  134. package/Select.js +9 -0
  135. package/Select.production.js +1 -0
  136. package/SimpleMenu.development.js +821 -0
  137. package/SimpleMenu.js +9 -0
  138. package/SimpleMenu.production.js +1 -0
  139. package/Stack.development.js +434 -0
  140. package/Stack.js +9 -0
  141. package/Stack.production.js +1 -0
  142. package/Status.development.js +494 -0
  143. package/Status.js +9 -0
  144. package/Status.production.js +1 -0
  145. package/SubNav.development.js +1123 -0
  146. package/SubNav.js +9 -0
  147. package/SubNav.production.js +1 -0
  148. package/Switch.development.js +434 -0
  149. package/Switch.js +9 -0
  150. package/Switch.production.js +1 -0
  151. package/Table.development.js +741 -0
  152. package/Table.js +9 -0
  153. package/Table.production.js +1 -0
  154. package/Tabs.development.js +590 -0
  155. package/Tabs.js +9 -0
  156. package/Tabs.production.js +1 -0
  157. package/Tag.development.js +494 -0
  158. package/Tag.js +9 -0
  159. package/Tag.production.js +1 -0
  160. package/TextButton.development.js +517 -0
  161. package/TextButton.js +9 -0
  162. package/TextButton.production.js +1 -0
  163. package/TextInput.development.js +662 -0
  164. package/TextInput.js +9 -0
  165. package/TextInput.production.js +1 -0
  166. package/Textarea.development.js +674 -0
  167. package/Textarea.js +9 -0
  168. package/Textarea.production.js +1 -0
  169. package/ThemeProvider.development.js +300 -0
  170. package/ThemeProvider.js +9 -0
  171. package/ThemeProvider.production.js +1 -0
  172. package/TimePicker.development.js +1098 -0
  173. package/TimePicker.js +9 -0
  174. package/TimePicker.production.js +1 -0
  175. package/ToggleCheckbox.development.js +542 -0
  176. package/ToggleCheckbox.js +9 -0
  177. package/ToggleCheckbox.production.js +1 -0
  178. package/ToggleInput.development.js +745 -0
  179. package/ToggleInput.js +9 -0
  180. package/ToggleInput.production.js +1 -0
  181. package/Tooltip.development.js +588 -0
  182. package/Tooltip.js +9 -0
  183. package/Tooltip.production.js +1 -0
  184. package/Typography.development.js +276 -0
  185. package/Typography.js +9 -0
  186. package/Typography.production.js +1 -0
  187. package/VisuallyHidden.development.js +146 -0
  188. package/VisuallyHidden.js +9 -0
  189. package/VisuallyHidden.production.js +1 -0
  190. package/index.development.js +4338 -0
  191. package/index.js +9 -0
  192. package/index.production.js +1 -0
  193. package/package.json +2 -2
  194. package/themes.development.js +254 -0
  195. package/themes.js +9 -0
  196. package/themes.production.js +1 -0
  197. package/v2/Breadcrumbs.development.js +906 -0
  198. package/v2/Breadcrumbs.js +9 -0
  199. package/v2/Breadcrumbs.production.js +1 -0
  200. package/v2/Link.development.js +505 -0
  201. package/v2/Link.js +9 -0
  202. package/v2/Link.production.js +1 -0
  203. package/v2/LinkButton.development.js +586 -0
  204. package/v2/LinkButton.js +9 -0
  205. package/v2/LinkButton.production.js +1 -0
  206. package/v2/MainNav.development.js +970 -0
  207. package/v2/MainNav.js +9 -0
  208. package/v2/MainNav.production.js +1 -0
  209. package/v2/Pagination.development.js +600 -0
  210. package/v2/Pagination.js +9 -0
  211. package/v2/Pagination.production.js +1 -0
  212. package/v2/SimpleMenu.development.js +834 -0
  213. package/v2/SimpleMenu.js +9 -0
  214. package/v2/SimpleMenu.production.js +1 -0
  215. package/v2/SubNav.development.js +1136 -0
  216. package/v2/SubNav.js +9 -0
  217. package/v2/SubNav.production.js +1 -0
  218. package/v2/index.development.js +1740 -0
  219. package/v2/index.js +9 -0
  220. package/v2/index.production.js +1 -0
  221. package/v2/package.json +81 -0
  222. package/.eslintignore +0 -3
  223. package/.eslintrc.js +0 -38
  224. package/.prettierrc.js +0 -7
  225. package/.storybook/components/Theme.js +0 -28
  226. package/.storybook/main.js +0 -13
  227. package/.storybook/manager.js +0 -12
  228. package/.storybook/preview.js +0 -42
  229. package/.storybook/utils/createCustomTheme.js +0 -26
  230. package/LICENSE +0 -20
  231. package/__mocks__/fileMock.js +0 -1
  232. package/__mocks__/styleMock.js +0 -1
  233. package/babel.config.js +0 -5
  234. package/createIndexFiles.js +0 -34
  235. package/global-setup.js +0 -4
  236. package/jest.config.js +0 -17
  237. package/playwright.config.js +0 -39
  238. package/src/Accordion/Accordion.js +0 -148
  239. package/src/Accordion/Accordion.stories.mdx +0 -327
  240. package/src/Accordion/AccordionContent.js +0 -26
  241. package/src/Accordion/AccordionContext.js +0 -5
  242. package/src/Accordion/AccordionGroup.js +0 -114
  243. package/src/Accordion/AccordionToggle.js +0 -192
  244. package/src/Accordion/__tests__/Accordion.e2e.js +0 -32
  245. package/src/Accordion/__tests__/AccordionKeyboard.e2e.js +0 -73
  246. package/src/Accordion/index.js +0 -4
  247. package/src/Accordion/utils.js +0 -15
  248. package/src/Alert/Alert.js +0 -144
  249. package/src/Alert/Alert.stories.mdx +0 -135
  250. package/src/Alert/__tests__/Alert.e2e.js +0 -39
  251. package/src/Alert/index.js +0 -1
  252. package/src/Alert/utils.js +0 -35
  253. package/src/Avatar/Avatar.js +0 -110
  254. package/src/Avatar/Avatar.stories.mdx +0 -67
  255. package/src/Avatar/AvatarGroup.js +0 -9
  256. package/src/Avatar/__tests__/Avatar.e2e.js +0 -23
  257. package/src/Avatar/__tests__/Avatar.spec.js +0 -153
  258. package/src/Avatar/constants.js +0 -2
  259. package/src/Avatar/index.js +0 -2
  260. package/src/Badge/Badge.js +0 -41
  261. package/src/Badge/Badge.stories.mdx +0 -57
  262. package/src/Badge/__tests__/Badge.e2e.js +0 -23
  263. package/src/Badge/index.js +0 -1
  264. package/src/BaseButton/BaseButton.js +0 -46
  265. package/src/BaseButton/BaseButton.stories.mdx +0 -32
  266. package/src/BaseButton/__tests__/BaseButton.e2e.js +0 -23
  267. package/src/BaseButton/index.js +0 -1
  268. package/src/BaseCheckbox/BaseCheckbox.js +0 -133
  269. package/src/BaseCheckbox/BaseCheckbox.stories.mdx +0 -107
  270. package/src/BaseCheckbox/__tests__/BaseCheckbox.e2e.js +0 -94
  271. package/src/BaseCheckbox/assets/checkmark-black.svg +0 -6
  272. package/src/BaseCheckbox/assets/checkmark.svg +0 -6
  273. package/src/BaseCheckbox/index.js +0 -1
  274. package/src/BaseCheckbox/utils.js +0 -7
  275. package/src/BaseLink/BaseLink.js +0 -38
  276. package/src/BaseLink/BaseLink.stories.mdx +0 -34
  277. package/src/BaseLink/__tests__/BaseLink.e2e.js +0 -23
  278. package/src/BaseLink/__tests__/BaseLink.spec.js +0 -26
  279. package/src/BaseLink/index.js +0 -1
  280. package/src/BaseRadio/BaseRadio.js +0 -69
  281. package/src/BaseRadio/BaseRadio.stories.mdx +0 -110
  282. package/src/BaseRadio/RadioGroup.js +0 -36
  283. package/src/BaseRadio/__tests__/BaseRadio.e2e.js +0 -90
  284. package/src/BaseRadio/context.js +0 -3
  285. package/src/BaseRadio/index.js +0 -2
  286. package/src/BaseRadio/utils.js +0 -30
  287. package/src/Box/Box.js +0 -104
  288. package/src/Box/Box.stories.mdx +0 -57
  289. package/src/Box/BoxProps.js +0 -99
  290. package/src/Box/__tests__/Box.e2e.js +0 -23
  291. package/src/Box/__tests__/Box.spec.js +0 -36
  292. package/src/Box/index.js +0 -1
  293. package/src/Breadcrumbs/Breadcrumbs.js +0 -58
  294. package/src/Breadcrumbs/Breadcrumbs.stories.mdx +0 -47
  295. package/src/Breadcrumbs/__tests__/Breadcrumbs.e2e.js +0 -23
  296. package/src/Breadcrumbs/index.js +0 -1
  297. package/src/Button/Button.js +0 -138
  298. package/src/Button/Button.stories.mdx +0 -216
  299. package/src/Button/__tests__/Button.e2e.js +0 -89
  300. package/src/Button/__tests__/utils.spec.js +0 -19
  301. package/src/Button/constants.js +0 -12
  302. package/src/Button/index.js +0 -1
  303. package/src/Button/utils.js +0 -170
  304. package/src/Card/Card.js +0 -35
  305. package/src/Card/Card.stories.mdx +0 -202
  306. package/src/Card/CardAction.js +0 -13
  307. package/src/Card/CardAsset.js +0 -49
  308. package/src/Card/CardBadge.js +0 -18
  309. package/src/Card/CardBody.js +0 -11
  310. package/src/Card/CardCheckbox.js +0 -14
  311. package/src/Card/CardContent.js +0 -16
  312. package/src/Card/CardContext.js +0 -5
  313. package/src/Card/CardHeader.js +0 -12
  314. package/src/Card/CardTimer.js +0 -23
  315. package/src/Card/CardTitle.js +0 -12
  316. package/src/Card/__tests__/Card.e2e.js +0 -164
  317. package/src/Card/index.js +0 -10
  318. package/src/Card/story-assets/first.jpg +0 -0
  319. package/src/CarouselInput/Carousel.js +0 -138
  320. package/src/CarouselInput/Carousel.stories.mdx +0 -149
  321. package/src/CarouselInput/CarouselActions.js +0 -6
  322. package/src/CarouselInput/CarouselImage.js +0 -39
  323. package/src/CarouselInput/CarouselInput.js +0 -80
  324. package/src/CarouselInput/CarouselSlide.js +0 -32
  325. package/src/CarouselInput/__tests__/CarouselImage.e2e.js +0 -15
  326. package/src/CarouselInput/__tests__/CarouselInput.e2e.js +0 -48
  327. package/src/CarouselInput/index.js +0 -5
  328. package/src/CarouselInput/story-assets/first.jpg +0 -0
  329. package/src/Checkbox/Checkbox.js +0 -63
  330. package/src/Checkbox/Checkbox.stories.mdx +0 -190
  331. package/src/Checkbox/__tests__/Checkbox.e2e.js +0 -96
  332. package/src/Checkbox/index.js +0 -1
  333. package/src/Combobox/Combobox.js +0 -421
  334. package/src/Combobox/Combobox.stories.mdx +0 -191
  335. package/src/Combobox/ComboboxList.js +0 -22
  336. package/src/Combobox/ComboboxOption.js +0 -36
  337. package/src/Combobox/__tests__/Combobox.e2e.js +0 -133
  338. package/src/Combobox/__tests__/utils.spec.js +0 -94
  339. package/src/Combobox/components.js +0 -69
  340. package/src/Combobox/index.js +0 -2
  341. package/src/Combobox/utils.js +0 -97
  342. package/src/DatePicker/DatePicker.js +0 -132
  343. package/src/DatePicker/DatePicker.stories.mdx +0 -172
  344. package/src/DatePicker/DatePickerCalendar.js +0 -134
  345. package/src/DatePicker/DatePickerTd.js +0 -51
  346. package/src/DatePicker/DatePickerTh.js +0 -39
  347. package/src/DatePicker/__tests__/DatePicker.e2e.js +0 -94
  348. package/src/DatePicker/__tests__/DatePicker.spec.js +0 -40
  349. package/src/DatePicker/compareDates.js +0 -9
  350. package/src/DatePicker/components.js +0 -45
  351. package/src/DatePicker/index.js +0 -1
  352. package/src/DatePicker/utils/formatDate.js +0 -5
  353. package/src/DatePicker/utils/generateWeeks.js +0 -58
  354. package/src/DatePicker/utils/getDayOfWeek.js +0 -24
  355. package/src/DatePicker/utils/getMonths.js +0 -10
  356. package/src/DatePicker/utils/getYears.js +0 -19
  357. package/src/DatePicker/utils/index.js +0 -5
  358. package/src/DatePicker/utils/tests/generateWeeks.spec.js +0 -136
  359. package/src/DatePicker/utils/tests/getMonths.spec.js +0 -21
  360. package/src/DatePicker/utils/tests/getYears.spec.js +0 -21
  361. package/src/DateTimePicker/DateTimePicker.js +0 -151
  362. package/src/DateTimePicker/DateTimePicker.stories.mdx +0 -114
  363. package/src/DateTimePicker/DateTimePickerProps.js +0 -85
  364. package/src/DateTimePicker/__tests__/DateTimePicker.e2e.js +0 -103
  365. package/src/DateTimePicker/__tests__/DateTimePicker.spec.js +0 -89
  366. package/src/DateTimePicker/__tests__/__snapshots__/DateTimePicker.spec.js.snap +0 -448
  367. package/src/DateTimePicker/__tests__/parseDate.test.js +0 -10
  368. package/src/DateTimePicker/index.js +0 -1
  369. package/src/DateTimePicker/parseDate.js +0 -11
  370. package/src/Dialog/Dialog.js +0 -86
  371. package/src/Dialog/Dialog.stories.mdx +0 -78
  372. package/src/Dialog/DialogBody.js +0 -36
  373. package/src/Dialog/DialogFooter.js +0 -38
  374. package/src/Dialog/__tests__/Dialog.e2e.js +0 -20
  375. package/src/Dialog/__tests__/Dialog.spec.js +0 -28
  376. package/src/Dialog/index.js +0 -3
  377. package/src/DismissibleLayer/DismissibleLayer.js +0 -87
  378. package/src/DismissibleLayer/DismissibleLayer.stories.mdx +0 -50
  379. package/src/DismissibleLayer/__test__/DimissibleLayer.spec.js +0 -44
  380. package/src/DismissibleLayer/index.js +0 -1
  381. package/src/Divider/Divider.js +0 -26
  382. package/src/Divider/Divider.stories.mdx +0 -55
  383. package/src/Divider/__tests__/Divider.e2e.js +0 -23
  384. package/src/Divider/index.js +0 -1
  385. package/src/EmptyStateLayout/EmptyStateLayout.js +0 -48
  386. package/src/EmptyStateLayout/EmptyStateLayout.stories.mdx +0 -87
  387. package/src/EmptyStateLayout/__tests__/EmptyStateLayout.e2e.js +0 -31
  388. package/src/EmptyStateLayout/index.js +0 -1
  389. package/src/EmptyStateLayout/story-assets/Illo.js +0 -51
  390. package/src/Field/Field.js +0 -29
  391. package/src/Field/Field.stories.mdx +0 -237
  392. package/src/Field/FieldAction.js +0 -25
  393. package/src/Field/FieldContext.js +0 -4
  394. package/src/Field/FieldError.js +0 -17
  395. package/src/Field/FieldHint.js +0 -17
  396. package/src/Field/FieldInput.js +0 -129
  397. package/src/Field/FieldLabel.js +0 -50
  398. package/src/Field/__tests__/Field.e2e.js +0 -61
  399. package/src/Field/index.js +0 -7
  400. package/src/Flex/Flex.js +0 -26
  401. package/src/Flex/Flex.stories.mdx +0 -45
  402. package/src/Flex/FlexProps.js +0 -41
  403. package/src/Flex/__tests__/Flex.e2e.js +0 -23
  404. package/src/Flex/index.js +0 -1
  405. package/src/FocusTrap/ExampleComponent.js +0 -71
  406. package/src/FocusTrap/FocusTrap.js +0 -83
  407. package/src/FocusTrap/FocusTrap.stories.mdx +0 -32
  408. package/src/FocusTrap/__tests__/FocusTrap.e2e.js +0 -126
  409. package/src/FocusTrap/index.js +0 -1
  410. package/src/Grid/Grid.js +0 -30
  411. package/src/Grid/Grid.stories.mdx +0 -112
  412. package/src/Grid/GridContext.js +0 -5
  413. package/src/Grid/GridItem.js +0 -40
  414. package/src/Grid/__tests__/Grid.e2e.js +0 -23
  415. package/src/Grid/index.js +0 -2
  416. package/src/Icon/Icon.js +0 -27
  417. package/src/Icon/Icon.stories.mdx +0 -41
  418. package/src/Icon/__tests__/Icon.e2e.js +0 -21
  419. package/src/Icon/index.js +0 -1
  420. package/src/IconButton/IconButton.js +0 -175
  421. package/src/IconButton/IconButton.stories.mdx +0 -153
  422. package/src/IconButton/__tests__/IconButton.e2e.js +0 -57
  423. package/src/IconButton/index.js +0 -1
  424. package/src/KeyboardNavigable/KeyboardNavigable.js +0 -96
  425. package/src/KeyboardNavigable/index.js +0 -1
  426. package/src/Layout/ActionLayout.js +0 -40
  427. package/src/Layout/ContentLayout.js +0 -15
  428. package/src/Layout/GridLayout.js +0 -12
  429. package/src/Layout/GridLayout.stories.mdx +0 -36
  430. package/src/Layout/HeaderLayout.js +0 -170
  431. package/src/Layout/HeaderLayout.stories.mdx +0 -175
  432. package/src/Layout/Layout.js +0 -31
  433. package/src/Layout/Layout.stories.mdx +0 -240
  434. package/src/Layout/TwoColsLayout.js +0 -26
  435. package/src/Layout/TwoColsLayout.stories.mdx +0 -46
  436. package/src/Layout/__tests__/GridLayout.e2e.js +0 -23
  437. package/src/Layout/__tests__/HeaderLayout.e2e.js +0 -83
  438. package/src/Layout/__tests__/Layout.e2e.js +0 -23
  439. package/src/Layout/__tests__/TwoColsLayout.e2e.js +0 -23
  440. package/src/Layout/index.js +0 -6
  441. package/src/Link/Link.js +0 -105
  442. package/src/Link/Link.stories.mdx +0 -57
  443. package/src/Link/__tests__/Link.e2e.js +0 -23
  444. package/src/Link/index.js +0 -1
  445. package/src/LinkButton/LinkButton.js +0 -113
  446. package/src/LinkButton/LinkButton.stories.mdx +0 -153
  447. package/src/LinkButton/__tests__/LinkButton.e2e.js +0 -89
  448. package/src/LinkButton/index.js +0 -1
  449. package/src/LiveRegions/LiveRegions.js +0 -13
  450. package/src/LiveRegions/LiveRegions.stories.mdx +0 -76
  451. package/src/LiveRegions/StoryComponent.js +0 -26
  452. package/src/LiveRegions/__tests__/LiveRegions.spec.js +0 -200
  453. package/src/LiveRegions/constants.js +0 -5
  454. package/src/LiveRegions/index.js +0 -1
  455. package/src/LiveRegions/useNotifyAT.js +0 -39
  456. package/src/Loader/Loader.js +0 -40
  457. package/src/Loader/Loader.stories.mdx +0 -48
  458. package/src/Loader/__tests__/Loader.e2e.js +0 -23
  459. package/src/Loader/assets/loader.svg +0 -3
  460. package/src/Loader/index.js +0 -1
  461. package/src/Main/Main.js +0 -24
  462. package/src/Main/SkipToContent.js +0 -29
  463. package/src/Main/index.js +0 -2
  464. package/src/MainNav/MainNav.js +0 -31
  465. package/src/MainNav/MainNav.stories.mdx +0 -197
  466. package/src/MainNav/MainNavContext.js +0 -5
  467. package/src/MainNav/NavBrand.js +0 -76
  468. package/src/MainNav/NavCondense.js +0 -44
  469. package/src/MainNav/NavLink.js +0 -143
  470. package/src/MainNav/NavSection.js +0 -53
  471. package/src/MainNav/NavSections.js +0 -20
  472. package/src/MainNav/NavUser.js +0 -53
  473. package/src/MainNav/__tests__/MainNav.e2e.js +0 -23
  474. package/src/MainNav/index.js +0 -7
  475. package/src/MainNav/strapi-img.png +0 -0
  476. package/src/ModalLayout/ModalBody.js +0 -12
  477. package/src/ModalLayout/ModalContext.js +0 -4
  478. package/src/ModalLayout/ModalFooter.js +0 -37
  479. package/src/ModalLayout/ModalHeader.js +0 -35
  480. package/src/ModalLayout/ModalLayout.js +0 -58
  481. package/src/ModalLayout/ModalLayout.stories.mdx +0 -100
  482. package/src/ModalLayout/__tests__/ModalLayout.e2e.js +0 -19
  483. package/src/ModalLayout/__tests__/ModalLayout.spec.js +0 -596
  484. package/src/ModalLayout/index.js +0 -4
  485. package/src/NumberInput/NumberInput.js +0 -253
  486. package/src/NumberInput/NumberInput.stories.mdx +0 -319
  487. package/src/NumberInput/__tests__/NumberInput.e2e.js +0 -194
  488. package/src/NumberInput/index.js +0 -1
  489. package/src/Pagination/Pagination.js +0 -37
  490. package/src/Pagination/Pagination.stories.mdx +0 -97
  491. package/src/Pagination/PaginationContext.js +0 -4
  492. package/src/Pagination/__tests__/Pagination.e2e.js +0 -23
  493. package/src/Pagination/assets/next.svg +0 -3
  494. package/src/Pagination/assets/previous.svg +0 -3
  495. package/src/Pagination/components.js +0 -147
  496. package/src/Pagination/index.js +0 -2
  497. package/src/Popover/Popover.js +0 -167
  498. package/src/Popover/Popover.stories.mdx +0 -167
  499. package/src/Popover/__tests__/Popover.e2e.js +0 -48
  500. package/src/Popover/__tests__/Popover.spec.js +0 -153
  501. package/src/Popover/index.js +0 -1
  502. package/src/Portal/Portal.js +0 -25
  503. package/src/Portal/Portal.stories.mdx +0 -33
  504. package/src/Portal/__tests__/Portal.e2e.js +0 -23
  505. package/src/Portal/index.js +0 -1
  506. package/src/ProgressBar/ProgressBar.js +0 -57
  507. package/src/ProgressBar/ProgressBar.stories.mdx +0 -47
  508. package/src/ProgressBar/__tests__/ProgressBar.e2e.js +0 -41
  509. package/src/ProgressBar/index.js +0 -1
  510. package/src/Radio/Radio.js +0 -25
  511. package/src/Radio/Radio.stories.mdx +0 -66
  512. package/src/Radio/__tests__/Radio.e2e.js +0 -66
  513. package/src/Radio/__tests__/Radio.spec.js +0 -56
  514. package/src/Radio/index.js +0 -2
  515. package/src/RawTable/RawCell.js +0 -182
  516. package/src/RawTable/RawTable.js +0 -123
  517. package/src/RawTable/RawTable.stories.mdx +0 -258
  518. package/src/RawTable/RawTableContext.js +0 -10
  519. package/src/RawTable/RawTbody.js +0 -18
  520. package/src/RawTable/RawThead.js +0 -15
  521. package/src/RawTable/RawTr.js +0 -20
  522. package/src/RawTable/__tests__/RawTable.e2e.js +0 -344
  523. package/src/RawTable/focusFocusable.js +0 -7
  524. package/src/RawTable/index.js +0 -5
  525. package/src/Searchbar/SearchForm.js +0 -3
  526. package/src/Searchbar/Searchbar.js +0 -103
  527. package/src/Searchbar/Searchbar.stories.mdx +0 -115
  528. package/src/Searchbar/__tests__/Searchbar.e2e.js +0 -52
  529. package/src/Searchbar/index.js +0 -2
  530. package/src/Select/MultiSelectNested.js +0 -31
  531. package/src/Select/OptGroup.js +0 -27
  532. package/src/Select/Option.js +0 -123
  533. package/src/Select/Select.js +0 -318
  534. package/src/Select/Select.stories.mdx +0 -362
  535. package/src/Select/SelectButton.js +0 -77
  536. package/src/Select/SelectList.js +0 -113
  537. package/src/Select/SelectTags.js +0 -50
  538. package/src/Select/__tests__/Select.e2e.js +0 -238
  539. package/src/Select/__tests__/Select.spec.js +0 -1020
  540. package/src/Select/components.js +0 -51
  541. package/src/Select/constants.js +0 -6
  542. package/src/Select/hooks/useButtonRef.js +0 -31
  543. package/src/Select/hooks/useListRef.js +0 -35
  544. package/src/Select/index.js +0 -5
  545. package/src/Select/utils.js +0 -27
  546. package/src/SimpleMenu/SimpleMenu.js +0 -252
  547. package/src/SimpleMenu/SimpleMenu.stories.mdx +0 -220
  548. package/src/SimpleMenu/__tests__/SimpleMenu.e2e.js +0 -98
  549. package/src/SimpleMenu/__tests__/SimpleMenu.spec.js +0 -48
  550. package/src/SimpleMenu/index.js +0 -1
  551. package/src/SimpleMenu/utils.js +0 -12
  552. package/src/Stack/Stack.js +0 -75
  553. package/src/Stack/Stack.stories.mdx +0 -66
  554. package/src/Stack/__tests__/Stack.e2e.js +0 -43
  555. package/src/Stack/index.js +0 -1
  556. package/src/Status/Status.js +0 -76
  557. package/src/Status/Status.stories.mdx +0 -80
  558. package/src/Status/__tests__/Status.e2e.js +0 -23
  559. package/src/Status/__tests__/Status.spec.js +0 -48
  560. package/src/Status/index.js +0 -1
  561. package/src/SubNav/SubNav.js +0 -25
  562. package/src/SubNav/SubNav.stories.mdx +0 -234
  563. package/src/SubNav/SubNavHeader.js +0 -122
  564. package/src/SubNav/SubNavLink.js +0 -92
  565. package/src/SubNav/SubNavLinkSection.js +0 -75
  566. package/src/SubNav/SubNavSection.js +0 -75
  567. package/src/SubNav/SubNavSectionLabel.js +0 -67
  568. package/src/SubNav/SubNavSections.js +0 -20
  569. package/src/SubNav/__tests__/SubNav.e2e.js +0 -23
  570. package/src/SubNav/index.js +0 -6
  571. package/src/Switch/Switch.js +0 -97
  572. package/src/Switch/Switch.stories.mdx +0 -76
  573. package/src/Switch/__tests__/Switch.e2e.js +0 -33
  574. package/src/Switch/index.js +0 -1
  575. package/src/Table/Cell.js +0 -49
  576. package/src/Table/TFooter.js +0 -58
  577. package/src/Table/Table.js +0 -96
  578. package/src/Table/Table.stories.mdx +0 -330
  579. package/src/Table/Tbody.js +0 -13
  580. package/src/Table/Thead.js +0 -11
  581. package/src/Table/Tr.js +0 -28
  582. package/src/Table/__tests__/Table.e2e.js +0 -41
  583. package/src/Table/index.js +0 -6
  584. package/src/Tabs/TabGroup.js +0 -46
  585. package/src/Tabs/TabPanels.js +0 -32
  586. package/src/Tabs/Tabs.js +0 -227
  587. package/src/Tabs/Tabs.stories.mdx +0 -211
  588. package/src/Tabs/TabsContext.js +0 -5
  589. package/src/Tabs/__tests__/Tabs.e2e.js +0 -253
  590. package/src/Tabs/components.js +0 -66
  591. package/src/Tabs/index.js +0 -3
  592. package/src/Tabs/useTabsFocus.js +0 -28
  593. package/src/Tag/Tag.js +0 -72
  594. package/src/Tag/Tag.stories.mdx +0 -47
  595. package/src/Tag/__tests__/Tag.e2e.js +0 -37
  596. package/src/Tag/index.js +0 -1
  597. package/src/TextButton/TextButton.js +0 -102
  598. package/src/TextButton/TextButton.stories.mdx +0 -71
  599. package/src/TextButton/__tests__/TextButton.e2e.js +0 -23
  600. package/src/TextButton/index.js +0 -1
  601. package/src/TextInput/TextInput.js +0 -67
  602. package/src/TextInput/TextInput.stories.mdx +0 -228
  603. package/src/TextInput/__tests__/TextInput.e2e.js +0 -73
  604. package/src/TextInput/index.js +0 -1
  605. package/src/Textarea/Textarea.js +0 -74
  606. package/src/Textarea/Textarea.stories.mdx +0 -105
  607. package/src/Textarea/TextareaInput.js +0 -77
  608. package/src/Textarea/__tests__/Textarea.e2e.js +0 -37
  609. package/src/Textarea/index.js +0 -1
  610. package/src/ThemeProvider/ThemeProvider.js +0 -193
  611. package/src/ThemeProvider/hooks.js +0 -5
  612. package/src/ThemeProvider/index.js +0 -2
  613. package/src/TimePicker/TimePicker.js +0 -128
  614. package/src/TimePicker/TimePicker.stories.mdx +0 -171
  615. package/src/TimePicker/__tests__/TimePicker.e2e.js +0 -37
  616. package/src/TimePicker/__tests__/TimePicker.spec.js +0 -2099
  617. package/src/TimePicker/index.js +0 -1
  618. package/src/ToggleCheckbox/ToggleCheckbox.js +0 -169
  619. package/src/ToggleCheckbox/ToggleCheckbox.stories.mdx +0 -96
  620. package/src/ToggleCheckbox/__tests__/ToggleCheckbox.e2e.js +0 -59
  621. package/src/ToggleCheckbox/index.js +0 -1
  622. package/src/ToggleInput/ToggleInput.js +0 -89
  623. package/src/ToggleInput/ToggleInput.stories.mdx +0 -171
  624. package/src/ToggleInput/__tests__/ToggleInput.e2e.js +0 -109
  625. package/src/ToggleInput/index.js +0 -1
  626. package/src/Tooltip/Tooltip.js +0 -72
  627. package/src/Tooltip/Tooltip.stories.mdx +0 -127
  628. package/src/Tooltip/__tests__/Tooltip.e2e.js +0 -33
  629. package/src/Tooltip/__tests__/Tooltip.spec.js +0 -306
  630. package/src/Tooltip/hooks/useTooltipHandlers.js +0 -39
  631. package/src/Tooltip/hooks/useTooltipLayout.js +0 -21
  632. package/src/Tooltip/index.js +0 -1
  633. package/src/Tooltip/utils/__tests__/positionTooltip.spec.js +0 -114
  634. package/src/Tooltip/utils/positionTooltip.js +0 -83
  635. package/src/Typography/Typography.js +0 -24
  636. package/src/Typography/Typography.stories.mdx +0 -86
  637. package/src/Typography/TypographyProps.js +0 -30
  638. package/src/Typography/__tests__/Typography.e2e.js +0 -25
  639. package/src/Typography/__tests__/Typography.spec.js +0 -32
  640. package/src/Typography/__tests__/__snapshots__/Typography.spec.js.snap +0 -103
  641. package/src/Typography/constants.js +0 -9
  642. package/src/Typography/index.js +0 -1
  643. package/src/Typography/utils.js +0 -69
  644. package/src/VisuallyHidden/VisuallyHidden.js +0 -12
  645. package/src/VisuallyHidden/index.js +0 -1
  646. package/src/helpers/__tests__/useId.spec.js +0 -39
  647. package/src/helpers/escapeSelector.js +0 -1
  648. package/src/helpers/genId.js +0 -2
  649. package/src/helpers/getDefaultLocale.js +0 -33
  650. package/src/helpers/getFocusableNodes.js +0 -35
  651. package/src/helpers/handleResponsiveValues.js +0 -34
  652. package/src/helpers/keyboardKeys.js +0 -17
  653. package/src/helpers/setOpacity.js +0 -4
  654. package/src/helpers/setTabIndexOnFirstItem.js +0 -7
  655. package/src/helpers/useElementOnScreen.js +0 -27
  656. package/src/helpers/useId.js +0 -8
  657. package/src/helpers/useIntersection.js +0 -31
  658. package/src/helpers/useLockScroll.js +0 -14
  659. package/src/helpers/usePrevious.js +0 -9
  660. package/src/helpers/useResizeObserver.js +0 -22
  661. package/src/index.js +0 -65
  662. package/src/themes/ColorButton.js +0 -24
  663. package/src/themes/Theme.stories.mdx +0 -227
  664. package/src/themes/__tests__/extendTheme.spec.js +0 -119
  665. package/src/themes/colors.js +0 -46
  666. package/src/themes/common-theme.js +0 -19
  667. package/src/themes/darkTheme/dark-colors.js +0 -49
  668. package/src/themes/darkTheme/dark-shadows.js +0 -10
  669. package/src/themes/darkTheme/index.js +0 -9
  670. package/src/themes/extendTheme.js +0 -60
  671. package/src/themes/index.js +0 -4
  672. package/src/themes/lightTheme/index.js +0 -9
  673. package/src/themes/lightTheme/light-colors.js +0 -49
  674. package/src/themes/lightTheme/light-shadows.js +0 -10
  675. package/src/themes/sizes.js +0 -10
  676. package/src/themes/utils.js +0 -50
  677. package/src/v2/Breadcrumbs/Breadcrumbs.js +0 -45
  678. package/src/v2/Breadcrumbs/Breadcrumbs.stories.mdx +0 -129
  679. package/src/v2/Breadcrumbs/Crumb.js +0 -30
  680. package/src/v2/Breadcrumbs/CrumbLink.js +0 -33
  681. package/src/v2/Breadcrumbs/CrumbSimpleMenu.js +0 -30
  682. package/src/v2/Breadcrumbs/Divider.js +0 -16
  683. package/src/v2/Breadcrumbs/__tests__/Breadcrumbs.e2e.js +0 -47
  684. package/src/v2/Breadcrumbs/__tests__/Breadcrumbs.spec.js +0 -47
  685. package/src/v2/Breadcrumbs/index.js +0 -4
  686. package/src/v2/Link/Link.js +0 -79
  687. package/src/v2/Link/Link.stories.mdx +0 -113
  688. package/src/v2/Link/__tests__/Link.e2e.js +0 -23
  689. package/src/v2/Link/index.js +0 -1
  690. package/src/v2/LinkButton/LinkButton.js +0 -105
  691. package/src/v2/LinkButton/LinkButton.stories.mdx +0 -153
  692. package/src/v2/LinkButton/__tests__/LinkButton.e2e.js +0 -89
  693. package/src/v2/LinkButton/index.js +0 -1
  694. package/src/v2/MainNav/MainNav.js +0 -31
  695. package/src/v2/MainNav/MainNav.stories.mdx +0 -197
  696. package/src/v2/MainNav/MainNavContext.js +0 -5
  697. package/src/v2/MainNav/NavBrand.js +0 -79
  698. package/src/v2/MainNav/NavCondense.js +0 -44
  699. package/src/v2/MainNav/NavLink.js +0 -143
  700. package/src/v2/MainNav/NavSection.js +0 -53
  701. package/src/v2/MainNav/NavSections.js +0 -20
  702. package/src/v2/MainNav/NavUser.js +0 -53
  703. package/src/v2/MainNav/__tests__/MainNav.e2e.js +0 -23
  704. package/src/v2/MainNav/index.js +0 -7
  705. package/src/v2/MainNav/strapi-img.png +0 -0
  706. package/src/v2/Pagination/Pagination.js +0 -37
  707. package/src/v2/Pagination/Pagination.stories.mdx +0 -97
  708. package/src/v2/Pagination/PaginationContext.js +0 -4
  709. package/src/v2/Pagination/__tests__/Pagination.e2e.js +0 -23
  710. package/src/v2/Pagination/assets/next.svg +0 -3
  711. package/src/v2/Pagination/assets/previous.svg +0 -3
  712. package/src/v2/Pagination/components.js +0 -136
  713. package/src/v2/Pagination/index.js +0 -2
  714. package/src/v2/SimpleMenu/SimpleMenu.js +0 -252
  715. package/src/v2/SimpleMenu/SimpleMenu.stories.mdx +0 -220
  716. package/src/v2/SimpleMenu/__tests__/SimpleMenu.e2e.js +0 -100
  717. package/src/v2/SimpleMenu/__tests__/SimpleMenu.spec.js +0 -48
  718. package/src/v2/SimpleMenu/index.js +0 -1
  719. package/src/v2/SimpleMenu/utils.js +0 -12
  720. package/src/v2/SubNav/SubNav.js +0 -25
  721. package/src/v2/SubNav/SubNav.stories.mdx +0 -234
  722. package/src/v2/SubNav/SubNavHeader.js +0 -122
  723. package/src/v2/SubNav/SubNavLink.js +0 -95
  724. package/src/v2/SubNav/SubNavLinkSection.js +0 -75
  725. package/src/v2/SubNav/SubNavSection.js +0 -75
  726. package/src/v2/SubNav/SubNavSectionLabel.js +0 -67
  727. package/src/v2/SubNav/SubNavSections.js +0 -20
  728. package/src/v2/SubNav/__tests__/SubNav.e2e.js +0 -23
  729. package/src/v2/SubNav/index.js +0 -6
  730. package/src/v2/index.js +0 -7
  731. package/test-bundler.js +0 -35
  732. package/tests/check-exports.spec.js +0 -36
  733. package/webpack.config.js +0 -84
@@ -1,138 +0,0 @@
1
- import React, { Children, cloneElement, useRef } from 'react';
2
- import PropTypes from 'prop-types';
3
- import styled from 'styled-components';
4
- import ChevronRight from '@strapi/icons/ChevronRight';
5
- import ChevronLeft from '@strapi/icons/ChevronLeft';
6
- import { Icon } from '../Icon';
7
- import { Box } from '../Box';
8
- import { Typography } from '../Typography';
9
- import { Flex } from '../Flex';
10
- import { Tooltip } from '../Tooltip';
11
- import { KeyboardKeys } from '../helpers/keyboardKeys';
12
-
13
- const CarouselGrid = styled(Box)`
14
- display: grid;
15
- grid-template-columns: auto 1fr auto;
16
- grid-template-areas: 'startAction slides endAction';
17
- `;
18
-
19
- const CarouselSlides = styled(Box)`
20
- grid-area: slides;
21
- `;
22
-
23
- const CarouselAction = styled.button`
24
- grid-area: ${({ area }) => area};
25
-
26
- &:focus svg path,
27
- &:hover svg path {
28
- fill: ${({ theme }) => theme.colors.neutral900};
29
- }
30
- `;
31
-
32
- export const Carousel = ({
33
- actions,
34
- children,
35
- label,
36
- nextLabel,
37
- onNext,
38
- onPrevious,
39
- previousLabel,
40
- secondaryLabel,
41
- selectedSlide,
42
- ...props
43
- }) => {
44
- const prevActionRef = useRef(null);
45
- const nextActionRef = useRef(null);
46
-
47
- const childrenArray = Children.toArray(children).map((node, index) =>
48
- cloneElement(node, { selected: index === selectedSlide }),
49
- );
50
-
51
- const handleKeyDown = (e) => {
52
- switch (e.key) {
53
- case KeyboardKeys.RIGHT: {
54
- e.preventDefault();
55
- nextActionRef.current.focus();
56
- onNext();
57
- break;
58
- }
59
-
60
- case KeyboardKeys.LEFT: {
61
- e.preventDefault();
62
- prevActionRef.current.focus();
63
- onPrevious();
64
- break;
65
- }
66
-
67
- default:
68
- break;
69
- }
70
- };
71
-
72
- const hasChildren = childrenArray.length > 1;
73
-
74
- return (
75
- <Box {...props} onKeyDown={handleKeyDown}>
76
- <Box padding={2} borderColor="neutral200" hasRadius background="neutral100">
77
- <CarouselGrid as="section" aria-roledescription="carousel" aria-label={label} position="relative">
78
- {hasChildren && (
79
- <CarouselAction
80
- onClick={onPrevious}
81
- area="startAction"
82
- ref={prevActionRef}
83
- aria-label={previousLabel}
84
- type="button"
85
- >
86
- <Icon as={ChevronLeft} aria-hidden={true} width="6px" height="10px" color="neutral600" />
87
- </CarouselAction>
88
- )}
89
-
90
- {hasChildren && (
91
- <CarouselAction onClick={onNext} area="endAction" ref={nextActionRef} aria-label={nextLabel} type="button">
92
- <Icon as={ChevronRight} aria-hidden={true} width="6px" height="10px" color="neutral600" />
93
- </CarouselAction>
94
- )}
95
-
96
- <CarouselSlides aria-live="polite" paddingLeft={2} paddingRight={2} width="100%" overflow="hidden">
97
- {childrenArray}
98
- </CarouselSlides>
99
- {actions}
100
- </CarouselGrid>
101
- {secondaryLabel && (
102
- <Box paddingTop={2} paddingLeft={4} paddingRight={4}>
103
- <Tooltip label={secondaryLabel}>
104
- <Flex justifyContent="center">
105
- <Typography variant="pi" textColor="neutral600" ellipsis>
106
- {secondaryLabel}
107
- </Typography>
108
- </Flex>
109
- </Tooltip>
110
- </Box>
111
- )}
112
- </Box>
113
- </Box>
114
- );
115
- };
116
-
117
- Carousel.defaultProps = {
118
- actions: undefined,
119
- error: undefined,
120
- hint: undefined,
121
- required: false,
122
- secondaryLabel: undefined,
123
- };
124
-
125
- Carousel.propTypes = {
126
- actions: PropTypes.node,
127
- children: PropTypes.node.isRequired,
128
- error: PropTypes.string,
129
- hint: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.arrayOf(PropTypes.node)]),
130
- label: PropTypes.string.isRequired,
131
- nextLabel: PropTypes.string.isRequired,
132
- onNext: PropTypes.func.isRequired,
133
- onPrevious: PropTypes.func.isRequired,
134
- previousLabel: PropTypes.string.isRequired,
135
- required: PropTypes.bool,
136
- secondaryLabel: PropTypes.string,
137
- selectedSlide: PropTypes.number.isRequired,
138
- };
@@ -1,149 +0,0 @@
1
- <!--- CarouselInput.stories.mdx --->
2
-
3
- import { Meta, Story, Canvas } from '@storybook/addon-docs';
4
- import { ArgsTable } from '@storybook/addon-docs';
5
- import { useState } from 'react';
6
- import Pencil from '@strapi/icons/Pencil';
7
- import Play from '@strapi/icons/Play';
8
- import Trash from '@strapi/icons/Trash';
9
- import Plus from '@strapi/icons/Plus';
10
- import { CarouselInput } from './CarouselInput';
11
- import { CarouselSlide } from './CarouselSlide';
12
- import { CarouselImage } from './CarouselImage';
13
- import { CarouselActions } from './CarouselActions';
14
- import { IconButton } from '../IconButton';
15
- import firstPathImg from './story-assets/first.jpg';
16
-
17
- <Meta title="Design System/Components/CarouselInput" component={CarouselInput} />
18
-
19
- # CarouselInput
20
-
21
- Carousels are slideshow components for navigating through a set of assets.
22
-
23
- **Best practices**
24
-
25
- - Carousels should be mostly used in forms.
26
- - Carousels can also be used to display only one asset.
27
- - The end of a CarouselInput label should indicate the amount of included assets.
28
- - A set of actions is possible via Icon Buttons within a CarouselInput.
29
- - Carousels should at least give the possibility to remove an asset from it.
30
- - Carousels don't have any caption but can have a description line.
31
-
32
- [View source](https://github.com/strapi/design-system/tree/main/packages/strapi-design-system/src/CarouselInput)
33
-
34
- ## Imports
35
-
36
- ```js
37
- import { CarouselInput, CarouselSlide, CarouselImage, CarouselActions } from '@strapi/design-system/CarouselInput';
38
- ```
39
-
40
- ## Usage
41
-
42
- A CarouselInput is mostly used in forms. Thanks to their navigational arrows they allow to easily switch from an asset to another. It has an infinite loop. A set of actions is possible via Icon Buttons within a CarouselInput.
43
-
44
- <Canvas>
45
- <Story name="base">
46
- {() => {
47
- const [selectedIndex, setSelectedIndex] = useState(0);
48
- const handleNext = () => {
49
- setSelectedIndex((current) => (current < 2 ? current + 1 : 0));
50
- };
51
- const handlePrevious = () => {
52
- setSelectedIndex((current) => (current > 0 ? current - 1 : 2));
53
- };
54
- return (
55
- <CarouselInput
56
- label={`Carousel of numbers (${selectedIndex + 1}/3)`}
57
- selectedSlide={selectedIndex}
58
- secondaryLabel="/packages/strapi-design-system/src/Carousel/story-assets/first.jpg"
59
- previousLabel="Previous slide"
60
- nextLabel="Next slide"
61
- onNext={handleNext}
62
- onPrevious={handlePrevious}
63
- hint="Description line"
64
- actions={
65
- <CarouselActions>
66
- <IconButton onClick={() => console.log('edit')} label="Edit" id="edit" icon={<Pencil />} />
67
- <IconButton onClick={() => console.log('Create')} label="Create" icon={<Plus />} />
68
- <IconButton onClick={() => console.log('Delete')} label="Delete" icon={<Trash />} />
69
- <IconButton onClick={() => console.log('Publish')} label="Publish" icon={<Play />} />
70
- </CarouselActions>
71
- }
72
- style={{ width: '242px' }}
73
- >
74
- <CarouselSlide label="1 of 3 slides">
75
- <CarouselImage src={firstPathImg} alt="First" />
76
- </CarouselSlide>
77
- <CarouselSlide label="2 of 3 slides">
78
- <CarouselImage src={firstPathImg} alt="second" />
79
- </CarouselSlide>
80
- <CarouselSlide label="3 of 3 slides">
81
- <CarouselImage src={firstPathImg} alt="third" />
82
- </CarouselSlide>
83
- </CarouselInput>
84
- );
85
- }}
86
- </Story>
87
- <Story name="one slide only">
88
- {() => {
89
- return (
90
- <CarouselInput
91
- label={`Carousel of numbers 1/1)`}
92
- selectedSlide={0}
93
- previousLabel="Previous slide"
94
- nextLabel="Next slide"
95
- onNext={() => {}}
96
- onPrevious={() => {}}
97
- hint="Description line"
98
- actions={
99
- <CarouselActions>
100
- <IconButton onClick={() => console.log('edit')} label="Edit" id="edit" icon={<Pencil />} />
101
- <IconButton onClick={() => console.log('Create')} label="Create" icon={<Plus />} />
102
- <IconButton onClick={() => console.log('Delete')} label="Delete" icon={<Trash />} />
103
- <IconButton onClick={() => console.log('Publish')} label="Publish" icon={<Play />} />
104
- </CarouselActions>
105
- }
106
- style={{ width: '242px' }}
107
- >
108
- <CarouselSlide label="1 of 1 slides">
109
- <CarouselImage src={firstPathImg} alt="First" />
110
- </CarouselSlide>
111
- </CarouselInput>
112
- );
113
- }}
114
- </Story>
115
- <Story name="broken-asset">
116
- {() => {
117
- return (
118
- <CarouselInput
119
- label={`Carousel of numbers 1/1)`}
120
- selectedSlide={0}
121
- previousLabel="Previous slide"
122
- nextLabel="Next slide"
123
- onNext={() => {}}
124
- onPrevious={() => {}}
125
- hint="Description line"
126
- actions={
127
- <CarouselActions>
128
- <IconButton onClick={() => console.log('edit')} label="Edit" id="edit" icon={<Pencil />} />
129
- <IconButton onClick={() => console.log('Create')} label="Create" icon={<Plus />} />
130
- <IconButton onClick={() => console.log('Delete')} label="Delete" icon={<Trash />} />
131
- <IconButton onClick={() => console.log('Publish')} label="Publish" icon={<Play />} />
132
- </CarouselActions>
133
- }
134
- style={{ width: '242px' }}
135
- >
136
- <CarouselSlide label="1 of 1 slides">
137
- <CarouselImage src={'asdf'} alt="my image" />
138
- </CarouselSlide>
139
- </CarouselInput>
140
- );
141
- }}
142
- </Story>
143
- </Canvas>
144
-
145
- ## Props
146
-
147
- The CarouselInput component wraps all its children in the (Box)[https://design-system-git-main-strapijs.vercel.app/?path=/docs/design-system-technical-components-box--base] component, so you can pass all Box props to change its style.
148
-
149
- <ArgsTable of={CarouselInput} />
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- import { Stack } from '../Stack';
3
-
4
- export const CarouselActions = (props) => (
5
- <Stack justifyContent="center" horizontal spacing={1} position="absolute" width="100%" bottom={1} {...props} />
6
- );
@@ -1,39 +0,0 @@
1
- import React, { useState } from 'react';
2
- import PropTypes from 'prop-types';
3
- import { Box } from '../Box';
4
- import styled from 'styled-components';
5
- import { Tooltip } from '../Tooltip';
6
- import { ellipsisStyle } from '../Typography/utils';
7
-
8
- const StyledImage = styled(Box)`
9
- height: 100%;
10
- ${ellipsisStyle({ ellipsis: true })}
11
- `;
12
-
13
- export const CarouselImage = (props) => {
14
- const [isError, setIsError] = useState(false);
15
-
16
- const handleImageError = () => {
17
- setIsError(true);
18
- };
19
-
20
- if (isError) {
21
- return (
22
- <Tooltip description={props.alt ?? ''}>
23
- <StyledImage as="img" {...props} />
24
- </Tooltip>
25
- );
26
- }
27
-
28
- return <StyledImage as="img" {...props} onError={handleImageError} />;
29
- };
30
-
31
- CarouselImage.defaultProps = {
32
- src: undefined,
33
- alt: undefined,
34
- };
35
-
36
- CarouselImage.propTypes = {
37
- alt: PropTypes.string,
38
- src: PropTypes.string,
39
- };
@@ -1,80 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import { Carousel } from './Carousel';
4
- import { Field, FieldLabel, FieldHint, FieldError } from '../Field';
5
- import { Stack } from '../Stack';
6
- import { useId } from '../helpers/useId';
7
-
8
- export const CarouselInput = ({
9
- actions,
10
- children,
11
- error,
12
- hint,
13
- label,
14
- labelAction,
15
- nextLabel,
16
- onNext,
17
- onPrevious,
18
- previousLabel,
19
- required,
20
- secondaryLabel,
21
- selectedSlide,
22
- id,
23
- ...props
24
- }) => {
25
- const generatedId = useId('carouselinput', id);
26
-
27
- return (
28
- <Field hint={hint} error={error} id={generatedId}>
29
- <Stack spacing={1}>
30
- {label && (
31
- <FieldLabel required={required} action={labelAction}>
32
- {label}
33
- </FieldLabel>
34
- )}
35
- <Carousel
36
- actions={actions}
37
- label={label}
38
- nextLabel={nextLabel}
39
- onNext={onNext}
40
- onPrevious={onPrevious}
41
- previousLabel={previousLabel}
42
- secondaryLabel={secondaryLabel}
43
- selectedSlide={selectedSlide}
44
- id={generatedId}
45
- {...props}
46
- >
47
- {children}
48
- </Carousel>
49
- <FieldHint />
50
- <FieldError />
51
- </Stack>
52
- </Field>
53
- );
54
- };
55
-
56
- CarouselInput.defaultProps = {
57
- actions: undefined,
58
- error: undefined,
59
- hint: undefined,
60
- id: undefined,
61
- required: false,
62
- secondaryLabel: undefined,
63
- };
64
-
65
- CarouselInput.propTypes = {
66
- actions: PropTypes.node,
67
- children: PropTypes.node.isRequired,
68
- error: PropTypes.string,
69
- hint: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.arrayOf(PropTypes.node)]),
70
- id: PropTypes.string,
71
- label: PropTypes.string.isRequired,
72
- labelAction: PropTypes.element,
73
- nextLabel: PropTypes.string.isRequired,
74
- onNext: PropTypes.func.isRequired,
75
- onPrevious: PropTypes.func.isRequired,
76
- previousLabel: PropTypes.string.isRequired,
77
- required: PropTypes.bool,
78
- secondaryLabel: PropTypes.string,
79
- selectedSlide: PropTypes.number.isRequired,
80
- };
@@ -1,32 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import { Flex } from '../Flex';
4
- import styled from 'styled-components';
5
-
6
- const CarouselSlideWrapper = styled(Flex)`
7
- display: ${({ selected }) => (selected ? 'flex' : 'none')};
8
- `;
9
-
10
- export const CarouselSlide = ({ label, children, selected, ...props }) => (
11
- <CarouselSlideWrapper
12
- selected={selected}
13
- role="group"
14
- aria-roledescription="slide"
15
- aria-label={label}
16
- justifyContent="center"
17
- height="124px"
18
- {...props}
19
- >
20
- {children}
21
- </CarouselSlideWrapper>
22
- );
23
-
24
- CarouselSlide.defaultProps = {
25
- selected: false,
26
- };
27
-
28
- CarouselSlide.propTypes = {
29
- children: PropTypes.node.isRequired,
30
- label: PropTypes.string.isRequired,
31
- selected: PropTypes.bool,
32
- };
@@ -1,15 +0,0 @@
1
- import { test, expect } from '@playwright/test';
2
-
3
- test.describe.parallel('CarouselImage', () => {
4
- test('a tooltip should appear with the alt text if the src fails to load', async ({ page }) => {
5
- await page.goto('/iframe.html?id=design-system-components-carouselinput--broken-asset&viewMode=story');
6
-
7
- const imageElement = page.locator('img');
8
-
9
- expect(imageElement).toBeTruthy();
10
-
11
- await imageElement.hover().then(() => {
12
- expect(page.locator('my image')).toBeTruthy();
13
- });
14
- });
15
- });
@@ -1,48 +0,0 @@
1
- import { injectAxe, checkA11y } from 'axe-playwright';
2
-
3
- import { test, expect } from '@playwright/test';
4
-
5
- test.describe.parallel('CarouselInput', () => {
6
- test.describe('light mode', () => {
7
- test.beforeEach(async ({ page }) => {
8
- // This is the URL of the Storybook Iframe
9
- await page.goto('/iframe.html?id=design-system-components-carouselinput--base&viewMode=story');
10
- await injectAxe(page);
11
- });
12
-
13
- test('triggers axe on the document', async ({ page }) => {
14
- await checkA11y(page);
15
- });
16
-
17
- test.describe('keyboard interactions', () => {
18
- test('focuses the next button when pressing arrow right when the focus is inside the carousel', async ({
19
- page,
20
- }) => {
21
- await page.focus('#edit');
22
- await page.keyboard.press('ArrowRight');
23
-
24
- expect(await page.$('text="Carousel of numbers (2/3)"')).toBeTruthy();
25
- await expect(page.locator('[aria-label="Next slide"]')).toBeFocused();
26
- });
27
-
28
- test('focuses the previous button when pressing arrow right when the focus is inside the carousel', async ({
29
- page,
30
- }) => {
31
- await page.focus('#edit');
32
- await page.keyboard.press('ArrowLeft');
33
-
34
- expect(await page.$('text="Carousel of numbers (3/3)"')).toBeTruthy();
35
- await expect(page.locator('[aria-label="Previous slide"]')).toBeFocused();
36
- });
37
- });
38
- });
39
-
40
- test.describe('dark mode', () => {
41
- test('triggers axe on the document', async ({ page }) => {
42
- // This is the URL of the Storybook Iframe
43
- await page.goto('/iframe.html?id=design-system-components-carouselinput--base&viewMode=story&theme=dark');
44
- await injectAxe(page);
45
- await checkA11y(page);
46
- });
47
- });
48
- });
@@ -1,5 +0,0 @@
1
- export * from './Carousel';
2
- export * from './CarouselInput';
3
- export * from './CarouselActions';
4
- export * from './CarouselImage';
5
- export * from './CarouselSlide';
@@ -1,63 +0,0 @@
1
- import React from 'react';
2
- import styled from 'styled-components';
3
- import PropTypes from 'prop-types';
4
- import { BaseCheckbox } from '../BaseCheckbox';
5
- import { Stack } from '../Stack';
6
- import { Field, FieldHint, FieldError, useField } from '../Field';
7
- import { Box } from '../Box';
8
- import { useId } from '../helpers/useId';
9
- import { Typography } from '../Typography';
10
-
11
- const CheckboxLabel = styled(Typography)`
12
- display: flex;
13
- align-items: flex-start;
14
- * {
15
- cursor: ${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};
16
- }
17
- `;
18
-
19
- const CheckboxTick = (props) => {
20
- const { id } = useField();
21
-
22
- return <BaseCheckbox id={id} {...props} />;
23
- };
24
-
25
- export const Checkbox = ({ children, disabled, id, hint, error, ...props }) => {
26
- const generatedId = useId('checkbox', id);
27
-
28
- let ariaDescription;
29
-
30
- if (error) {
31
- ariaDescription = `${generatedId}-error`;
32
- } else if (hint) {
33
- ariaDescription = `${generatedId}-hint`;
34
- }
35
-
36
- return (
37
- <Field id={generatedId} hint={hint} error={error}>
38
- <Stack spacing={1}>
39
- <CheckboxLabel as="label" textColor="neutral800" disabled={disabled}>
40
- <CheckboxTick disabled={disabled} aria-describedby={ariaDescription} {...props} />
41
- <Box paddingLeft={2}>{children}</Box>
42
- </CheckboxLabel>
43
-
44
- <FieldHint />
45
- <FieldError />
46
- </Stack>
47
- </Field>
48
- );
49
- };
50
-
51
- Checkbox.defaultProps = {
52
- disabled: false,
53
- id: undefined,
54
- error: undefined,
55
- hint: undefined,
56
- };
57
- Checkbox.propTypes = {
58
- children: PropTypes.node.isRequired,
59
- disabled: PropTypes.bool,
60
- error: PropTypes.string,
61
- hint: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.arrayOf(PropTypes.node)]),
62
- id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
63
- };