@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,220 +0,0 @@
1
- <!--- SimpleMenu.stories.mdx --->
2
-
3
- import { useState } from 'react';
4
- import { ArgsTable } from '@storybook/addon-docs';
5
- import { Meta, Story, Canvas } from '@storybook/addon-docs';
6
- import CarretDown from '@strapi/icons/CarretDown';
7
- import { SimpleMenu, MenuItem } from './SimpleMenu';
8
- import { IconButton } from '../../IconButton';
9
- import { Stack } from '../../Stack';
10
-
11
- <Meta title="Design System/Components/v2/SimpleMenu" component={SimpleMenu} />
12
-
13
- # SimpleMenu
14
-
15
- A menu displays a list of potential options or actions via a Popover component. A menu is used to give choices to the users in small spaces. However, a single option or action should be taken via a menu.
16
-
17
- **Best practices**
18
-
19
- - Use menu for small spaces. When there is more space, use Select component.
20
- - Use menu if you want the user to make a single choice. When you need your user to select one or several options, use Select component.
21
- - Try to have a sort logic in the popover of the menu.
22
-
23
- [View source](https://github.com/strapi/design-system-experiments/tree/main/packages/strapi-design-system/src/v2/SimpleMenu)
24
-
25
- ## Imports
26
-
27
- ```js
28
- import { SimpleMenu, MenuItem } from '@strapi/design-system/v2/SimpleMenu';
29
- ```
30
-
31
- ## Usage
32
-
33
- The label of the menu can be replaced by the option selected. For instance, in a Date picker component, the menu label will be replaced by the active month.
34
-
35
- By passing `aria-disabled` hover styles on `MenuItem`s can be disabled.
36
-
37
- <Canvas>
38
- <Story
39
- name="base"
40
- parameters={{
41
- docs: {
42
- source: {
43
- code: `
44
- const [val, setValue] = useState('January');\n
45
- return (
46
- <SimpleMenu id="label" label={val}>
47
- <MenuItem id="menuItem-January" onClick={() => setValue('January')}>
48
- January
49
- </MenuItem>
50
- <MenuItem id="menuItem-February" onClick={() => setValue('February')}>
51
- February
52
- </MenuItem>
53
- </SimpleMenu>
54
- );
55
- `,
56
- },
57
- },
58
- }}
59
- >
60
- {() => {
61
- const [val, setValue] = useState('January');
62
- return (
63
- <SimpleMenu id="label" label={val}>
64
- <MenuItem id="menuItem-January" onClick={() => setValue('January')}>
65
- January
66
- </MenuItem>
67
- <MenuItem id="menuItem-February" onClick={() => setValue('February')}>
68
- February
69
- </MenuItem>
70
- </SimpleMenu>
71
- );
72
- }}
73
- </Story>
74
- </Canvas>
75
-
76
- ### With links
77
-
78
- <Canvas>
79
- <Story
80
- name="with-links"
81
- parameters={{
82
- docs: {
83
- source: {
84
- code: `
85
- <SimpleMenu label="Menu">
86
- <MenuItem to="/">
87
- Home
88
- </MenuItem>
89
- <MenuItem to="/somewhere">
90
- Somewhere internal
91
- </MenuItem>
92
- </SimpleMenu>
93
- `,
94
- },
95
- },
96
- }}
97
- >
98
- <SimpleMenu label="Menu">
99
- <MenuItem to="/">Home</MenuItem>
100
- <MenuItem to="/somewhere">Somewhere internal</MenuItem>
101
- </SimpleMenu>
102
- </Story>
103
- </Canvas>
104
-
105
- A menu can allow the user to make actions. It can redirect the user to another page or another part of the product.
106
-
107
- ### With IconButton
108
-
109
- <Canvas>
110
- <Story name="with-iconbutton">
111
- <SimpleMenu label="Menu" as={IconButton} icon={<CarretDown />}>
112
- <MenuItem>Home</MenuItem>
113
- <MenuItem>Somewhere internal</MenuItem>
114
- </SimpleMenu>
115
- </Story>
116
- </Canvas>
117
-
118
- ### Sizes
119
-
120
- Use the size prop to change the size of the button. You can set the value to `S` or `M` (by default `M` is being used).
121
- If a custom component is rendered (through the `as` prop), the size is passed through, but needs to be handled in
122
- that component.
123
-
124
- Size `S` can be useful if the component is being used in places, where it needs to align on the left (ex: within tables).
125
-
126
- <Canvas>
127
- <Story name="sizes">
128
- <Stack horizontal spacing={4}>
129
- <SimpleMenu label="Small Menu" size="S" icon={<CarretDown />}>
130
- <MenuItem>Home</MenuItem>
131
- <MenuItem>Somewhere internal</MenuItem>
132
- </SimpleMenu>
133
- <SimpleMenu label="Medium Menu" icon={<CarretDown />}>
134
- <MenuItem>Home</MenuItem>
135
- <MenuItem>Somewhere internal</MenuItem>
136
- </SimpleMenu>
137
- </Stack>
138
- </Story>
139
- </Canvas>
140
-
141
- ### With Custom Label
142
-
143
- <Canvas>
144
- <Story
145
- name="with-custom-label"
146
- parameters={{
147
- docs: {
148
- source: {
149
- code: `
150
- const Label = <><span>2</span> special items</>;
151
- return (
152
- <SimpleMenu label={Label}>
153
- <MenuItem>Home</MenuItem>
154
- <MenuItem>Somewhere internal</MenuItem>
155
- </SimpleMenu>
156
- );
157
- `,
158
- },
159
- },
160
- }}
161
- >
162
- {() => {
163
- const Label = (
164
- <>
165
- <span>2</span> special items
166
- </>
167
- );
168
- return (
169
- <SimpleMenu label={Label}>
170
- <MenuItem>Home</MenuItem>
171
- <MenuItem>Somewhere internal</MenuItem>
172
- </SimpleMenu>
173
- );
174
- }}
175
- </Story>
176
- </Canvas>
177
-
178
- ### with other routing libraries
179
-
180
- To use the SimpleMenu/MenuItem components with a routing library (e.g. react-router-dom), you'll need to pass the `NavLink` component to the `as` prop in order to replace the default HTML anchor `<a />`.
181
- You'll also need to pass the `isLink` props to the `MenuItem` component.
182
-
183
- ```jsx
184
- import { SimpleMenu, MenuItem } from '@strapi/design-system/SimpleMenu';
185
- import { NavLink as RouterNavLink } from 'react-router-dom';
186
-
187
- <SimpleMenu label={Label}>
188
- <MenuItem as={RouterNavLink} to="/">
189
- Home
190
- </MenuItem>
191
- </SimpleMenu>;
192
- ```
193
-
194
- #### with NextJS
195
-
196
- For NextJS, you'll need to wrap the `NavLink` with the `NextLink` component
197
-
198
- ```jsx
199
- import { SimpleMenu, MenuItem } from '@strapi/design-system/SimpleMenu';
200
- import NextLink from 'next/link';
201
-
202
- <SimpleMenu label={Label}>
203
- <NextLink href="/home" passHref>
204
- <MenuItem>Home</MenuItem>
205
- </NextLink>
206
- </SimpleMenu>;
207
- ```
208
-
209
- ## Accessibility
210
-
211
- - When the menu button has focus, `Space` or `Enter` opens or closes the menu.
212
- - When the menu is open, the navigation between menu items can be done with the `ArrowDown` or `ArrowUp`
213
-
214
- ## SimpleMenu props
215
-
216
- <ArgsTable of={SimpleMenu} />
217
-
218
- ## MenuItem props
219
-
220
- <ArgsTable of={MenuItem} />
@@ -1,100 +0,0 @@
1
- import { injectAxe, checkA11y, getViolations } from 'axe-playwright';
2
-
3
- import { test, expect } from '@playwright/test';
4
-
5
- test.describe.parallel('SimpleMenu', () => {
6
- test.describe('light mode', () => {
7
- test.describe('base', () => {
8
- test.beforeEach(async ({ page }) => {
9
- // This is the URL of the Storybook Iframe
10
- await page.goto('/iframe.html?id=design-system-components-v2-simplemenu--base&viewMode=story');
11
- await injectAxe(page);
12
- });
13
-
14
- test('triggers axe on the document', async ({ page }) => {
15
- await checkA11y(page);
16
- });
17
-
18
- test('triggers axe on the document when the menu is opened', async ({ page }) => {
19
- await page.click('#root button');
20
-
21
- await expect(page.locator('[role="menu"]')).toBeVisible();
22
-
23
- const violations = await getViolations(page);
24
-
25
- // Axe throws an error because the portal is not wrapped by a region.
26
- const realViolations = violations
27
- .filter((violation) => violation.id !== 'region')
28
- .filter((violation) => violation.id !== 'aria-required-parent');
29
-
30
- expect(realViolations.length).toBe(0);
31
- });
32
-
33
- test('select the second value of the menu key=Enter', async ({ page }) => {
34
- await page.focus('#root button');
35
- await page.keyboard.press('Enter');
36
- await page.keyboard.press('ArrowDown');
37
- await page.keyboard.press('Enter');
38
-
39
- const label = await page.textContent('#root button');
40
- expect(label).toBe('February');
41
- });
42
-
43
- test('select the second value of the menu key=Space', async ({ page }) => {
44
- await page.focus('#root button');
45
- await page.keyboard.press('Space');
46
- await page.keyboard.press('ArrowDown');
47
- await page.keyboard.press('Space');
48
-
49
- const label = await page.textContent('#root button');
50
- expect(label).toBe('February');
51
- });
52
- });
53
-
54
- test.describe('with links', () => {
55
- test.beforeEach(async ({ page }) => {
56
- // This is the URL of the Storybook Iframe
57
- await page.goto('/iframe.html?id=design-system-components-v2-simplemenu--with-links&viewMode=story');
58
- await injectAxe(page);
59
- });
60
-
61
- test('triggers axe on the document', async ({ page }) => {
62
- await checkA11y(page);
63
- });
64
-
65
- test('triggers axe on the document when the menu is opened', async ({ page }) => {
66
- await page.click('#root button');
67
-
68
- await expect(page.locator('[role="menu"]')).toBeVisible();
69
-
70
- const violations = await getViolations(page);
71
-
72
- // Axe throws an error because the portal is not wrapped by a region.
73
- const realViolations = violations
74
- .filter((violation) => violation.id !== 'region')
75
- .filter((violation) => violation.id !== 'aria-required-parent');
76
-
77
- expect(realViolations.length).toBe(0);
78
- });
79
- });
80
- });
81
-
82
- test.describe('sizes', () => {
83
- test('triggers axe on the document', async ({ page }) => {
84
- await page.goto(
85
- 'http://localhost:6006/iframe.html?id=design-system-components-v2-simplemenu--sizes&viewMode=story',
86
- );
87
- await injectAxe(page);
88
- await checkA11y(page);
89
- });
90
- });
91
-
92
- test.describe('with links', () => {
93
- test.beforeEach(async ({ page }) => {
94
- // This is the URL of the Storybook Iframe
95
- await page.goto('/iframe.html?id=design-system-components-v2-simplemenu--base&viewMode=story&theme=dark');
96
- await injectAxe(page);
97
- await checkA11y(page);
98
- });
99
- });
100
- });
@@ -1,48 +0,0 @@
1
- import * as React from 'react';
2
- import { render, screen, fireEvent, waitFor } from '@testing-library/react';
3
- import { SimpleMenu, MenuItem } from '../../SimpleMenu';
4
- import { ThemeProvider } from '../../../ThemeProvider';
5
- import { lightTheme } from '../../../themes';
6
-
7
- describe('SimpleMenu', () => {
8
- it('display the menu on click on the menu button', async () => {
9
- render(
10
- <ThemeProvider theme={lightTheme}>
11
- <SimpleMenu label="January">
12
- <MenuItem onClick={() => {}}>January</MenuItem>
13
- <MenuItem onClick={() => {}}>February</MenuItem>
14
- <MenuItem href="https://strapi.io">Strapi website</MenuItem>
15
- </SimpleMenu>
16
- </ThemeProvider>,
17
- );
18
-
19
- const button = await waitFor(() => screen.getByText('January'));
20
- fireEvent.mouseDown(button);
21
-
22
- await waitFor(() => {
23
- expect(screen.getByText('February')).toBeInTheDocument();
24
- });
25
- });
26
-
27
- it('display the menu and click on a menu item', async () => {
28
- const onClickSpy = jest.fn();
29
-
30
- render(
31
- <ThemeProvider theme={lightTheme}>
32
- <SimpleMenu label="January">
33
- <MenuItem onClick={onClickSpy}>January</MenuItem>
34
- <MenuItem onClick={onClickSpy}>February</MenuItem>
35
- <MenuItem href="https://strapi.io">Strapi website</MenuItem>
36
- </SimpleMenu>
37
- </ThemeProvider>,
38
- );
39
-
40
- const button = await waitFor(() => screen.getByText('January'));
41
- fireEvent.mouseDown(button);
42
-
43
- const menuItemButton = await waitFor(() => screen.getByText('February'));
44
- fireEvent.mouseDown(menuItemButton);
45
-
46
- expect(onClickSpy).toBeCalled();
47
- });
48
- });
@@ -1 +0,0 @@
1
- export * from './SimpleMenu';
@@ -1,12 +0,0 @@
1
- export const getOptionStyle = ({ theme }) => `
2
- text-align: left;
3
- width: 100%;
4
- color: ${theme.colors.neutral800};
5
- border-radius: ${theme.borderRadius};
6
- &:focus {
7
- background-color: ${theme.colors.primary100};
8
- }
9
- &:not([aria-disabled]):hover {
10
- background-color: ${theme.colors.primary100};
11
- }
12
- `;
@@ -1,25 +0,0 @@
1
- import React from 'react';
2
- import styled from 'styled-components';
3
- import PropTypes from 'prop-types';
4
- import { Grid } from '../../Grid';
5
-
6
- export const subNavWidth = `${232 / 16}rem`;
7
-
8
- const SubNavWrapper = styled(Grid)`
9
- width: ${subNavWidth};
10
- background: ${({ theme }) => theme.colors.neutral100};
11
- position: sticky;
12
- top: 0;
13
- height: 100vh;
14
- overflow-y: auto;
15
- border-right: 1px solid ${({ theme }) => theme.colors.neutral200};
16
- z-index: 1;
17
- `;
18
-
19
- export const SubNav = ({ ariaLabel, ...props }) => {
20
- return <SubNavWrapper aria-label={ariaLabel} as="nav" {...props} />;
21
- };
22
-
23
- SubNav.propTypes = {
24
- ariaLabel: PropTypes.string.isRequired,
25
- };
@@ -1,234 +0,0 @@
1
- <!--- SubNav.stories.mdx --->
2
-
3
- import { useState } from 'react';
4
- import { Meta, Story, Canvas } from '@storybook/addon-docs';
5
- import { ArgsTable } from '@storybook/addon-docs';
6
- import Apps from '@strapi/icons/Apps';
7
- import Plus from '@strapi/icons/Plus';
8
- import ExclamationMarkCircle from '@strapi/icons/ExclamationMarkCircle';
9
- import { SubNav } from './SubNav';
10
- import { SubNavHeader } from './SubNavHeader';
11
- import { SubNavSection } from './SubNavSection';
12
- import { SubNavSections } from './SubNavSections';
13
- import { SubNavLink } from './SubNavLink';
14
- import { SubNavLinkSection } from './SubNavLinkSection';
15
- import { Box } from '../../Box';
16
- import { Flex } from '../../Flex';
17
- import { TextButton } from '../../TextButton';
18
-
19
- <Meta title="Design System/Components/v2/SubNav" component={SubNav} />
20
-
21
- # SubNav
22
-
23
- The Sub Navigation is available and displayed on predefined sections of the admin panel to access advanced options (i.e. Content Manager, Content-types Builder and Settings). Thanks to it the users can easily navigation from an entry or a page to another. The Sub Navigation cannot be collapsed.
24
-
25
- **Best practices**
26
-
27
- - It is not possible to have more than 2 navigation bars next to each others.
28
- - Each page has its own icon taken from the iconography library.
29
- - Do not use icons for headers.
30
- - Use sentence case for page names and all caps for header labels.
31
- - Each plugin should have its own new category and its own header.
32
-
33
- ## Usage
34
-
35
- The Sub Navigation cannot be collapsed. A notification system can appear in the Sub Navigation, especially in the Settings section for the Application page.
36
-
37
- A Text Button component can be found at the bottom of a pages gathering in the Sub Navigation.
38
-
39
- ## Hierarchy
40
-
41
- Related pages are gathered under specific headers within the Sub Navigation. These headers are helpful to understand the section hierarchy. Moreover, each page gets its very own icon to make it distinctive.
42
-
43
- [View source](https://github.com/strapi/design-system/tree/main/packages/strapi-design-system/src/v2/SubNav)
44
-
45
- ## Imports
46
-
47
- ```js
48
- import {
49
- SubNav,
50
- SubNavHeader,
51
- SubNavSection,
52
- SubNavSections,
53
- SubNavLink,
54
- SubNavLinkSection,
55
- } from '@strapi/design-system/v2/SubNav';
56
- ```
57
-
58
- ## Usage
59
-
60
- <Canvas>
61
- <Story name="base">
62
- {() => {
63
- const [search, setSearch] = useState('');
64
- const links = [
65
- {
66
- id: 1,
67
- label: 'Addresses',
68
- icon: <ExclamationMarkCircle />,
69
- to: '/address',
70
- },
71
- {
72
- id: 2,
73
- label: 'Categories',
74
- to: '/category',
75
- },
76
- {
77
- id: 3,
78
- label: 'Cities',
79
- icon: <Apps />,
80
- to: '/city',
81
- active: true,
82
- },
83
- {
84
- id: 4,
85
- label: 'Countries',
86
- to: '/country',
87
- },
88
- ];
89
- return (
90
- <Flex>
91
- <Box padding={10} style={{ height: '100vh' }} background="neutral200">
92
- <SubNav ariaLabel="Builder sub nav">
93
- <SubNavHeader
94
- searchable
95
- value={search}
96
- onClear={() => setSearch('')}
97
- onChange={(e) => setSearch(e.target.value)}
98
- label="Content-Type Builder"
99
- searchLabel="Search..."
100
- />
101
- <SubNavSections>
102
- <SubNavSection label="Collection Type" collapsable badgeLabel={links.length.toString()}>
103
- {links.map((link) => (
104
- <SubNavLink to={link.to} active={link.active} key={link.id}>
105
- {link.label}
106
- </SubNavLink>
107
- ))}
108
- </SubNavSection>
109
- <Box paddingLeft={7} paddingBottom={3}>
110
- <TextButton startIcon={<Plus />}>Click on me</TextButton>
111
- </Box>
112
- <SubNavSection label="Single Type" collapsable badgeLabel={links.length.toString()}>
113
- <SubNavLinkSection label="Default">
114
- {links.map((link) => (
115
- <SubNavLink to={link.to} key={link.id} isSubSectionChild>
116
- {link.label}
117
- </SubNavLink>
118
- ))}
119
- </SubNavLinkSection>
120
- </SubNavSection>
121
- <Box paddingLeft={7}>
122
- <TextButton startIcon={<Plus />}>Click on me</TextButton>
123
- </Box>
124
- </SubNavSections>
125
- </SubNav>
126
- </Box>
127
- <Box padding={10} style={{ height: '100vh' }} background="neutral200">
128
- <SubNav ariaLabel="Settings sub nav">
129
- <SubNavHeader label="Settings" />
130
- <SubNavSections>
131
- <SubNavLink to="/blabla" withBullet icon={<Apps />} className="active">
132
- Application
133
- </SubNavLink>
134
- <SubNavSection label="Global Settings">
135
- {links.map(
136
- (link) =>
137
- link.icon && (
138
- <SubNavLink to={link.to} active={link.active} icon={link.icon} key={link.id} isSubSectionChild>
139
- {link.label}
140
- </SubNavLink>
141
- ),
142
- )}
143
- </SubNavSection>
144
- <SubNavSection label="Permissions">
145
- {links.map(
146
- (link) =>
147
- link.icon && (
148
- <SubNavLink to={link.to} icon={link.icon} key={link.id}>
149
- {link.label}
150
- </SubNavLink>
151
- ),
152
- )}
153
- </SubNavSection>
154
- </SubNavSections>
155
- </SubNav>
156
- </Box>
157
- <Box padding={10} style={{ height: '100vh' }} background="neutral200">
158
- <SubNav ariaLabel="Mixed sub nav">
159
- <SubNavHeader label="Mixed" />
160
- <SubNavSections>
161
- <SubNavLink to="/blabla" withBullet icon={<Apps />}>
162
- Application
163
- </SubNavLink>
164
- <SubNavSection label="Global Settings">
165
- <SubNavLinkSection label="Sub section">
166
- {links.map((link) => (
167
- <SubNavLink to={link.to} active={link.active} icon={link.icon} key={link.id}>
168
- {link.label}
169
- </SubNavLink>
170
- ))}
171
- </SubNavLinkSection>
172
- </SubNavSection>
173
- <SubNavSection label="Permissions">
174
- {links.map((link) => (
175
- <SubNavLink to={link.to} icon={link.icon} key={link.id}>
176
- {link.label}
177
- </SubNavLink>
178
- ))}
179
- </SubNavSection>
180
- </SubNavSections>
181
- </SubNav>
182
- </Box>
183
- </Flex>
184
- );
185
- }}
186
- </Story>
187
- </Canvas>
188
-
189
- ### Usage with other routing libraries
190
-
191
- To use the Strapi design system SubNavLink component with a routing library (e.g. react-router-dom), you'll need to pass the react-router-dom `NavLink` component to the `as` prop in order to replace the default HTML anchor `<a />`.
192
- You'll now be able to pass all `NavLink` props.
193
-
194
- ```jsx
195
- import { SubNavLink } from '@strapi/design-system/SubNavLink';
196
- import { NavLink } from 'react-router-dom';
197
-
198
- <SubNavLink as={NavLink} to="/home">
199
- Home
200
- </SubNavLink>;
201
- ```
202
-
203
- #### NextJS usage
204
-
205
- For NextJS, you'll need to wrap the `NavLink` with the `NextLink` component
206
-
207
- ```jsx
208
- import { SubNavLink } from '@strapi/design-system/SubNavLink';
209
- import NextLink from 'next/link';
210
-
211
- <NextLink href="/home" passHref>
212
- <SubNavLink>Home</SubNavLink>
213
- </NextLink>;
214
- ```
215
-
216
- ## SubNav Props
217
-
218
- <ArgsTable of={SubNav} />
219
-
220
- ## SubNavHeader Props
221
-
222
- <ArgsTable of={SubNavHeader} />
223
-
224
- ## SubNavSection Props
225
-
226
- <ArgsTable of={SubNavSection} />
227
-
228
- ## SubNavLinkSection Props
229
-
230
- <ArgsTable of={SubNavLinkSection} />
231
-
232
- ## SubNavLink Props
233
-
234
- <ArgsTable of={SubNavLink} />