@sproutsocial/racine 12.20.0 → 12.21.0

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 (621) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +46 -44
  3. package/__flow__/Avatar/index.js +26 -26
  4. package/__flow__/Avatar/index.stories.js +8 -8
  5. package/__flow__/Avatar/index.test.js +13 -13
  6. package/__flow__/Badge/constants.js +14 -14
  7. package/__flow__/Badge/index.js +18 -18
  8. package/__flow__/Badge/index.stories.js +8 -8
  9. package/__flow__/Badge/index.test.js +43 -43
  10. package/__flow__/Badge/styles.js +13 -9
  11. package/__flow__/Banner/index.js +21 -21
  12. package/__flow__/Banner/index.stories.js +56 -68
  13. package/__flow__/Banner/index.test.js +32 -34
  14. package/__flow__/Banner/styles.js +4 -4
  15. package/__flow__/Box/index.js +4 -4
  16. package/__flow__/Box/index.stories.js +58 -51
  17. package/__flow__/Box/index.test.js +7 -7
  18. package/__flow__/Box/styles.js +6 -6
  19. package/__flow__/Breadcrumb/index.js +9 -13
  20. package/__flow__/Breadcrumb/index.stories.js +14 -14
  21. package/__flow__/Breadcrumb/index.test.js +20 -20
  22. package/__flow__/Breadcrumb/styles.js +5 -5
  23. package/__flow__/Button/index.js +23 -23
  24. package/__flow__/Button/index.stories.js +34 -34
  25. package/__flow__/Button/styles.js +11 -11
  26. package/__flow__/Card/index.js +7 -7
  27. package/__flow__/Card/index.stories.js +14 -14
  28. package/__flow__/Card/styles.js +7 -7
  29. package/__flow__/CharacterCounter/index.js +7 -7
  30. package/__flow__/CharacterCounter/index.stories.js +25 -26
  31. package/__flow__/CharacterCounter/index.test.js +11 -11
  32. package/__flow__/CharacterCounter/styles.js +3 -3
  33. package/__flow__/ChartLegend/index.js +7 -7
  34. package/__flow__/ChartLegend/index.stories.js +22 -22
  35. package/__flow__/ChartLegend/index.test.js +27 -27
  36. package/__flow__/ChartLegend/styles.js +7 -7
  37. package/__flow__/Checkbox/index.js +10 -10
  38. package/__flow__/Checkbox/index.stories.js +24 -24
  39. package/__flow__/Checkbox/index.test.js +25 -25
  40. package/__flow__/Checkbox/styles.js +27 -28
  41. package/__flow__/Collapsible/index.js +15 -15
  42. package/__flow__/Collapsible/index.stories.js +13 -13
  43. package/__flow__/Collapsible/index.test.js +27 -27
  44. package/__flow__/Collapsible/styles.js +5 -5
  45. package/__flow__/DatePicker/DateRangePicker.js +5 -8
  46. package/__flow__/DatePicker/DateRangePicker.stories.js +19 -19
  47. package/__flow__/DatePicker/DateRangePicker.test.js +21 -21
  48. package/__flow__/DatePicker/SingleDatePicker.js +6 -9
  49. package/__flow__/DatePicker/SingleDatePicker.stories.js +10 -10
  50. package/__flow__/DatePicker/SingleDatePicker.test.js +21 -23
  51. package/__flow__/DatePicker/StatefulDateRangePicker.js +6 -6
  52. package/__flow__/DatePicker/StatefulSingleDatePicker.js +3 -3
  53. package/__flow__/DatePicker/common.js +13 -13
  54. package/__flow__/DatePicker/index.js +3 -3
  55. package/__flow__/DatePicker/styles.js +42 -42
  56. package/__flow__/Drawer/SlideTransition.js +10 -10
  57. package/__flow__/Drawer/index.js +29 -29
  58. package/__flow__/Drawer/index.stories.js +58 -141
  59. package/__flow__/Drawer/index.test.js +28 -28
  60. package/__flow__/Drawer/styles.js +4 -4
  61. package/__flow__/EmptyState/index.js +5 -5
  62. package/__flow__/EmptyState/index.stories.js +10 -10
  63. package/__flow__/EmptyState/index.test.js +27 -27
  64. package/__flow__/EnumIllustrationNames.js +1 -1
  65. package/__flow__/Fieldset/index.js +14 -14
  66. package/__flow__/Fieldset/index.stories.js +19 -20
  67. package/__flow__/Fieldset/index.test.js +14 -14
  68. package/__flow__/Fieldset/styles.js +5 -5
  69. package/__flow__/FormField/index.js +14 -14
  70. package/__flow__/FormField/index.stories.js +31 -21
  71. package/__flow__/FormField/index.test.js +19 -19
  72. package/__flow__/Icon/deprecatedIcons.js +36 -36
  73. package/__flow__/Icon/index.js +17 -17
  74. package/__flow__/Icon/index.stories.js +30 -30
  75. package/__flow__/Icon/index.test.js +15 -15
  76. package/__flow__/Icon/styles.js +12 -12
  77. package/__flow__/IllustrationViewBoxes.js +1 -1
  78. package/__flow__/Image/index.js +6 -7
  79. package/__flow__/Image/index.stories.js +5 -5
  80. package/__flow__/Image/index.test.js +24 -24
  81. package/__flow__/Image/styles.js +6 -5
  82. package/__flow__/Indicator/index.js +7 -7
  83. package/__flow__/Indicator/index.stories.js +8 -14
  84. package/__flow__/Indicator/index.test.js +6 -6
  85. package/__flow__/Indicator/styles.js +6 -6
  86. package/__flow__/Input/index.js +37 -37
  87. package/__flow__/Input/index.stories.js +96 -189
  88. package/__flow__/Input/index.test.js +117 -117
  89. package/__flow__/Input/styles.js +13 -13
  90. package/__flow__/KeyboardKey/index.js +5 -5
  91. package/__flow__/KeyboardKey/index.stories.js +9 -12
  92. package/__flow__/KeyboardKey/index.test.js +7 -7
  93. package/__flow__/KeyboardKey/styles.js +4 -4
  94. package/__flow__/Label/index.js +6 -6
  95. package/__flow__/Label/index.stories.js +5 -7
  96. package/__flow__/Label/index.test.js +8 -8
  97. package/__flow__/Link/constants.js +4 -4
  98. package/__flow__/Link/index.js +11 -11
  99. package/__flow__/Link/index.stories.js +61 -102
  100. package/__flow__/Link/index.test.js +40 -40
  101. package/__flow__/Link/styles.js +6 -6
  102. package/__flow__/Listbox/index.js +16 -16
  103. package/__flow__/Listbox/index.stories.js +35 -35
  104. package/__flow__/Listbox/index.test.js +63 -65
  105. package/__flow__/Loader/index.js +12 -12
  106. package/__flow__/Loader/index.stories.js +10 -10
  107. package/__flow__/Loader/index.test.js +17 -17
  108. package/__flow__/Loader/styles.js +9 -13
  109. package/__flow__/LoaderButton/index.js +25 -25
  110. package/__flow__/LoaderButton/index.stories.js +7 -7
  111. package/__flow__/LoaderButton/index.test.js +15 -15
  112. package/__flow__/Menu/constants.js +8 -8
  113. package/__flow__/Menu/descendants.js +89 -80
  114. package/__flow__/Menu/hooks.js +22 -22
  115. package/__flow__/Menu/index.flow.js +13 -13
  116. package/__flow__/Menu/index.js +56 -60
  117. package/__flow__/Menu/index.stories.js +19 -19
  118. package/__flow__/Menu/index.test.js +22 -22
  119. package/__flow__/Menu/names.js +4945 -4945
  120. package/__flow__/Menu/styles.js +5 -5
  121. package/__flow__/Message/index.js +33 -33
  122. package/__flow__/Message/index.stories.js +18 -13
  123. package/__flow__/Message/index.test.js +6 -6
  124. package/__flow__/Message/styles.js +15 -15
  125. package/__flow__/Modal/index.js +19 -19
  126. package/__flow__/Modal/index.stories.js +43 -43
  127. package/__flow__/Modal/index.test.js +29 -29
  128. package/__flow__/Modal/styles.js +27 -32
  129. package/__flow__/Numeral/index.js +22 -22
  130. package/__flow__/Numeral/index.stories.js +74 -74
  131. package/__flow__/Numeral/styles.js +3 -3
  132. package/__flow__/Numeral/tests/A11y.test.js +7 -7
  133. package/__flow__/Numeral/tests/abbreviate.test.js +40 -40
  134. package/__flow__/Numeral/tests/currency.test.js +24 -24
  135. package/__flow__/Numeral/tests/defaults.test.js +20 -20
  136. package/__flow__/Numeral/tests/invalid.test.js +9 -9
  137. package/__flow__/Numeral/tests/locale.test.js +38 -38
  138. package/__flow__/Numeral/tests/precision.test.js +76 -76
  139. package/__flow__/Numeral/tests/testNumeral.js +11 -11
  140. package/__flow__/Numeral/tests/zero.test.js +8 -8
  141. package/__flow__/OverflowList/index.flow.js +2 -2
  142. package/__flow__/OverflowList/index.js +12 -12
  143. package/__flow__/OverflowList/index.stories.js +10 -10
  144. package/__flow__/OverflowList/index.test.js +25 -25
  145. package/__flow__/OverflowList/styles.js +5 -5
  146. package/__flow__/PartnerLogo/TypePartnerNames.js +37 -37
  147. package/__flow__/PartnerLogo/index.js +20 -20
  148. package/__flow__/PartnerLogo/index.stories.js +52 -52
  149. package/__flow__/PartnerLogo/styles.js +12 -12
  150. package/__flow__/Popout/index.js +66 -67
  151. package/__flow__/Popout/index.stories.js +101 -82
  152. package/__flow__/Popout/index.test.js +43 -43
  153. package/__flow__/Popout/styles.js +4 -5
  154. package/__flow__/Portal/index.js +9 -9
  155. package/__flow__/Portal/index.stories.js +12 -12
  156. package/__flow__/Radio/index.js +4 -4
  157. package/__flow__/Radio/index.stories.js +11 -11
  158. package/__flow__/Radio/index.test.js +12 -12
  159. package/__flow__/Radio/styles.js +15 -16
  160. package/__flow__/SegmentedControl/index.js +7 -7
  161. package/__flow__/SegmentedControl/index.stories.js +7 -7
  162. package/__flow__/SegmentedControl/index.test.js +29 -29
  163. package/__flow__/SegmentedControl/styles.js +10 -9
  164. package/__flow__/Select/index.js +10 -10
  165. package/__flow__/Select/index.stories.js +33 -69
  166. package/__flow__/Select/index.test.js +14 -14
  167. package/__flow__/Select/styles.js +16 -16
  168. package/__flow__/Skeleton/index.js +4 -4
  169. package/__flow__/Skeleton/index.stories.js +5 -5
  170. package/__flow__/SpotIllustration/illustrationNames.js +118 -117
  171. package/__flow__/SpotIllustration/index.js +15 -11
  172. package/__flow__/SpotIllustration/index.stories.js +18 -18
  173. package/__flow__/SpotIllustration/spotIllustrations/molecule.svg +14 -0
  174. package/__flow__/Stack/index.js +43 -33
  175. package/__flow__/Stack/index.stories.js +41 -91
  176. package/__flow__/Stack/index.test.js +16 -7
  177. package/__flow__/Switch/index.js +8 -8
  178. package/__flow__/Switch/index.stories.js +5 -5
  179. package/__flow__/Switch/index.test.js +25 -29
  180. package/__flow__/Switch/styles.js +13 -9
  181. package/__flow__/Table/index.js +17 -17
  182. package/__flow__/Table/index.stories.js +99 -99
  183. package/__flow__/Table/index.test.js +32 -32
  184. package/__flow__/Table/styles.js +4 -4
  185. package/__flow__/TableCell/index.js +8 -7
  186. package/__flow__/TableCell/index.stories.js +20 -23
  187. package/__flow__/TableCell/index.test.js +11 -11
  188. package/__flow__/TableCell/styles.js +4 -5
  189. package/__flow__/TableHeaderCell/index.js +14 -14
  190. package/__flow__/TableHeaderCell/index.stories.js +35 -30
  191. package/__flow__/TableHeaderCell/index.test.js +11 -11
  192. package/__flow__/TableHeaderCell/styles.js +4 -4
  193. package/__flow__/TableRowAccordion/index.js +8 -8
  194. package/__flow__/TableRowAccordion/index.stories.js +36 -36
  195. package/__flow__/TableRowAccordion/index.test.js +28 -30
  196. package/__flow__/TableRowAccordion/styles.js +11 -7
  197. package/__flow__/Tabs/index.js +11 -11
  198. package/__flow__/Tabs/index.stories.js +28 -54
  199. package/__flow__/Tabs/index.test.js +54 -54
  200. package/__flow__/Tabs/styles.js +6 -7
  201. package/__flow__/Text/index.js +14 -14
  202. package/__flow__/Text/index.stories.js +84 -86
  203. package/__flow__/Text/index.test.js +29 -33
  204. package/__flow__/Text/styles.js +4 -4
  205. package/__flow__/Textarea/index.js +5 -5
  206. package/__flow__/Textarea/index.stories.js +54 -93
  207. package/__flow__/Textarea/index.test.js +30 -30
  208. package/__flow__/Textarea/styles.js +6 -6
  209. package/__flow__/ThemeProvider/index.js +4 -4
  210. package/__flow__/Toast/index.js +23 -23
  211. package/__flow__/Toast/index.stories.js +21 -21
  212. package/__flow__/Toast/styles.js +6 -6
  213. package/__flow__/ToggleHint/index.js +8 -8
  214. package/__flow__/ToggleHint/index.test.js +8 -8
  215. package/__flow__/ToggleHint/styles.js +8 -8
  216. package/__flow__/Token/index.js +10 -10
  217. package/__flow__/Token/index.stories.js +49 -54
  218. package/__flow__/Token/index.test.js +28 -28
  219. package/__flow__/Token/styles.js +11 -11
  220. package/__flow__/TokenInput/index.flow.js +1 -1
  221. package/__flow__/TokenInput/index.js +39 -39
  222. package/__flow__/TokenInput/index.stories.js +121 -128
  223. package/__flow__/TokenInput/styles.js +5 -5
  224. package/__flow__/TokenInput/tests/default/clicking.test.js +13 -13
  225. package/__flow__/TokenInput/tests/default/deleting.test.js +39 -39
  226. package/__flow__/TokenInput/tests/default/focusing.test.js +18 -18
  227. package/__flow__/TokenInput/tests/default/inputting.test.js +23 -23
  228. package/__flow__/TokenInput/tests/default/pasting.test.js +52 -52
  229. package/__flow__/TokenInput/tests/default/rendering.test.js +54 -54
  230. package/__flow__/TokenInput/util.js +4 -4
  231. package/__flow__/Tooltip/index.js +21 -21
  232. package/__flow__/Tooltip/index.stories.js +18 -18
  233. package/__flow__/Tooltip/index.test.js +54 -54
  234. package/__flow__/Tooltip/styles.js +4 -5
  235. package/__flow__/VisuallyHidden/index.js +3 -3
  236. package/__flow__/building-stories.stories.mdx +121 -0
  237. package/__flow__/dataviz/dataviz.stories.js +4 -4
  238. package/__flow__/dataviz/index.js +3 -3
  239. package/__flow__/index.js +72 -72
  240. package/__flow__/overview.stories.js +60 -0
  241. package/__flow__/setupTests.js +5 -5
  242. package/__flow__/systemProps/background.js +3 -3
  243. package/__flow__/systemProps/border.js +3 -3
  244. package/__flow__/systemProps/color.js +3 -3
  245. package/__flow__/systemProps/custom.js +3 -3
  246. package/__flow__/systemProps/flexbox.js +3 -3
  247. package/__flow__/systemProps/grid.js +3 -3
  248. package/__flow__/systemProps/index.js +14 -14
  249. package/__flow__/systemProps/layout.js +3 -3
  250. package/__flow__/systemProps/position.js +3 -3
  251. package/__flow__/systemProps/shadow.js +3 -3
  252. package/__flow__/systemProps/space.js +3 -7
  253. package/__flow__/systemProps/systemProps.js +14 -14
  254. package/__flow__/systemProps/tests/background.test.js +17 -17
  255. package/__flow__/systemProps/tests/border.test.js +61 -61
  256. package/__flow__/systemProps/tests/color.test.js +15 -15
  257. package/__flow__/systemProps/tests/custom.test.js +12 -12
  258. package/__flow__/systemProps/tests/flexbox.test.js +33 -33
  259. package/__flow__/systemProps/tests/grid.test.js +31 -31
  260. package/__flow__/systemProps/tests/layout.test.js +29 -29
  261. package/__flow__/systemProps/tests/position.test.js +19 -19
  262. package/__flow__/systemProps/tests/shadow.test.js +11 -11
  263. package/__flow__/systemProps/tests/space.test.js +11 -11
  264. package/__flow__/systemProps/tests/types.flow.js +18 -18
  265. package/__flow__/systemProps/tests/typography.test.js +21 -21
  266. package/__flow__/systemProps/tests/variant.test.js +9 -9
  267. package/__flow__/systemProps/types.flow.js +2 -2
  268. package/__flow__/systemProps/typography.js +4 -4
  269. package/__flow__/systemProps/variant.js +5 -5
  270. package/__flow__/themes/dark/dataviz-palette.js +21 -21
  271. package/__flow__/themes/dark/decorative-palettes.js +1 -1
  272. package/__flow__/themes/dark/theme.js +16 -16
  273. package/__flow__/themes/extendedThemes/README.md +1 -1
  274. package/__flow__/themes/extendedThemes/sproutTheme/dark/theme.js +4 -4
  275. package/__flow__/themes/extendedThemes/sproutTheme/index.js +2 -2
  276. package/__flow__/themes/extendedThemes/sproutTheme/light/theme.js +4 -4
  277. package/__flow__/themes/light/dataviz-palette.js +21 -21
  278. package/__flow__/themes/light/decorative-palettes.js +1 -1
  279. package/__flow__/themes/light/literal-colors.js +133 -133
  280. package/__flow__/themes/light/theme.js +51 -51
  281. package/__flow__/types/system-props.flow.js +5 -5
  282. package/__flow__/types/theme.colors.flow.js +2 -2
  283. package/__flow__/types/theme.flow.js +5 -5
  284. package/__flow__/utils/a11yTest.js +1 -1
  285. package/__flow__/utils/chartColors.js +1 -1
  286. package/__flow__/utils/constants.js +1 -1
  287. package/__flow__/utils/dataQaLabelQueries.js +2 -2
  288. package/__flow__/utils/hooks.js +17 -17
  289. package/__flow__/utils/index.js +4 -4
  290. package/__flow__/utils/innerText.js +9 -9
  291. package/__flow__/utils/mixins.js +6 -6
  292. package/__flow__/utils/react-testing-library.js +6 -6
  293. package/__flow__/utils/responsiveProps/index.js +3 -3
  294. package/__flow__/utils/responsiveProps/index.test.js +8 -8
  295. package/__flow__/utils/system-props.js +3 -3
  296. package/__flow__/utils/useInteractiveColor.js +5 -5
  297. package/__flow__/writing-good-stories.stories.mdx +3 -0
  298. package/bin/racine-codemod.js +12 -12
  299. package/codemods/__tests__/migrate-2.x-to-3.x.test.js +2 -2
  300. package/codemods/migrate-2.x-to-3.x.js +29 -30
  301. package/commonjs/Avatar/index.js +33 -53
  302. package/commonjs/Badge/constants.js +18 -15
  303. package/commonjs/Badge/index.js +14 -28
  304. package/commonjs/Badge/styles.js +3 -9
  305. package/commonjs/Banner/index.js +16 -37
  306. package/commonjs/Banner/styles.js +0 -5
  307. package/commonjs/Box/index.js +2 -9
  308. package/commonjs/Box/styles.js +0 -4
  309. package/commonjs/Breadcrumb/index.js +13 -29
  310. package/commonjs/Breadcrumb/styles.js +1 -4
  311. package/commonjs/Button/index.js +29 -43
  312. package/commonjs/Button/styles.js +6 -15
  313. package/commonjs/Card/index.js +16 -26
  314. package/commonjs/Card/styles.js +1 -5
  315. package/commonjs/CharacterCounter/index.js +6 -23
  316. package/commonjs/CharacterCounter/styles.js +0 -5
  317. package/commonjs/ChartLegend/index.js +5 -20
  318. package/commonjs/ChartLegend/styles.js +2 -11
  319. package/commonjs/Checkbox/index.js +30 -53
  320. package/commonjs/Checkbox/styles.js +14 -35
  321. package/commonjs/Collapsible/index.js +31 -54
  322. package/commonjs/Collapsible/styles.js +3 -6
  323. package/commonjs/DatePicker/DateRangePicker.js +4 -17
  324. package/commonjs/DatePicker/SingleDatePicker.js +3 -17
  325. package/commonjs/DatePicker/StatefulDateRangePicker.js +16 -31
  326. package/commonjs/DatePicker/StatefulSingleDatePicker.js +7 -20
  327. package/commonjs/DatePicker/common.js +8 -22
  328. package/commonjs/DatePicker/index.js +0 -5
  329. package/commonjs/DatePicker/styles.js +8 -25
  330. package/commonjs/Drawer/SlideTransition.js +8 -18
  331. package/commonjs/Drawer/index.js +51 -90
  332. package/commonjs/Drawer/styles.js +0 -8
  333. package/commonjs/EmptyState/index.js +8 -20
  334. package/commonjs/Fieldset/index.js +15 -32
  335. package/commonjs/Fieldset/styles.js +2 -7
  336. package/commonjs/FormField/index.js +19 -36
  337. package/commonjs/Icon/deprecatedIcons.js +36 -36
  338. package/commonjs/Icon/index.js +19 -37
  339. package/commonjs/Icon/styles.js +7 -16
  340. package/commonjs/IllustrationViewBoxes.js +1 -0
  341. package/commonjs/Image/index.js +13 -41
  342. package/commonjs/Image/styles.js +1 -7
  343. package/commonjs/Indicator/index.js +8 -26
  344. package/commonjs/Indicator/styles.js +1 -7
  345. package/commonjs/Input/index.js +80 -119
  346. package/commonjs/Input/styles.js +9 -19
  347. package/commonjs/KeyboardKey/index.js +3 -20
  348. package/commonjs/KeyboardKey/styles.js +0 -4
  349. package/commonjs/Label/index.js +7 -27
  350. package/commonjs/Link/constants.js +3 -4
  351. package/commonjs/Link/index.js +16 -28
  352. package/commonjs/Link/styles.js +1 -8
  353. package/commonjs/Listbox/index.js +15 -36
  354. package/commonjs/Loader/index.js +15 -31
  355. package/commonjs/Loader/styles.js +2 -13
  356. package/commonjs/LoaderButton/index.js +26 -55
  357. package/commonjs/Menu/constants.js +9 -8
  358. package/commonjs/Menu/descendants.js +70 -105
  359. package/commonjs/Menu/hooks.js +23 -41
  360. package/commonjs/Menu/index.flow.js +0 -7
  361. package/commonjs/Menu/index.js +94 -164
  362. package/commonjs/Menu/names.js +1 -1
  363. package/commonjs/Menu/styles.js +0 -6
  364. package/commonjs/Message/index.js +37 -70
  365. package/commonjs/Message/styles.js +9 -24
  366. package/commonjs/Modal/index.js +31 -54
  367. package/commonjs/Modal/styles.js +17 -36
  368. package/commonjs/Numeral/index.js +39 -67
  369. package/commonjs/Numeral/styles.js +0 -3
  370. package/commonjs/Numeral/tests/testNumeral.js +13 -31
  371. package/commonjs/OverflowList/index.flow.js +0 -2
  372. package/commonjs/OverflowList/index.js +27 -41
  373. package/commonjs/OverflowList/styles.js +0 -7
  374. package/commonjs/PartnerLogo/index.js +19 -33
  375. package/commonjs/PartnerLogo/styles.js +7 -15
  376. package/commonjs/Popout/index.js +95 -127
  377. package/commonjs/Popout/styles.js +0 -5
  378. package/commonjs/Portal/index.js +8 -31
  379. package/commonjs/Radio/index.js +18 -42
  380. package/commonjs/Radio/styles.js +9 -21
  381. package/commonjs/SegmentedControl/index.js +17 -37
  382. package/commonjs/SegmentedControl/styles.js +2 -12
  383. package/commonjs/Select/index.js +24 -47
  384. package/commonjs/Select/styles.js +12 -24
  385. package/commonjs/Skeleton/index.js +0 -5
  386. package/commonjs/SpotIllustration/illustrationNames.js +1 -1
  387. package/commonjs/SpotIllustration/index.js +5 -11
  388. package/commonjs/Stack/index.js +27 -42
  389. package/commonjs/Switch/index.js +17 -42
  390. package/commonjs/Switch/styles.js +3 -11
  391. package/commonjs/Table/index.js +26 -50
  392. package/commonjs/Table/styles.js +0 -4
  393. package/commonjs/TableCell/index.js +12 -30
  394. package/commonjs/TableCell/styles.js +0 -5
  395. package/commonjs/TableHeaderCell/index.js +27 -56
  396. package/commonjs/TableHeaderCell/styles.js +0 -6
  397. package/commonjs/TableRowAccordion/index.js +12 -37
  398. package/commonjs/TableRowAccordion/styles.js +2 -9
  399. package/commonjs/Tabs/index.js +16 -66
  400. package/commonjs/Tabs/styles.js +2 -11
  401. package/commonjs/Text/index.js +12 -25
  402. package/commonjs/Text/styles.js +1 -6
  403. package/commonjs/Textarea/index.js +31 -55
  404. package/commonjs/Textarea/styles.js +2 -9
  405. package/commonjs/ThemeProvider/index.js +1 -10
  406. package/commonjs/Toast/index.js +19 -42
  407. package/commonjs/Toast/styles.js +1 -7
  408. package/commonjs/ToggleHint/index.js +15 -39
  409. package/commonjs/ToggleHint/styles.js +2 -9
  410. package/commonjs/Token/index.js +15 -29
  411. package/commonjs/Token/styles.js +5 -12
  412. package/commonjs/TokenInput/index.js +70 -122
  413. package/commonjs/TokenInput/styles.js +1 -7
  414. package/commonjs/TokenInput/util.js +2 -7
  415. package/commonjs/Tooltip/index.js +40 -63
  416. package/commonjs/Tooltip/styles.js +1 -5
  417. package/commonjs/VisuallyHidden/index.js +0 -4
  418. package/commonjs/dataviz/index.js +0 -4
  419. package/commonjs/index.js +0 -129
  420. package/commonjs/systemProps/background.js +0 -1
  421. package/commonjs/systemProps/border.js +0 -1
  422. package/commonjs/systemProps/color.js +0 -1
  423. package/commonjs/systemProps/custom.js +0 -1
  424. package/commonjs/systemProps/flexbox.js +0 -1
  425. package/commonjs/systemProps/grid.js +0 -1
  426. package/commonjs/systemProps/index.js +0 -28
  427. package/commonjs/systemProps/layout.js +0 -1
  428. package/commonjs/systemProps/position.js +0 -1
  429. package/commonjs/systemProps/shadow.js +0 -1
  430. package/commonjs/systemProps/space.js +1 -2
  431. package/commonjs/systemProps/systemProps.js +0 -13
  432. package/commonjs/systemProps/tests/types.flow.js +25 -22
  433. package/commonjs/systemProps/typography.js +0 -1
  434. package/commonjs/systemProps/variant.js +2 -3
  435. package/commonjs/themes/dark/dataviz-palette.js +20 -22
  436. package/commonjs/themes/dark/decorative-palettes.js +0 -2
  437. package/commonjs/themes/dark/theme.js +13 -27
  438. package/commonjs/themes/extendedThemes/sproutTheme/dark/theme.js +2 -9
  439. package/commonjs/themes/extendedThemes/sproutTheme/index.js +0 -5
  440. package/commonjs/themes/extendedThemes/sproutTheme/light/theme.js +2 -9
  441. package/commonjs/themes/light/dataviz-palette.js +20 -22
  442. package/commonjs/themes/light/decorative-palettes.js +0 -2
  443. package/commonjs/themes/light/literal-colors.js +132 -134
  444. package/commonjs/themes/light/theme.js +43 -59
  445. package/commonjs/types/system-props.flow.js +1 -1
  446. package/commonjs/types/theme.colors.flow.js +0 -2
  447. package/commonjs/types/theme.flow.js +0 -1
  448. package/commonjs/utils/a11yTest.js +3 -10
  449. package/commonjs/utils/chartColors.js +0 -1
  450. package/commonjs/utils/constants.js +1 -1
  451. package/commonjs/utils/dataQaLabelQueries.js +12 -21
  452. package/commonjs/utils/hooks.js +39 -70
  453. package/commonjs/utils/index.js +2 -9
  454. package/commonjs/utils/innerText.js +10 -14
  455. package/commonjs/utils/mixins.js +2 -7
  456. package/commonjs/utils/react-testing-library.js +4 -26
  457. package/commonjs/utils/responsiveProps/index.js +1 -11
  458. package/commonjs/utils/system-props.js +2 -5
  459. package/commonjs/utils/useInteractiveColor.js +6 -8
  460. package/dist/illustration.svg +1 -1
  461. package/dist/illustrationList.js +1 -1
  462. package/lib/Avatar/index.js +40 -47
  463. package/lib/Badge/constants.js +19 -15
  464. package/lib/Badge/index.js +18 -25
  465. package/lib/Badge/styles.js +8 -6
  466. package/lib/Banner/index.js +20 -32
  467. package/lib/Banner/styles.js +3 -2
  468. package/lib/Box/index.js +4 -5
  469. package/lib/Box/styles.js +3 -2
  470. package/lib/Breadcrumb/index.js +19 -27
  471. package/lib/Breadcrumb/styles.js +3 -2
  472. package/lib/Button/index.js +31 -38
  473. package/lib/Button/styles.js +14 -11
  474. package/lib/Card/index.js +18 -24
  475. package/lib/Card/styles.js +5 -4
  476. package/lib/CharacterCounter/index.js +8 -20
  477. package/lib/CharacterCounter/styles.js +3 -2
  478. package/lib/ChartLegend/index.js +9 -17
  479. package/lib/ChartLegend/styles.js +5 -4
  480. package/lib/Checkbox/index.js +32 -51
  481. package/lib/Checkbox/styles.js +21 -26
  482. package/lib/Collapsible/index.js +36 -51
  483. package/lib/Collapsible/styles.js +6 -5
  484. package/lib/DatePicker/DateRangePicker.js +8 -14
  485. package/lib/DatePicker/SingleDatePicker.js +7 -13
  486. package/lib/DatePicker/StatefulDateRangePicker.js +19 -26
  487. package/lib/DatePicker/StatefulSingleDatePicker.js +9 -15
  488. package/lib/DatePicker/common.js +14 -13
  489. package/lib/DatePicker/index.js +2 -2
  490. package/lib/DatePicker/styles.js +12 -22
  491. package/lib/Drawer/SlideTransition.js +11 -14
  492. package/lib/Drawer/index.js +64 -88
  493. package/lib/Drawer/styles.js +4 -3
  494. package/lib/EmptyState/index.js +11 -17
  495. package/lib/Fieldset/index.js +19 -29
  496. package/lib/Fieldset/styles.js +5 -4
  497. package/lib/FormField/index.js +27 -33
  498. package/lib/Icon/deprecatedIcons.js +36 -36
  499. package/lib/Icon/index.js +25 -34
  500. package/lib/Icon/styles.js +11 -13
  501. package/lib/IllustrationViewBoxes.js +1 -0
  502. package/lib/Image/index.js +15 -38
  503. package/lib/Image/styles.js +4 -4
  504. package/lib/Indicator/index.js +11 -23
  505. package/lib/Indicator/styles.js +5 -5
  506. package/lib/Input/index.js +87 -115
  507. package/lib/Input/styles.js +13 -15
  508. package/lib/KeyboardKey/index.js +6 -17
  509. package/lib/KeyboardKey/styles.js +3 -2
  510. package/lib/Label/index.js +10 -24
  511. package/lib/Link/constants.js +5 -4
  512. package/lib/Link/index.js +18 -25
  513. package/lib/Link/styles.js +6 -5
  514. package/lib/Listbox/index.js +21 -29
  515. package/lib/Loader/index.js +17 -29
  516. package/lib/Loader/styles.js +6 -8
  517. package/lib/LoaderButton/index.js +34 -51
  518. package/lib/Menu/constants.js +10 -8
  519. package/lib/Menu/descendants.js +73 -94
  520. package/lib/Menu/hooks.js +28 -39
  521. package/lib/Menu/index.flow.js +6 -5
  522. package/lib/Menu/index.js +113 -150
  523. package/lib/Menu/names.js +1 -1
  524. package/lib/Menu/styles.js +4 -3
  525. package/lib/Message/index.js +42 -66
  526. package/lib/Message/styles.js +15 -23
  527. package/lib/Modal/index.js +38 -51
  528. package/lib/Modal/styles.js +23 -32
  529. package/lib/Numeral/index.js +45 -64
  530. package/lib/Numeral/styles.js +3 -2
  531. package/lib/Numeral/tests/testNumeral.js +17 -27
  532. package/lib/OverflowList/index.flow.js +2 -1
  533. package/lib/OverflowList/index.js +31 -38
  534. package/lib/OverflowList/styles.js +5 -4
  535. package/lib/PartnerLogo/index.js +23 -31
  536. package/lib/PartnerLogo/styles.js +11 -12
  537. package/lib/Popout/index.js +105 -121
  538. package/lib/Popout/styles.js +3 -3
  539. package/lib/Portal/index.js +11 -29
  540. package/lib/Radio/index.js +20 -40
  541. package/lib/Radio/styles.js +14 -14
  542. package/lib/SegmentedControl/index.js +21 -34
  543. package/lib/SegmentedControl/styles.js +7 -9
  544. package/lib/Select/index.js +27 -44
  545. package/lib/Select/styles.js +16 -20
  546. package/lib/Skeleton/index.js +7 -4
  547. package/lib/SpotIllustration/illustrationNames.js +2 -1
  548. package/lib/SpotIllustration/index.js +9 -10
  549. package/lib/Stack/index.js +31 -39
  550. package/lib/Switch/index.js +21 -39
  551. package/lib/Switch/styles.js +8 -7
  552. package/lib/Table/index.js +30 -40
  553. package/lib/Table/styles.js +3 -2
  554. package/lib/TableCell/index.js +14 -27
  555. package/lib/TableCell/styles.js +3 -3
  556. package/lib/TableHeaderCell/index.js +30 -52
  557. package/lib/TableHeaderCell/styles.js +3 -2
  558. package/lib/TableRowAccordion/index.js +16 -34
  559. package/lib/TableRowAccordion/styles.js +5 -3
  560. package/lib/Tabs/index.js +18 -63
  561. package/lib/Tabs/styles.js +6 -6
  562. package/lib/Text/index.js +15 -21
  563. package/lib/Text/styles.js +4 -3
  564. package/lib/Textarea/index.js +33 -53
  565. package/lib/Textarea/styles.js +6 -5
  566. package/lib/ThemeProvider/index.js +4 -7
  567. package/lib/Toast/index.js +26 -37
  568. package/lib/Toast/styles.js +5 -4
  569. package/lib/ToggleHint/index.js +18 -36
  570. package/lib/ToggleHint/styles.js +6 -5
  571. package/lib/Token/index.js +20 -26
  572. package/lib/Token/styles.js +10 -9
  573. package/lib/TokenInput/index.js +78 -118
  574. package/lib/TokenInput/styles.js +5 -4
  575. package/lib/TokenInput/util.js +5 -3
  576. package/lib/Tooltip/index.js +45 -60
  577. package/lib/Tooltip/styles.js +4 -4
  578. package/lib/VisuallyHidden/index.js +3 -2
  579. package/lib/dataviz/index.js +4 -3
  580. package/lib/index.js +66 -64
  581. package/lib/systemProps/background.js +3 -1
  582. package/lib/systemProps/border.js +3 -1
  583. package/lib/systemProps/color.js +3 -1
  584. package/lib/systemProps/custom.js +3 -1
  585. package/lib/systemProps/flexbox.js +3 -1
  586. package/lib/systemProps/grid.js +3 -1
  587. package/lib/systemProps/index.js +16 -14
  588. package/lib/systemProps/layout.js +3 -1
  589. package/lib/systemProps/position.js +3 -1
  590. package/lib/systemProps/shadow.js +3 -1
  591. package/lib/systemProps/space.js +2 -1
  592. package/lib/systemProps/systemProps.js +14 -13
  593. package/lib/systemProps/tests/types.flow.js +27 -22
  594. package/lib/systemProps/typography.js +3 -1
  595. package/lib/systemProps/variant.js +4 -3
  596. package/lib/themes/dark/dataviz-palette.js +23 -21
  597. package/lib/themes/dark/decorative-palettes.js +3 -1
  598. package/lib/themes/dark/theme.js +20 -23
  599. package/lib/themes/extendedThemes/sproutTheme/dark/theme.js +4 -7
  600. package/lib/themes/extendedThemes/sproutTheme/index.js +3 -2
  601. package/lib/themes/extendedThemes/sproutTheme/light/theme.js +4 -7
  602. package/lib/themes/light/dataviz-palette.js +23 -21
  603. package/lib/themes/light/decorative-palettes.js +3 -1
  604. package/lib/themes/light/literal-colors.js +135 -133
  605. package/lib/themes/light/theme.js +54 -55
  606. package/lib/types/system-props.flow.js +1 -1
  607. package/lib/types/theme.colors.flow.js +4 -2
  608. package/lib/types/theme.flow.js +3 -2
  609. package/lib/utils/a11yTest.js +5 -8
  610. package/lib/utils/chartColors.js +3 -1
  611. package/lib/utils/constants.js +3 -1
  612. package/lib/utils/dataQaLabelQueries.js +13 -21
  613. package/lib/utils/hooks.js +41 -64
  614. package/lib/utils/index.js +2 -5
  615. package/lib/utils/innerText.js +12 -14
  616. package/lib/utils/mixins.js +6 -5
  617. package/lib/utils/react-testing-library.js +10 -20
  618. package/lib/utils/responsiveProps/index.js +3 -8
  619. package/lib/utils/system-props.js +4 -3
  620. package/lib/utils/useInteractiveColor.js +10 -9
  621. package/package.json +6 -13
