@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,29 +1,29 @@
1
- import React from "react";
2
- import "jest-styled-components";
3
- import { render } from "../../../utils/react-testing-library";
4
- import TokenInput from "../../";
1
+ import React from 'react';
2
+ import 'jest-styled-components';
3
+ import {render} from '../../../utils/react-testing-library';
4
+ import TokenInput from '../../';
5
5
 
6
- describe("When rendering...", () => {
7
- it("should render disabled status correctly", () => {
8
- const { queryByDataQaLabel } = render(
6
+ describe('When rendering...', () => {
7
+ it('should render disabled status correctly', () => {
8
+ const {queryByDataQaLabel} = render(
9
9
  <TokenInput
10
10
  id="0"
11
11
  placeholder="Please enter a value..."
12
12
  name="token-input"
13
13
  tokens={[
14
- { id: "0", value: "you" },
15
- { id: "1", value: "are" },
16
- { id: "2", value: "beautiful" },
14
+ {id: '0', value: 'you'},
15
+ {id: '1', value: 'are'},
16
+ {id: '2', value: 'beautiful'},
17
17
  ]}
18
18
  disabled
19
19
  />
20
20
  );
21
21
 
22
- expect(queryByDataQaLabel({ "input-isdisabled": true })).toBeTruthy();
22
+ expect(queryByDataQaLabel({'input-isdisabled': true})).toBeTruthy();
23
23
  });
24
24
 
25
- it("should render before and after elements", () => {
26
- const { getByText } = render(
25
+ it('should render before and after elements', () => {
26
+ const {getByText} = render(
27
27
  <TokenInput
28
28
  elemAfter={<p>After</p>}
29
29
  elemBefore={<p>Before</p>}
@@ -33,108 +33,108 @@ describe("When rendering...", () => {
33
33
  />
34
34
  );
35
35
 
36
- expect(getByText("Before")).toBeTruthy();
37
- expect(getByText("After")).toBeTruthy();
36
+ expect(getByText('Before')).toBeTruthy();
37
+ expect(getByText('After')).toBeTruthy();
38
38
  });
39
39
 
40
- describe("...the isInvalid prop", () => {
41
- it.each([true, "foobar", 1])(
42
- "should correctly set aria-invalid to true for truthy values: %p",
40
+ describe('...the isInvalid prop', () => {
41
+ it.each([true, 'foobar', 1])(
42
+ 'should correctly set aria-invalid to true for truthy values: %p',
43
43
  (truthyValue) => {
44
- const { getByDataQaLabel } = render(
44
+ const {getByDataQaLabel} = render(
45
45
  <TokenInput id="name" name="name" isInvalid={truthyValue} />
46
46
  );
47
- expect(getByDataQaLabel({ input: "name" })).toHaveAttribute(
48
- "aria-invalid",
49
- "true"
47
+ expect(getByDataQaLabel({input: 'name'})).toHaveAttribute(
48
+ 'aria-invalid',
49
+ 'true'
50
50
  );
51
51
  }
52
52
  );
53
53
  it.each([false, null, undefined, 0])(
54
- "should correctly set aria-invalid to false for falsy values: %p",
54
+ 'should correctly set aria-invalid to false for falsy values: %p',
55
55
  (truthyValue) => {
56
- const { getByDataQaLabel } = render(
56
+ const {getByDataQaLabel} = render(
57
57
  <TokenInput id="name" name="name" isInvalid={truthyValue} />
58
58
  );
59
- expect(getByDataQaLabel({ input: "name" })).toHaveAttribute(
60
- "aria-invalid",
61
- "false"
59
+ expect(getByDataQaLabel({input: 'name'})).toHaveAttribute(
60
+ 'aria-invalid',
61
+ 'false'
62
62
  );
63
63
  }
64
64
  );
65
65
  });
66
66
 
67
- describe("...tokens", () => {
68
- it("should render tokens in container", () => {
69
- const { getByText } = render(
67
+ describe('...tokens', () => {
68
+ it('should render tokens in container', () => {
69
+ const {getByText} = render(
70
70
  <TokenInput
71
71
  id="name"
72
72
  name="name"
73
73
  value="User"
74
74
  tokens={[
75
- { id: 0, value: "han" },
76
- { id: 1, value: "solo" },
75
+ {id: 0, value: 'han'},
76
+ {id: 1, value: 'solo'},
77
77
  ]}
78
78
  />
79
79
  );
80
80
 
81
- expect(getByText("han")).toBeTruthy();
82
- expect(getByText("solo")).toBeTruthy();
81
+ expect(getByText('han')).toBeTruthy();
82
+ expect(getByText('solo')).toBeTruthy();
83
83
  });
84
84
 
85
- it("should render tokens with icons", () => {
86
- const { getAllByDataQaLabel } = render(
85
+ it('should render tokens with icons', () => {
86
+ const {getAllByDataQaLabel} = render(
87
87
  <TokenInput
88
88
  id="name"
89
89
  iconName="lock"
90
90
  name="name"
91
91
  value="User"
92
92
  tokens={[
93
- { id: 0, value: "han" },
94
- { id: 1, value: "solo" },
93
+ {id: 0, value: 'han'},
94
+ {id: 1, value: 'solo'},
95
95
  ]}
96
96
  />
97
97
  );
98
98
 
99
- expect(getAllByDataQaLabel({ icon: "lock" }).length).toBe(2);
99
+ expect(getAllByDataQaLabel({icon: 'lock'}).length).toBe(2);
100
100
  });
101
101
 
102
- it("should render tokens with individual icons", () => {
103
- const { getAllByDataQaLabel } = render(
102
+ it('should render tokens with individual icons', () => {
103
+ const {getAllByDataQaLabel} = render(
104
104
  <TokenInput
105
105
  id="name"
106
106
  name="name"
107
107
  value="User"
108
108
  tokens={[
109
- { id: 0, value: "han" },
110
- { id: 1, iconName: "sun", value: "solo" },
111
- { id: 2, iconName: "sun", value: "darth" },
112
- { id: 3, value: "vader" },
109
+ {id: 0, value: 'han'},
110
+ {id: 1, iconName: 'sun', value: 'solo'},
111
+ {id: 2, iconName: 'sun', value: 'darth'},
112
+ {id: 3, value: 'vader'},
113
113
  ]}
114
114
  />
115
115
  );
116
116
 
117
- expect(getAllByDataQaLabel({ icon: "sun" }).length).toBe(2);
117
+ expect(getAllByDataQaLabel({icon: 'sun'}).length).toBe(2);
118
118
  });
119
119
 
120
- it("should render tokens with individual icons and fallback icon", () => {
121
- const { getAllByDataQaLabel } = render(
120
+ it('should render tokens with individual icons and fallback icon', () => {
121
+ const {getAllByDataQaLabel} = render(
122
122
  <TokenInput
123
123
  id="name"
124
124
  iconName="lock"
125
125
  name="name"
126
126
  value="User"
127
127
  tokens={[
128
- { id: 0, value: "han" },
129
- { id: 1, iconName: "sun", value: "solo" },
130
- { id: 2, iconName: "sun", value: "darth" },
131
- { id: 3, value: "vader" },
128
+ {id: 0, value: 'han'},
129
+ {id: 1, iconName: 'sun', value: 'solo'},
130
+ {id: 2, iconName: 'sun', value: 'darth'},
131
+ {id: 3, value: 'vader'},
132
132
  ]}
133
133
  />
134
134
  );
135
135
 
136
- expect(getAllByDataQaLabel({ icon: "lock" }).length).toBe(2);
137
- expect(getAllByDataQaLabel({ icon: "sun" }).length).toBe(2);
136
+ expect(getAllByDataQaLabel({icon: 'lock'}).length).toBe(2);
137
+ expect(getAllByDataQaLabel({icon: 'sun'}).length).toBe(2);
138
138
  });
139
139
  });
140
140
  });
@@ -1,8 +1,8 @@
1
1
  // @flow
2
2
 
3
- import uniqueId from "lodash.uniqueid";
3
+ import uniqueId from 'lodash.uniqueid';
4
4
 
5
- import type { TypeTokenSpec } from "./index.flow";
5
+ import type {TypeTokenSpec} from './index.flow';
6
6
 
7
7
  export const asTokenSpec = (text: string): TypeTokenSpec => ({
8
8
  id: uniqueId(`${text}-`),
@@ -10,12 +10,12 @@ export const asTokenSpec = (text: string): TypeTokenSpec => ({
10
10
  });
11
11
 
12
12
  const KeyNameToRegExpChar = {
13
- Enter: "\\n",
13
+ Enter: '\\n',
14
14
  };
15
15
 
16
16
  export const delimitersAsRegExp = (delimiters: ?(string[])) => {
17
17
  if (!delimiters) return /[,\n]/;
18
18
 
19
- let chars = delimiters.map((key) => KeyNameToRegExpChar[key] || key).join("");
19
+ let chars = delimiters.map((key) => KeyNameToRegExpChar[key] || key).join('');
20
20
  return RegExp(`[${chars}]`);
21
21
  };
@@ -1,9 +1,9 @@
1
1
  // @flow
2
- import * as React from "react";
3
- import { useState, useEffect } from "react";
4
- import { TooltipContent } from "./styles";
5
- import Popout, { type EnumPlacements } from "../Popout";
6
- import MOTION from "@sproutsocial/seeds-motion/dist/seeds-motion-unitless";
2
+ import * as React from 'react';
3
+ import {useState, useEffect} from 'react';
4
+ import {TooltipContent} from './styles';
5
+ import Popout, {type EnumPlacements} from '../Popout';
6
+ import MOTION from '@sproutsocial/seeds-motion/dist/seeds-motion-unitless';
7
7
 
8
8
  let idCounter = 0;
9
9
 
@@ -17,7 +17,7 @@ type TypeProps = {
17
17
  /** The time (in ms) that a user has to be hovered/focused before the tooltip will appear */
18
18
  enterDelay?: number,
19
19
  /** Used to override the appearance of the Tooltip content. By default, strings will have the 'pill' appearance, and more complex content will have the 'box' appearance. You can change those defaults by setting this prop. */
20
- appearance?: "pill" | "box",
20
+ appearance?: 'pill' | 'box',
21
21
  qa?: Object,
22
22
  zIndex?: number,
23
23
  /** Props to be spread onto the underlying Popout component */
@@ -33,7 +33,7 @@ const wrapContent = (
33
33
  Wrapper,
34
34
  appearance,
35
35
  ariaProps: any,
36
- wrapperStyles: { [key: string]: any }
36
+ wrapperStyles: {[key: string]: any}
37
37
  ) => {
38
38
  return (
39
39
  <Wrapper
@@ -56,7 +56,7 @@ const Tooltip = ({
56
56
  content,
57
57
  children,
58
58
  enterDelay = MOTION.MOTION_DURATION_FAST * 1000,
59
- placement = "auto",
59
+ placement = 'auto',
60
60
  appearance,
61
61
  zIndex = 7,
62
62
  qa,
@@ -75,9 +75,9 @@ const Tooltip = ({
75
75
  const exitDelay = MOTION.MOTION_DURATION_FAST * 1000;
76
76
 
77
77
  const defaultAppearance =
78
- appearance || (typeof content === "object" ? "box" : "pill");
78
+ appearance || (typeof content === 'object' ? 'box' : 'pill');
79
79
 
80
- const shouldTooltipContentsBeInteractive = defaultAppearance === "box";
80
+ const shouldTooltipContentsBeInteractive = defaultAppearance === 'box';
81
81
 
82
82
  useEffect(() => {
83
83
  let timeout;
@@ -106,14 +106,14 @@ const Tooltip = ({
106
106
 
107
107
  const ariaPropsForWrappedChildren = isOpen
108
108
  ? {
109
- "aria-describedby": id,
109
+ 'aria-describedby': id,
110
110
  }
111
111
  : {};
112
112
  const wrapperStylesForWrappedChildren = truncated
113
113
  ? {
114
- overflow: "hidden",
115
- textOverflow: "ellipsis",
116
- whiteSpace: "nowrap",
114
+ overflow: 'hidden',
115
+ textOverflow: 'ellipsis',
116
+ whiteSpace: 'nowrap',
117
117
  }
118
118
  : {};
119
119
  const wrappedChildren = wrapContent(
@@ -121,7 +121,7 @@ const Tooltip = ({
121
121
  children,
122
122
  show,
123
123
  hide,
124
- "span",
124
+ 'span',
125
125
  defaultAppearance,
126
126
  ariaPropsForWrappedChildren,
127
127
  wrapperStylesForWrappedChildren
@@ -132,10 +132,10 @@ const Tooltip = ({
132
132
  content={!isInvalidContent ? wrappedContent : undefined}
133
133
  isOpen={isOpen}
134
134
  placement={placement}
135
- qa={{ "data-qa-tooltip": id, ...qa }}
135
+ qa={{'data-qa-tooltip': id, ...qa}}
136
136
  focusOnContent={false}
137
137
  zIndex={zIndex}
138
- display={truncated ? "flex" : undefined}
138
+ display={truncated ? 'flex' : undefined}
139
139
  {...popoutProps}
140
140
  >
141
141
  {wrappedChildren}
@@ -144,18 +144,18 @@ const Tooltip = ({
144
144
  };
145
145
 
146
146
  const Content = ({
147
- appearance = "pill",
147
+ appearance = 'pill',
148
148
  children,
149
149
  ...rest
150
150
  }: {
151
- appearance?: "pill" | "box",
151
+ appearance?: 'pill' | 'box',
152
152
  children: string | React.Element<any>,
153
153
  }) => (
154
154
  <TooltipContent
155
155
  appearance={appearance}
156
- borderRadius={appearance === "box" ? 500 : "5000em"}
156
+ borderRadius={appearance === 'box' ? 500 : '5000em'}
157
157
  px={400}
158
- py={appearance === "box" ? 400 : 200}
158
+ py={appearance === 'box' ? 400 : 200}
159
159
  m={200}
160
160
  color="text.body"
161
161
  bg="container.background.base"
@@ -1,14 +1,14 @@
1
1
  // @flow
2
- import React from "react";
3
- import Tooltip from "./index";
4
- import Box from "../Box";
5
- import Button from "../Button";
6
- import Icon from "../Icon";
7
- import Link from "../Link";
8
- import Text from "../Text";
2
+ import React from 'react';
3
+ import Tooltip from './index';
4
+ import Box from '../Box';
5
+ import Button from '../Button';
6
+ import Icon from '../Icon';
7
+ import Link from '../Link';
8
+ import Text from '../Text';
9
9
 
10
10
  export default {
11
- title: "Tooltip",
11
+ title: 'Components/Tooltip',
12
12
  };
13
13
 
14
14
  export const defaultStory = () => (
@@ -25,7 +25,7 @@ export const defaultStory = () => (
25
25
  );
26
26
 
27
27
  defaultStory.story = {
28
- name: "Default",
28
+ name: 'Default',
29
29
  };
30
30
 
31
31
  export const focus = () => (
@@ -48,7 +48,7 @@ export const focus = () => (
48
48
  );
49
49
 
50
50
  focus.story = {
51
- name: "Focus",
51
+ name: 'Focus',
52
52
  };
53
53
 
54
54
  export const withNonStringContent = () => {
@@ -77,7 +77,7 @@ export const withNonStringContent = () => {
77
77
  };
78
78
 
79
79
  withNonStringContent.story = {
80
- name: "With non-string content",
80
+ name: 'With non-string content',
81
81
  };
82
82
 
83
83
  export const withIcon = () => {
@@ -98,7 +98,7 @@ export const withIcon = () => {
98
98
  };
99
99
 
100
100
  withIcon.story = {
101
- name: "With icon",
101
+ name: 'With icon',
102
102
  };
103
103
 
104
104
  export const withLink = () => {
@@ -115,7 +115,7 @@ export const withLink = () => {
115
115
  appearance="pill"
116
116
  content={
117
117
  <Text as="div">
118
- Here is some text with an{" "}
118
+ Here is some text with an{' '}
119
119
  <Link href="https://sproutsocial.com/seeds">inline link</Link>.
120
120
  </Text>
121
121
  }
@@ -127,7 +127,7 @@ export const withLink = () => {
127
127
  };
128
128
 
129
129
  withLink.story = {
130
- name: "With link",
130
+ name: 'With link',
131
131
  };
132
132
 
133
133
  export const withFocusableContent = () => {
@@ -141,12 +141,12 @@ export const withFocusableContent = () => {
141
141
  height="200px"
142
142
  >
143
143
  <Tooltip
144
- popoutProps={{ focusOnContent: true }}
144
+ popoutProps={{focusOnContent: true}}
145
145
  content={
146
146
  <Button
147
147
  appearance="secondary"
148
148
  width={1}
149
- onClick={() => alert("clicked!")}
149
+ onClick={() => alert('clicked!')}
150
150
  >
151
151
  Tab to me
152
152
  </Button>
@@ -159,7 +159,7 @@ export const withFocusableContent = () => {
159
159
  };
160
160
 
161
161
  withFocusableContent.story = {
162
- name: "With focusable content",
162
+ name: 'With focusable content',
163
163
  };
164
164
 
165
165
  export const truncated = () => (
@@ -171,5 +171,5 @@ export const truncated = () => (
171
171
  );
172
172
 
173
173
  truncated.story = {
174
- name: "Truncated",
174
+ name: 'Truncated',
175
175
  };
@@ -1,17 +1,17 @@
1
1
  // @flow
2
- import React from "react";
2
+ import React from 'react';
3
3
  import {
4
4
  render,
5
5
  fireEvent,
6
6
  waitForElement,
7
7
  act,
8
- } from "../utils/react-testing-library";
9
- import "jest-styled-components";
10
- import Tooltip from "./";
11
- import Icon from "../Icon";
8
+ } from '../utils/react-testing-library';
9
+ import 'jest-styled-components';
10
+ import Tooltip from './';
11
+ import Icon from '../Icon';
12
12
 
13
- jest.mock("popper.js", () => {
14
- const PopperJS = jest.requireActual("popper.js");
13
+ jest.mock('popper.js', () => {
14
+ const PopperJS = jest.requireActual('popper.js');
15
15
 
16
16
  return class Popper {
17
17
  static placements = PopperJS.placements;
@@ -24,75 +24,75 @@ jest.mock("popper.js", () => {
24
24
  }
25
25
  };
26
26
  });
27
- jest.mock("../Portal", () => ({ children }) => <div>{children}</div>);
27
+ jest.mock('../Portal', () => ({children}) => <div>{children}</div>);
28
28
 
29
- describe("Tooltip", () => {
30
- describe("rendering all valid `React.Node`s", () => {
31
- it("should render string content", async () => {
32
- const { container, getByText } = render(
29
+ describe('Tooltip', () => {
30
+ describe('rendering all valid `React.Node`s', () => {
31
+ it('should render string content', async () => {
32
+ const {container, getByText} = render(
33
33
  <Tooltip content="hey">hi</Tooltip>
34
34
  );
35
35
 
36
36
  const id = container
37
- .querySelector("[data-qa-tooltip]")
38
- .getAttribute("data-qa-tooltip");
37
+ .querySelector('[data-qa-tooltip]')
38
+ .getAttribute('data-qa-tooltip');
39
39
  // This will cause a console error (but still pass) until react 16.9
40
40
  act(() => {
41
- fireEvent.mouseOver(getByText("hi"));
41
+ fireEvent.mouseOver(getByText('hi'));
42
42
  });
43
43
 
44
44
  await waitForElement(() => document.getElementById(id));
45
- expect(getByText("hey")).toBeInTheDocument();
45
+ expect(getByText('hey')).toBeInTheDocument();
46
46
 
47
47
  // TODO
48
48
  // await runA11yCheck();
49
49
  });
50
50
 
51
- it("should render number content", async () => {
52
- const { container, getByText } = render(
51
+ it('should render number content', async () => {
52
+ const {container, getByText} = render(
53
53
  <Tooltip content={123}>hi</Tooltip>
54
54
  );
55
55
 
56
56
  const id = container
57
- .querySelector("[data-qa-tooltip]")
58
- .getAttribute("data-qa-tooltip");
57
+ .querySelector('[data-qa-tooltip]')
58
+ .getAttribute('data-qa-tooltip');
59
59
 
60
60
  act(() => {
61
- fireEvent.mouseOver(getByText("hi"));
61
+ fireEvent.mouseOver(getByText('hi'));
62
62
  });
63
63
 
64
64
  await waitForElement(() => document.getElementById(id));
65
- expect(getByText("123")).toBeInTheDocument();
65
+ expect(getByText('123')).toBeInTheDocument();
66
66
  });
67
67
 
68
- it("should render React Element content", async () => {
69
- const { container, getByText } = render(
68
+ it('should render React Element content', async () => {
69
+ const {container, getByText} = render(
70
70
  <Tooltip content={<p>hey</p>}>hi</Tooltip>
71
71
  );
72
72
 
73
73
  const id = container
74
- .querySelector("[data-qa-tooltip]")
75
- .getAttribute("data-qa-tooltip");
74
+ .querySelector('[data-qa-tooltip]')
75
+ .getAttribute('data-qa-tooltip');
76
76
 
77
77
  act(() => {
78
- fireEvent.mouseOver(getByText("hi"));
78
+ fireEvent.mouseOver(getByText('hi'));
79
79
  });
80
80
 
81
81
  await waitForElement(() => document.getElementById(id));
82
- expect(getByText("hey")).toBeInTheDocument();
82
+ expect(getByText('hey')).toBeInTheDocument();
83
83
  });
84
84
 
85
- it("should render $Iterable<string> content", async () => {
86
- const { container, getByText } = render(
87
- <Tooltip content={["hello", "world"]}>hi</Tooltip>
85
+ it('should render $Iterable<string> content', async () => {
86
+ const {container, getByText} = render(
87
+ <Tooltip content={['hello', 'world']}>hi</Tooltip>
88
88
  );
89
89
 
90
90
  const id = container
91
- .querySelector("[data-qa-tooltip]")
92
- .getAttribute("data-qa-tooltip");
91
+ .querySelector('[data-qa-tooltip]')
92
+ .getAttribute('data-qa-tooltip');
93
93
 
94
94
  act(() => {
95
- fireEvent.mouseOver(getByText("hi"));
95
+ fireEvent.mouseOver(getByText('hi'));
96
96
  });
97
97
 
98
98
  await waitForElement(() => document.getElementById(id));
@@ -100,19 +100,19 @@ describe("Tooltip", () => {
100
100
  expect(getByText(/world/i)).toBeInTheDocument();
101
101
  });
102
102
 
103
- it("should render $Iterable<React$Element<any>> content", async () => {
104
- const { container, getByText } = render(
103
+ it('should render $Iterable<React$Element<any>> content', async () => {
104
+ const {container, getByText} = render(
105
105
  <Tooltip content={[<p key="1">hello</p>, <p key="2">world</p>]}>
106
106
  hi
107
107
  </Tooltip>
108
108
  );
109
109
 
110
110
  const id = container
111
- .querySelector("[data-qa-tooltip]")
112
- .getAttribute("data-qa-tooltip");
111
+ .querySelector('[data-qa-tooltip]')
112
+ .getAttribute('data-qa-tooltip');
113
113
 
114
114
  act(() => {
115
- fireEvent.mouseOver(getByText("hi"));
115
+ fireEvent.mouseOver(getByText('hi'));
116
116
  });
117
117
 
118
118
  await waitForElement(() => document.getElementById(id));
@@ -120,18 +120,18 @@ describe("Tooltip", () => {
120
120
  expect(getByText(/world/i)).toBeInTheDocument();
121
121
  });
122
122
 
123
- it("should not render null content", async () => {
123
+ it('should not render null content', async () => {
124
124
  expect.assertions(1);
125
- const { container, getByText } = render(
125
+ const {container, getByText} = render(
126
126
  <Tooltip content={null}>hi</Tooltip>
127
127
  );
128
128
 
129
129
  const id = container
130
- .querySelector("[data-qa-tooltip]")
131
- .getAttribute("data-qa-tooltip");
130
+ .querySelector('[data-qa-tooltip]')
131
+ .getAttribute('data-qa-tooltip');
132
132
 
133
133
  act(() => {
134
- fireEvent.mouseOver(getByText("hi"));
134
+ fireEvent.mouseOver(getByText('hi'));
135
135
  });
136
136
 
137
137
  // @see https://jestjs.io/docs/tutorial-async#rejects
@@ -140,19 +140,19 @@ describe("Tooltip", () => {
140
140
  ).rejects.toBeTruthy();
141
141
  });
142
142
 
143
- it("should not render undefined content", async () => {
143
+ it('should not render undefined content', async () => {
144
144
  expect.assertions(1);
145
- const { container, getByText } = render(
145
+ const {container, getByText} = render(
146
146
  // $FlowExpectedError: testing undefined
147
147
  <Tooltip content={undefined}>hi</Tooltip>
148
148
  );
149
149
 
150
150
  const id = container
151
- .querySelector("[data-qa-tooltip]")
152
- .getAttribute("data-qa-tooltip");
151
+ .querySelector('[data-qa-tooltip]')
152
+ .getAttribute('data-qa-tooltip');
153
153
 
154
154
  act(() => {
155
- fireEvent.mouseOver(getByText("hi"));
155
+ fireEvent.mouseOver(getByText('hi'));
156
156
  });
157
157
 
158
158
  // @see https://jestjs.io/docs/tutorial-async#rejects
@@ -162,19 +162,19 @@ describe("Tooltip", () => {
162
162
  });
163
163
  });
164
164
 
165
- it("should render when wrapped around an icon", async () => {
166
- const { container, getByTestId } = render(
165
+ it('should render when wrapped around an icon', async () => {
166
+ const {container, getByTestId} = render(
167
167
  <Tooltip content="hey">
168
168
  <Icon data-testid="icon" name="globe" />
169
169
  </Tooltip>
170
170
  );
171
171
 
172
172
  const id = container
173
- .querySelector("[data-qa-tooltip]")
174
- .getAttribute("data-qa-tooltip");
173
+ .querySelector('[data-qa-tooltip]')
174
+ .getAttribute('data-qa-tooltip');
175
175
  // This will cause a console error (but still pass) until react 16.9
176
176
  act(() => {
177
- fireEvent.mouseOver(getByTestId("icon"));
177
+ fireEvent.mouseOver(getByTestId('icon'));
178
178
  });
179
179
  await waitForElement(() => document.getElementById(id));
180
180
  expect(container).toBeTruthy();