@sproutsocial/racine 12.20.0 → 12.21.1

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 +26 -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,15 +1,15 @@
1
1
  // @flow
2
- import React from "react";
3
- import "jest-styled-components";
4
- import { render, fireEvent, userEvent } from "../utils/react-testing-library";
5
- import Input from "./";
6
- import Text from "../Text";
2
+ import React from 'react';
3
+ import 'jest-styled-components';
4
+ import {render, fireEvent, userEvent} from '../utils/react-testing-library';
5
+ import Input from './';
6
+ import Text from '../Text';
7
7
 
8
- describe("Input", () => {
9
- it("should notify on changes", () => {
8
+ describe('Input', () => {
9
+ it('should notify on changes', () => {
10
10
  const mockOnChange = jest.fn();
11
11
  const mockEventHandler = jest.fn();
12
- const { container, getByDataQaLabel } = render(
12
+ const {container, getByDataQaLabel} = render(
13
13
  <Input
14
14
  id="name"
15
15
  name="name"
@@ -23,10 +23,10 @@ describe("Input", () => {
23
23
  />
24
24
  );
25
25
 
26
- const input = getByDataQaLabel({ input: "name" });
27
- const inputContainer = container.querySelector("div");
26
+ const input = getByDataQaLabel({input: 'name'});
27
+ const inputContainer = container.querySelector('div');
28
28
 
29
- fireEvent.change(input, { target: { value: "updated" } });
29
+ fireEvent.change(input, {target: {value: 'updated'}});
30
30
  expect(mockOnChange).toHaveBeenCalled();
31
31
 
32
32
  // Ensure that the event handlers aren't getting attached to the root level
@@ -42,21 +42,21 @@ describe("Input", () => {
42
42
  expect(mockEventHandler.mock.calls.length).toEqual(0);
43
43
  });
44
44
 
45
- it("should render statuses correctly", () => {
46
- const { queryByDataQaLabel, rerender } = render(
45
+ it('should render statuses correctly', () => {
46
+ const {queryByDataQaLabel, rerender} = render(
47
47
  <Input id="name" name="name" value="User" disabled />
48
48
  );
49
- expect(queryByDataQaLabel({ "input-isdisabled": true })).toBeTruthy();
49
+ expect(queryByDataQaLabel({'input-isdisabled': true})).toBeTruthy();
50
50
 
51
51
  rerender(
52
52
  <Input id="name" name="name" value="User" disabled={false} isInvalid />
53
53
  );
54
- expect(queryByDataQaLabel({ "input-isdisabled": true })).toBe(null);
55
- expect(queryByDataQaLabel({ "input-isdisabled": false })).toBeTruthy();
54
+ expect(queryByDataQaLabel({'input-isdisabled': true})).toBe(null);
55
+ expect(queryByDataQaLabel({'input-isdisabled': false})).toBeTruthy();
56
56
  });
57
57
 
58
- it("should render before and after element", () => {
59
- const { getByText } = render(
58
+ it('should render before and after element', () => {
59
+ const {getByText} = render(
60
60
  <Input
61
61
  elemAfter={<Text>After</Text>}
62
62
  elemBefore={<Text>Before</Text>}
@@ -66,14 +66,14 @@ describe("Input", () => {
66
66
  />
67
67
  );
68
68
 
69
- expect(getByText("Before")).toBeTruthy();
70
- expect(getByText("After")).toBeTruthy();
69
+ expect(getByText('Before')).toBeTruthy();
70
+ expect(getByText('After')).toBeTruthy();
71
71
  });
72
72
 
73
- describe("Input.ClearButton", () => {
74
- describe("Input type=search", () => {
75
- it("should render a clear button for search Inputs", () => {
76
- const { getByRole } = render(
73
+ describe('Input.ClearButton', () => {
74
+ describe('Input type=search', () => {
75
+ it('should render a clear button for search Inputs', () => {
76
+ const {getByRole} = render(
77
77
  <Input
78
78
  id="name"
79
79
  name="name"
@@ -83,11 +83,11 @@ describe("Input", () => {
83
83
  clearButtonLabel="Clear search"
84
84
  />
85
85
  );
86
- expect(getByRole("button")).toBeTruthy();
86
+ expect(getByRole('button')).toBeTruthy();
87
87
  });
88
88
 
89
- it("should render a clear button for an uncontrolled search Input only when it has text", () => {
90
- const { getByRole, queryByRole } = render(
89
+ it('should render a clear button for an uncontrolled search Input only when it has text', () => {
90
+ const {getByRole, queryByRole} = render(
91
91
  <Input
92
92
  id="name"
93
93
  name="name"
@@ -95,19 +95,19 @@ describe("Input", () => {
95
95
  clearButtonLabel="Clear search"
96
96
  />
97
97
  );
98
- expect(queryByRole("button")).toBeFalsy();
99
- const input = getByRole("searchbox");
98
+ expect(queryByRole('button')).toBeFalsy();
99
+ const input = getByRole('searchbox');
100
100
  userEvent.tab();
101
101
  expect(input).toHaveFocus();
102
- userEvent.keyboard("some text");
103
- expect(getByRole("button")).toBeTruthy();
102
+ userEvent.keyboard('some text');
103
+ expect(getByRole('button')).toBeTruthy();
104
104
  userEvent.tab();
105
- userEvent.keyboard("{enter}");
106
- expect(queryByRole("button")).toBeFalsy();
105
+ userEvent.keyboard('{enter}');
106
+ expect(queryByRole('button')).toBeFalsy();
107
107
  });
108
108
 
109
- it("should not render a clear button for search Inputs if there is no text", () => {
110
- const { queryByRole } = render(
109
+ it('should not render a clear button for search Inputs if there is no text', () => {
110
+ const {queryByRole} = render(
111
111
  <Input
112
112
  id="name"
113
113
  name="name"
@@ -117,11 +117,11 @@ describe("Input", () => {
117
117
  clearButtonLabel="Clear search"
118
118
  />
119
119
  );
120
- expect(queryByRole("button")).toBeFalsy();
120
+ expect(queryByRole('button')).toBeFalsy();
121
121
  });
122
122
 
123
- it("should not override an elemAfter prop if passed", () => {
124
- const { getByText, queryByTitle } = render(
123
+ it('should not override an elemAfter prop if passed', () => {
124
+ const {getByText, queryByTitle} = render(
125
125
  <Input
126
126
  id="name"
127
127
  name="name"
@@ -131,12 +131,12 @@ describe("Input", () => {
131
131
  elemAfter={<Text>After</Text>}
132
132
  />
133
133
  );
134
- expect(getByText("After")).toBeTruthy();
135
- expect(queryByTitle("Clear")).not.toBeInTheDocument();
134
+ expect(getByText('After')).toBeTruthy();
135
+ expect(queryByTitle('Clear')).not.toBeInTheDocument();
136
136
  });
137
137
 
138
- it("should use the fallback title if clearButtonLabel is not provided", () => {
139
- const { getByTitle } = render(
138
+ it('should use the fallback title if clearButtonLabel is not provided', () => {
139
+ const {getByTitle} = render(
140
140
  <Input
141
141
  id="name"
142
142
  name="name"
@@ -145,12 +145,12 @@ describe("Input", () => {
145
145
  onClear={jest.fn()}
146
146
  />
147
147
  );
148
- expect(getByTitle("Clear")).toBeTruthy();
148
+ expect(getByTitle('Clear')).toBeTruthy();
149
149
  });
150
150
 
151
- it("should call onClear when clicked", () => {
151
+ it('should call onClear when clicked', () => {
152
152
  const mockOnClear = jest.fn();
153
- const { getByRole } = render(
153
+ const {getByRole} = render(
154
154
  <Input
155
155
  id="name"
156
156
  name="name"
@@ -160,13 +160,13 @@ describe("Input", () => {
160
160
  clearButtonLabel="Clear search"
161
161
  />
162
162
  );
163
- fireEvent.click(getByRole("button"));
163
+ fireEvent.click(getByRole('button'));
164
164
  expect(mockOnClear).toHaveBeenCalled();
165
165
  });
166
166
 
167
- it("should allow keyboard access to and Space key triggering of the clear button", () => {
167
+ it('should allow keyboard access to and Space key triggering of the clear button', () => {
168
168
  const mockOnClear = jest.fn();
169
- const { getByRole } = render(
169
+ const {getByRole} = render(
170
170
  <Input
171
171
  id="name"
172
172
  name="name"
@@ -176,19 +176,19 @@ describe("Input", () => {
176
176
  clearButtonLabel="Clear search"
177
177
  />
178
178
  );
179
- const input = getByRole("searchbox");
180
- const button = getByRole("button");
179
+ const input = getByRole('searchbox');
180
+ const button = getByRole('button');
181
181
  userEvent.tab();
182
182
  expect(input).toHaveFocus();
183
183
  userEvent.tab();
184
184
  expect(button).toHaveFocus();
185
- userEvent.keyboard("{space}");
185
+ userEvent.keyboard('{space}');
186
186
  expect(mockOnClear).toHaveBeenCalled();
187
187
  });
188
188
 
189
- it("should allow keyboard access to and Enter key triggering of the clear button", () => {
189
+ it('should allow keyboard access to and Enter key triggering of the clear button', () => {
190
190
  const mockOnClear = jest.fn();
191
- const { getByRole } = render(
191
+ const {getByRole} = render(
192
192
  <Input
193
193
  id="name"
194
194
  name="name"
@@ -198,20 +198,20 @@ describe("Input", () => {
198
198
  clearButtonLabel="Clear search"
199
199
  />
200
200
  );
201
- const input = getByRole("searchbox");
202
- const button = getByRole("button");
201
+ const input = getByRole('searchbox');
202
+ const button = getByRole('button');
203
203
  userEvent.tab();
204
204
  expect(input).toHaveFocus();
205
205
  userEvent.tab();
206
206
  expect(button).toHaveFocus();
207
- userEvent.keyboard("{enter}");
207
+ userEvent.keyboard('{enter}');
208
208
  expect(mockOnClear).toHaveBeenCalled();
209
209
  });
210
210
  });
211
211
 
212
- describe("Manual Input.ClearButton usage", () => {
213
- it("should render a clear button when passed with elemAfter", () => {
214
- const { getByRole } = render(
212
+ describe('Manual Input.ClearButton usage', () => {
213
+ it('should render a clear button when passed with elemAfter', () => {
214
+ const {getByRole} = render(
215
215
  <Input
216
216
  id="name"
217
217
  name="name"
@@ -222,11 +222,11 @@ describe("Input", () => {
222
222
  clearButtonLabel="Clear search"
223
223
  />
224
224
  );
225
- expect(getByRole("button")).toBeTruthy();
225
+ expect(getByRole('button')).toBeTruthy();
226
226
  });
227
227
 
228
- it("should not render a clear button if there is no text", () => {
229
- const { queryByRole } = render(
228
+ it('should not render a clear button if there is no text', () => {
229
+ const {queryByRole} = render(
230
230
  <Input
231
231
  id="name"
232
232
  name="name"
@@ -237,11 +237,11 @@ describe("Input", () => {
237
237
  clearButtonLabel="Clear search"
238
238
  />
239
239
  );
240
- expect(queryByRole("button")).toBeFalsy();
240
+ expect(queryByRole('button')).toBeFalsy();
241
241
  });
242
242
 
243
- it("should use the fallback title if clearButtonLabel is not provided", () => {
244
- const { getByTitle } = render(
243
+ it('should use the fallback title if clearButtonLabel is not provided', () => {
244
+ const {getByTitle} = render(
245
245
  <Input
246
246
  id="name"
247
247
  name="name"
@@ -251,12 +251,12 @@ describe("Input", () => {
251
251
  onClear={jest.fn()}
252
252
  />
253
253
  );
254
- expect(getByTitle("Clear")).toBeTruthy();
254
+ expect(getByTitle('Clear')).toBeTruthy();
255
255
  });
256
256
 
257
- it("should call onClear when Input.ClearButton is clicked", () => {
257
+ it('should call onClear when Input.ClearButton is clicked', () => {
258
258
  const mockOnClear = jest.fn();
259
- const { getByRole } = render(
259
+ const {getByRole} = render(
260
260
  <Input
261
261
  id="name"
262
262
  name="name"
@@ -267,13 +267,13 @@ describe("Input", () => {
267
267
  clearButtonLabel="Clear search"
268
268
  />
269
269
  );
270
- fireEvent.click(getByRole("button"));
270
+ fireEvent.click(getByRole('button'));
271
271
  expect(mockOnClear).toHaveBeenCalled();
272
272
  });
273
273
 
274
- it("should allow keyboard access to and Space key triggering of the clear button", () => {
274
+ it('should allow keyboard access to and Space key triggering of the clear button', () => {
275
275
  const mockOnClear = jest.fn();
276
- const { getByRole } = render(
276
+ const {getByRole} = render(
277
277
  <Input
278
278
  id="name"
279
279
  name="name"
@@ -284,19 +284,19 @@ describe("Input", () => {
284
284
  clearButtonLabel="Clear search"
285
285
  />
286
286
  );
287
- const input = getByRole("textbox");
288
- const button = getByRole("button");
287
+ const input = getByRole('textbox');
288
+ const button = getByRole('button');
289
289
  userEvent.tab();
290
290
  expect(input).toHaveFocus();
291
291
  userEvent.tab();
292
292
  expect(button).toHaveFocus();
293
- userEvent.keyboard("{space}");
293
+ userEvent.keyboard('{space}');
294
294
  expect(mockOnClear).toHaveBeenCalled();
295
295
  });
296
296
 
297
- it("should allow keyboard access to and Enter key triggering of the clear button", () => {
297
+ it('should allow keyboard access to and Enter key triggering of the clear button', () => {
298
298
  const mockOnClear = jest.fn();
299
- const { getByRole } = render(
299
+ const {getByRole} = render(
300
300
  <Input
301
301
  id="name"
302
302
  name="name"
@@ -307,97 +307,97 @@ describe("Input", () => {
307
307
  clearButtonLabel="Clear search"
308
308
  />
309
309
  );
310
- const input = getByRole("textbox");
311
- const button = getByRole("button");
310
+ const input = getByRole('textbox');
311
+ const button = getByRole('button');
312
312
  userEvent.tab();
313
313
  expect(input).toHaveFocus();
314
314
  userEvent.tab();
315
315
  expect(button).toHaveFocus();
316
- userEvent.keyboard("{enter}");
316
+ userEvent.keyboard('{enter}');
317
317
  expect(mockOnClear).toHaveBeenCalled();
318
318
  });
319
319
  });
320
320
  });
321
321
 
322
- describe("autoComplete prop", () => {
323
- it("should not have autoComplete attribute when passed prop is not passed", () => {
324
- const { getByDataQaLabel } = render(<Input id="name" name="name" />);
325
- expect(getByDataQaLabel({ input: "name" })).not.toHaveAttribute(
326
- "autocomplete",
327
- "on"
322
+ describe('autoComplete prop', () => {
323
+ it('should not have autoComplete attribute when passed prop is not passed', () => {
324
+ const {getByDataQaLabel} = render(<Input id="name" name="name" />);
325
+ expect(getByDataQaLabel({input: 'name'})).not.toHaveAttribute(
326
+ 'autocomplete',
327
+ 'on'
328
328
  );
329
329
  });
330
330
 
331
331
  it("should have autoComplete attribute set to 'on' when passed prop is set to true", () => {
332
- const { getByDataQaLabel } = render(
332
+ const {getByDataQaLabel} = render(
333
333
  <Input id="name" name="name" autoComplete={true} />
334
334
  );
335
- expect(getByDataQaLabel({ input: "name" })).toHaveAttribute(
336
- "autocomplete",
337
- "on"
335
+ expect(getByDataQaLabel({input: 'name'})).toHaveAttribute(
336
+ 'autocomplete',
337
+ 'on'
338
338
  );
339
339
  });
340
340
 
341
341
  it("should have autoComplete attribute set to 'off' when passed prop is set to false", () => {
342
- const { getByDataQaLabel } = render(
342
+ const {getByDataQaLabel} = render(
343
343
  <Input id="name" name="name" autoComplete={false} />
344
344
  );
345
- expect(getByDataQaLabel({ input: "name" })).toHaveAttribute(
346
- "autocomplete",
347
- "off"
345
+ expect(getByDataQaLabel({input: 'name'})).toHaveAttribute(
346
+ 'autocomplete',
347
+ 'off'
348
348
  );
349
349
  });
350
350
  });
351
351
 
352
- describe("readOnly prop", () => {
353
- it.each([true, "foobar", 1])(
354
- "should correctly add the readonly prop for truthy values: %p",
352
+ describe('readOnly prop', () => {
353
+ it.each([true, 'foobar', 1])(
354
+ 'should correctly add the readonly prop for truthy values: %p',
355
355
  (truthyValue) => {
356
- const { getByDataQaLabel } = render(
356
+ const {getByDataQaLabel} = render(
357
357
  <Input id="name" name="name" readOnly={truthyValue} />
358
358
  );
359
- expect(getByDataQaLabel({ input: "name" })).toHaveAttribute(
360
- "readonly",
361
- ""
359
+ expect(getByDataQaLabel({input: 'name'})).toHaveAttribute(
360
+ 'readonly',
361
+ ''
362
362
  );
363
363
  }
364
364
  );
365
365
 
366
- it.each([false, null, undefined, 0, ""])(
367
- "should correctly leave off readonly prop for falsey values: %p",
366
+ it.each([false, null, undefined, 0, ''])(
367
+ 'should correctly leave off readonly prop for falsey values: %p',
368
368
  (truthyValue) => {
369
- const { getByDataQaLabel } = render(
369
+ const {getByDataQaLabel} = render(
370
370
  <Input id="name" name="name" readOnly={truthyValue} />
371
371
  );
372
- expect(getByDataQaLabel({ input: "name" })).not.toHaveAttribute(
373
- "readonly"
372
+ expect(getByDataQaLabel({input: 'name'})).not.toHaveAttribute(
373
+ 'readonly'
374
374
  );
375
375
  }
376
376
  );
377
377
  });
378
378
 
379
- describe("isInvalid prop", () => {
380
- it.each([true, "foobar", 1])(
381
- "should correctly set aria-invalid to true for truthy values: %p",
379
+ describe('isInvalid prop', () => {
380
+ it.each([true, 'foobar', 1])(
381
+ 'should correctly set aria-invalid to true for truthy values: %p',
382
382
  (truthyValue) => {
383
- const { getByDataQaLabel } = render(
383
+ const {getByDataQaLabel} = render(
384
384
  <Input id="name" name="name" isInvalid={truthyValue} />
385
385
  );
386
- expect(getByDataQaLabel({ input: "name" })).toHaveAttribute(
387
- "aria-invalid",
388
- "true"
386
+ expect(getByDataQaLabel({input: 'name'})).toHaveAttribute(
387
+ 'aria-invalid',
388
+ 'true'
389
389
  );
390
390
  }
391
391
  );
392
392
  it.each([false, null, undefined, 0])(
393
- "should correctly set aria-invalid to false for falsey values: %p",
393
+ 'should correctly set aria-invalid to false for falsey values: %p',
394
394
  (truthyValue) => {
395
- const { getByDataQaLabel } = render(
395
+ const {getByDataQaLabel} = render(
396
396
  <Input id="name" name="name" isInvalid={truthyValue} />
397
397
  );
398
- expect(getByDataQaLabel({ input: "name" })).toHaveAttribute(
399
- "aria-invalid",
400
- "false"
398
+ expect(getByDataQaLabel({input: 'name'})).toHaveAttribute(
399
+ 'aria-invalid',
400
+ 'false'
401
401
  );
402
402
  }
403
403
  );
@@ -1,9 +1,9 @@
1
1
  //@flow
2
- import styled, { css, type StyledComponent } from "styled-components";
3
- import { COMMON } from "../utils/system-props";
4
- import { focusRing } from "../utils/mixins";
2
+ import styled, {css, type StyledComponent} from 'styled-components';
3
+ import {COMMON} from '../utils/system-props';
4
+ import {focusRing} from '../utils/mixins';
5
5
 
6
- import type { TypeTheme } from "../types/theme.flow";
6
+ import type {TypeTheme} from '../types/theme.flow';
7
7
 
8
8
  const Container: StyledComponent<any, TypeTheme, *> = styled.div`
9
9
  box-sizing: border-box;
@@ -30,11 +30,11 @@ const Container: StyledComponent<any, TypeTheme, *> = styled.div`
30
30
 
31
31
  padding: ${(props) => {
32
32
  switch (props.size) {
33
- case "large":
33
+ case 'large':
34
34
  return props.theme.space[400];
35
- case "small":
35
+ case 'small':
36
36
  return props.theme.space[200];
37
- case "default":
37
+ case 'default':
38
38
  default:
39
39
  return props.theme.space[300];
40
40
  }
@@ -42,10 +42,10 @@ const Container: StyledComponent<any, TypeTheme, *> = styled.div`
42
42
 
43
43
  font-size: ${(props) => {
44
44
  switch (props.size) {
45
- case "large":
45
+ case 'large':
46
46
  return props.theme.typography[300].fontSize;
47
- case "small":
48
- case "default":
47
+ case 'small':
48
+ case 'default':
49
49
  default:
50
50
  return props.theme.typography[200].fontSize;
51
51
  }
@@ -97,7 +97,7 @@ const Container: StyledComponent<any, TypeTheme, *> = styled.div`
97
97
  `}
98
98
 
99
99
  ${(props) =>
100
- props.appearance === "primary" &&
100
+ props.appearance === 'primary' &&
101
101
  css`
102
102
  input {
103
103
  border: 1px solid ${(props) => props.theme.colors.form.border.base};
@@ -144,7 +144,7 @@ export const Accessory: StyledComponent<any, TypeTheme, *> = styled.div`
144
144
  `};
145
145
  `;
146
146
 
147
- Container.displayName = "InputContainer";
148
- Accessory.displayName = "InputAccessory";
147
+ Container.displayName = 'InputContainer';
148
+ Accessory.displayName = 'InputAccessory';
149
149
 
150
150
  export default Container;
@@ -1,16 +1,16 @@
1
1
  // @flow
2
- import * as React from "react";
3
- import Text from "../Text";
4
- import Container from "./styles";
2
+ import * as React from 'react';
3
+ import Text from '../Text';
4
+ import Container from './styles';
5
5
 
6
- type TypeProps = {
6
+ export type TypeProps = {
7
7
  /** Text to display inside of key */
8
8
  children: string,
9
9
  };
10
10
 
11
11
  export default class KeyboardKey extends React.Component<TypeProps> {
12
12
  render() {
13
- const { children, ...rest } = this.props;
13
+ const {children, ...rest} = this.props;
14
14
 
15
15
  return (
16
16
  <Container {...rest}>
@@ -1,28 +1,25 @@
1
1
  // @flow
2
- import React from "react";
3
- import { text } from "@storybook/addon-knobs";
4
-
5
- import KeyboardKey from "./";
2
+ import React from 'react';
3
+ import KeyboardKey from './';
6
4
 
7
5
  export default {
8
- title: "KeyboardKey",
6
+ title: 'Components/KeyboardKey',
7
+ component: KeyboardKey,
9
8
  };
10
9
 
11
- export const singleKey = () => (
12
- <KeyboardKey>{text("children", "ctrl")}</KeyboardKey>
13
- );
10
+ export const singleKey = () => <KeyboardKey children="ctrl" />;
14
11
 
15
12
  singleKey.story = {
16
- name: "Single key",
13
+ name: 'Single key',
17
14
  };
18
15
 
19
16
  export const keyCombination = () => (
20
17
  <>
21
- <KeyboardKey>{text("children", "ctrl")}</KeyboardKey>
22
- <KeyboardKey>{text("children", "]")}</KeyboardKey>
18
+ <KeyboardKey children="ctrl" />
19
+ <KeyboardKey children="]" />
23
20
  </>
24
21
  );
25
22
 
26
23
  keyCombination.story = {
27
- name: "Key combination",
24
+ name: 'Key combination',
28
25
  };
@@ -1,12 +1,12 @@
1
1
  // @flow
2
- import React from "react";
3
- import { render } from "../utils/react-testing-library";
4
- import KeyboardKey from "./";
2
+ import React from 'react';
3
+ import {render} from '../utils/react-testing-library';
4
+ import KeyboardKey from './';
5
5
 
6
- describe("KeyboardKey", () => {
7
- it("should render children RTL", () => {
8
- const children = "command";
9
- const { getByText } = render(<KeyboardKey>{children}</KeyboardKey>);
6
+ describe('KeyboardKey', () => {
7
+ it('should render children RTL', () => {
8
+ const children = 'command';
9
+ const {getByText} = render(<KeyboardKey>{children}</KeyboardKey>);
10
10
  expect(getByText(children)).toBeTruthy();
11
11
  });
12
12
  });
@@ -1,10 +1,10 @@
1
1
  //@flow
2
- import styled, { type StyledComponent } from "styled-components";
3
- import { COMMON } from "../utils/system-props";
2
+ import styled, {type StyledComponent} from 'styled-components';
3
+ import {COMMON} from '../utils/system-props';
4
4
 
5
- import type { TypeTheme } from "../types/theme.flow";
5
+ import type {TypeTheme} from '../types/theme.flow';
6
6
 
7
- const Container: StyledComponent<{ ... }, TypeTheme, *> = styled.div`
7
+ const Container: StyledComponent<{...}, TypeTheme, *> = styled.div`
8
8
  display: inline-flex;
9
9
  color: ${(props) => props.theme.colors.text.body};
10
10
  background-color: ${(props) => props.theme.colors.container.background.base};
@@ -1,17 +1,17 @@
1
- "no babel-plugin-flow-react-proptypes";
1
+ 'no babel-plugin-flow-react-proptypes';
2
2
  // @flow
3
- import * as React from "react";
4
- import styled from "styled-components";
5
- import Text from "../Text";
3
+ import * as React from 'react';
4
+ import styled from 'styled-components';
5
+ import Text from '../Text';
6
6
 
7
- import type { TypeTheme } from "../types/theme.flow";
7
+ import type {TypeTheme} from '../types/theme.flow';
8
8
 
9
9
  type TypeLabelBaseProps = {
10
10
  ...React.ElementConfig<typeof Text>,
11
11
  as: string,
12
12
  ...
13
13
  };
14
- const LabelBase = ({ as = "label", ...rest }: TypeLabelBaseProps) => (
14
+ const LabelBase = ({as = 'label', ...rest}: TypeLabelBaseProps) => (
15
15
  <Text {...rest} as={as} />
16
16
  );
17
17