@@ -1,30 +1,30 @@
1
1
  // @flow
2
- import React from "react";
3
- import Listbox, { ListboxButton } from "./index";
4
- import { MenuButton } from "../Menu";
5
- import type { TypeListboxButtonProps } from "../Menu/index.flow";
6
- import { useMultiselect, useSelect } from "../utils/hooks";
7
- import Icon from "../Icon";
8
- import Button from "../Button";
9
- import Box from "../Box";
10
- import OverflowList from "../OverflowList";
11
- import Text from "../Text";
12
-
13
- import { names } from "../Menu/names";
2
+ import React from 'react';
3
+ import Listbox, {ListboxButton} from './index';
4
+ import {MenuButton} from '../Menu';
5
+ import type {TypeListboxButtonProps} from '../Menu/index.flow';
6
+ import {useMultiselect, useSelect} from '../utils/hooks';
7
+ import Icon from '../Icon';
8
+ import Button from '../Button';
9
+ import Box from '../Box';
10
+ import OverflowList from '../OverflowList';
11
+ import Text from '../Text';
12
+
13
+ import {names} from '../Menu/names';
14
14
 
15
15
  const fruit = [
16
- "Apple",
17
- "Banana",
18
- "Orange",
19
- "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
16
+ 'Apple',
17
+ 'Banana',
18
+ 'Orange',
19
+ 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
20
20
  ];
