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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (733) hide show
  1. package/Accordion.development.js +775 -0
  2. package/Accordion.js +9 -0
  3. package/Accordion.production.js +1 -0
  4. package/Alert.development.js +562 -0
  5. package/Alert.js +9 -0
  6. package/Alert.production.js +1 -0
  7. package/Avatar.development.js +485 -0
  8. package/Avatar.js +9 -0
  9. package/Avatar.production.js +1 -0
  10. package/Badge.development.js +494 -0
  11. package/Badge.js +9 -0
  12. package/Badge.production.js +1 -0
  13. package/BaseButton.development.js +285 -0
  14. package/BaseButton.js +9 -0
  15. package/BaseButton.production.js +1 -0
  16. package/BaseCheckbox.development.js +434 -0
  17. package/BaseCheckbox.js +9 -0
  18. package/BaseCheckbox.production.js +1 -0
  19. package/BaseLink.development.js +273 -0
  20. package/BaseLink.js +9 -0
  21. package/BaseLink.production.js +1 -0
  22. package/BaseRadio.development.js +321 -0
  23. package/BaseRadio.js +9 -0
  24. package/BaseRadio.production.js +1 -0
  25. package/Box.development.js +341 -0
  26. package/Box.js +9 -0
  27. package/Box.production.js +1 -0
  28. package/Breadcrumbs.development.js +518 -0
  29. package/Breadcrumbs.js +9 -0
  30. package/Breadcrumbs.production.js +1 -0
  31. package/Button.development.js +573 -0
  32. package/Button.js +9 -0
  33. package/Button.production.js +1 -0
  34. package/Card.development.js +746 -0
  35. package/Card.js +9 -0
  36. package/Card.production.js +1 -0
  37. package/CarouselInput.development.js +898 -0
  38. package/CarouselInput.js +9 -0
  39. package/CarouselInput.production.js +1 -0
  40. package/Checkbox.development.js +722 -0
  41. package/Checkbox.js +9 -0
  42. package/Checkbox.production.js +1 -0
  43. package/Combobox.development.js +934 -0
  44. package/Combobox.js +9 -0
  45. package/Combobox.production.js +1 -0
  46. package/DatePicker.development.js +1323 -0
  47. package/DatePicker.js +9 -0
  48. package/DatePicker.production.js +1 -0
  49. package/DateTimePicker.development.js +1622 -0
  50. package/DateTimePicker.js +9 -0
  51. package/DateTimePicker.production.js +1 -0
  52. package/Dialog.development.js +741 -0
  53. package/Dialog.js +9 -0
  54. package/Dialog.production.js +1 -0
  55. package/DismissibleLayer.development.js +218 -0
  56. package/DismissibleLayer.js +9 -0
  57. package/DismissibleLayer.production.js +1 -0
  58. package/Divider.development.js +398 -0
  59. package/Divider.js +9 -0
  60. package/Divider.production.js +1 -0
  61. package/EmptyStateLayout.development.js +425 -0
  62. package/EmptyStateLayout.js +9 -0
  63. package/EmptyStateLayout.production.js +1 -0
  64. package/Field.development.js +614 -0
  65. package/Field.js +9 -0
  66. package/Field.production.js +1 -0
  67. package/Flex.development.js +377 -0
  68. package/Flex.js +9 -0
  69. package/Flex.production.js +1 -0
  70. package/FocusTrap.development.js +341 -0
  71. package/FocusTrap.js +9 -0
  72. package/FocusTrap.production.js +1 -0
  73. package/Grid.development.js +422 -0
  74. package/Grid.js +9 -0
  75. package/Grid.production.js +1 -0
  76. package/Icon.development.js +376 -0
  77. package/Icon.js +9 -0
  78. package/Icon.production.js +1 -0
  79. package/IconButton.development.js +684 -0
  80. package/IconButton.js +9 -0
  81. package/IconButton.production.js +1 -0
  82. package/KeyboardNavigable.development.js +454 -0
  83. package/KeyboardNavigable.js +9 -0
  84. package/KeyboardNavigable.production.js +1 -0
  85. package/Layout.development.js +626 -0
  86. package/Layout.js +9 -0
  87. package/Layout.production.js +1 -0
  88. package/Link.development.js +492 -0
  89. package/Link.js +9 -0
  90. package/Link.production.js +1 -0
  91. package/LinkButton.development.js +573 -0
  92. package/LinkButton.js +9 -0
  93. package/LinkButton.production.js +1 -0
  94. package/LiveRegions.development.js +147 -0
  95. package/LiveRegions.js +9 -0
  96. package/LiveRegions.production.js +1 -0
  97. package/Loader.development.js +309 -0
  98. package/Loader.js +9 -0
  99. package/Loader.production.js +1 -0
  100. package/Main.development.js +410 -0
  101. package/Main.js +9 -0
  102. package/Main.production.js +1 -0
  103. package/MainNav.development.js +957 -0
  104. package/MainNav.js +9 -0
  105. package/MainNav.production.js +1 -0
  106. package/ModalLayout.development.js +895 -0
  107. package/ModalLayout.js +9 -0
  108. package/ModalLayout.production.js +1 -0
  109. package/NumberInput.development.js +733 -0
  110. package/NumberInput.js +9 -0
  111. package/NumberInput.production.js +1 -0
  112. package/Pagination.development.js +587 -0
  113. package/Pagination.js +9 -0
  114. package/Pagination.production.js +1 -0
  115. package/Popover.development.js +481 -0
  116. package/Popover.js +9 -0
  117. package/Popover.production.js +1 -0
  118. package/Portal.development.js +212 -0
  119. package/Portal.js +9 -0
  120. package/Portal.production.js +1 -0
  121. package/ProgressBar.development.js +273 -0
  122. package/ProgressBar.js +9 -0
  123. package/ProgressBar.production.js +1 -0
  124. package/Radio.development.js +518 -0
  125. package/Radio.js +9 -0
  126. package/Radio.production.js +1 -0
  127. package/RawTable.development.js +549 -0
  128. package/RawTable.js +9 -0
  129. package/RawTable.production.js +1 -0
  130. package/Searchbar.development.js +696 -0
  131. package/Searchbar.js +9 -0
  132. package/Searchbar.production.js +1 -0
  133. package/Select.development.js +1063 -0
  134. package/Select.js +9 -0
  135. package/Select.production.js +1 -0
  136. package/SimpleMenu.development.js +821 -0
  137. package/SimpleMenu.js +9 -0
  138. package/SimpleMenu.production.js +1 -0
  139. package/Stack.development.js +434 -0
  140. package/Stack.js +9 -0
  141. package/Stack.production.js +1 -0
  142. package/Status.development.js +494 -0
  143. package/Status.js +9 -0
  144. package/Status.production.js +1 -0
  145. package/SubNav.development.js +1123 -0
  146. package/SubNav.js +9 -0
  147. package/SubNav.production.js +1 -0
  148. package/Switch.development.js +434 -0
  149. package/Switch.js +9 -0
  150. package/Switch.production.js +1 -0
  151. package/Table.development.js +741 -0
  152. package/Table.js +9 -0
  153. package/Table.production.js +1 -0
  154. package/Tabs.development.js +590 -0
  155. package/Tabs.js +9 -0
  156. package/Tabs.production.js +1 -0
  157. package/Tag.development.js +494 -0
  158. package/Tag.js +9 -0
  159. package/Tag.production.js +1 -0
  160. package/TextButton.development.js +517 -0
  161. package/TextButton.js +9 -0
  162. package/TextButton.production.js +1 -0
  163. package/TextInput.development.js +662 -0
  164. package/TextInput.js +9 -0
  165. package/TextInput.production.js +1 -0
  166. package/Textarea.development.js +674 -0
  167. package/Textarea.js +9 -0
  168. package/Textarea.production.js +1 -0
  169. package/ThemeProvider.development.js +300 -0
  170. package/ThemeProvider.js +9 -0
  171. package/ThemeProvider.production.js +1 -0
  172. package/TimePicker.development.js +1098 -0
  173. package/TimePicker.js +9 -0
  174. package/TimePicker.production.js +1 -0
  175. package/ToggleCheckbox.development.js +542 -0
  176. package/ToggleCheckbox.js +9 -0
  177. package/ToggleCheckbox.production.js +1 -0
  178. package/ToggleInput.development.js +745 -0
  179. package/ToggleInput.js +9 -0
  180. package/ToggleInput.production.js +1 -0
  181. package/Tooltip.development.js +588 -0
  182. package/Tooltip.js +9 -0
  183. package/Tooltip.production.js +1 -0
  184. package/Typography.development.js +276 -0
  185. package/Typography.js +9 -0
  186. package/Typography.production.js +1 -0
  187. package/VisuallyHidden.development.js +146 -0
  188. package/VisuallyHidden.js +9 -0
  189. package/VisuallyHidden.production.js +1 -0
  190. package/index.development.js +4338 -0
  191. package/index.js +9 -0
  192. package/index.production.js +1 -0
  193. package/package.json +2 -2
  194. package/themes.development.js +254 -0
  195. package/themes.js +9 -0
  196. package/themes.production.js +1 -0
  197. package/v2/Breadcrumbs.development.js +906 -0
  198. package/v2/Breadcrumbs.js +9 -0
  199. package/v2/Breadcrumbs.production.js +1 -0
  200. package/v2/Link.development.js +505 -0
  201. package/v2/Link.js +9 -0
  202. package/v2/Link.production.js +1 -0
  203. package/v2/LinkButton.development.js +586 -0
  204. package/v2/LinkButton.js +9 -0
  205. package/v2/LinkButton.production.js +1 -0
  206. package/v2/MainNav.development.js +970 -0
  207. package/v2/MainNav.js +9 -0
  208. package/v2/MainNav.production.js +1 -0
  209. package/v2/Pagination.development.js +600 -0
  210. package/v2/Pagination.js +9 -0
  211. package/v2/Pagination.production.js +1 -0
  212. package/v2/SimpleMenu.development.js +834 -0
  213. package/v2/SimpleMenu.js +9 -0
  214. package/v2/SimpleMenu.production.js +1 -0
  215. package/v2/SubNav.development.js +1136 -0
  216. package/v2/SubNav.js +9 -0
  217. package/v2/SubNav.production.js +1 -0
  218. package/v2/index.development.js +1740 -0
  219. package/v2/index.js +9 -0
  220. package/v2/index.production.js +1 -0
  221. package/v2/package.json +81 -0
  222. package/.eslintignore +0 -3
  223. package/.eslintrc.js +0 -38
  224. package/.prettierrc.js +0 -7
  225. package/.storybook/components/Theme.js +0 -28
  226. package/.storybook/main.js +0 -13
  227. package/.storybook/manager.js +0 -12
  228. package/.storybook/preview.js +0 -42
  229. package/.storybook/utils/createCustomTheme.js +0 -26
  230. package/LICENSE +0 -20
  231. package/__mocks__/fileMock.js +0 -1
  232. package/__mocks__/styleMock.js +0 -1
  233. package/babel.config.js +0 -5
  234. package/createIndexFiles.js +0 -34
  235. package/global-setup.js +0 -4
  236. package/jest.config.js +0 -17
  237. package/playwright.config.js +0 -39
  238. package/src/Accordion/Accordion.js +0 -148
  239. package/src/Accordion/Accordion.stories.mdx +0 -327
  240. package/src/Accordion/AccordionContent.js +0 -26
  241. package/src/Accordion/AccordionContext.js +0 -5
  242. package/src/Accordion/AccordionGroup.js +0 -114
  243. package/src/Accordion/AccordionToggle.js +0 -192
  244. package/src/Accordion/__tests__/Accordion.e2e.js +0 -32
  245. package/src/Accordion/__tests__/AccordionKeyboard.e2e.js +0 -73
  246. package/src/Accordion/index.js +0 -4
  247. package/src/Accordion/utils.js +0 -15
  248. package/src/Alert/Alert.js +0 -144
  249. package/src/Alert/Alert.stories.mdx +0 -135
  250. package/src/Alert/__tests__/Alert.e2e.js +0 -39
  251. package/src/Alert/index.js +0 -1
  252. package/src/Alert/utils.js +0 -35
  253. package/src/Avatar/Avatar.js +0 -110
  254. package/src/Avatar/Avatar.stories.mdx +0 -67
  255. package/src/Avatar/AvatarGroup.js +0 -9
  256. package/src/Avatar/__tests__/Avatar.e2e.js +0 -23
  257. package/src/Avatar/__tests__/Avatar.spec.js +0 -153
  258. package/src/Avatar/constants.js +0 -2
  259. package/src/Avatar/index.js +0 -2
  260. package/src/Badge/Badge.js +0 -41
  261. package/src/Badge/Badge.stories.mdx +0 -57
  262. package/src/Badge/__tests__/Badge.e2e.js +0 -23
  263. package/src/Badge/index.js +0 -1
  264. package/src/BaseButton/BaseButton.js +0 -46
  265. package/src/BaseButton/BaseButton.stories.mdx +0 -32
  266. package/src/BaseButton/__tests__/BaseButton.e2e.js +0 -23
  267. package/src/BaseButton/index.js +0 -1
  268. package/src/BaseCheckbox/BaseCheckbox.js +0 -133
  269. package/src/BaseCheckbox/BaseCheckbox.stories.mdx +0 -107
  270. package/src/BaseCheckbox/__tests__/BaseCheckbox.e2e.js +0 -94
  271. package/src/BaseCheckbox/assets/checkmark-black.svg +0 -6
  272. package/src/BaseCheckbox/assets/checkmark.svg +0 -6
  273. package/src/BaseCheckbox/index.js +0 -1
  274. package/src/BaseCheckbox/utils.js +0 -7
  275. package/src/BaseLink/BaseLink.js +0 -38
  276. package/src/BaseLink/BaseLink.stories.mdx +0 -34
  277. package/src/BaseLink/__tests__/BaseLink.e2e.js +0 -23
  278. package/src/BaseLink/__tests__/BaseLink.spec.js +0 -26
  279. package/src/BaseLink/index.js +0 -1
  280. package/src/BaseRadio/BaseRadio.js +0 -69
  281. package/src/BaseRadio/BaseRadio.stories.mdx +0 -110
  282. package/src/BaseRadio/RadioGroup.js +0 -36
  283. package/src/BaseRadio/__tests__/BaseRadio.e2e.js +0 -90
  284. package/src/BaseRadio/context.js +0 -3
  285. package/src/BaseRadio/index.js +0 -2
  286. package/src/BaseRadio/utils.js +0 -30
  287. package/src/Box/Box.js +0 -104
  288. package/src/Box/Box.stories.mdx +0 -57
  289. package/src/Box/BoxProps.js +0 -99
  290. package/src/Box/__tests__/Box.e2e.js +0 -23
  291. package/src/Box/__tests__/Box.spec.js +0 -36
  292. package/src/Box/index.js +0 -1
  293. package/src/Breadcrumbs/Breadcrumbs.js +0 -58
  294. package/src/Breadcrumbs/Breadcrumbs.stories.mdx +0 -47
  295. package/src/Breadcrumbs/__tests__/Breadcrumbs.e2e.js +0 -23
  296. package/src/Breadcrumbs/index.js +0 -1
  297. package/src/Button/Button.js +0 -138
  298. package/src/Button/Button.stories.mdx +0 -216
  299. package/src/Button/__tests__/Button.e2e.js +0 -89
  300. package/src/Button/__tests__/utils.spec.js +0 -19
  301. package/src/Button/constants.js +0 -12
  302. package/src/Button/index.js +0 -1
  303. package/src/Button/utils.js +0 -170
  304. package/src/Card/Card.js +0 -35
  305. package/src/Card/Card.stories.mdx +0 -202
  306. package/src/Card/CardAction.js +0 -13
  307. package/src/Card/CardAsset.js +0 -49
  308. package/src/Card/CardBadge.js +0 -18
  309. package/src/Card/CardBody.js +0 -11
  310. package/src/Card/CardCheckbox.js +0 -14
  311. package/src/Card/CardContent.js +0 -16
  312. package/src/Card/CardContext.js +0 -5
  313. package/src/Card/CardHeader.js +0 -12
  314. package/src/Card/CardTimer.js +0 -23
  315. package/src/Card/CardTitle.js +0 -12
  316. package/src/Card/__tests__/Card.e2e.js +0 -164
  317. package/src/Card/index.js +0 -10
  318. package/src/Card/story-assets/first.jpg +0 -0
  319. package/src/CarouselInput/Carousel.js +0 -138
  320. package/src/CarouselInput/Carousel.stories.mdx +0 -149
  321. package/src/CarouselInput/CarouselActions.js +0 -6
  322. package/src/CarouselInput/CarouselImage.js +0 -39
  323. package/src/CarouselInput/CarouselInput.js +0 -80
  324. package/src/CarouselInput/CarouselSlide.js +0 -32
  325. package/src/CarouselInput/__tests__/CarouselImage.e2e.js +0 -15
  326. package/src/CarouselInput/__tests__/CarouselInput.e2e.js +0 -48
  327. package/src/CarouselInput/index.js +0 -5
  328. package/src/CarouselInput/story-assets/first.jpg +0 -0
  329. package/src/Checkbox/Checkbox.js +0 -63
  330. package/src/Checkbox/Checkbox.stories.mdx +0 -190
  331. package/src/Checkbox/__tests__/Checkbox.e2e.js +0 -96
  332. package/src/Checkbox/index.js +0 -1
  333. package/src/Combobox/Combobox.js +0 -421
  334. package/src/Combobox/Combobox.stories.mdx +0 -191
  335. package/src/Combobox/ComboboxList.js +0 -22
  336. package/src/Combobox/ComboboxOption.js +0 -36
  337. package/src/Combobox/__tests__/Combobox.e2e.js +0 -133
  338. package/src/Combobox/__tests__/utils.spec.js +0 -94
  339. package/src/Combobox/components.js +0 -69
  340. package/src/Combobox/index.js +0 -2
  341. package/src/Combobox/utils.js +0 -97
  342. package/src/DatePicker/DatePicker.js +0 -132
  343. package/src/DatePicker/DatePicker.stories.mdx +0 -172
  344. package/src/DatePicker/DatePickerCalendar.js +0 -134
  345. package/src/DatePicker/DatePickerTd.js +0 -51
  346. package/src/DatePicker/DatePickerTh.js +0 -39
  347. package/src/DatePicker/__tests__/DatePicker.e2e.js +0 -94
  348. package/src/DatePicker/__tests__/DatePicker.spec.js +0 -40
  349. package/src/DatePicker/compareDates.js +0 -9
  350. package/src/DatePicker/components.js +0 -45
  351. package/src/DatePicker/index.js +0 -1
  352. package/src/DatePicker/utils/formatDate.js +0 -5
  353. package/src/DatePicker/utils/generateWeeks.js +0 -58
  354. package/src/DatePicker/utils/getDayOfWeek.js +0 -24
  355. package/src/DatePicker/utils/getMonths.js +0 -10
  356. package/src/DatePicker/utils/getYears.js +0 -19
  357. package/src/DatePicker/utils/index.js +0 -5
  358. package/src/DatePicker/utils/tests/generateWeeks.spec.js +0 -136
  359. package/src/DatePicker/utils/tests/getMonths.spec.js +0 -21
  360. package/src/DatePicker/utils/tests/getYears.spec.js +0 -21
  361. package/src/DateTimePicker/DateTimePicker.js +0 -151
  362. package/src/DateTimePicker/DateTimePicker.stories.mdx +0 -114
  363. package/src/DateTimePicker/DateTimePickerProps.js +0 -85
  364. package/src/DateTimePicker/__tests__/DateTimePicker.e2e.js +0 -103
  365. package/src/DateTimePicker/__tests__/DateTimePicker.spec.js +0 -89
  366. package/src/DateTimePicker/__tests__/__snapshots__/DateTimePicker.spec.js.snap +0 -448
  367. package/src/DateTimePicker/__tests__/parseDate.test.js +0 -10
  368. package/src/DateTimePicker/index.js +0 -1
  369. package/src/DateTimePicker/parseDate.js +0 -11
  370. package/src/Dialog/Dialog.js +0 -86
  371. package/src/Dialog/Dialog.stories.mdx +0 -78
  372. package/src/Dialog/DialogBody.js +0 -36
  373. package/src/Dialog/DialogFooter.js +0 -38
  374. package/src/Dialog/__tests__/Dialog.e2e.js +0 -20
  375. package/src/Dialog/__tests__/Dialog.spec.js +0 -28
  376. package/src/Dialog/index.js +0 -3
  377. package/src/DismissibleLayer/DismissibleLayer.js +0 -87
  378. package/src/DismissibleLayer/DismissibleLayer.stories.mdx +0 -50
  379. package/src/DismissibleLayer/__test__/DimissibleLayer.spec.js +0 -44
  380. package/src/DismissibleLayer/index.js +0 -1
  381. package/src/Divider/Divider.js +0 -26
  382. package/src/Divider/Divider.stories.mdx +0 -55
  383. package/src/Divider/__tests__/Divider.e2e.js +0 -23
  384. package/src/Divider/index.js +0 -1
  385. package/src/EmptyStateLayout/EmptyStateLayout.js +0 -48
  386. package/src/EmptyStateLayout/EmptyStateLayout.stories.mdx +0 -87
  387. package/src/EmptyStateLayout/__tests__/EmptyStateLayout.e2e.js +0 -31
  388. package/src/EmptyStateLayout/index.js +0 -1
  389. package/src/EmptyStateLayout/story-assets/Illo.js +0 -51
  390. package/src/Field/Field.js +0 -29
  391. package/src/Field/Field.stories.mdx +0 -237
  392. package/src/Field/FieldAction.js +0 -25
  393. package/src/Field/FieldContext.js +0 -4
  394. package/src/Field/FieldError.js +0 -17
  395. package/src/Field/FieldHint.js +0 -17
  396. package/src/Field/FieldInput.js +0 -129
  397. package/src/Field/FieldLabel.js +0 -50
  398. package/src/Field/__tests__/Field.e2e.js +0 -61
  399. package/src/Field/index.js +0 -7
  400. package/src/Flex/Flex.js +0 -26
  401. package/src/Flex/Flex.stories.mdx +0 -45
  402. package/src/Flex/FlexProps.js +0 -41
  403. package/src/Flex/__tests__/Flex.e2e.js +0 -23
  404. package/src/Flex/index.js +0 -1
  405. package/src/FocusTrap/ExampleComponent.js +0 -71
  406. package/src/FocusTrap/FocusTrap.js +0 -83
  407. package/src/FocusTrap/FocusTrap.stories.mdx +0 -32
  408. package/src/FocusTrap/__tests__/FocusTrap.e2e.js +0 -126
  409. package/src/FocusTrap/index.js +0 -1
  410. package/src/Grid/Grid.js +0 -30
  411. package/src/Grid/Grid.stories.mdx +0 -112
  412. package/src/Grid/GridContext.js +0 -5
  413. package/src/Grid/GridItem.js +0 -40
  414. package/src/Grid/__tests__/Grid.e2e.js +0 -23
  415. package/src/Grid/index.js +0 -2
  416. package/src/Icon/Icon.js +0 -27
  417. package/src/Icon/Icon.stories.mdx +0 -41
  418. package/src/Icon/__tests__/Icon.e2e.js +0 -21
  419. package/src/Icon/index.js +0 -1
  420. package/src/IconButton/IconButton.js +0 -175
  421. package/src/IconButton/IconButton.stories.mdx +0 -153
  422. package/src/IconButton/__tests__/IconButton.e2e.js +0 -57
  423. package/src/IconButton/index.js +0 -1
  424. package/src/KeyboardNavigable/KeyboardNavigable.js +0 -96
  425. package/src/KeyboardNavigable/index.js +0 -1
  426. package/src/Layout/ActionLayout.js +0 -40
  427. package/src/Layout/ContentLayout.js +0 -15
  428. package/src/Layout/GridLayout.js +0 -12
  429. package/src/Layout/GridLayout.stories.mdx +0 -36
  430. package/src/Layout/HeaderLayout.js +0 -170
  431. package/src/Layout/HeaderLayout.stories.mdx +0 -175
  432. package/src/Layout/Layout.js +0 -31
  433. package/src/Layout/Layout.stories.mdx +0 -240
  434. package/src/Layout/TwoColsLayout.js +0 -26
  435. package/src/Layout/TwoColsLayout.stories.mdx +0 -46
  436. package/src/Layout/__tests__/GridLayout.e2e.js +0 -23
  437. package/src/Layout/__tests__/HeaderLayout.e2e.js +0 -83
  438. package/src/Layout/__tests__/Layout.e2e.js +0 -23
  439. package/src/Layout/__tests__/TwoColsLayout.e2e.js +0 -23
  440. package/src/Layout/index.js +0 -6
  441. package/src/Link/Link.js +0 -105
  442. package/src/Link/Link.stories.mdx +0 -57
  443. package/src/Link/__tests__/Link.e2e.js +0 -23
  444. package/src/Link/index.js +0 -1
  445. package/src/LinkButton/LinkButton.js +0 -113
  446. package/src/LinkButton/LinkButton.stories.mdx +0 -153
  447. package/src/LinkButton/__tests__/LinkButton.e2e.js +0 -89
  448. package/src/LinkButton/index.js +0 -1
  449. package/src/LiveRegions/LiveRegions.js +0 -13
  450. package/src/LiveRegions/LiveRegions.stories.mdx +0 -76
  451. package/src/LiveRegions/StoryComponent.js +0 -26
  452. package/src/LiveRegions/__tests__/LiveRegions.spec.js +0 -200
  453. package/src/LiveRegions/constants.js +0 -5
  454. package/src/LiveRegions/index.js +0 -1
  455. package/src/LiveRegions/useNotifyAT.js +0 -39
  456. package/src/Loader/Loader.js +0 -40
  457. package/src/Loader/Loader.stories.mdx +0 -48
  458. package/src/Loader/__tests__/Loader.e2e.js +0 -23
  459. package/src/Loader/assets/loader.svg +0 -3
  460. package/src/Loader/index.js +0 -1
  461. package/src/Main/Main.js +0 -24
  462. package/src/Main/SkipToContent.js +0 -29
  463. package/src/Main/index.js +0 -2
  464. package/src/MainNav/MainNav.js +0 -31
  465. package/src/MainNav/MainNav.stories.mdx +0 -197
  466. package/src/MainNav/MainNavContext.js +0 -5
  467. package/src/MainNav/NavBrand.js +0 -76
  468. package/src/MainNav/NavCondense.js +0 -44
  469. package/src/MainNav/NavLink.js +0 -143
  470. package/src/MainNav/NavSection.js +0 -53
  471. package/src/MainNav/NavSections.js +0 -20
  472. package/src/MainNav/NavUser.js +0 -53
  473. package/src/MainNav/__tests__/MainNav.e2e.js +0 -23
  474. package/src/MainNav/index.js +0 -7
  475. package/src/MainNav/strapi-img.png +0 -0
  476. package/src/ModalLayout/ModalBody.js +0 -12
  477. package/src/ModalLayout/ModalContext.js +0 -4
  478. package/src/ModalLayout/ModalFooter.js +0 -37
  479. package/src/ModalLayout/ModalHeader.js +0 -35
  480. package/src/ModalLayout/ModalLayout.js +0 -58
  481. package/src/ModalLayout/ModalLayout.stories.mdx +0 -100
  482. package/src/ModalLayout/__tests__/ModalLayout.e2e.js +0 -19
  483. package/src/ModalLayout/__tests__/ModalLayout.spec.js +0 -596
  484. package/src/ModalLayout/index.js +0 -4
  485. package/src/NumberInput/NumberInput.js +0 -253
  486. package/src/NumberInput/NumberInput.stories.mdx +0 -319
  487. package/src/NumberInput/__tests__/NumberInput.e2e.js +0 -194
  488. package/src/NumberInput/index.js +0 -1
  489. package/src/Pagination/Pagination.js +0 -37
  490. package/src/Pagination/Pagination.stories.mdx +0 -97
  491. package/src/Pagination/PaginationContext.js +0 -4
  492. package/src/Pagination/__tests__/Pagination.e2e.js +0 -23
  493. package/src/Pagination/assets/next.svg +0 -3
  494. package/src/Pagination/assets/previous.svg +0 -3
  495. package/src/Pagination/components.js +0 -147
  496. package/src/Pagination/index.js +0 -2
  497. package/src/Popover/Popover.js +0 -167
  498. package/src/Popover/Popover.stories.mdx +0 -167
  499. package/src/Popover/__tests__/Popover.e2e.js +0 -48
  500. package/src/Popover/__tests__/Popover.spec.js +0 -153
  501. package/src/Popover/index.js +0 -1
  502. package/src/Portal/Portal.js +0 -25
  503. package/src/Portal/Portal.stories.mdx +0 -33
  504. package/src/Portal/__tests__/Portal.e2e.js +0 -23
  505. package/src/Portal/index.js +0 -1
  506. package/src/ProgressBar/ProgressBar.js +0 -57
  507. package/src/ProgressBar/ProgressBar.stories.mdx +0 -47
  508. package/src/ProgressBar/__tests__/ProgressBar.e2e.js +0 -41
  509. package/src/ProgressBar/index.js +0 -1
  510. package/src/Radio/Radio.js +0 -25
  511. package/src/Radio/Radio.stories.mdx +0 -66
  512. package/src/Radio/__tests__/Radio.e2e.js +0 -66
  513. package/src/Radio/__tests__/Radio.spec.js +0 -56
  514. package/src/Radio/index.js +0 -2
  515. package/src/RawTable/RawCell.js +0 -182
  516. package/src/RawTable/RawTable.js +0 -123
  517. package/src/RawTable/RawTable.stories.mdx +0 -258
  518. package/src/RawTable/RawTableContext.js +0 -10
  519. package/src/RawTable/RawTbody.js +0 -18
  520. package/src/RawTable/RawThead.js +0 -15
  521. package/src/RawTable/RawTr.js +0 -20
  522. package/src/RawTable/__tests__/RawTable.e2e.js +0 -344
  523. package/src/RawTable/focusFocusable.js +0 -7
  524. package/src/RawTable/index.js +0 -5
  525. package/src/Searchbar/SearchForm.js +0 -3
  526. package/src/Searchbar/Searchbar.js +0 -103
  527. package/src/Searchbar/Searchbar.stories.mdx +0 -115
  528. package/src/Searchbar/__tests__/Searchbar.e2e.js +0 -52
  529. package/src/Searchbar/index.js +0 -2
  530. package/src/Select/MultiSelectNested.js +0 -31
  531. package/src/Select/OptGroup.js +0 -27
  532. package/src/Select/Option.js +0 -123
  533. package/src/Select/Select.js +0 -318
  534. package/src/Select/Select.stories.mdx +0 -362
  535. package/src/Select/SelectButton.js +0 -77
  536. package/src/Select/SelectList.js +0 -113
  537. package/src/Select/SelectTags.js +0 -50
  538. package/src/Select/__tests__/Select.e2e.js +0 -238
  539. package/src/Select/__tests__/Select.spec.js +0 -1020
  540. package/src/Select/components.js +0 -51
  541. package/src/Select/constants.js +0 -6
  542. package/src/Select/hooks/useButtonRef.js +0 -31
  543. package/src/Select/hooks/useListRef.js +0 -35
  544. package/src/Select/index.js +0 -5
  545. package/src/Select/utils.js +0 -27
  546. package/src/SimpleMenu/SimpleMenu.js +0 -252
  547. package/src/SimpleMenu/SimpleMenu.stories.mdx +0 -220
  548. package/src/SimpleMenu/__tests__/SimpleMenu.e2e.js +0 -98
  549. package/src/SimpleMenu/__tests__/SimpleMenu.spec.js +0 -48
  550. package/src/SimpleMenu/index.js +0 -1
  551. package/src/SimpleMenu/utils.js +0 -12
  552. package/src/Stack/Stack.js +0 -75
  553. package/src/Stack/Stack.stories.mdx +0 -66
  554. package/src/Stack/__tests__/Stack.e2e.js +0 -43
  555. package/src/Stack/index.js +0 -1
  556. package/src/Status/Status.js +0 -76
  557. package/src/Status/Status.stories.mdx +0 -80
  558. package/src/Status/__tests__/Status.e2e.js +0 -23
  559. package/src/Status/__tests__/Status.spec.js +0 -48
  560. package/src/Status/index.js +0 -1
  561. package/src/SubNav/SubNav.js +0 -25
  562. package/src/SubNav/SubNav.stories.mdx +0 -234
  563. package/src/SubNav/SubNavHeader.js +0 -122
  564. package/src/SubNav/SubNavLink.js +0 -92
  565. package/src/SubNav/SubNavLinkSection.js +0 -75
  566. package/src/SubNav/SubNavSection.js +0 -75
  567. package/src/SubNav/SubNavSectionLabel.js +0 -67
  568. package/src/SubNav/SubNavSections.js +0 -20
  569. package/src/SubNav/__tests__/SubNav.e2e.js +0 -23
  570. package/src/SubNav/index.js +0 -6
  571. package/src/Switch/Switch.js +0 -97
  572. package/src/Switch/Switch.stories.mdx +0 -76
  573. package/src/Switch/__tests__/Switch.e2e.js +0 -33
  574. package/src/Switch/index.js +0 -1
  575. package/src/Table/Cell.js +0 -49
  576. package/src/Table/TFooter.js +0 -58
  577. package/src/Table/Table.js +0 -96
  578. package/src/Table/Table.stories.mdx +0 -330
  579. package/src/Table/Tbody.js +0 -13
  580. package/src/Table/Thead.js +0 -11
  581. package/src/Table/Tr.js +0 -28
  582. package/src/Table/__tests__/Table.e2e.js +0 -41
  583. package/src/Table/index.js +0 -6
  584. package/src/Tabs/TabGroup.js +0 -46
  585. package/src/Tabs/TabPanels.js +0 -32
  586. package/src/Tabs/Tabs.js +0 -227
  587. package/src/Tabs/Tabs.stories.mdx +0 -211
  588. package/src/Tabs/TabsContext.js +0 -5
  589. package/src/Tabs/__tests__/Tabs.e2e.js +0 -253
  590. package/src/Tabs/components.js +0 -66
  591. package/src/Tabs/index.js +0 -3
  592. package/src/Tabs/useTabsFocus.js +0 -28
  593. package/src/Tag/Tag.js +0 -72
  594. package/src/Tag/Tag.stories.mdx +0 -47
  595. package/src/Tag/__tests__/Tag.e2e.js +0 -37
  596. package/src/Tag/index.js +0 -1
  597. package/src/TextButton/TextButton.js +0 -102
  598. package/src/TextButton/TextButton.stories.mdx +0 -71
  599. package/src/TextButton/__tests__/TextButton.e2e.js +0 -23
  600. package/src/TextButton/index.js +0 -1
  601. package/src/TextInput/TextInput.js +0 -67
  602. package/src/TextInput/TextInput.stories.mdx +0 -228
  603. package/src/TextInput/__tests__/TextInput.e2e.js +0 -73
  604. package/src/TextInput/index.js +0 -1
  605. package/src/Textarea/Textarea.js +0 -74
  606. package/src/Textarea/Textarea.stories.mdx +0 -105
  607. package/src/Textarea/TextareaInput.js +0 -77
  608. package/src/Textarea/__tests__/Textarea.e2e.js +0 -37
  609. package/src/Textarea/index.js +0 -1
  610. package/src/ThemeProvider/ThemeProvider.js +0 -193
  611. package/src/ThemeProvider/hooks.js +0 -5
  612. package/src/ThemeProvider/index.js +0 -2
  613. package/src/TimePicker/TimePicker.js +0 -128
  614. package/src/TimePicker/TimePicker.stories.mdx +0 -171
  615. package/src/TimePicker/__tests__/TimePicker.e2e.js +0 -37
  616. package/src/TimePicker/__tests__/TimePicker.spec.js +0 -2099
  617. package/src/TimePicker/index.js +0 -1
  618. package/src/ToggleCheckbox/ToggleCheckbox.js +0 -169
  619. package/src/ToggleCheckbox/ToggleCheckbox.stories.mdx +0 -96
  620. package/src/ToggleCheckbox/__tests__/ToggleCheckbox.e2e.js +0 -59
  621. package/src/ToggleCheckbox/index.js +0 -1
  622. package/src/ToggleInput/ToggleInput.js +0 -89
  623. package/src/ToggleInput/ToggleInput.stories.mdx +0 -171
  624. package/src/ToggleInput/__tests__/ToggleInput.e2e.js +0 -109
  625. package/src/ToggleInput/index.js +0 -1
  626. package/src/Tooltip/Tooltip.js +0 -72
  627. package/src/Tooltip/Tooltip.stories.mdx +0 -127
  628. package/src/Tooltip/__tests__/Tooltip.e2e.js +0 -33
  629. package/src/Tooltip/__tests__/Tooltip.spec.js +0 -306
  630. package/src/Tooltip/hooks/useTooltipHandlers.js +0 -39
  631. package/src/Tooltip/hooks/useTooltipLayout.js +0 -21
  632. package/src/Tooltip/index.js +0 -1
  633. package/src/Tooltip/utils/__tests__/positionTooltip.spec.js +0 -114
  634. package/src/Tooltip/utils/positionTooltip.js +0 -83
  635. package/src/Typography/Typography.js +0 -24
  636. package/src/Typography/Typography.stories.mdx +0 -86
  637. package/src/Typography/TypographyProps.js +0 -30
  638. package/src/Typography/__tests__/Typography.e2e.js +0 -25
  639. package/src/Typography/__tests__/Typography.spec.js +0 -32
  640. package/src/Typography/__tests__/__snapshots__/Typography.spec.js.snap +0 -103
  641. package/src/Typography/constants.js +0 -9
  642. package/src/Typography/index.js +0 -1
  643. package/src/Typography/utils.js +0 -69
  644. package/src/VisuallyHidden/VisuallyHidden.js +0 -12
  645. package/src/VisuallyHidden/index.js +0 -1
  646. package/src/helpers/__tests__/useId.spec.js +0 -39
  647. package/src/helpers/escapeSelector.js +0 -1
  648. package/src/helpers/genId.js +0 -2
  649. package/src/helpers/getDefaultLocale.js +0 -33
  650. package/src/helpers/getFocusableNodes.js +0 -35
  651. package/src/helpers/handleResponsiveValues.js +0 -34
  652. package/src/helpers/keyboardKeys.js +0 -17
  653. package/src/helpers/setOpacity.js +0 -4
  654. package/src/helpers/setTabIndexOnFirstItem.js +0 -7
  655. package/src/helpers/useElementOnScreen.js +0 -27
  656. package/src/helpers/useId.js +0 -8
  657. package/src/helpers/useIntersection.js +0 -31
  658. package/src/helpers/useLockScroll.js +0 -14
  659. package/src/helpers/usePrevious.js +0 -9
  660. package/src/helpers/useResizeObserver.js +0 -22
  661. package/src/index.js +0 -65
  662. package/src/themes/ColorButton.js +0 -24
  663. package/src/themes/Theme.stories.mdx +0 -227
  664. package/src/themes/__tests__/extendTheme.spec.js +0 -119
  665. package/src/themes/colors.js +0 -46
  666. package/src/themes/common-theme.js +0 -19
  667. package/src/themes/darkTheme/dark-colors.js +0 -49
  668. package/src/themes/darkTheme/dark-shadows.js +0 -10
  669. package/src/themes/darkTheme/index.js +0 -9
  670. package/src/themes/extendTheme.js +0 -60
  671. package/src/themes/index.js +0 -4
  672. package/src/themes/lightTheme/index.js +0 -9
  673. package/src/themes/lightTheme/light-colors.js +0 -49
  674. package/src/themes/lightTheme/light-shadows.js +0 -10
  675. package/src/themes/sizes.js +0 -10
  676. package/src/themes/utils.js +0 -50
  677. package/src/v2/Breadcrumbs/Breadcrumbs.js +0 -45
  678. package/src/v2/Breadcrumbs/Breadcrumbs.stories.mdx +0 -129
  679. package/src/v2/Breadcrumbs/Crumb.js +0 -30
  680. package/src/v2/Breadcrumbs/CrumbLink.js +0 -33
  681. package/src/v2/Breadcrumbs/CrumbSimpleMenu.js +0 -30
  682. package/src/v2/Breadcrumbs/Divider.js +0 -16
  683. package/src/v2/Breadcrumbs/__tests__/Breadcrumbs.e2e.js +0 -47
  684. package/src/v2/Breadcrumbs/__tests__/Breadcrumbs.spec.js +0 -47
  685. package/src/v2/Breadcrumbs/index.js +0 -4
  686. package/src/v2/Link/Link.js +0 -79
  687. package/src/v2/Link/Link.stories.mdx +0 -113
  688. package/src/v2/Link/__tests__/Link.e2e.js +0 -23
  689. package/src/v2/Link/index.js +0 -1
  690. package/src/v2/LinkButton/LinkButton.js +0 -105
  691. package/src/v2/LinkButton/LinkButton.stories.mdx +0 -153
  692. package/src/v2/LinkButton/__tests__/LinkButton.e2e.js +0 -89
  693. package/src/v2/LinkButton/index.js +0 -1
  694. package/src/v2/MainNav/MainNav.js +0 -31
  695. package/src/v2/MainNav/MainNav.stories.mdx +0 -197
  696. package/src/v2/MainNav/MainNavContext.js +0 -5
  697. package/src/v2/MainNav/NavBrand.js +0 -79
  698. package/src/v2/MainNav/NavCondense.js +0 -44
  699. package/src/v2/MainNav/NavLink.js +0 -143
  700. package/src/v2/MainNav/NavSection.js +0 -53
  701. package/src/v2/MainNav/NavSections.js +0 -20
  702. package/src/v2/MainNav/NavUser.js +0 -53
  703. package/src/v2/MainNav/__tests__/MainNav.e2e.js +0 -23
  704. package/src/v2/MainNav/index.js +0 -7
  705. package/src/v2/MainNav/strapi-img.png +0 -0
  706. package/src/v2/Pagination/Pagination.js +0 -37
  707. package/src/v2/Pagination/Pagination.stories.mdx +0 -97
  708. package/src/v2/Pagination/PaginationContext.js +0 -4
  709. package/src/v2/Pagination/__tests__/Pagination.e2e.js +0 -23
  710. package/src/v2/Pagination/assets/next.svg +0 -3
  711. package/src/v2/Pagination/assets/previous.svg +0 -3
  712. package/src/v2/Pagination/components.js +0 -136
  713. package/src/v2/Pagination/index.js +0 -2
  714. package/src/v2/SimpleMenu/SimpleMenu.js +0 -252
  715. package/src/v2/SimpleMenu/SimpleMenu.stories.mdx +0 -220
  716. package/src/v2/SimpleMenu/__tests__/SimpleMenu.e2e.js +0 -100
  717. package/src/v2/SimpleMenu/__tests__/SimpleMenu.spec.js +0 -48
  718. package/src/v2/SimpleMenu/index.js +0 -1
  719. package/src/v2/SimpleMenu/utils.js +0 -12
  720. package/src/v2/SubNav/SubNav.js +0 -25
  721. package/src/v2/SubNav/SubNav.stories.mdx +0 -234
  722. package/src/v2/SubNav/SubNavHeader.js +0 -122
  723. package/src/v2/SubNav/SubNavLink.js +0 -95
  724. package/src/v2/SubNav/SubNavLinkSection.js +0 -75
  725. package/src/v2/SubNav/SubNavSection.js +0 -75
  726. package/src/v2/SubNav/SubNavSectionLabel.js +0 -67
  727. package/src/v2/SubNav/SubNavSections.js +0 -20
  728. package/src/v2/SubNav/__tests__/SubNav.e2e.js +0 -23
  729. package/src/v2/SubNav/index.js +0 -6
  730. package/src/v2/index.js +0 -7
  731. package/test-bundler.js +0 -35
  732. package/tests/check-exports.spec.js +0 -36
  733. package/webpack.config.js +0 -84
