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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (733) hide show
  1. package/Accordion.development.js +775 -0
  2. package/Accordion.js +9 -0
  3. package/Accordion.production.js +1 -0
  4. package/Alert.development.js +562 -0
  5. package/Alert.js +9 -0
  6. package/Alert.production.js +1 -0
  7. package/Avatar.development.js +485 -0
  8. package/Avatar.js +9 -0
  9. package/Avatar.production.js +1 -0
  10. package/Badge.development.js +494 -0
  11. package/Badge.js +9 -0
  12. package/Badge.production.js +1 -0
  13. package/BaseButton.development.js +285 -0
  14. package/BaseButton.js +9 -0
  15. package/BaseButton.production.js +1 -0
  16. package/BaseCheckbox.development.js +434 -0
  17. package/BaseCheckbox.js +9 -0
  18. package/BaseCheckbox.production.js +1 -0
  19. package/BaseLink.development.js +273 -0
  20. package/BaseLink.js +9 -0
  21. package/BaseLink.production.js +1 -0
  22. package/BaseRadio.development.js +321 -0
  23. package/BaseRadio.js +9 -0
  24. package/BaseRadio.production.js +1 -0
  25. package/Box.development.js +341 -0
  26. package/Box.js +9 -0
  27. package/Box.production.js +1 -0
  28. package/Breadcrumbs.development.js +518 -0
  29. package/Breadcrumbs.js +9 -0
  30. package/Breadcrumbs.production.js +1 -0
  31. package/Button.development.js +573 -0
  32. package/Button.js +9 -0
  33. package/Button.production.js +1 -0
  34. package/Card.development.js +746 -0
  35. package/Card.js +9 -0
  36. package/Card.production.js +1 -0
  37. package/CarouselInput.development.js +898 -0
  38. package/CarouselInput.js +9 -0
  39. package/CarouselInput.production.js +1 -0
  40. package/Checkbox.development.js +722 -0
  41. package/Checkbox.js +9 -0
  42. package/Checkbox.production.js +1 -0
  43. package/Combobox.development.js +934 -0
  44. package/Combobox.js +9 -0
  45. package/Combobox.production.js +1 -0
  46. package/DatePicker.development.js +1323 -0
  47. package/DatePicker.js +9 -0
  48. package/DatePicker.production.js +1 -0
  49. package/DateTimePicker.development.js +1622 -0
  50. package/DateTimePicker.js +9 -0
  51. package/DateTimePicker.production.js +1 -0
  52. package/Dialog.development.js +741 -0
  53. package/Dialog.js +9 -0
  54. package/Dialog.production.js +1 -0
  55. package/DismissibleLayer.development.js +218 -0
  56. package/DismissibleLayer.js +9 -0
  57. package/DismissibleLayer.production.js +1 -0
  58. package/Divider.development.js +398 -0
  59. package/Divider.js +9 -0
  60. package/Divider.production.js +1 -0
  61. package/EmptyStateLayout.development.js +425 -0
  62. package/EmptyStateLayout.js +9 -0
  63. package/EmptyStateLayout.production.js +1 -0
  64. package/Field.development.js +614 -0
  65. package/Field.js +9 -0
  66. package/Field.production.js +1 -0
  67. package/Flex.development.js +377 -0
  68. package/Flex.js +9 -0
  69. package/Flex.production.js +1 -0
  70. package/FocusTrap.development.js +341 -0
  71. package/FocusTrap.js +9 -0
  72. package/FocusTrap.production.js +1 -0
  73. package/Grid.development.js +422 -0
  74. package/Grid.js +9 -0
  75. package/Grid.production.js +1 -0
  76. package/Icon.development.js +376 -0
  77. package/Icon.js +9 -0
  78. package/Icon.production.js +1 -0
  79. package/IconButton.development.js +684 -0
  80. package/IconButton.js +9 -0
  81. package/IconButton.production.js +1 -0
  82. package/KeyboardNavigable.development.js +454 -0
  83. package/KeyboardNavigable.js +9 -0
  84. package/KeyboardNavigable.production.js +1 -0
  85. package/Layout.development.js +626 -0
  86. package/Layout.js +9 -0
  87. package/Layout.production.js +1 -0
  88. package/Link.development.js +492 -0
  89. package/Link.js +9 -0
  90. package/Link.production.js +1 -0
  91. package/LinkButton.development.js +573 -0
  92. package/LinkButton.js +9 -0
  93. package/LinkButton.production.js +1 -0
  94. package/LiveRegions.development.js +147 -0
  95. package/LiveRegions.js +9 -0
  96. package/LiveRegions.production.js +1 -0
  97. package/Loader.development.js +309 -0
  98. package/Loader.js +9 -0
  99. package/Loader.production.js +1 -0
  100. package/Main.development.js +410 -0
  101. package/Main.js +9 -0
  102. package/Main.production.js +1 -0
  103. package/MainNav.development.js +957 -0
  104. package/MainNav.js +9 -0
  105. package/MainNav.production.js +1 -0
  106. package/ModalLayout.development.js +895 -0
  107. package/ModalLayout.js +9 -0
  108. package/ModalLayout.production.js +1 -0
  109. package/NumberInput.development.js +733 -0
  110. package/NumberInput.js +9 -0
  111. package/NumberInput.production.js +1 -0
  112. package/Pagination.development.js +587 -0
  113. package/Pagination.js +9 -0
  114. package/Pagination.production.js +1 -0
  115. package/Popover.development.js +481 -0
  116. package/Popover.js +9 -0
  117. package/Popover.production.js +1 -0
  118. package/Portal.development.js +212 -0
  119. package/Portal.js +9 -0
  120. package/Portal.production.js +1 -0
  121. package/ProgressBar.development.js +273 -0
  122. package/ProgressBar.js +9 -0
  123. package/ProgressBar.production.js +1 -0
  124. package/Radio.development.js +518 -0
  125. package/Radio.js +9 -0
  126. package/Radio.production.js +1 -0
  127. package/RawTable.development.js +549 -0
  128. package/RawTable.js +9 -0
  129. package/RawTable.production.js +1 -0
  130. package/Searchbar.development.js +696 -0
  131. package/Searchbar.js +9 -0
  132. package/Searchbar.production.js +1 -0
  133. package/Select.development.js +1063 -0
  134. package/Select.js +9 -0
  135. package/Select.production.js +1 -0
  136. package/SimpleMenu.development.js +821 -0
  137. package/SimpleMenu.js +9 -0
  138. package/SimpleMenu.production.js +1 -0
  139. package/Stack.development.js +434 -0
  140. package/Stack.js +9 -0
  141. package/Stack.production.js +1 -0
  142. package/Status.development.js +494 -0
  143. package/Status.js +9 -0
  144. package/Status.production.js +1 -0
  145. package/SubNav.development.js +1123 -0
  146. package/SubNav.js +9 -0
  147. package/SubNav.production.js +1 -0
  148. package/Switch.development.js +434 -0
  149. package/Switch.js +9 -0
  150. package/Switch.production.js +1 -0
  151. package/Table.development.js +741 -0
  152. package/Table.js +9 -0
  153. package/Table.production.js +1 -0
  154. package/Tabs.development.js +590 -0
  155. package/Tabs.js +9 -0
  156. package/Tabs.production.js +1 -0
  157. package/Tag.development.js +494 -0
  158. package/Tag.js +9 -0
  159. package/Tag.production.js +1 -0
  160. package/TextButton.development.js +517 -0
  161. package/TextButton.js +9 -0
  162. package/TextButton.production.js +1 -0
  163. package/TextInput.development.js +662 -0
  164. package/TextInput.js +9 -0
  165. package/TextInput.production.js +1 -0
  166. package/Textarea.development.js +674 -0
  167. package/Textarea.js +9 -0
  168. package/Textarea.production.js +1 -0
  169. package/ThemeProvider.development.js +300 -0
  170. package/ThemeProvider.js +9 -0
  171. package/ThemeProvider.production.js +1 -0
  172. package/TimePicker.development.js +1098 -0
  173. package/TimePicker.js +9 -0
  174. package/TimePicker.production.js +1 -0
  175. package/ToggleCheckbox.development.js +542 -0
  176. package/ToggleCheckbox.js +9 -0
  177. package/ToggleCheckbox.production.js +1 -0
  178. package/ToggleInput.development.js +745 -0
  179. package/ToggleInput.js +9 -0
  180. package/ToggleInput.production.js +1 -0
  181. package/Tooltip.development.js +588 -0
  182. package/Tooltip.js +9 -0
  183. package/Tooltip.production.js +1 -0
  184. package/Typography.development.js +276 -0
  185. package/Typography.js +9 -0
  186. package/Typography.production.js +1 -0
  187. package/VisuallyHidden.development.js +146 -0
  188. package/VisuallyHidden.js +9 -0
  189. package/VisuallyHidden.production.js +1 -0
  190. package/index.development.js +4338 -0
  191. package/index.js +9 -0
  192. package/index.production.js +1 -0
  193. package/package.json +2 -2
  194. package/themes.development.js +254 -0
  195. package/themes.js +9 -0
  196. package/themes.production.js +1 -0
  197. package/v2/Breadcrumbs.development.js +906 -0
  198. package/v2/Breadcrumbs.js +9 -0
  199. package/v2/Breadcrumbs.production.js +1 -0
  200. package/v2/Link.development.js +505 -0
  201. package/v2/Link.js +9 -0
  202. package/v2/Link.production.js +1 -0
  203. package/v2/LinkButton.development.js +586 -0
  204. package/v2/LinkButton.js +9 -0
  205. package/v2/LinkButton.production.js +1 -0
  206. package/v2/MainNav.development.js +970 -0
  207. package/v2/MainNav.js +9 -0
  208. package/v2/MainNav.production.js +1 -0
  209. package/v2/Pagination.development.js +600 -0
  210. package/v2/Pagination.js +9 -0
  211. package/v2/Pagination.production.js +1 -0
  212. package/v2/SimpleMenu.development.js +834 -0
  213. package/v2/SimpleMenu.js +9 -0
  214. package/v2/SimpleMenu.production.js +1 -0
  215. package/v2/SubNav.development.js +1136 -0
  216. package/v2/SubNav.js +9 -0
  217. package/v2/SubNav.production.js +1 -0
  218. package/v2/index.development.js +1740 -0
  219. package/v2/index.js +9 -0
  220. package/v2/index.production.js +1 -0
  221. package/v2/package.json +81 -0
  222. package/.eslintignore +0 -3
  223. package/.eslintrc.js +0 -38
  224. package/.prettierrc.js +0 -7
  225. package/.storybook/components/Theme.js +0 -28
  226. package/.storybook/main.js +0 -13
  227. package/.storybook/manager.js +0 -12
  228. package/.storybook/preview.js +0 -42
  229. package/.storybook/utils/createCustomTheme.js +0 -26
  230. package/LICENSE +0 -20
  231. package/__mocks__/fileMock.js +0 -1
  232. package/__mocks__/styleMock.js +0 -1
  233. package/babel.config.js +0 -5
  234. package/createIndexFiles.js +0 -34
  235. package/global-setup.js +0 -4
  236. package/jest.config.js +0 -17
  237. package/playwright.config.js +0 -39
  238. package/src/Accordion/Accordion.js +0 -148
  239. package/src/Accordion/Accordion.stories.mdx +0 -327
  240. package/src/Accordion/AccordionContent.js +0 -26
  241. package/src/Accordion/AccordionContext.js +0 -5
  242. package/src/Accordion/AccordionGroup.js +0 -114
  243. package/src/Accordion/AccordionToggle.js +0 -192
  244. package/src/Accordion/__tests__/Accordion.e2e.js +0 -32
  245. package/src/Accordion/__tests__/AccordionKeyboard.e2e.js +0 -73
  246. package/src/Accordion/index.js +0 -4
  247. package/src/Accordion/utils.js +0 -15
  248. package/src/Alert/Alert.js +0 -144
  249. package/src/Alert/Alert.stories.mdx +0 -135
  250. package/src/Alert/__tests__/Alert.e2e.js +0 -39
  251. package/src/Alert/index.js +0 -1
  252. package/src/Alert/utils.js +0 -35
  253. package/src/Avatar/Avatar.js +0 -110
  254. package/src/Avatar/Avatar.stories.mdx +0 -67
  255. package/src/Avatar/AvatarGroup.js +0 -9
  256. package/src/Avatar/__tests__/Avatar.e2e.js +0 -23
  257. package/src/Avatar/__tests__/Avatar.spec.js +0 -153
  258. package/src/Avatar/constants.js +0 -2
  259. package/src/Avatar/index.js +0 -2
  260. package/src/Badge/Badge.js +0 -41
  261. package/src/Badge/Badge.stories.mdx +0 -57
  262. package/src/Badge/__tests__/Badge.e2e.js +0 -23
  263. package/src/Badge/index.js +0 -1
  264. package/src/BaseButton/BaseButton.js +0 -46
  265. package/src/BaseButton/BaseButton.stories.mdx +0 -32
  266. package/src/BaseButton/__tests__/BaseButton.e2e.js +0 -23
  267. package/src/BaseButton/index.js +0 -1
  268. package/src/BaseCheckbox/BaseCheckbox.js +0 -133
  269. package/src/BaseCheckbox/BaseCheckbox.stories.mdx +0 -107
  270. package/src/BaseCheckbox/__tests__/BaseCheckbox.e2e.js +0 -94
  271. package/src/BaseCheckbox/assets/checkmark-black.svg +0 -6
  272. package/src/BaseCheckbox/assets/checkmark.svg +0 -6
  273. package/src/BaseCheckbox/index.js +0 -1
  274. package/src/BaseCheckbox/utils.js +0 -7
  275. package/src/BaseLink/BaseLink.js +0 -38
  276. package/src/BaseLink/BaseLink.stories.mdx +0 -34
  277. package/src/BaseLink/__tests__/BaseLink.e2e.js +0 -23
  278. package/src/BaseLink/__tests__/BaseLink.spec.js +0 -26
  279. package/src/BaseLink/index.js +0 -1
  280. package/src/BaseRadio/BaseRadio.js +0 -69
  281. package/src/BaseRadio/BaseRadio.stories.mdx +0 -110
  282. package/src/BaseRadio/RadioGroup.js +0 -36
  283. package/src/BaseRadio/__tests__/BaseRadio.e2e.js +0 -90
  284. package/src/BaseRadio/context.js +0 -3
  285. package/src/BaseRadio/index.js +0 -2
  286. package/src/BaseRadio/utils.js +0 -30
  287. package/src/Box/Box.js +0 -104
  288. package/src/Box/Box.stories.mdx +0 -57
  289. package/src/Box/BoxProps.js +0 -99
  290. package/src/Box/__tests__/Box.e2e.js +0 -23
  291. package/src/Box/__tests__/Box.spec.js +0 -36
  292. package/src/Box/index.js +0 -1
  293. package/src/Breadcrumbs/Breadcrumbs.js +0 -58
  294. package/src/Breadcrumbs/Breadcrumbs.stories.mdx +0 -47
  295. package/src/Breadcrumbs/__tests__/Breadcrumbs.e2e.js +0 -23
  296. package/src/Breadcrumbs/index.js +0 -1
  297. package/src/Button/Button.js +0 -138
  298. package/src/Button/Button.stories.mdx +0 -216
  299. package/src/Button/__tests__/Button.e2e.js +0 -89
  300. package/src/Button/__tests__/utils.spec.js +0 -19
  301. package/src/Button/constants.js +0 -12
  302. package/src/Button/index.js +0 -1
  303. package/src/Button/utils.js +0 -170
  304. package/src/Card/Card.js +0 -35
  305. package/src/Card/Card.stories.mdx +0 -202
  306. package/src/Card/CardAction.js +0 -13
  307. package/src/Card/CardAsset.js +0 -49
  308. package/src/Card/CardBadge.js +0 -18
  309. package/src/Card/CardBody.js +0 -11
  310. package/src/Card/CardCheckbox.js +0 -14
  311. package/src/Card/CardContent.js +0 -16
  312. package/src/Card/CardContext.js +0 -5
  313. package/src/Card/CardHeader.js +0 -12
  314. package/src/Card/CardTimer.js +0 -23
  315. package/src/Card/CardTitle.js +0 -12
  316. package/src/Card/__tests__/Card.e2e.js +0 -164
  317. package/src/Card/index.js +0 -10
  318. package/src/Card/story-assets/first.jpg +0 -0
  319. package/src/CarouselInput/Carousel.js +0 -138
  320. package/src/CarouselInput/Carousel.stories.mdx +0 -149
  321. package/src/CarouselInput/CarouselActions.js +0 -6
  322. package/src/CarouselInput/CarouselImage.js +0 -39
  323. package/src/CarouselInput/CarouselInput.js +0 -80
  324. package/src/CarouselInput/CarouselSlide.js +0 -32
  325. package/src/CarouselInput/__tests__/CarouselImage.e2e.js +0 -15
  326. package/src/CarouselInput/__tests__/CarouselInput.e2e.js +0 -48
  327. package/src/CarouselInput/index.js +0 -5
  328. package/src/CarouselInput/story-assets/first.jpg +0 -0
  329. package/src/Checkbox/Checkbox.js +0 -63
  330. package/src/Checkbox/Checkbox.stories.mdx +0 -190
  331. package/src/Checkbox/__tests__/Checkbox.e2e.js +0 -96
  332. package/src/Checkbox/index.js +0 -1
  333. package/src/Combobox/Combobox.js +0 -421
  334. package/src/Combobox/Combobox.stories.mdx +0 -191
  335. package/src/Combobox/ComboboxList.js +0 -22
  336. package/src/Combobox/ComboboxOption.js +0 -36
  337. package/src/Combobox/__tests__/Combobox.e2e.js +0 -133
  338. package/src/Combobox/__tests__/utils.spec.js +0 -94
  339. package/src/Combobox/components.js +0 -69
  340. package/src/Combobox/index.js +0 -2
  341. package/src/Combobox/utils.js +0 -97
  342. package/src/DatePicker/DatePicker.js +0 -132
  343. package/src/DatePicker/DatePicker.stories.mdx +0 -172
  344. package/src/DatePicker/DatePickerCalendar.js +0 -134
  345. package/src/DatePicker/DatePickerTd.js +0 -51
  346. package/src/DatePicker/DatePickerTh.js +0 -39
  347. package/src/DatePicker/__tests__/DatePicker.e2e.js +0 -94
  348. package/src/DatePicker/__tests__/DatePicker.spec.js +0 -40
  349. package/src/DatePicker/compareDates.js +0 -9
  350. package/src/DatePicker/components.js +0 -45
  351. package/src/DatePicker/index.js +0 -1
  352. package/src/DatePicker/utils/formatDate.js +0 -5
  353. package/src/DatePicker/utils/generateWeeks.js +0 -58
  354. package/src/DatePicker/utils/getDayOfWeek.js +0 -24
  355. package/src/DatePicker/utils/getMonths.js +0 -10
  356. package/src/DatePicker/utils/getYears.js +0 -19
  357. package/src/DatePicker/utils/index.js +0 -5
  358. package/src/DatePicker/utils/tests/generateWeeks.spec.js +0 -136
  359. package/src/DatePicker/utils/tests/getMonths.spec.js +0 -21
  360. package/src/DatePicker/utils/tests/getYears.spec.js +0 -21
  361. package/src/DateTimePicker/DateTimePicker.js +0 -151
  362. package/src/DateTimePicker/DateTimePicker.stories.mdx +0 -114
  363. package/src/DateTimePicker/DateTimePickerProps.js +0 -85
  364. package/src/DateTimePicker/__tests__/DateTimePicker.e2e.js +0 -103
  365. package/src/DateTimePicker/__tests__/DateTimePicker.spec.js +0 -89
  366. package/src/DateTimePicker/__tests__/__snapshots__/DateTimePicker.spec.js.snap +0 -448
  367. package/src/DateTimePicker/__tests__/parseDate.test.js +0 -10
  368. package/src/DateTimePicker/index.js +0 -1
  369. package/src/DateTimePicker/parseDate.js +0 -11
  370. package/src/Dialog/Dialog.js +0 -86
  371. package/src/Dialog/Dialog.stories.mdx +0 -78
  372. package/src/Dialog/DialogBody.js +0 -36
  373. package/src/Dialog/DialogFooter.js +0 -38
  374. package/src/Dialog/__tests__/Dialog.e2e.js +0 -20
  375. package/src/Dialog/__tests__/Dialog.spec.js +0 -28
  376. package/src/Dialog/index.js +0 -3
  377. package/src/DismissibleLayer/DismissibleLayer.js +0 -87
  378. package/src/DismissibleLayer/DismissibleLayer.stories.mdx +0 -50
  379. package/src/DismissibleLayer/__test__/DimissibleLayer.spec.js +0 -44
  380. package/src/DismissibleLayer/index.js +0 -1
  381. package/src/Divider/Divider.js +0 -26
  382. package/src/Divider/Divider.stories.mdx +0 -55
  383. package/src/Divider/__tests__/Divider.e2e.js +0 -23
  384. package/src/Divider/index.js +0 -1
  385. package/src/EmptyStateLayout/EmptyStateLayout.js +0 -48
  386. package/src/EmptyStateLayout/EmptyStateLayout.stories.mdx +0 -87
  387. package/src/EmptyStateLayout/__tests__/EmptyStateLayout.e2e.js +0 -31
  388. package/src/EmptyStateLayout/index.js +0 -1
  389. package/src/EmptyStateLayout/story-assets/Illo.js +0 -51
  390. package/src/Field/Field.js +0 -29
  391. package/src/Field/Field.stories.mdx +0 -237
  392. package/src/Field/FieldAction.js +0 -25
  393. package/src/Field/FieldContext.js +0 -4
  394. package/src/Field/FieldError.js +0 -17
  395. package/src/Field/FieldHint.js +0 -17
  396. package/src/Field/FieldInput.js +0 -129
  397. package/src/Field/FieldLabel.js +0 -50
  398. package/src/Field/__tests__/Field.e2e.js +0 -61
  399. package/src/Field/index.js +0 -7
  400. package/src/Flex/Flex.js +0 -26
  401. package/src/Flex/Flex.stories.mdx +0 -45
  402. package/src/Flex/FlexProps.js +0 -41
  403. package/src/Flex/__tests__/Flex.e2e.js +0 -23
  404. package/src/Flex/index.js +0 -1
  405. package/src/FocusTrap/ExampleComponent.js +0 -71
  406. package/src/FocusTrap/FocusTrap.js +0 -83
  407. package/src/FocusTrap/FocusTrap.stories.mdx +0 -32
  408. package/src/FocusTrap/__tests__/FocusTrap.e2e.js +0 -126
  409. package/src/FocusTrap/index.js +0 -1
  410. package/src/Grid/Grid.js +0 -30
  411. package/src/Grid/Grid.stories.mdx +0 -112
  412. package/src/Grid/GridContext.js +0 -5
  413. package/src/Grid/GridItem.js +0 -40
  414. package/src/Grid/__tests__/Grid.e2e.js +0 -23
  415. package/src/Grid/index.js +0 -2
  416. package/src/Icon/Icon.js +0 -27
  417. package/src/Icon/Icon.stories.mdx +0 -41
  418. package/src/Icon/__tests__/Icon.e2e.js +0 -21
  419. package/src/Icon/index.js +0 -1
  420. package/src/IconButton/IconButton.js +0 -175
  421. package/src/IconButton/IconButton.stories.mdx +0 -153
  422. package/src/IconButton/__tests__/IconButton.e2e.js +0 -57
  423. package/src/IconButton/index.js +0 -1
  424. package/src/KeyboardNavigable/KeyboardNavigable.js +0 -96
  425. package/src/KeyboardNavigable/index.js +0 -1
  426. package/src/Layout/ActionLayout.js +0 -40
  427. package/src/Layout/ContentLayout.js +0 -15
  428. package/src/Layout/GridLayout.js +0 -12
  429. package/src/Layout/GridLayout.stories.mdx +0 -36
  430. package/src/Layout/HeaderLayout.js +0 -170
  431. package/src/Layout/HeaderLayout.stories.mdx +0 -175
  432. package/src/Layout/Layout.js +0 -31
  433. package/src/Layout/Layout.stories.mdx +0 -240
  434. package/src/Layout/TwoColsLayout.js +0 -26
  435. package/src/Layout/TwoColsLayout.stories.mdx +0 -46
  436. package/src/Layout/__tests__/GridLayout.e2e.js +0 -23
  437. package/src/Layout/__tests__/HeaderLayout.e2e.js +0 -83
  438. package/src/Layout/__tests__/Layout.e2e.js +0 -23
  439. package/src/Layout/__tests__/TwoColsLayout.e2e.js +0 -23
  440. package/src/Layout/index.js +0 -6
  441. package/src/Link/Link.js +0 -105
  442. package/src/Link/Link.stories.mdx +0 -57
  443. package/src/Link/__tests__/Link.e2e.js +0 -23
  444. package/src/Link/index.js +0 -1
  445. package/src/LinkButton/LinkButton.js +0 -113
  446. package/src/LinkButton/LinkButton.stories.mdx +0 -153
  447. package/src/LinkButton/__tests__/LinkButton.e2e.js +0 -89
  448. package/src/LinkButton/index.js +0 -1
  449. package/src/LiveRegions/LiveRegions.js +0 -13
  450. package/src/LiveRegions/LiveRegions.stories.mdx +0 -76
  451. package/src/LiveRegions/StoryComponent.js +0 -26
  452. package/src/LiveRegions/__tests__/LiveRegions.spec.js +0 -200
  453. package/src/LiveRegions/constants.js +0 -5
  454. package/src/LiveRegions/index.js +0 -1
  455. package/src/LiveRegions/useNotifyAT.js +0 -39
  456. package/src/Loader/Loader.js +0 -40
  457. package/src/Loader/Loader.stories.mdx +0 -48
  458. package/src/Loader/__tests__/Loader.e2e.js +0 -23
  459. package/src/Loader/assets/loader.svg +0 -3
  460. package/src/Loader/index.js +0 -1
  461. package/src/Main/Main.js +0 -24
  462. package/src/Main/SkipToContent.js +0 -29
  463. package/src/Main/index.js +0 -2
  464. package/src/MainNav/MainNav.js +0 -31
  465. package/src/MainNav/MainNav.stories.mdx +0 -197
  466. package/src/MainNav/MainNavContext.js +0 -5
  467. package/src/MainNav/NavBrand.js +0 -76
  468. package/src/MainNav/NavCondense.js +0 -44
  469. package/src/MainNav/NavLink.js +0 -143
  470. package/src/MainNav/NavSection.js +0 -53
  471. package/src/MainNav/NavSections.js +0 -20
  472. package/src/MainNav/NavUser.js +0 -53
  473. package/src/MainNav/__tests__/MainNav.e2e.js +0 -23
  474. package/src/MainNav/index.js +0 -7
  475. package/src/MainNav/strapi-img.png +0 -0
  476. package/src/ModalLayout/ModalBody.js +0 -12
  477. package/src/ModalLayout/ModalContext.js +0 -4
  478. package/src/ModalLayout/ModalFooter.js +0 -37
  479. package/src/ModalLayout/ModalHeader.js +0 -35
  480. package/src/ModalLayout/ModalLayout.js +0 -58
  481. package/src/ModalLayout/ModalLayout.stories.mdx +0 -100
  482. package/src/ModalLayout/__tests__/ModalLayout.e2e.js +0 -19
  483. package/src/ModalLayout/__tests__/ModalLayout.spec.js +0 -596
  484. package/src/ModalLayout/index.js +0 -4
  485. package/src/NumberInput/NumberInput.js +0 -253
  486. package/src/NumberInput/NumberInput.stories.mdx +0 -319
  487. package/src/NumberInput/__tests__/NumberInput.e2e.js +0 -194
  488. package/src/NumberInput/index.js +0 -1
  489. package/src/Pagination/Pagination.js +0 -37
  490. package/src/Pagination/Pagination.stories.mdx +0 -97
  491. package/src/Pagination/PaginationContext.js +0 -4
  492. package/src/Pagination/__tests__/Pagination.e2e.js +0 -23
  493. package/src/Pagination/assets/next.svg +0 -3
  494. package/src/Pagination/assets/previous.svg +0 -3
  495. package/src/Pagination/components.js +0 -147
  496. package/src/Pagination/index.js +0 -2
  497. package/src/Popover/Popover.js +0 -167
  498. package/src/Popover/Popover.stories.mdx +0 -167
  499. package/src/Popover/__tests__/Popover.e2e.js +0 -48
  500. package/src/Popover/__tests__/Popover.spec.js +0 -153
  501. package/src/Popover/index.js +0 -1
  502. package/src/Portal/Portal.js +0 -25
  503. package/src/Portal/Portal.stories.mdx +0 -33
  504. package/src/Portal/__tests__/Portal.e2e.js +0 -23
  505. package/src/Portal/index.js +0 -1
  506. package/src/ProgressBar/ProgressBar.js +0 -57
  507. package/src/ProgressBar/ProgressBar.stories.mdx +0 -47
  508. package/src/ProgressBar/__tests__/ProgressBar.e2e.js +0 -41
  509. package/src/ProgressBar/index.js +0 -1
  510. package/src/Radio/Radio.js +0 -25
  511. package/src/Radio/Radio.stories.mdx +0 -66
  512. package/src/Radio/__tests__/Radio.e2e.js +0 -66
  513. package/src/Radio/__tests__/Radio.spec.js +0 -56
  514. package/src/Radio/index.js +0 -2
  515. package/src/RawTable/RawCell.js +0 -182
  516. package/src/RawTable/RawTable.js +0 -123
  517. package/src/RawTable/RawTable.stories.mdx +0 -258
  518. package/src/RawTable/RawTableContext.js +0 -10
  519. package/src/RawTable/RawTbody.js +0 -18
  520. package/src/RawTable/RawThead.js +0 -15
  521. package/src/RawTable/RawTr.js +0 -20
  522. package/src/RawTable/__tests__/RawTable.e2e.js +0 -344
  523. package/src/RawTable/focusFocusable.js +0 -7
  524. package/src/RawTable/index.js +0 -5
  525. package/src/Searchbar/SearchForm.js +0 -3
  526. package/src/Searchbar/Searchbar.js +0 -103
  527. package/src/Searchbar/Searchbar.stories.mdx +0 -115
  528. package/src/Searchbar/__tests__/Searchbar.e2e.js +0 -52
  529. package/src/Searchbar/index.js +0 -2
  530. package/src/Select/MultiSelectNested.js +0 -31
  531. package/src/Select/OptGroup.js +0 -27
  532. package/src/Select/Option.js +0 -123
  533. package/src/Select/Select.js +0 -318
  534. package/src/Select/Select.stories.mdx +0 -362
  535. package/src/Select/SelectButton.js +0 -77
  536. package/src/Select/SelectList.js +0 -113
  537. package/src/Select/SelectTags.js +0 -50
  538. package/src/Select/__tests__/Select.e2e.js +0 -238
  539. package/src/Select/__tests__/Select.spec.js +0 -1020
  540. package/src/Select/components.js +0 -51
  541. package/src/Select/constants.js +0 -6
  542. package/src/Select/hooks/useButtonRef.js +0 -31
  543. package/src/Select/hooks/useListRef.js +0 -35
  544. package/src/Select/index.js +0 -5
  545. package/src/Select/utils.js +0 -27
  546. package/src/SimpleMenu/SimpleMenu.js +0 -252
  547. package/src/SimpleMenu/SimpleMenu.stories.mdx +0 -220
  548. package/src/SimpleMenu/__tests__/SimpleMenu.e2e.js +0 -98
  549. package/src/SimpleMenu/__tests__/SimpleMenu.spec.js +0 -48
  550. package/src/SimpleMenu/index.js +0 -1
  551. package/src/SimpleMenu/utils.js +0 -12
  552. package/src/Stack/Stack.js +0 -75
  553. package/src/Stack/Stack.stories.mdx +0 -66
  554. package/src/Stack/__tests__/Stack.e2e.js +0 -43
  555. package/src/Stack/index.js +0 -1
  556. package/src/Status/Status.js +0 -76
  557. package/src/Status/Status.stories.mdx +0 -80
  558. package/src/Status/__tests__/Status.e2e.js +0 -23
  559. package/src/Status/__tests__/Status.spec.js +0 -48
  560. package/src/Status/index.js +0 -1
  561. package/src/SubNav/SubNav.js +0 -25
  562. package/src/SubNav/SubNav.stories.mdx +0 -234
  563. package/src/SubNav/SubNavHeader.js +0 -122
  564. package/src/SubNav/SubNavLink.js +0 -92
  565. package/src/SubNav/SubNavLinkSection.js +0 -75
  566. package/src/SubNav/SubNavSection.js +0 -75
  567. package/src/SubNav/SubNavSectionLabel.js +0 -67
  568. package/src/SubNav/SubNavSections.js +0 -20
  569. package/src/SubNav/__tests__/SubNav.e2e.js +0 -23
  570. package/src/SubNav/index.js +0 -6
  571. package/src/Switch/Switch.js +0 -97
  572. package/src/Switch/Switch.stories.mdx +0 -76
  573. package/src/Switch/__tests__/Switch.e2e.js +0 -33
  574. package/src/Switch/index.js +0 -1
  575. package/src/Table/Cell.js +0 -49
  576. package/src/Table/TFooter.js +0 -58
  577. package/src/Table/Table.js +0 -96
  578. package/src/Table/Table.stories.mdx +0 -330
  579. package/src/Table/Tbody.js +0 -13
  580. package/src/Table/Thead.js +0 -11
  581. package/src/Table/Tr.js +0 -28
  582. package/src/Table/__tests__/Table.e2e.js +0 -41
  583. package/src/Table/index.js +0 -6
  584. package/src/Tabs/TabGroup.js +0 -46
  585. package/src/Tabs/TabPanels.js +0 -32
  586. package/src/Tabs/Tabs.js +0 -227
  587. package/src/Tabs/Tabs.stories.mdx +0 -211
  588. package/src/Tabs/TabsContext.js +0 -5
  589. package/src/Tabs/__tests__/Tabs.e2e.js +0 -253
  590. package/src/Tabs/components.js +0 -66
  591. package/src/Tabs/index.js +0 -3
  592. package/src/Tabs/useTabsFocus.js +0 -28
  593. package/src/Tag/Tag.js +0 -72
  594. package/src/Tag/Tag.stories.mdx +0 -47
  595. package/src/Tag/__tests__/Tag.e2e.js +0 -37
  596. package/src/Tag/index.js +0 -1
  597. package/src/TextButton/TextButton.js +0 -102
  598. package/src/TextButton/TextButton.stories.mdx +0 -71
  599. package/src/TextButton/__tests__/TextButton.e2e.js +0 -23
  600. package/src/TextButton/index.js +0 -1
  601. package/src/TextInput/TextInput.js +0 -67
  602. package/src/TextInput/TextInput.stories.mdx +0 -228
  603. package/src/TextInput/__tests__/TextInput.e2e.js +0 -73
  604. package/src/TextInput/index.js +0 -1
  605. package/src/Textarea/Textarea.js +0 -74
  606. package/src/Textarea/Textarea.stories.mdx +0 -105
  607. package/src/Textarea/TextareaInput.js +0 -77
  608. package/src/Textarea/__tests__/Textarea.e2e.js +0 -37
  609. package/src/Textarea/index.js +0 -1
  610. package/src/ThemeProvider/ThemeProvider.js +0 -193
  611. package/src/ThemeProvider/hooks.js +0 -5
  612. package/src/ThemeProvider/index.js +0 -2
  613. package/src/TimePicker/TimePicker.js +0 -128
  614. package/src/TimePicker/TimePicker.stories.mdx +0 -171
  615. package/src/TimePicker/__tests__/TimePicker.e2e.js +0 -37
  616. package/src/TimePicker/__tests__/TimePicker.spec.js +0 -2099
  617. package/src/TimePicker/index.js +0 -1
  618. package/src/ToggleCheckbox/ToggleCheckbox.js +0 -169
  619. package/src/ToggleCheckbox/ToggleCheckbox.stories.mdx +0 -96
  620. package/src/ToggleCheckbox/__tests__/ToggleCheckbox.e2e.js +0 -59
  621. package/src/ToggleCheckbox/index.js +0 -1
  622. package/src/ToggleInput/ToggleInput.js +0 -89
  623. package/src/ToggleInput/ToggleInput.stories.mdx +0 -171
  624. package/src/ToggleInput/__tests__/ToggleInput.e2e.js +0 -109
  625. package/src/ToggleInput/index.js +0 -1
  626. package/src/Tooltip/Tooltip.js +0 -72
  627. package/src/Tooltip/Tooltip.stories.mdx +0 -127
  628. package/src/Tooltip/__tests__/Tooltip.e2e.js +0 -33
  629. package/src/Tooltip/__tests__/Tooltip.spec.js +0 -306
  630. package/src/Tooltip/hooks/useTooltipHandlers.js +0 -39
  631. package/src/Tooltip/hooks/useTooltipLayout.js +0 -21
  632. package/src/Tooltip/index.js +0 -1
  633. package/src/Tooltip/utils/__tests__/positionTooltip.spec.js +0 -114
  634. package/src/Tooltip/utils/positionTooltip.js +0 -83
  635. package/src/Typography/Typography.js +0 -24
  636. package/src/Typography/Typography.stories.mdx +0 -86
  637. package/src/Typography/TypographyProps.js +0 -30
  638. package/src/Typography/__tests__/Typography.e2e.js +0 -25
  639. package/src/Typography/__tests__/Typography.spec.js +0 -32
  640. package/src/Typography/__tests__/__snapshots__/Typography.spec.js.snap +0 -103
  641. package/src/Typography/constants.js +0 -9
  642. package/src/Typography/index.js +0 -1
  643. package/src/Typography/utils.js +0 -69
  644. package/src/VisuallyHidden/VisuallyHidden.js +0 -12
  645. package/src/VisuallyHidden/index.js +0 -1
  646. package/src/helpers/__tests__/useId.spec.js +0 -39
  647. package/src/helpers/escapeSelector.js +0 -1
  648. package/src/helpers/genId.js +0 -2
  649. package/src/helpers/getDefaultLocale.js +0 -33
  650. package/src/helpers/getFocusableNodes.js +0 -35
  651. package/src/helpers/handleResponsiveValues.js +0 -34
  652. package/src/helpers/keyboardKeys.js +0 -17
  653. package/src/helpers/setOpacity.js +0 -4
  654. package/src/helpers/setTabIndexOnFirstItem.js +0 -7
  655. package/src/helpers/useElementOnScreen.js +0 -27
  656. package/src/helpers/useId.js +0 -8
  657. package/src/helpers/useIntersection.js +0 -31
  658. package/src/helpers/useLockScroll.js +0 -14
  659. package/src/helpers/usePrevious.js +0 -9
  660. package/src/helpers/useResizeObserver.js +0 -22
  661. package/src/index.js +0 -65
  662. package/src/themes/ColorButton.js +0 -24
  663. package/src/themes/Theme.stories.mdx +0 -227
  664. package/src/themes/__tests__/extendTheme.spec.js +0 -119
  665. package/src/themes/colors.js +0 -46
  666. package/src/themes/common-theme.js +0 -19
  667. package/src/themes/darkTheme/dark-colors.js +0 -49
  668. package/src/themes/darkTheme/dark-shadows.js +0 -10
  669. package/src/themes/darkTheme/index.js +0 -9
  670. package/src/themes/extendTheme.js +0 -60
  671. package/src/themes/index.js +0 -4
  672. package/src/themes/lightTheme/index.js +0 -9
  673. package/src/themes/lightTheme/light-colors.js +0 -49
  674. package/src/themes/lightTheme/light-shadows.js +0 -10
  675. package/src/themes/sizes.js +0 -10
  676. package/src/themes/utils.js +0 -50
  677. package/src/v2/Breadcrumbs/Breadcrumbs.js +0 -45
  678. package/src/v2/Breadcrumbs/Breadcrumbs.stories.mdx +0 -129
  679. package/src/v2/Breadcrumbs/Crumb.js +0 -30
  680. package/src/v2/Breadcrumbs/CrumbLink.js +0 -33
  681. package/src/v2/Breadcrumbs/CrumbSimpleMenu.js +0 -30
  682. package/src/v2/Breadcrumbs/Divider.js +0 -16
  683. package/src/v2/Breadcrumbs/__tests__/Breadcrumbs.e2e.js +0 -47
  684. package/src/v2/Breadcrumbs/__tests__/Breadcrumbs.spec.js +0 -47
  685. package/src/v2/Breadcrumbs/index.js +0 -4
  686. package/src/v2/Link/Link.js +0 -79
  687. package/src/v2/Link/Link.stories.mdx +0 -113
  688. package/src/v2/Link/__tests__/Link.e2e.js +0 -23
  689. package/src/v2/Link/index.js +0 -1
  690. package/src/v2/LinkButton/LinkButton.js +0 -105
  691. package/src/v2/LinkButton/LinkButton.stories.mdx +0 -153
  692. package/src/v2/LinkButton/__tests__/LinkButton.e2e.js +0 -89
  693. package/src/v2/LinkButton/index.js +0 -1
  694. package/src/v2/MainNav/MainNav.js +0 -31
  695. package/src/v2/MainNav/MainNav.stories.mdx +0 -197
  696. package/src/v2/MainNav/MainNavContext.js +0 -5
  697. package/src/v2/MainNav/NavBrand.js +0 -79
  698. package/src/v2/MainNav/NavCondense.js +0 -44
  699. package/src/v2/MainNav/NavLink.js +0 -143
  700. package/src/v2/MainNav/NavSection.js +0 -53
  701. package/src/v2/MainNav/NavSections.js +0 -20
  702. package/src/v2/MainNav/NavUser.js +0 -53
  703. package/src/v2/MainNav/__tests__/MainNav.e2e.js +0 -23
  704. package/src/v2/MainNav/index.js +0 -7
  705. package/src/v2/MainNav/strapi-img.png +0 -0
  706. package/src/v2/Pagination/Pagination.js +0 -37
  707. package/src/v2/Pagination/Pagination.stories.mdx +0 -97
  708. package/src/v2/Pagination/PaginationContext.js +0 -4
  709. package/src/v2/Pagination/__tests__/Pagination.e2e.js +0 -23
  710. package/src/v2/Pagination/assets/next.svg +0 -3
  711. package/src/v2/Pagination/assets/previous.svg +0 -3
  712. package/src/v2/Pagination/components.js +0 -136
  713. package/src/v2/Pagination/index.js +0 -2
  714. package/src/v2/SimpleMenu/SimpleMenu.js +0 -252
  715. package/src/v2/SimpleMenu/SimpleMenu.stories.mdx +0 -220
  716. package/src/v2/SimpleMenu/__tests__/SimpleMenu.e2e.js +0 -100
  717. package/src/v2/SimpleMenu/__tests__/SimpleMenu.spec.js +0 -48
  718. package/src/v2/SimpleMenu/index.js +0 -1
  719. package/src/v2/SimpleMenu/utils.js +0 -12
  720. package/src/v2/SubNav/SubNav.js +0 -25
  721. package/src/v2/SubNav/SubNav.stories.mdx +0 -234
  722. package/src/v2/SubNav/SubNavHeader.js +0 -122
  723. package/src/v2/SubNav/SubNavLink.js +0 -95
  724. package/src/v2/SubNav/SubNavLinkSection.js +0 -75
  725. package/src/v2/SubNav/SubNavSection.js +0 -75
  726. package/src/v2/SubNav/SubNavSectionLabel.js +0 -67
  727. package/src/v2/SubNav/SubNavSections.js +0 -20
  728. package/src/v2/SubNav/__tests__/SubNav.e2e.js +0 -23
  729. package/src/v2/SubNav/index.js +0 -6
  730. package/src/v2/index.js +0 -7
  731. package/test-bundler.js +0 -35
  732. package/tests/check-exports.spec.js +0 -36
  733. package/webpack.config.js +0 -84