21
21
 
22
22
  export default {
23
- title: "Listbox",
23
+ title: 'Components/Form Elements/Listbox',
24
24
  };
25
25
 
26
26
  const BaseListbox = () => {
27
- const { value, onChange } = useSelect({ initialValue: "Apple" });
27
+ const {value, onChange} = useSelect({initialValue: 'Apple'});
28
28
 
29
29
  return (
30
30
  <React.Fragment>
@@ -37,7 +37,7 @@ const BaseListbox = () => {
37
37
  border-right: 1px solid white;
38
38
  `}
39
39
  >
40
- {value || "Select a fruit"}
40
+ {value || 'Select a fruit'}
41
41
  </Button>
42
42
  <MenuButton
43
43
  css="border-top-left-radius: 0; border-bottom-left-radius: 0;"
@@ -62,9 +62,9 @@ const BaseListbox = () => {
62
62
  };
63
63
 
64
64
  const BaseListboxMultiselect = (props: $Shape<TypeListboxButtonProps>) => {
65
- const { value, onChange, onClear } = useMultiselect();
65
+ const {value, onChange, onClear} = useMultiselect();
66
66
  const currentOption =
67
- value.length > 1 ? value.length + " selected" : value.length ? value : null;
67
+ value.length > 1 ? value.length + ' selected' : value.length ? value : null;
68
68
 
69
69
  return (
70
70
  <ListboxButton
@@ -90,7 +90,7 @@ const BaseListboxMultiselect = (props: $Shape<TypeListboxButtonProps>) => {
90
90
  </Listbox>
91
91
  }
92
92
  >
93
- {currentOption || "Select a fruit"}
93
+ {currentOption || 'Select a fruit'}
94
94
  </ListboxButton>
95
95
  );
96
96
  };
@@ -109,7 +109,7 @@ const BaseListboxMultiselectWithLabel = () => (
109
109
  export const defaultStory = () => <BaseListbox />;
110
110
 
111
111
  defaultStory.story = {
112
- name: "Default",
112
+ name: 'Default',
113
113
  };
114
114
 
115
115
  export const Multiselect = () => <BaseListboxMultiselectWithLabelledBy />;
@@ -118,7 +118,7 @@ export const MultiselectWithLabelAttribute = () => (
118
118
  );
119
119
 
120
120
  const BaseListboxDisable = () => {
121
- const { value, onChange } = useSelect({ initialValue: "Apple" });
121
+ const {value, onChange} = useSelect({initialValue: 'Apple'});
122
122
 
123
123
  return (
124
124
  <ListboxButton
@@ -130,7 +130,7 @@ const BaseListboxDisable = () => {
130
130
  <Listbox.Item
131
131
  key={item}
132
132
  value={item}
133
- disabled={item === "Banana"}
133
+ disabled={item === 'Banana'}
134
134
  >
135
135
  {item}
136
136
  </Listbox.Item>
@@ -139,7 +139,7 @@ const BaseListboxDisable = () => {
139
139
  </Listbox>
140
140
  }
141
141
  >
142
- {value || "Select a fruit"}
142
+ {value || 'Select a fruit'}
143
143
  </ListboxButton>
144
144
  );
145
145
  };
@@ -147,20 +147,20 @@ const BaseListboxDisable = () => {
147
147
  export const Disable = () => <BaseListboxDisable />;
148
148
 
149
149
  Disable.story = {
150
- name: "Disable",
150
+ name: 'Disable',
151
151
  };
152
152
 
153
- const getItemProps = ({ item }) => ({ key: item, item });
154
- const ItemComponent = ({ item }) => (
153
+ const getItemProps = ({item}) => ({key: item, item});
154
+ const ItemComponent = ({item}) => (
155
155
  <Listbox.Checkbox key={item} value={item}>
156
156
  {item}
157
157
  </Listbox.Checkbox>
158
158
  );
159
159
 
160
160
  export const BigVirtualizedExample = () => {
161
- const { value, onChange, onClear } = useMultiselect();
161
+ const {value, onChange, onClear} = useMultiselect();
162
162
  const currentOption =
163
- value.length > 1 ? value.length + " selected" : value.length ? value : null;
163
+ value.length > 1 ? value.length + ' selected' : value.length ? value : null;
164
164
 
165
165
  return (
166
166
  <Box width={1} display="flex" justifyContent="center">
@@ -193,14 +193,14 @@ export const BigVirtualizedExample = () => {
193
193
  </Listbox>
194
194
  }
195
195
  >
196
- {currentOption || "Select a fruit"}
196
+ {currentOption || 'Select a fruit'}
197
197
  </ListboxButton>
198
198
  </Box>
199
199
  );
200
200
  };
201
201
 
202
202
  const ListboxFilterInput = () => {
203
- const { value, onChange } = useSelect();
203
+ const {value, onChange} = useSelect();
204
204
  return (
205
205
  <>
206
206
  <Text>{value}</Text>
@@ -224,7 +224,7 @@ const ListboxFilterInput = () => {
224
224
  </Listbox>
225
225
  }
226
226
  >
227
- {value || "Select a fruit"}
227
+ {value || 'Select a fruit'}
228
228
  </ListboxButton>
229
229
  </>
230
230
  );
@@ -233,5 +233,5 @@ const ListboxFilterInput = () => {
233
233
  export const FilterInput = () => <ListboxFilterInput />;
234
234
 
235
235
  FilterInput.story = {
236
- name: "FilterInput",
236
+ name: 'FilterInput',
237
237
  };
@@ -1,33 +1,33 @@
1
1
  // @flow
2
- import React from "react";
2
+ import React from 'react';
3
3
  import {
4
4
  render,
5
5
  fireEvent,
6
6
  cleanup,
7
7
  userEvent,
8
- } from "../utils/react-testing-library";
9
- import Listbox, { ListboxButton } from "./";
10
- import { useSelect, useMultiselect } from "../utils/hooks";
11
- import { MENU_ITEM_ROLES } from "../Menu/constants";
12
- import Button from "../Button";
13
- import Icon from "../Icon";
14
- import { MenuButton } from "../Menu";
8
+ } from '../utils/react-testing-library';
9
+ import Listbox, {ListboxButton} from './';
10
+ import {useSelect, useMultiselect} from '../utils/hooks';
11
+ import {MENU_ITEM_ROLES} from '../Menu/constants';
12
+ import Button from '../Button';
13
+ import Icon from '../Icon';
14
+ import {MenuButton} from '../Menu';
15
15
 
16
- const fruit = ["Apple", "Banana", "Orange"];
17
- const maybeFruit = ["Tomato", "Cucumber", "Squash"];
16
+ const fruit = ['Apple', 'Banana', 'Orange'];
17
+ const maybeFruit = ['Tomato', 'Cucumber', 'Squash'];
18
18
  const lotsOfFruit = [
19
19
  ...fruit,
20
20
  ...maybeFruit,
21
- "Cantaloupe",
22
- "Jackalope",
23
- "Lingonberry",
24
- "Dingleberry",
25
- "Kaffir Lime",
21
+ 'Cantaloupe',
22
+ 'Jackalope',
23
+ 'Lingonberry',
24
+ 'Dingleberry',
25
+ 'Kaffir Lime',
26
26
  ];
27
27
  const mockOnClick = jest.fn();
28
28
 
29
29
  export const AsListbox = () => {
30
- const { value, onChange } = useSelect({ initialValue: "" });
30
+ const {value, onChange} = useSelect({initialValue: ''});
31
31
 
32
32
  return (
33
33
  <>
@@ -40,7 +40,7 @@ export const AsListbox = () => {
40
40
  border-right: 1px solid white;
41
41
  `}
42
42
  >
43
- {value || "Select a fruit"}
43
+ {value || 'Select a fruit'}
44
44
  </Button>
45
45
  <MenuButton
46
46
  css="border-top-left-radius: 0; border-bottom-left-radius: 0;"
@@ -72,8 +72,8 @@ export const AsListbox = () => {
72
72
  };
73
73
 
74
74
  export const AsListboxMultiselect = () => {
75
- const { value, onChange } = useMultiselect();
76
- const text = value.length ? value.length + " selected" : "Select a fruit";
75
+ const {value, onChange} = useMultiselect();
76
+ const text = value.length ? value.length + ' selected' : 'Select a fruit';
77
77
 
78
78
  return (
79
79
  <ListboxButton
@@ -105,7 +105,7 @@ export const AsListboxMultiselect = () => {
105
105
  };
106
106
 
107
107
  export const AsListboxWithCheckboxes = () => {
108
- const { value, onChange } = useMultiselect();
108
+ const {value, onChange} = useMultiselect();
109
109
 
110
110
  return (
111
111
  <Listbox
@@ -129,7 +129,7 @@ export const AsListboxWithCheckboxes = () => {
129
129
  };
130
130
 
131
131
  export const AsListboxWithFilterInput = () => {
132
- const { value, onChange } = useMultiselect();
132
+ const {value, onChange} = useMultiselect();
133
133
 
134
134
  return (
135
135
  <Listbox
@@ -159,17 +159,15 @@ export const AsListboxWithFilterInput = () => {
159
159
  );
160
160
  };
161
161
 
162
- describe("Listbox", () => {
162
+ describe('Listbox', () => {
163
163
  afterEach(() => {
164
164
  mockOnClick.mockClear();
165
165
  cleanup();
166
166
  });
167
167
 
168
- describe("AsListbox", () => {
169
- it("should render items with option role", async () => {
170
- const { findByText, queryByLabelText, queryByRole } = render(
171
- <AsListbox />
172
- );
168
+ describe('AsListbox', () => {
169
+ it('should render items with option role', async () => {
170
+ const {findByText, queryByLabelText, queryByRole} = render(<AsListbox />);
173
171
  const button = queryByLabelText(/Select a fruit/);
174
172
 
175
173
  // Clicking button opens popout and focuses first item
@@ -178,7 +176,7 @@ describe("Listbox", () => {
178
176
  const secondItem = queryByRole(MENU_ITEM_ROLES.OPTION, {
179
177
  name: fruit[1],
180
178
  });
181
- expect(queryByRole("listbox")).toBe(document.activeElement);
179
+ expect(queryByRole('listbox')).toBe(document.activeElement);
182
180
 
183
181
  // Clicking item selects it, closes the popout, and changes button text
184
182
  fireEvent.click(secondItem);
@@ -186,30 +184,30 @@ describe("Listbox", () => {
186
184
  expect(mockOnClick).toHaveBeenCalledTimes(1);
187
185
  });
188
186
 
189
- it("should trigger select on enter", async () => {
190
- const { findByText, queryByLabelText } = render(<AsListbox />);
187
+ it('should trigger select on enter', async () => {
188
+ const {findByText, queryByLabelText} = render(<AsListbox />);
191
189
  const button = queryByLabelText(/Select a fruit/);
192
190
 
193
191
  fireEvent.click(button);
194
- userEvent.keyboard("{enter}");
192
+ userEvent.keyboard('{enter}');
195
193
  expect(await findByText(fruit[0])).toBeInTheDocument();
196
194
  expect(mockOnClick).toHaveBeenCalledTimes(1);
197
195
  });
198
196
 
199
- it("should trigger select on space", async () => {
200
- const { findByText, queryByLabelText } = render(<AsListbox />);
197
+ it('should trigger select on space', async () => {
198
+ const {findByText, queryByLabelText} = render(<AsListbox />);
201
199
  const button = queryByLabelText(/Select a fruit/);
202
200
 
203
201
  fireEvent.click(button);
204
- userEvent.keyboard("{space}");
202
+ userEvent.keyboard('{space}');
205
203
  expect(await findByText(fruit[0])).toBeInTheDocument();
206
204
  expect(mockOnClick).toHaveBeenCalledTimes(1);
207
205
  });
208
206
  });
209
207
 
210
- describe("AsListbox multiselect", () => {
211
- it("should render items with option role", async () => {
212
- const { queryByLabelText, queryByText, queryByRole } = render(
208
+ describe('AsListbox multiselect', () => {
209
+ it('should render items with option role', async () => {
210
+ const {queryByLabelText, queryByText, queryByRole} = render(
213
211
  <AsListboxMultiselect />
214
212
  );
215
213
  const button = queryByLabelText(/Select a fruit/);
@@ -217,76 +215,76 @@ describe("Listbox", () => {
217
215
  // Clicking button opens popout and focuses first item
218
216
  expect(button).toBeInTheDocument();
219
217
  fireEvent.click(button);
220
- const firstItem = queryByRole(MENU_ITEM_ROLES.OPTION, { name: fruit[0] });
218
+ const firstItem = queryByRole(MENU_ITEM_ROLES.OPTION, {name: fruit[0]});
221
219
  const secondItem = queryByRole(MENU_ITEM_ROLES.OPTION, {
222
220
  name: fruit[1],
223
221
  });
224
- expect(queryByRole("listbox")).toBe(document.activeElement);
222
+ expect(queryByRole('listbox')).toBe(document.activeElement);
225
223
 
226
224
  // Clicking item selects it, keeps the popout open, and changes button text
227
225
  fireEvent.click(secondItem);
228
226
  const secondItemAgain = queryByRole(MENU_ITEM_ROLES.OPTION, {
229
227
  name: fruit[1],
230
228
  });
231
- expect(secondItemAgain).toHaveAttribute("aria-selected", "true");
232
- expect(queryByText("1 selected")).toBeInTheDocument();
229
+ expect(secondItemAgain).toHaveAttribute('aria-selected', 'true');
230
+ expect(queryByText('1 selected')).toBeInTheDocument();
233
231
  fireEvent.click(firstItem);
234
- expect(queryByText("2 selected")).toBeInTheDocument();
232
+ expect(queryByText('2 selected')).toBeInTheDocument();
235
233
  expect(mockOnClick).toHaveBeenCalledTimes(2);
236
234
  });
237
235
  });
238
236
 
239
- describe("AsListbox with checkboxes", () => {
240
- it("should render items with checkbox role", async () => {
241
- const { queryByRole } = render(<AsListboxWithCheckboxes />);
237
+ describe('AsListbox with checkboxes', () => {
238
+ it('should render items with checkbox role', async () => {
239
+ const {queryByRole} = render(<AsListboxWithCheckboxes />);
242
240
  const firstItem = queryByRole(MENU_ITEM_ROLES.CHECKBOX, {
243
241
  name: fruit[0],
244
242
  });
245
243
  const secondItem = queryByRole(MENU_ITEM_ROLES.CHECKBOX, {
246
244
  name: fruit[1],
247
245
  });
248
- expect(firstItem).toHaveAttribute("aria-checked", "false");
249
- expect(firstItem).not.toHaveAttribute("aria-selected");
246
+ expect(firstItem).toHaveAttribute('aria-checked', 'false');
247
+ expect(firstItem).not.toHaveAttribute('aria-selected');
250
248
  fireEvent.click(firstItem);
251
249
  fireEvent.click(secondItem);
252
- expect(firstItem).toHaveAttribute("aria-checked", "true");
253
- expect(secondItem).toHaveAttribute("aria-checked", "true");
250
+ expect(firstItem).toHaveAttribute('aria-checked', 'true');
251
+ expect(secondItem).toHaveAttribute('aria-checked', 'true');
254
252
  expect(mockOnClick).toHaveBeenCalledTimes(2);
255
253
  });
256
254
  });
257
255
 
258
- describe("AsListbox with filter input", () => {
259
- it("should allow filtering", async () => {
260
- const { queryByLabelText, queryAllByRole } = render(
256
+ describe('AsListbox with filter input', () => {
257
+ it('should allow filtering', async () => {
258
+ const {queryByLabelText, queryAllByRole} = render(
261
259
  <AsListboxWithFilterInput />
262
260
  );
263
- const input = queryByLabelText("Search fruit...");
264
- expect(queryAllByRole("menuitemcheckbox")).toHaveLength(11);
265
- fireEvent.change(input, { target: { value: "berry" } });
266
- expect(queryAllByRole("menuitemcheckbox")).toHaveLength(2);
261
+ const input = queryByLabelText('Search fruit...');
262
+ expect(queryAllByRole('menuitemcheckbox')).toHaveLength(11);
263
+ fireEvent.change(input, {target: {value: 'berry'}});
264
+ expect(queryAllByRole('menuitemcheckbox')).toHaveLength(2);
267
265
  });
268
266
 
269
- it("should allow spaces to be typed in the input", async () => {
270
- const { queryByLabelText, queryAllByRole } = render(
267
+ it('should allow spaces to be typed in the input', async () => {
268
+ const {queryByLabelText, queryAllByRole} = render(
271
269
  <AsListboxWithFilterInput />
272
270
  );
273
271
 
274
- const input = queryByLabelText("Search fruit...");
275
- userEvent.type(input, "Kaffir{space}L");
276
- expect(queryAllByRole("menuitemcheckbox")).toHaveLength(1);
272
+ const input = queryByLabelText('Search fruit...');
273
+ userEvent.type(input, 'Kaffir{space}L');
274
+ expect(queryAllByRole('menuitemcheckbox')).toHaveLength(1);
277
275
  });
278
276
 
279
- it("should trigger a submit on space if the input is not focused", async () => {
280
- const { queryByRole } = render(<AsListboxWithFilterInput />);
277
+ it('should trigger a submit on space if the input is not focused', async () => {
278
+ const {queryByRole} = render(<AsListboxWithFilterInput />);
281
279
 
282
280
  // tab focus away from input
283
281
  userEvent.tab();
284
- userEvent.keyboard("{space}");
282
+ userEvent.keyboard('{space}');
285
283
  const firstItem = queryByRole(MENU_ITEM_ROLES.CHECKBOX, {
286
284
  name: fruit[0],
287
285
  });
288
286
 
289
- expect(firstItem).toHaveAttribute("aria-checked", "true");
287
+ expect(firstItem).toHaveAttribute('aria-checked', 'true');
290
288
  expect(mockOnClick).toHaveBeenCalledTimes(1);
291
289
  });
292
290
  });
@@ -1,40 +1,40 @@
1
1
  // @flow
2
- import * as React from "react";
3
- import Container, { Text } from "./styles";
2
+ import * as React from 'react';
3
+ import Container, {Text} from './styles';
4
4
 
5
5
  export type TypeProps = {
6
- size: "small" | "large",
6
+ size: 'small' | 'large',
7
7
  /** Text for the loader. This text is not visible, but is used for accessibility purposed */
8
8
  text: string,
9
9
  /** Whether the loader should wait 2 seconds before it displays */
10
10
  delay: boolean,
11
- color: "light" | "dark",
11
+ color: 'light' | 'dark',
12
12
  qa?: Object,
13
13
  };
14
14
 
15
15
  export default class Loader extends React.Component<TypeProps> {
16
16
  static defaultProps = {
17
- size: "large",
18
- text: "",
17
+ size: 'large',
18
+ text: '',
19
19
  delay: true,
20
- color: "dark",
20
+ color: 'dark',
21
21
  };
22
22
 
23
23
  render() {
24
- const { text, size, delay, color, qa, ...rest } = this.props;
24
+ const {text, size, delay, color, qa, ...rest} = this.props;
25
25
 
26
26
  return (
27
27
  <Container
28
- small={size === "small"}
29
- dark={color === "dark"}
28
+ small={size === 'small'}
29
+ dark={color === 'dark'}
30
30
  delay={delay}
31
- data-qa-loader={""}
31
+ data-qa-loader={''}
32
32
  {...qa}
33
33
  // $FlowIssue - upgrade v0.112.0
34
34
  {...rest}
35
35
  >
36
36
  <Text as="div" fontSize={200}>
37
- {text || "Loading"}
37
+ {text || 'Loading'}
38
38
  </Text>
39
39
  </Container>
40
40
  );
@@ -1,40 +1,40 @@
1
1
  // @flow
2
- import React from "react";
3
- import Loader, { type TypeProps } from "./";
2
+ import React from 'react';
3
+ import Loader, {type TypeProps} from './';
4
4
 
5
5
  export default {
6
- title: "Loader",
6
+ title: 'Components/Loader',
7
7
  component: Loader,
8
8
  };
9
9
 
10
10
  export const defaultStory = (args: TypeProps) => <Loader {...args} />;
11
11
 
12
12
  defaultStory.args = {
13
- text: "Content loading",
13
+ text: 'Content loading',
14
14
  };
15
15
 
16
16
  defaultStory.story = {
17
- name: "Default",
17
+ name: 'Default',
18
18
  };
19
19
 
20
20
  export const small = (args: TypeProps) => <Loader {...args} />;
21
21
 
22
22
  small.args = {
23
- text: "Content loading",
24
- size: "small",
23
+ text: 'Content loading',
24
+ size: 'small',
25
25
  };
26
26
 
27
27
  small.story = {
28
- name: "Small",
28
+ name: 'Small',
29
29
  };
30
30
 
31
31
  export const noDelay = (args: TypeProps) => <Loader {...args} />;
32
32
 
33
33
  noDelay.args = {
34
- text: "Content loading",
34
+ text: 'Content loading',
35
35
  delay: false,
36
36
  };
37
37
 
38
38
  noDelay.story = {
39
- name: "No delay",
39
+ name: 'No delay',
40
40
  };
@@ -1,26 +1,26 @@
1
1
  // @flow
2
- import React from "react";
3
- import { render } from "../utils/react-testing-library";
4
- import "jest-styled-components";
5
- import Loader from "./";
2
+ import React from 'react';
3
+ import {render} from '../utils/react-testing-library';
4
+ import 'jest-styled-components';
5
+ import Loader from './';
6
6
 
7
- describe("Loader", () => {
8
- it("should render properly", () => {
9
- const { getByText } = render(<Loader />);
10
- expect(getByText("Loading")).toBeTruthy();
7
+ describe('Loader', () => {
8
+ it('should render properly', () => {
9
+ const {getByText} = render(<Loader />);
10
+ expect(getByText('Loading')).toBeTruthy();
11
11
  });
12
12
 
13
- it("should render with small size class", () => {
14
- const { getByDataQaLabel } = render(<Loader size="small" />);
15
- expect(getByDataQaLabel({ loader: "" })).toHaveStyleRule("width", "20px");
13
+ it('should render with small size class', () => {
14
+ const {getByDataQaLabel} = render(<Loader size="small" />);
15
+ expect(getByDataQaLabel({loader: ''})).toHaveStyleRule('width', '20px');
16
16
  });
17
17
 
18
- it("should render with light theme", () => {
19
- const { getByDataQaLabel } = render(<Loader color="light" />);
20
- expect(getByDataQaLabel({ loader: "" })).toHaveStyleRule(
21
- "border-color",
22
- "rgba(255,255,255,0.3) rgba(255,255,255,0.3) rgba(255,255,255,0.7) rgba(255,255,255,0.7)",
23
- { modifier: ":after" }
18
+ it('should render with light theme', () => {
19
+ const {getByDataQaLabel} = render(<Loader color="light" />);
20
+ expect(getByDataQaLabel({loader: ''})).toHaveStyleRule(
21
+ 'border-color',
22
+ 'rgba(255,255,255,0.3) rgba(255,255,255,0.3) rgba(255,255,255,0.7) rgba(255,255,255,0.7)',
23
+ {modifier: ':after'}
24
24
  );
25
25
  });
26
26
  });
@@ -1,14 +1,10 @@
1
1
  //@flow
2
- import styled, {
3
- css,
4
- keyframes,
5
- type StyledComponent,
6
- } from "styled-components";
7
- import { COMMON } from "../utils/system-props";
8
- import { visuallyHidden } from "../utils/mixins";
9
- import { rgba } from "polished";
2
+ import styled, {css, keyframes, type StyledComponent} from 'styled-components';
3
+ import {COMMON} from '../utils/system-props';
4
+ import {visuallyHidden} from '../utils/mixins';
5
+ import {rgba} from 'polished';
10
6
 
11
- import type { TypeTheme } from "../types/theme.flow";
7
+ import type {TypeTheme} from '../types/theme.flow';
12
8
 
13
9
  const getSize = (size) => {
14
10
  const spinnerSize = Math.ceil(size * 0.9);
@@ -59,8 +55,8 @@ const delay = keyframes`
59
55
  }
60
56
  `;
61
57
 
62
- const Container: StyledComponent<{ ... }, TypeTheme, *> = styled.div.attrs({
63
- className: "Loader",
58
+ const Container: StyledComponent<{...}, TypeTheme, *> = styled.div.attrs({
59
+ className: 'Loader',
64
60
  })`
65
61
  position: relative;
66
62
  margin: 0 auto;
@@ -72,7 +68,7 @@ const Container: StyledComponent<{ ... }, TypeTheme, *> = styled.div.attrs({
72
68
  left: 50%;
73
69
  border-style: solid;
74
70
  border-radius: 50%;
75
- content: "";
71
+ content: '';
76
72
  transition: opacity 250ms;
77
73
 
78
74
  animation: ${(props) =>
@@ -94,7 +90,7 @@ const Container: StyledComponent<{ ... }, TypeTheme, *> = styled.div.attrs({
94
90
  ${COMMON}
95
91
  `;
96
92
 
97
- export const Text: StyledComponent<{ ... }, TypeTheme, *> = styled.div`
93
+ export const Text: StyledComponent<{...}, TypeTheme, *> = styled.div`
98
94
  ${visuallyHidden}
99
95
  `;
100
96