@@ -1,192 +0,0 @@
1
- import React, { useRef } from 'react';
2
- import PropTypes from 'prop-types';
3
- import DropdownIcon from '@strapi/icons/CarretDown';
4
- import styled from 'styled-components';
5
- import { TextButton } from '../TextButton';
6
- import { Typography } from '../Typography';
7
- import { AccordionTypography } from './Accordion';
8
- import { useAccordion } from './AccordionContext';
9
- import { Flex } from '../Flex';
10
- import { Stack } from '../Stack';
11
- import { Icon } from '../Icon';
12
- import { getBackground } from './utils';
13
-
14
- const ToggleButton = styled(TextButton)`
15
- text-align: left;
16
-
17
- // necessary to make the ellipsis prop work on the title
18
- > span {
19
- max-width: 100%;
20
- }
21
-
22
- svg {
23
- width: ${14 / 16}rem;
24
- height: ${14 / 16}rem;
25
-
26
- path {
27
- fill: ${({ theme, expanded }) => (expanded ? theme.colors.primary600 : theme.colors.neutral500)};
28
- }
29
- }
30
- `;
31
-
32
- const FlexWithSize = styled(Flex)`
33
- min-height: ${({ theme, size }) => theme.sizes.accordions[size]};
34
- border-radius: ${({ theme, expanded }) =>
35
- expanded ? `${theme.borderRadius} ${theme.borderRadius} 0 0` : theme.borderRadius};
36
-
37
- &:hover {
38
- svg {
39
- path {
40
- fill: ${({ theme }) => theme.colors.primary600};
41
- }
42
- }
43
- }
44
- `;
45
-
46
- export const AccordionToggle = ({ title, description, as, togglePosition, action, ...props }) => {
47
- const toggleButtonRef = useRef(null);
48
- const { onToggle, toggle, expanded, id, size, variant, disabled } = useAccordion();
49
-
50
- // Accessibility identifiers
51
- const ariaControls = `accordion-content-${id}`;
52
- const ariaLabelId = `accordion-label-${id}`;
53
- const ariaDescriptionId = `accordion-desc-${id}`;
54
-
55
- // Style overrides
56
- const boxPaddingX = size === 'M' ? 6 : 4;
57
- const boxPaddingY = size === 'M' ? boxPaddingX : boxPaddingX - 2;
58
- const boxBackground = getBackground({ expanded, disabled, variant });
59
- const titleColor = expanded ? 'primary600' : 'neutral700';
60
- const titleProps = {
61
- as,
62
- fontWeight: size === 'S' ? 'bold' : undefined,
63
- id: ariaLabelId,
64
- textColor: titleColor,
65
- ellipsis: true,
66
- variant: size === 'M' ? 'delta' : undefined,
67
- };
68
- const descriptionColor = expanded ? 'primary600' : 'neutral600';
69
- const iconColor = expanded ? 'primary200' : 'neutral200';
70
- const iconSize = size === 'M' ? `${32 / 16}rem` : `${24 / 16}rem`;
71
-
72
- const handleToggle = () => {
73
- if (!disabled) {
74
- if (toggle && !onToggle) {
75
- console.warn(
76
- 'Deprecation warning: Usage of "toggle" prop in Accordion component is deprecated. This is discouraged and will be removed in the next major release. Please use "onToggle" instead',
77
- );
78
- toggle();
79
- } else {
80
- onToggle();
81
- }
82
- }
83
- };
84
-
85
- const dropdownIcon = (
86
- <Flex
87
- justifyContent="center"
88
- borderRadius="50%"
89
- height={iconSize}
90
- width={iconSize}
91
- transform={expanded ? `rotate(180deg)` : undefined}
92
- data-strapi-dropdown={true}
93
- disabled={disabled}
94
- aria-hidden
95
- as="span"
96
- background={iconColor}
97
- cursor={disabled ? 'not-allowed' : 'pointer'}
98
- onClick={() => toggleButtonRef?.current?.click()}
99
- shrink={0}
100
- >
101
- <Icon
102
- as={DropdownIcon}
103
- width={size === 'M' ? `${11 / 16}rem` : `${8 / 16}rem`}
104
- color={expanded ? 'primary600' : 'neutral600'}
105
- />
106
- </Flex>
107
- );
108
-
109
- return (
110
- <FlexWithSize
111
- paddingBottom={boxPaddingY}
112
- paddingLeft={boxPaddingX}
113
- paddingRight={boxPaddingX}
114
- paddingTop={boxPaddingY}
115
- background={boxBackground}
116
- expanded={expanded}
117
- size={size}
118
- justifyContent="space-between"
119
- cursor={disabled ? 'not-allowed' : ''}
120
- >
121
- <Stack horizontal spacing={3} flex={1} maxWidth="100%">
122
- {togglePosition === 'left' && dropdownIcon}
123
-
124
- <ToggleButton
125
- ref={toggleButtonRef}
126
- onClick={handleToggle}
127
- aria-disabled={disabled}
128
- aria-expanded={expanded}
129
- aria-controls={ariaControls}
130
- aria-labelledby={ariaLabelId}
131
- data-strapi-accordion-toggle={true}
132
- expanded={expanded}
133
- type="button"
134
- flex={1}
135
- minWidth={0}
136
- {...props}
137
- >
138
- <>
139
- <AccordionTypography {...titleProps}>{title}</AccordionTypography>
140
-
141
- {description && (
142
- <Typography as="p" id={ariaDescriptionId} textColor={descriptionColor}>
143
- {description}
144
- </Typography>
145
- )}
146
- </>
147
- </ToggleButton>
148
-
149
- {togglePosition === 'right' && (
150
- <Stack horizontal spacing={3}>
151
- {dropdownIcon}
152
- {action}
153
- </Stack>
154
- )}
155
-
156
- {togglePosition === 'left' && action}
157
- </Stack>
158
- </FlexWithSize>
159
- );
160
- };
161
-
162
- AccordionToggle.defaultProps = {
163
- action: undefined,
164
- as: 'span',
165
- description: undefined,
166
- variant: 'primary',
167
- togglePosition: 'right',
168
- };
169
-
170
- AccordionToggle.propTypes = {
171
- /**
172
- * Will render a node to the right of the Accordion component
173
- */
174
- action: PropTypes.node,
175
- as: PropTypes.string,
176
- /**
177
- * Show the secondary text of the Accordion component
178
- */
179
- description: PropTypes.string,
180
- /**
181
- * Show the main title of the Accordion component
182
- */
183
- title: PropTypes.string.isRequired,
184
- /**
185
- * Set the position of the toggle icon button
186
- */
187
- togglePosition: PropTypes.oneOf(['right', 'left']),
188
- /**
189
- * Color variant
190
- */
191
- variant: PropTypes.oneOf(['primary', 'secondary']),
192
- };
@@ -1,32 +0,0 @@
1
- import { injectAxe, checkA11y } from 'axe-playwright';
2
-
3
- import { test } from '@playwright/test';
4
-
5
- test.describe.parallel('Accordion', () => {
6
- test.describe('light theme', () => {
7
- test.beforeEach(async ({ page }) => {
8
- // This is the URL of the Storybook Iframe
9
- await page.goto('/iframe.html?id=design-system-components-accordion--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('triggers axe on the document when the accordion is expanded', async ({ page }) => {
18
- await page.click('[aria-labelledby="accordion-label-acc-1"]');
19
-
20
- await checkA11y(page);
21
- });
22
- });
23
-
24
- test.describe('dark theme', () => {
25
- test('triggers axe on the document', async ({ page }) => {
26
- // This is the URL of the Storybook Iframe
27
- await page.goto('/iframe.html?id=design-system-components-accordion--base&viewMode=story&theme=dark');
28
- await injectAxe(page);
29
- await checkA11y(page);
30
- });
31
- });
32
- });
@@ -1,73 +0,0 @@
1
- import { injectAxe, checkA11y } from 'axe-playwright';
2
- import { test, expect } from '@playwright/test';
3
-
4
- test.describe.parallel('Accordion Keyboard Navigable', () => {
5
- test.beforeEach(async ({ page }) => {
6
- // This is the URL of the Storybook Iframe
7
- await page.goto('/iframe.html?id=design-system-components-accordion--keyboard-navigable&viewMode=story');
8
- await injectAxe(page);
9
- });
10
-
11
- test('triggers axe on the document', async ({ page }) => {
12
- await checkA11y(page);
13
- });
14
-
15
- test('triggers axe on the document when the accordion is expanded', async ({ page }) => {
16
- await page.click('[aria-labelledby="accordion-label-acc-1"]');
17
-
18
- await checkA11y(page);
19
- });
20
-
21
- test.describe('Keyboard interactions', () => {
22
- test('focuses the next node when pressing arrow down until reaching the end of the group where it focuses the first accordion', async ({
23
- page,
24
- }) => {
25
- await page.focus('[aria-labelledby="accordion-label-acc-1"]');
26
-
27
- await page.keyboard.press('ArrowDown');
28
- await expect(page.locator('[aria-labelledby="accordion-label-acc-2"]')).toBeFocused();
29
-
30
- await page.keyboard.press('ArrowDown');
31
- await expect(page.locator('[aria-labelledby="accordion-label-acc-3"]')).toBeFocused();
32
-
33
- await page.keyboard.press('ArrowDown');
34
- await expect(page.locator('[aria-labelledby="accordion-label-acc-4"]')).toBeFocused();
35
-
36
- await page.keyboard.press('ArrowDown');
37
- await expect(page.locator('[aria-labelledby="accordion-label-acc-1"]')).toBeFocused();
38
- });
39
-
40
- test('focuses the previous node when pressing arrow up and reaches the latest accordion when being on the first one', async ({
41
- page,
42
- }) => {
43
- await page.focus('[aria-labelledby="accordion-label-acc-1"]');
44
-
45
- await page.keyboard.press('ArrowUp');
46
- await expect(page.locator('[aria-labelledby="accordion-label-acc-4"]')).toBeFocused();
47
-
48
- await page.keyboard.press('ArrowUp');
49
- await expect(page.locator('[aria-labelledby="accordion-label-acc-3"]')).toBeFocused();
50
-
51
- await page.keyboard.press('ArrowUp');
52
- await expect(page.locator('[aria-labelledby="accordion-label-acc-2"]')).toBeFocused();
53
-
54
- await page.keyboard.press('ArrowUp');
55
- await expect(page.locator('[aria-labelledby="accordion-label-acc-1"]')).toBeFocused();
56
- });
57
-
58
- test('focuses the last element when pressing end', async ({ page }) => {
59
- await page.focus('[aria-labelledby="accordion-label-acc-1"]');
60
-
61
- await page.keyboard.press('End');
62
- await expect(page.locator('[aria-labelledby="accordion-label-acc-4"]')).toBeFocused();
63
- });
64
-
65
- test('focuses the first element when pressing home', async ({ page }) => {
66
- await page.focus('[aria-labelledby="accordion-label-acc-1"]');
67
-
68
- await page.keyboard.press('ArrowUp');
69
- await page.keyboard.press('Home');
70
- await expect(page.locator('[aria-labelledby="accordion-label-acc-1"]')).toBeFocused();
71
- });
72
- });
73
- });
@@ -1,4 +0,0 @@
1
- export * from './Accordion';
2
- export * from './AccordionContent';
3
- export * from './AccordionToggle';
4
- export * from './AccordionGroup';
@@ -1,15 +0,0 @@
1
- export const getBackground = ({ expanded, disabled, variant }) => {
2
- let boxBackground;
3
-
4
- if (expanded) {
5
- boxBackground = 'primary100';
6
- } else if (disabled) {
7
- boxBackground = 'neutral150';
8
- } else if (variant === 'primary') {
9
- boxBackground = 'neutral0';
10
- } else {
11
- boxBackground = 'neutral100';
12
- }
13
-
14
- return boxBackground;
15
- };
@@ -1,144 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import styled from 'styled-components';
4
- import Information from '@strapi/icons/Information';
5
- import CheckCircle from '@strapi/icons/CheckCircle';
6
- import ExclamationMarkCircle from '@strapi/icons/ExclamationMarkCircle';
7
- import Cross from '@strapi/icons/Cross';
8
- import { Box } from '../Box';
9
- import { Typography } from '../Typography';
10
- import { Flex } from '../Flex';
11
- import { handleBackgroundColor, handleBorderColor, handleIconColor } from './utils';
12
- import { buttonFocusStyle } from '../themes/utils';
13
-
14
- const AlertBody = styled(Box)`
15
- flex: 1;
16
- flex-wrap: wrap;
17
- display: flex;
18
- flex-direction: row;
19
- `;
20
-
21
- const AlertWrapper = styled(Box)`
22
- border: 1px solid ${handleBorderColor};
23
- background: ${handleBackgroundColor};
24
- box-shadow: ${({ theme }) => theme.shadows.filterShadow};
25
- `;
26
-
27
- const CloseButton = styled.button`
28
- border: none;
29
- background: transparent;
30
- font-size: ${12 / 16}rem;
31
- svg path {
32
- fill: ${({ theme }) => theme.colors.neutral700};
33
- }
34
- margin-top: ${({ theme }) => theme.spaces[1]};
35
- ${buttonFocusStyle};
36
- `;
37
-
38
- const AlertIconWrapper = styled(Box)`
39
- font-size: ${20 / 16}rem;
40
- svg path {
41
- fill: ${handleIconColor};
42
- }
43
- `;
44
-
45
- const AlertIcon = ({ variant, ...props }) => {
46
- if (variant === 'success') {
47
- return <CheckCircle {...props} />;
48
- }
49
-
50
- if (variant === 'danger') {
51
- return <ExclamationMarkCircle {...props} />;
52
- }
53
-
54
- return <Information {...props} />;
55
- };
56
-
57
- const ActionBox = styled(Box)`
58
- // Checked with the designers, validated
59
- padding-top: 1px;
60
-
61
- & a > span {
62
- color: ${handleIconColor};
63
-
64
- svg path {
65
- fill: ${handleIconColor};
66
- }
67
- }
68
- `;
69
-
70
- export const Alert = ({ title, children, variant, onClose, closeLabel, titleAs, action, ...props }) => {
71
- return (
72
- <AlertWrapper hasRadius paddingLeft={5} paddingRight={6} paddingTop={5} variant={variant} {...props}>
73
- <Flex alignItems="flex-start">
74
- <AlertIconWrapper paddingRight={3} variant={variant}>
75
- <AlertIcon variant={variant} aria-hidden={true} />
76
- </AlertIconWrapper>
77
- <AlertBody role={variant === 'danger' ? 'alert' : 'status'}>
78
- <Box paddingBottom={2} paddingRight={1}>
79
- <Typography fontWeight="bold" textColor="neutral800" as={titleAs}>
80
- {title}
81
- </Typography>
82
- </Box>
83
-
84
- <Box paddingBottom={action ? 2 : 5} paddingRight={2}>
85
- <Typography as="p" textColor="neutral800">
86
- {children}
87
- </Typography>
88
- </Box>
89
-
90
- {action && (
91
- <ActionBox paddingBottom={5} variant={variant}>
92
- {action}
93
- </ActionBox>
94
- )}
95
- </AlertBody>
96
-
97
- <CloseButton onClick={onClose} aria-label={closeLabel}>
98
- <Cross aria-hidden={true} />
99
- </CloseButton>
100
- </Flex>
101
- </AlertWrapper>
102
- );
103
- };
104
-
105
- Alert.defaultProps = {
106
- action: undefined,
107
- variant: 'default',
108
- titleAs: 'p',
109
- };
110
-
111
- Alert.propTypes = {
112
- /**
113
- * Render a React element below the body of an `Alert` (Mainly used to render a Link).
114
- */
115
- action: PropTypes.element,
116
- /**
117
- * The body of the `Alert` (Will be rendered under the `Alert` title).
118
- */
119
- children: PropTypes.node.isRequired,
120
- /**
121
- * Accessible label for the close icon button.
122
- */
123
- closeLabel: PropTypes.string.isRequired,
124
- /**
125
- * The callback invoked when click on the close icon button.
126
- */
127
- onClose: PropTypes.func.isRequired,
128
- /**
129
- * The title of the `Alert`.
130
- */
131
- title: PropTypes.string.isRequired,
132
- /**
133
- * Changes the element, as which a component will render (similar to styled-components).
134
- */
135
- titleAs: PropTypes.string,
136
- /**
137
- * `Alert` color variant.
138
- */
139
- variant: PropTypes.oneOf(['danger', 'success', 'default']),
140
- };
141
-
142
- AlertIcon.propTypes = {
143
- variant: Alert.propTypes.variant,
144
- };
@@ -1,135 +0,0 @@
1
- <!--- Alert.stories.mdx --->
2
-
3
- import { Meta, Story, Canvas } from '@storybook/addon-docs';
4
- import { ArgsTable } from '@storybook/addon-docs';
5
- import { Alert } from './Alert';
6
- import { Box } from '../Box';
7
- import { Stack } from '../Stack';
8
- import { Link } from '../Link';
9
-
10
- <Meta title="Design System/Components/Alert" component={Alert} />
11
-
12
- # Alert
13
-
14
- Alerts are messages displayed over the content, at the top of the screen to give information to users. They have multiple purposes and provide context.
15
-
16
- **Best practices**
17
-
18
- - The alert should be relevant to the page.
19
- - Address a single piece of information or required action.
20
- - Content of the alert should be concise and straightforward. Provide additional information on how to resolve the issue if needed.
21
- - Alerts should be used thoughtfully and occasionally not to overwhelmed the users.
22
- - Should not be used for marketing purposes.
23
-
24
- [View source](https://github.com/strapi/design-system/tree/main/packages/strapi-design-system/src/Alert)
25
-
26
- ## Imports
27
-
28
- ```js
29
- import { Alert } from '@strapi/design-system/Alert';
30
- ```
31
-
32
- ## Usage
33
-
34
- The most common button component used in the interface. Alerts have a title, a description, and two sizes. This default one is aimed to give a small piece of text.
35
-
36
- <Canvas withSource="open">
37
- <Story
38
- name="base"
39
- parameters={{
40
- docs: {
41
- source: {
42
- code: '<Alert closeLabel="Close alert" title="Title">This is the default alert.</Alert>',
43
- },
44
- },
45
- }}
46
- >
47
- <Box style={{ width: 700 }}>
48
- <Alert closeLabel="Close alert" title="Title" onClose={() => {}}>
49
- This is the default alert.
50
- </Alert>
51
- </Box>
52
- </Story>
53
- </Canvas>
54
-
55
- ### Alert variants
56
-
57
- Use the variant prop to change the visual style of the Button.
58
- You can set the value to `default`, `success`, or `danger`.
59
-
60
- <Canvas withSource="open">
61
- <Story
62
- name="variants"
63
- parameters={{
64
- docs: {
65
- source: {
66
- code: '<Alert closeLabel="Close alert" title="Title" variant="success">This is the default variant.</Alert>',
67
- },
68
- },
69
- }}
70
- >
71
- <Box style={{ width: 700 }}>
72
- <Stack spacing={1}>
73
- <Alert onClose={() => {}} closeLabel="Close" title="Title">
74
- This is the default variant.
75
- </Alert>
76
- <Alert onClose={() => {}} closeLabel="Close" title="Title" variant="success">
77
- This is the success variant.
78
- </Alert>
79
- <Alert onClose={() => {}} closeLabel="Close" title="Title" variant="danger">
80
- This is the danger variant.
81
- </Alert>
82
- </Stack>
83
- </Box>
84
- </Story>
85
- </Canvas>
86
-
87
- | State | Description |
88
- | ------------------- | --------------------------------------------------------------------------------------------------------------------- |
89
- | Default/Information | Use a default alert for an informational purpose. Examples: Latest update, a specific mode, ... |
90
- | Success | Use a success alert to indicate a successful action. Examples: Content has been saved, the locale has been added, ... |
91
- | Danger | Examples: Content has been saved, the locale has been added, ... |
92
-
93
- ### Alert with action
94
-
95
- Alerts can contain an action. Via a Link component, they mostly encourage the user to be redirected to another page with more information. The wording of the action should be clear and concise.
96
-
97
- <Canvas withSource="open">
98
- <Story
99
- name="with action"
100
- parameters={{
101
- docs: {
102
- source: {
103
- code: `
104
- <Alert closeLabel="Close alert" title="This is the title of the alert" action={<Link to="/somewhere">See more</Link>}>
105
- Alert with title and longer description, lorem ipsum dolor sit amet constrectum adipisicng lorem ipsum dolor sit
106
- amet consrectumis adipisingus.
107
- </Alert>`,
108
- },
109
- },
110
- }}
111
- >
112
- <Box style={{ width: 700 }}>
113
- <Alert
114
- closeLabel="Close"
115
- onClose={() => {}}
116
- title="This is the title of the alert"
117
- action={<Link to="/somewhere">See more</Link>}
118
- >
119
- Alert with title and longer description, lorem ipsum dolor sit amet constrectum adipisicng lorem ipsum dolor sit
120
- amet consrectumis adipisingus.
121
- </Alert>
122
- </Box>
123
- </Story>
124
- </Canvas>
125
-
126
- ## Accessibility
127
-
128
- - Alerts use a combination of icons and colors to show their purpose and level of importance.
129
- - This is a visual component which does not implement toasted notification nor a live region.
130
-
131
- ## Props
132
-
133
- The Alert 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.
134
-
135
- <ArgsTable of={Alert} />
@@ -1,39 +0,0 @@
1
- import { injectAxe, checkA11y } from 'axe-playwright';
2
-
3
- import { test } from '@playwright/test';
4
-
5
- test.describe.parallel('Alert', () => {
6
- test.describe('light mode', () => {
7
- test.describe('base', () => {
8
- test('triggers axe on the document', async ({ page }) => {
9
- await page.goto('/iframe.html?id=design-system-components-alert--base&viewMode=story');
10
- await injectAxe(page);
11
- await checkA11y(page);
12
- });
13
- });
14
-
15
- test.describe('variants', () => {
16
- test('triggers axe on the document', async ({ page }) => {
17
- await page.goto('/iframe.html?id=design-system-components-alert--variants&viewMode=story');
18
- await injectAxe(page);
19
- await checkA11y(page);
20
- });
21
- });
22
-
23
- test.describe('with action', () => {
24
- test('triggers axe on the document', async ({ page }) => {
25
- await page.goto('/iframe.html?id=design-system-components-alert--with-action&viewMode=story');
26
- await injectAxe(page);
27
- await checkA11y(page);
28
- });
29
- });
30
- });
31
-
32
- test.describe('dark mode', () => {
33
- test('triggers axe on the document', async ({ page }) => {
34
- await page.goto('/iframe.html?id=design-system-components-alert--base&viewMode=story&theme=dark');
35
- await injectAxe(page);
36
- await checkA11y(page);
37
- });
38
- });
39
- });
@@ -1 +0,0 @@
1
- export * from './Alert';
@@ -1,35 +0,0 @@
1
- export const handleBackgroundColor = ({ theme, variant }) => {
2
- if (variant === 'danger') {
3
- return theme.colors.danger100;
4
- }
5
-
6
- if (variant === 'success') {
7
- return theme.colors.success100;
8
- }
9
-
10
- return theme.colors.primary100;
11
- };
12
-
13
- export const handleBorderColor = ({ theme, variant }) => {
14
- if (variant === 'danger') {
15
- return theme.colors.danger200;
16
- }
17
-
18
- if (variant === 'success') {
19
- return theme.colors.success200;
20
- }
21
-
22
- return theme.colors.primary200;
23
- };
24
-
25
- export const handleIconColor = ({ theme, variant }) => {
26
- if (variant === 'danger') {
27
- return theme.colors.danger700;
28
- }
29
-
30
- if (variant === 'success') {
31
- return theme.colors.success700;
32
- }
33
-
34
- return theme.colors.primary700;
35
- };