@@ -1,190 +0,0 @@
1
- <!--- Button.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 { Checkbox } from './Checkbox';
7
-
8
- <Meta title="Design System/Components/Checkbox" component={Checkbox} />
9
-
10
- # Checkbox
11
-
12
- Checkboxes allow users to choose one or multiple values from a range of options.
13
-
14
- **Best practices**
15
-
16
- - Content of the checkbox should be concise and straightforward.
17
- - Use the Radio button component if the user should select only one value.
18
- - Start all checkbox labels with a capital letter.
19
- - Avoid using hint state in tables.
20
-
21
- [View source](https://github.com/strapi/design-system/tree/main/packages/strapi-design-system/src/Checkbox)
22
-
23
- ## Imports
24
-
25
- ```js
26
- import { Checkbox } from '@strapi/design-system/Checkbox';
27
- ```
28
-
29
- ## Usage
30
-
31
- <Canvas withSource="open">
32
- <Story name="base" parameters={{ docs: { source: { code: '<Checkbox>Label</Checkbox>' } } }}>
33
- {() => {
34
- const [val, setValue] = useState(false);
35
- return (
36
- <Checkbox name="default" onValueChange={(value) => setValue(value)} value={val}>
37
- Label
38
- </Checkbox>
39
- );
40
- }}
41
- </Story>
42
- </Canvas>
43
-
44
- ### Indeterminate checkbox
45
-
46
- <Canvas withSource="open">
47
- <Story
48
- name="indeterminate"
49
- parameters={{
50
- docs: {
51
- source: {
52
- code: `<Checkbox indeterminate>Parent</Checkbox>`,
53
- },
54
- },
55
- }}
56
- >
57
- {() => {
58
- const [checkedItems, setCheckedItems] = useState([true, false]);
59
- const allChecked = checkedItems.every(Boolean);
60
- const isIndeterminate = checkedItems.some(Boolean) && !allChecked;
61
- return (
62
- <ul>
63
- <li>
64
- <Checkbox
65
- id="parent"
66
- name="parent"
67
- indeterminate={isIndeterminate}
68
- onValueChange={(value) => setCheckedItems([value, value])}
69
- value={allChecked}
70
- >
71
- Parent
72
- </Checkbox>
73
- </li>
74
- <li>
75
- <ul>
76
- <li>
77
- <Checkbox
78
- id="child1"
79
- name="child1"
80
- onValueChange={(value) => setCheckedItems([value, checkedItems[1]])}
81
- value={checkedItems[0]}
82
- >
83
- Child 1
84
- </Checkbox>
85
- </li>
86
- <li>
87
- <Checkbox
88
- id="child2"
89
- name="child2"
90
- onValueChange={(value) => setCheckedItems([checkedItems[0], value])}
91
- value={checkedItems[1]}
92
- >
93
- Child 2
94
- </Checkbox>
95
- </li>
96
- </ul>
97
- </li>
98
- </ul>
99
- );
100
- }}
101
- </Story>
102
- </Canvas>
103
-
104
- #### Checked
105
-
106
- Checked state is used to show that an option has been selected.
107
-
108
- #### Indeterminate
109
-
110
- Indeterminate state is used to show partially checked states.
111
-
112
- #### Unchecked
113
-
114
- Unchecked state is used to show that an option has been selected.
115
-
116
- ### Disabled
117
-
118
- Checkboxes can possibily not be available to selection yet. This state can be related to a lack of permission or a need to pursue another action first.
119
-
120
- <Canvas withSource="open">
121
- <Story name="disabled" parameters={{ docs: { source: { code: '<Checkbox disabled>Label</Checkbox>' } } }}>
122
- {() => {
123
- const [val, setValue] = useState(false);
124
- return (
125
- <Checkbox disabled name="default" onValueChange={(value) => setValue(value)} value={val}>
126
- Label
127
- </Checkbox>
128
- );
129
- }}
130
- </Story>
131
- </Canvas>
132
-
133
- ### Hint
134
-
135
- Use hint state to give more information about the purpose of a checkbox.
136
-
137
- <Canvas withSource="open">
138
- <Story
139
- name="hint"
140
- parameters={{ docs: { source: { code: '<Checkbox hint="Description line lorem ipsum">Label</Checkbox>' } } }}
141
- >
142
- {() => {
143
- const [val, setValue] = useState(false);
144
- return (
145
- <Checkbox
146
- hint="Description line lorem ipsum"
147
- name="default"
148
- onValueChange={(value) => setValue(value)}
149
- value={val}
150
- >
151
- Label
152
- </Checkbox>
153
- );
154
- }}
155
- </Story>
156
- </Canvas>
157
-
158
- ### Error
159
-
160
- Display an error message.
161
-
162
- <Canvas withSource="open">
163
- <Story
164
- name="error"
165
- parameters={{ docs: { source: { code: '<Checkbox error="Description line lorem ipsum">Label</Checkbox>' } } }}
166
- >
167
- {() => {
168
- const [val, setValue] = useState(false);
169
- return (
170
- <Checkbox
171
- error="Description line lorem ipsum"
172
- name="default"
173
- onValueChange={(value) => setValue(value)}
174
- value={val}
175
- >
176
- Label
177
- </Checkbox>
178
- );
179
- }}
180
- </Story>
181
- </Canvas>
182
-
183
- ## Accessibility
184
-
185
- - Checkbox has role of checkbox.
186
- - When Checkbox has focus, `Space` or `Enter` activates/deactivates it.
187
-
188
- ## Props
189
-
190
- <ArgsTable of={Checkbox} />
@@ -1,96 +0,0 @@
1
- import { injectAxe, checkA11y } from 'axe-playwright';
2
-
3
- import { test, expect } from '@playwright/test';
4
-
5
- test.describe.parallel('Checkbox', () => {
6
- test.describe('light mode', () => {
7
- test.describe('base', () => {
8
- test('verifies A11y on base story', async ({ page }) => {
9
- await page.goto('/iframe.html?id=design-system-components-checkbox--base&viewMode=story');
10
- await injectAxe(page);
11
- await checkA11y(page);
12
- });
13
- });
14
-
15
- test.describe('intermediate', () => {
16
- test.beforeEach(async ({ page }) => {
17
- // This is the URL of the Storybook Iframe
18
- await page.goto('/iframe.html?id=design-system-components-checkbox--indeterminate&viewMode=story');
19
- await injectAxe(page);
20
- });
21
-
22
- test('triggers axe on the document', async ({ page }) => {
23
- await checkA11y(page);
24
- });
25
-
26
- test('moves to the next element when pressing tab and select when pressing the spacebar', async ({
27
- page,
28
- browserName,
29
- }) => {
30
- test.skip(browserName === 'webkit', 'Still working on it');
31
- await page.focus('text="Child 1"');
32
- await page.keyboard.press('Tab');
33
- await page.keyboard.press(' ');
34
-
35
- const secondBox = await page.$('#child2');
36
- if (secondBox) {
37
- expect(await secondBox.isChecked()).toBe(true);
38
- }
39
- });
40
-
41
- test('select the parent element when all child are selected', async ({ page, browserName }) => {
42
- test.skip(browserName === 'webkit', 'Still working on it');
43
- await page.focus('text="Child 1"');
44
- await page.keyboard.press('Tab');
45
- await page.keyboard.press(' ');
46
-
47
- const secondBox = await page.$('#parent');
48
- if (secondBox) {
49
- expect(await secondBox.isChecked()).toBe(true);
50
- }
51
- });
52
- });
53
-
54
- test.describe('hint', () => {
55
- test('verifies A11y errors on the hint page', async ({ page }) => {
56
- await page.goto('/iframe.html?id=design-system-components-checkbox--hint&viewMode=story');
57
- await injectAxe(page);
58
- await checkA11y(page);
59
- });
60
- });
61
-
62
- test.describe('error', () => {
63
- test('verifies A11y errors on the error page', async ({ page }) => {
64
- await page.goto('/iframe.html?id=design-system-components-checkbox--error&viewMode=story');
65
- await injectAxe(page);
66
- await checkA11y(page);
67
- });
68
- });
69
- });
70
-
71
- test.describe('dark mode', () => {
72
- test('base A11y', async ({ page }) => {
73
- await page.goto('/iframe.html?id=design-system-components-checkbox--base&viewMode=story&theme=dark');
74
- await injectAxe(page);
75
- await checkA11y(page);
76
- });
77
-
78
- test('intermediate A11y', async ({ page }) => {
79
- await page.goto('/iframe.html?id=design-system-components-checkbox--indeterminate&viewMode=story&theme=dark');
80
- await injectAxe(page);
81
- await checkA11y(page);
82
- });
83
-
84
- test('hint A11y', async ({ page }) => {
85
- await page.goto('/iframe.html?id=design-system-components-checkbox--hint&viewMode=story&theme=dark');
86
- await injectAxe(page);
87
- await checkA11y(page);
88
- });
89
-
90
- test('error A11y', async ({ page }) => {
91
- await page.goto('/iframe.html?id=design-system-components-checkbox--error&viewMode=story&theme=dark');
92
- await injectAxe(page);
93
- await checkA11y(page);
94
- });
95
- });
96
- });
@@ -1 +0,0 @@
1
- export * from './Checkbox';
@@ -1,421 +0,0 @@
1
- import React, { useEffect, useState, useRef, useLayoutEffect, Children, cloneElement } from 'react';
2
- import PropTypes from 'prop-types';
3
- import { useId } from '../helpers/useId';
4
- import CarretDown from '@strapi/icons/CarretDown';
5
- import Cross from '@strapi/icons/Cross';
6
- import { getActionFromKey, getUpdatedIndex, maintainScrollVisibility, MenuActions, filterOptions } from './utils';
7
-
8
- import { Flex } from '../Flex';
9
- import { CaretBox, IconBox } from '../Select/components';
10
- import { Popover } from '../Popover';
11
- import { Box } from '../Box';
12
- import { Typography } from '../Typography';
13
- import { Loader } from '../Loader/Loader';
14
- import { Input, MainRow, ValueContainer, InputContainer } from './components';
15
- import { ComboboxOption } from './ComboboxOption';
16
- import { ComboboxList } from './ComboboxList';
17
- import { Field, FieldError, FieldHint, FieldLabel } from '../Field';
18
- import { Stack } from '../Stack';
19
- import { KeyboardKeys } from '../helpers/keyboardKeys';
20
- import { VisuallyHidden } from '../VisuallyHidden';
21
-
22
- export const Combobox = ({
23
- children: nodes,
24
- clearLabel,
25
- creatable,
26
- createMessage,
27
- disabled,
28
- error,
29
- hasMoreItems,
30
- hint,
31
- label,
32
- labelAction,
33
- loading,
34
- loadingMessage,
35
- noOptionsMessage,
36
- onChange,
37
- onClear,
38
- onCreateOption,
39
- onInputChange,
40
- onLoadMore,
41
- placeholder,
42
- required,
43
- value,
44
- ...props
45
- }) => {
46
- const getInputValueFromNodes = () =>
47
- nodes.find((node) => node.props?.value.toLowerCase() === value.toLowerCase()).props?.children;
48
-
49
- const [activeIndex, setActiveIndex] = useState(0);
50
- const [selectedIndex, setSelectedIndex] = useState(null);
51
- const [filteredNodes, setFilteredNodes] = useState(nodes);
52
- const [open, setOpen] = useState(false);
53
- const [inputValue, setInputValue] = useState('');
54
-
55
- const activeOptionRef = useRef();
56
- const ignoreBlur = useRef(false);
57
- const inputRef = useRef();
58
- const containerRef = useRef();
59
- const listboxRef = useRef();
60
- const firstUpdate = useRef(true);
61
-
62
- const generatedId = useId('combobox');
63
- const labelId = `${generatedId}-label`;
64
-
65
- if (!label && !props['aria-label']) {
66
- throw new Error('The Combobox component needs a "label" or an "aria-label" props');
67
- }
68
-
69
- // Filter the nodes on input changes.
70
- useEffect(() => {
71
- setFilteredNodes(filterOptions(nodes, inputValue));
72
- }, [inputValue, nodes]);
73
-
74
- // Maintain the scroll visibility
75
- useEffect(() => {
76
- if (open && activeOptionRef.current) {
77
- maintainScrollVisibility(activeOptionRef.current);
78
- }
79
- }, [activeIndex]);
80
-
81
- useLayoutEffect(() => {
82
- if (firstUpdate.current) {
83
- firstUpdate.current = false;
84
- return;
85
- }
86
- }, [value]);
87
-
88
- const activeId = open ? `${generatedId}-${activeIndex}` : '';
89
-
90
- const clearCombobox = () => {
91
- onChange(null);
92
- setInputValue('');
93
- };
94
-
95
- const onInput = (event) => {
96
- if (onInputChange) {
97
- onInputChange(event);
98
- }
99
-
100
- const curValue = inputRef.current.value;
101
- setFilteredNodes(filterOptions(nodes, curValue));
102
- setActiveIndex(0);
103
- setSelectedIndex(null);
104
-
105
- if (inputValue !== curValue) {
106
- setInputValue(curValue);
107
- }
108
-
109
- if (!open) {
110
- updateMenuState(true, false);
111
- }
112
- };
113
-
114
- const onInputKeyDown = (event) => {
115
- const { key } = event;
116
- const max = creatable && inputValue ? filteredNodes.length : filteredNodes.length - 1;
117
- const action = getActionFromKey(key, open);
118
-
119
- if (value && !inputValue && key === KeyboardKeys.BACKSPACE) {
120
- clearCombobox();
121
- }
122
-
123
- switch (action) {
124
- case MenuActions.Next: {
125
- if (activeIndex === max) {
126
- return onOptionChange(0);
127
- }
128
-
129
- return onOptionChange(getUpdatedIndex(activeIndex, max, action));
130
- }
131
- case MenuActions.Previous: {
132
- if (activeIndex === 0) {
133
- return onOptionChange(max);
134
- }
135
-
136
- return onOptionChange(getUpdatedIndex(activeIndex, max, action));
137
- }
138
- case MenuActions.Last:
139
- case MenuActions.First: {
140
- if (activeIndex === max) {
141
- return onOptionChange(0);
142
- }
143
-
144
- return onOptionChange(getUpdatedIndex(activeIndex, max, action));
145
- }
146
- case MenuActions.CloseSelect:
147
- event.preventDefault();
148
- onOptionSelect(activeIndex);
149
- return;
150
- case MenuActions.Close:
151
- event.preventDefault();
152
- return updateMenuState(false);
153
- case MenuActions.Open:
154
- return updateMenuState(true);
155
- default:
156
- return;
157
- }
158
- };
159
-
160
- const onInputBlur = (e) => {
161
- e.preventDefault();
162
- if (value && !ignoreBlur.current) {
163
- setInputValue('');
164
- }
165
-
166
- if (ignoreBlur.current) {
167
- ignoreBlur.current = false;
168
- return;
169
- }
170
-
171
- updateMenuState(false, false);
172
- };
173
-
174
- const onOptionChange = (index) => {
175
- setActiveIndex(index);
176
- };
177
-
178
- const onOptionClick = (index) => {
179
- onOptionChange(index);
180
- onOptionSelect(index);
181
- };
182
-
183
- const onOptionMouseDown = () => {
184
- ignoreBlur.current = true;
185
- };
186
-
187
- const onOptionSelect = (index) => {
188
- const selected = filteredNodes[index];
189
- setInputValue('');
190
-
191
- if (selected) {
192
- onChange(selected.props.value);
193
- return updateMenuState(false);
194
- }
195
-
196
- if (creatable) {
197
- onCreateOption(inputValue);
198
- updateMenuState(false);
199
- }
200
- };
201
-
202
- const updateMenuState = (open, callFocus = true) => {
203
- setOpen(open);
204
- callFocus && inputRef.current.focus();
205
- };
206
-
207
- const filteredNodesClone = Children.toArray(filteredNodes).map((node, i) => {
208
- const isActive = activeIndex === i;
209
-
210
- return cloneElement(node, {
211
- id: `${generatedId}-${i}`,
212
- 'aria-selected': selectedIndex === i ? true : false,
213
- 'aria-posinset': i + 1,
214
- 'aria-setsize': Children.toArray(filteredNodes).length,
215
- ref: (r) => {
216
- if (isActive) activeOptionRef.current = r;
217
- },
218
- onClick: () => onOptionClick(i),
219
- onMouseDown: onOptionMouseDown,
220
- isSelected: isActive,
221
- });
222
- });
223
-
224
- const handleClear = () => {
225
- inputRef.current.focus();
226
-
227
- if (onClear) {
228
- onClear();
229
- }
230
-
231
- clearCombobox();
232
- };
233
-
234
- const handleCaretClick = () => {
235
- inputRef.current.focus();
236
- updateMenuState(true);
237
- };
238
-
239
- const hasOption = () => {
240
- const nodeIndex = filteredNodes.findIndex((node) => node.props?.children === inputValue);
241
- return inputValue && nodeIndex === -1;
242
- };
243
-
244
- const handleClick = (e) => {
245
- e.preventDefault();
246
- updateMenuState(e, true);
247
- };
248
-
249
- return (
250
- <Field hint={hint} error={error} id={generatedId}>
251
- <VisuallyHidden aria-live="polite" aria-atomic="false" aria-relevant="additions text">
252
- {value}
253
- </VisuallyHidden>
254
- <Stack spacing={label || hint || error ? 1 : 0}>
255
- {label && (
256
- <FieldLabel action={labelAction} required={required} id={labelId}>
257
- {label}
258
- </FieldLabel>
259
- )}
260
- <MainRow ref={containerRef} $disabled={disabled} hasError={error}>
261
- <InputContainer wrap="wrap">
262
- {!inputValue && value && (
263
- <ValueContainer id={`${generatedId}-selected-value`}>
264
- <Typography>{getInputValueFromNodes()}</Typography>
265
- </ValueContainer>
266
- )}
267
- <Input
268
- aria-activedescendant={activeId}
269
- aria-autocomplete="list"
270
- aria-controls={`${generatedId}-listbox`}
271
- aria-disabled={disabled}
272
- aria-expanded={open}
273
- aria-haspopup="listbox"
274
- aria-labelledby={label ? labelId : undefined}
275
- id={generatedId}
276
- onBlur={disabled ? undefined : onInputBlur}
277
- onClick={disabled ? undefined : handleClick}
278
- onInput={disabled ? undefined : onInput}
279
- onKeyDown={disabled ? undefined : onInputKeyDown}
280
- placeholder={value ? '' : placeholder}
281
- readOnly={disabled}
282
- ref={inputRef}
283
- role="combobox"
284
- autoComplete="off"
285
- autoCorrect="off"
286
- spellCheck="off"
287
- type="text"
288
- value={inputValue}
289
- />
290
- </InputContainer>
291
- <Flex>
292
- {(value || inputValue) && (
293
- <IconBox
294
- id={`${generatedId}-clear`}
295
- aria-label={clearLabel}
296
- disabled={disabled}
297
- paddingLeft={3}
298
- as="button"
299
- onClick={handleClear}
300
- type="button"
301
- >
302
- <Cross />
303
- </IconBox>
304
- )}
305
- <CaretBox
306
- disabled={disabled}
307
- paddingLeft={3}
308
- aria-hidden
309
- as="button"
310
- onClick={handleCaretClick}
311
- tabIndex={-1}
312
- type="button"
313
- >
314
- <CarretDown />
315
- </CaretBox>
316
- </Flex>
317
- </MainRow>
318
- <FieldHint />
319
- <FieldError />
320
- </Stack>
321
- {open && (
322
- <Popover
323
- id={`${generatedId}-popover`}
324
- source={containerRef}
325
- spacing={4}
326
- fullWidth
327
- intersectionId={`${generatedId}-listbox-popover-intersection`}
328
- onReachEnd={hasMoreItems && !loading ? onLoadMore : undefined}
329
- >
330
- <div
331
- role="listbox"
332
- ref={listboxRef}
333
- id={`${generatedId}-listbox`}
334
- aria-labelledby={label ? labelId : undefined}
335
- >
336
- {(Boolean(filteredNodes.length) || creatable) && (
337
- <>
338
- <ComboboxList activeOptionRef={activeOptionRef} options={filteredNodesClone} />
339
- {hasOption(inputValue) && creatable && (
340
- <ComboboxOption
341
- isSelected={activeIndex === filteredNodes.length}
342
- ref={(r) => {
343
- if (activeIndex === filteredNodes.length) activeOptionRef.current = r;
344
- }}
345
- onMouseDown={onOptionMouseDown}
346
- onClick={() => onOptionSelect()}
347
- taindex={0}
348
- >
349
- {createMessage(inputValue)}
350
- </ComboboxOption>
351
- )}
352
- </>
353
- )}
354
- {!Boolean(filteredNodes.length) && !creatable && !loading && (
355
- <Box paddingLeft={4} paddingRight={4} paddingTop={2} paddingBottom={2} ref={activeOptionRef}>
356
- <Typography textColor="neutral800">{noOptionsMessage(inputValue)}</Typography>
357
- </Box>
358
- )}
359
- {loading && (
360
- <Flex justifyContent="center" alignItems="center" paddingTop={2} paddingBottom={2}>
361
- <Loader small>{loadingMessage}</Loader>
362
- </Flex>
363
- )}
364
- </div>
365
- </Popover>
366
- )}
367
- </Field>
368
- );
369
- };
370
-
371
- export const CreatableCombobox = (props) => <Combobox {...props} creatable />;
372
-
373
- Combobox.defaultProps = CreatableCombobox.defaultProps = {
374
- 'aria-label': undefined,
375
- clearLabel: 'clear',
376
- creatable: false,
377
- createMessage: (value) => `Create "${value}"`,
378
- disabled: false,
379
- error: undefined,
380
- hasMoreItems: false,
381
- hint: undefined,
382
- label: undefined,
383
- loading: false,
384
- loadingMessage: 'Loading content...',
385
- noOptionsMessage: () => 'No results found',
386
- onClear: undefined,
387
- onCreateOption: undefined,
388
- onInputChange: undefined,
389
- onLoadMore: undefined,
390
- placeholder: 'Select or enter a value',
391
- value: undefined,
392
- };
393
-
394
- Combobox.propTypes = {
395
- 'aria-label': PropTypes.string,
396
- children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
397
- clearLabel: PropTypes.string,
398
- creatable: PropTypes.bool,
399
- createMessage: PropTypes.func,
400
- disabled: PropTypes.bool,
401
- error: PropTypes.string,
402
- hasMoreItems: PropTypes.bool,
403
- hint: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.arrayOf(PropTypes.node)]),
404
- label: PropTypes.string,
405
- labelAction: PropTypes.element,
406
- loading: PropTypes.bool,
407
- loadingMessage: PropTypes.string,
408
- noOptionsMessage: PropTypes.func,
409
- onChange: PropTypes.func.isRequired,
410
- onClear: PropTypes.func,
411
- onCreateOption: PropTypes.func,
412
- onInputChange: PropTypes.func,
413
- onLoadMore: PropTypes.func,
414
- placeholder: PropTypes.string,
415
- value: PropTypes.string,
416
- };
417
-
418
- CreatableCombobox.propTypes = {
419
- ...Combobox.propTypes,
420
- onCreateOption: PropTypes.func.isRequired,
421
- };