@sproutsocial/racine 12.20.0 → 12.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (621) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +46 -44
  3. package/__flow__/Avatar/index.js +26 -26
  4. package/__flow__/Avatar/index.stories.js +8 -8
  5. package/__flow__/Avatar/index.test.js +13 -13
  6. package/__flow__/Badge/constants.js +14 -14
  7. package/__flow__/Badge/index.js +18 -18
  8. package/__flow__/Badge/index.stories.js +8 -8
  9. package/__flow__/Badge/index.test.js +43 -43
  10. package/__flow__/Badge/styles.js +13 -9
  11. package/__flow__/Banner/index.js +21 -21
  12. package/__flow__/Banner/index.stories.js +56 -68
  13. package/__flow__/Banner/index.test.js +32 -34
  14. package/__flow__/Banner/styles.js +4 -4
  15. package/__flow__/Box/index.js +4 -4
  16. package/__flow__/Box/index.stories.js +58 -51
  17. package/__flow__/Box/index.test.js +7 -7
  18. package/__flow__/Box/styles.js +6 -6
  19. package/__flow__/Breadcrumb/index.js +9 -13
  20. package/__flow__/Breadcrumb/index.stories.js +14 -14
  21. package/__flow__/Breadcrumb/index.test.js +20 -20
  22. package/__flow__/Breadcrumb/styles.js +5 -5
  23. package/__flow__/Button/index.js +23 -23
  24. package/__flow__/Button/index.stories.js +34 -34
  25. package/__flow__/Button/styles.js +11 -11
  26. package/__flow__/Card/index.js +7 -7
  27. package/__flow__/Card/index.stories.js +14 -14
  28. package/__flow__/Card/styles.js +7 -7
  29. package/__flow__/CharacterCounter/index.js +7 -7
  30. package/__flow__/CharacterCounter/index.stories.js +25 -26
  31. package/__flow__/CharacterCounter/index.test.js +11 -11
  32. package/__flow__/CharacterCounter/styles.js +3 -3
  33. package/__flow__/ChartLegend/index.js +7 -7
  34. package/__flow__/ChartLegend/index.stories.js +22 -22
  35. package/__flow__/ChartLegend/index.test.js +27 -27
  36. package/__flow__/ChartLegend/styles.js +7 -7
  37. package/__flow__/Checkbox/index.js +10 -10
  38. package/__flow__/Checkbox/index.stories.js +24 -24
  39. package/__flow__/Checkbox/index.test.js +25 -25
  40. package/__flow__/Checkbox/styles.js +27 -28
  41. package/__flow__/Collapsible/index.js +15 -15
  42. package/__flow__/Collapsible/index.stories.js +13 -13
  43. package/__flow__/Collapsible/index.test.js +27 -27
  44. package/__flow__/Collapsible/styles.js +5 -5
  45. package/__flow__/DatePicker/DateRangePicker.js +5 -8
  46. package/__flow__/DatePicker/DateRangePicker.stories.js +19 -19
  47. package/__flow__/DatePicker/DateRangePicker.test.js +21 -21
  48. package/__flow__/DatePicker/SingleDatePicker.js +6 -9
  49. package/__flow__/DatePicker/SingleDatePicker.stories.js +10 -10
  50. package/__flow__/DatePicker/SingleDatePicker.test.js +21 -23
  51. package/__flow__/DatePicker/StatefulDateRangePicker.js +6 -6
  52. package/__flow__/DatePicker/StatefulSingleDatePicker.js +3 -3
  53. package/__flow__/DatePicker/common.js +13 -13
  54. package/__flow__/DatePicker/index.js +3 -3
  55. package/__flow__/DatePicker/styles.js +42 -42
  56. package/__flow__/Drawer/SlideTransition.js +10 -10
  57. package/__flow__/Drawer/index.js +29 -29
  58. package/__flow__/Drawer/index.stories.js +58 -141
  59. package/__flow__/Drawer/index.test.js +28 -28
  60. package/__flow__/Drawer/styles.js +4 -4
  61. package/__flow__/EmptyState/index.js +5 -5
  62. package/__flow__/EmptyState/index.stories.js +10 -10
  63. package/__flow__/EmptyState/index.test.js +27 -27
  64. package/__flow__/EnumIllustrationNames.js +1 -1
  65. package/__flow__/Fieldset/index.js +14 -14
  66. package/__flow__/Fieldset/index.stories.js +19 -20
  67. package/__flow__/Fieldset/index.test.js +14 -14
  68. package/__flow__/Fieldset/styles.js +5 -5
  69. package/__flow__/FormField/index.js +14 -14
  70. package/__flow__/FormField/index.stories.js +31 -21
  71. package/__flow__/FormField/index.test.js +19 -19
  72. package/__flow__/Icon/deprecatedIcons.js +36 -36
  73. package/__flow__/Icon/index.js +17 -17
  74. package/__flow__/Icon/index.stories.js +30 -30
  75. package/__flow__/Icon/index.test.js +15 -15
  76. package/__flow__/Icon/styles.js +12 -12
  77. package/__flow__/IllustrationViewBoxes.js +1 -1
  78. package/__flow__/Image/index.js +6 -7
  79. package/__flow__/Image/index.stories.js +5 -5
  80. package/__flow__/Image/index.test.js +24 -24
  81. package/__flow__/Image/styles.js +6 -5
  82. package/__flow__/Indicator/index.js +7 -7
  83. package/__flow__/Indicator/index.stories.js +8 -14
  84. package/__flow__/Indicator/index.test.js +6 -6
  85. package/__flow__/Indicator/styles.js +6 -6
  86. package/__flow__/Input/index.js +37 -37
  87. package/__flow__/Input/index.stories.js +96 -189
  88. package/__flow__/Input/index.test.js +117 -117
  89. package/__flow__/Input/styles.js +13 -13
  90. package/__flow__/KeyboardKey/index.js +5 -5
  91. package/__flow__/KeyboardKey/index.stories.js +9 -12
  92. package/__flow__/KeyboardKey/index.test.js +7 -7
  93. package/__flow__/KeyboardKey/styles.js +4 -4
  94. package/__flow__/Label/index.js +6 -6
  95. package/__flow__/Label/index.stories.js +5 -7
  96. package/__flow__/Label/index.test.js +8 -8
  97. package/__flow__/Link/constants.js +4 -4
  98. package/__flow__/Link/index.js +11 -11
  99. package/__flow__/Link/index.stories.js +61 -102
  100. package/__flow__/Link/index.test.js +40 -40
  101. package/__flow__/Link/styles.js +6 -6
  102. package/__flow__/Listbox/index.js +16 -16
  103. package/__flow__/Listbox/index.stories.js +35 -35
  104. package/__flow__/Listbox/index.test.js +63 -65
  105. package/__flow__/Loader/index.js +12 -12
  106. package/__flow__/Loader/index.stories.js +10 -10
  107. package/__flow__/Loader/index.test.js +17 -17
  108. package/__flow__/Loader/styles.js +9 -13
  109. package/__flow__/LoaderButton/index.js +25 -25
  110. package/__flow__/LoaderButton/index.stories.js +7 -7
  111. package/__flow__/LoaderButton/index.test.js +15 -15
  112. package/__flow__/Menu/constants.js +8 -8
  113. package/__flow__/Menu/descendants.js +89 -80
  114. package/__flow__/Menu/hooks.js +22 -22
  115. package/__flow__/Menu/index.flow.js +13 -13
  116. package/__flow__/Menu/index.js +56 -60
  117. package/__flow__/Menu/index.stories.js +19 -19
  118. package/__flow__/Menu/index.test.js +22 -22
  119. package/__flow__/Menu/names.js +4945 -4945
  120. package/__flow__/Menu/styles.js +5 -5
  121. package/__flow__/Message/index.js +33 -33
  122. package/__flow__/Message/index.stories.js +18 -13
  123. package/__flow__/Message/index.test.js +6 -6
  124. package/__flow__/Message/styles.js +15 -15
  125. package/__flow__/Modal/index.js +19 -19
  126. package/__flow__/Modal/index.stories.js +43 -43
  127. package/__flow__/Modal/index.test.js +29 -29
  128. package/__flow__/Modal/styles.js +27 -32
  129. package/__flow__/Numeral/index.js +22 -22
  130. package/__flow__/Numeral/index.stories.js +74 -74
  131. package/__flow__/Numeral/styles.js +3 -3
  132. package/__flow__/Numeral/tests/A11y.test.js +7 -7
  133. package/__flow__/Numeral/tests/abbreviate.test.js +40 -40
  134. package/__flow__/Numeral/tests/currency.test.js +24 -24
  135. package/__flow__/Numeral/tests/defaults.test.js +20 -20
  136. package/__flow__/Numeral/tests/invalid.test.js +9 -9
  137. package/__flow__/Numeral/tests/locale.test.js +38 -38
  138. package/__flow__/Numeral/tests/precision.test.js +76 -76
  139. package/__flow__/Numeral/tests/testNumeral.js +11 -11
  140. package/__flow__/Numeral/tests/zero.test.js +8 -8
  141. package/__flow__/OverflowList/index.flow.js +2 -2
  142. package/__flow__/OverflowList/index.js +12 -12
  143. package/__flow__/OverflowList/index.stories.js +10 -10
  144. package/__flow__/OverflowList/index.test.js +25 -25
  145. package/__flow__/OverflowList/styles.js +5 -5
  146. package/__flow__/PartnerLogo/TypePartnerNames.js +37 -37
  147. package/__flow__/PartnerLogo/index.js +20 -20
  148. package/__flow__/PartnerLogo/index.stories.js +52 -52
  149. package/__flow__/PartnerLogo/styles.js +12 -12
  150. package/__flow__/Popout/index.js +66 -67
  151. package/__flow__/Popout/index.stories.js +101 -82
  152. package/__flow__/Popout/index.test.js +43 -43
  153. package/__flow__/Popout/styles.js +4 -5
  154. package/__flow__/Portal/index.js +9 -9
  155. package/__flow__/Portal/index.stories.js +12 -12
  156. package/__flow__/Radio/index.js +4 -4
  157. package/__flow__/Radio/index.stories.js +11 -11
  158. package/__flow__/Radio/index.test.js +12 -12
  159. package/__flow__/Radio/styles.js +15 -16
  160. package/__flow__/SegmentedControl/index.js +7 -7
  161. package/__flow__/SegmentedControl/index.stories.js +7 -7
  162. package/__flow__/SegmentedControl/index.test.js +29 -29
  163. package/__flow__/SegmentedControl/styles.js +10 -9
  164. package/__flow__/Select/index.js +10 -10
  165. package/__flow__/Select/index.stories.js +33 -69
  166. package/__flow__/Select/index.test.js +14 -14
  167. package/__flow__/Select/styles.js +16 -16
  168. package/__flow__/Skeleton/index.js +4 -4
  169. package/__flow__/Skeleton/index.stories.js +5 -5
  170. package/__flow__/SpotIllustration/illustrationNames.js +118 -117
  171. package/__flow__/SpotIllustration/index.js +15 -11
  172. package/__flow__/SpotIllustration/index.stories.js +18 -18
  173. package/__flow__/SpotIllustration/spotIllustrations/molecule.svg +14 -0
  174. package/__flow__/Stack/index.js +43 -33
  175. package/__flow__/Stack/index.stories.js +41 -91
  176. package/__flow__/Stack/index.test.js +16 -7
  177. package/__flow__/Switch/index.js +8 -8
  178. package/__flow__/Switch/index.stories.js +5 -5
  179. package/__flow__/Switch/index.test.js +25 -29
  180. package/__flow__/Switch/styles.js +13 -9
  181. package/__flow__/Table/index.js +17 -17
  182. package/__flow__/Table/index.stories.js +99 -99
  183. package/__flow__/Table/index.test.js +32 -32
  184. package/__flow__/Table/styles.js +4 -4
  185. package/__flow__/TableCell/index.js +8 -7
  186. package/__flow__/TableCell/index.stories.js +20 -23
  187. package/__flow__/TableCell/index.test.js +11 -11
  188. package/__flow__/TableCell/styles.js +4 -5
  189. package/__flow__/TableHeaderCell/index.js +14 -14
  190. package/__flow__/TableHeaderCell/index.stories.js +35 -30
  191. package/__flow__/TableHeaderCell/index.test.js +11 -11
  192. package/__flow__/TableHeaderCell/styles.js +4 -4
  193. package/__flow__/TableRowAccordion/index.js +8 -8
  194. package/__flow__/TableRowAccordion/index.stories.js +36 -36
  195. package/__flow__/TableRowAccordion/index.test.js +28 -30
  196. package/__flow__/TableRowAccordion/styles.js +11 -7
  197. package/__flow__/Tabs/index.js +11 -11
  198. package/__flow__/Tabs/index.stories.js +28 -54
  199. package/__flow__/Tabs/index.test.js +54 -54
  200. package/__flow__/Tabs/styles.js +6 -7
  201. package/__flow__/Text/index.js +14 -14
  202. package/__flow__/Text/index.stories.js +84 -86
  203. package/__flow__/Text/index.test.js +29 -33
  204. package/__flow__/Text/styles.js +4 -4
  205. package/__flow__/Textarea/index.js +5 -5
  206. package/__flow__/Textarea/index.stories.js +54 -93
  207. package/__flow__/Textarea/index.test.js +30 -30
  208. package/__flow__/Textarea/styles.js +6 -6
  209. package/__flow__/ThemeProvider/index.js +4 -4
  210. package/__flow__/Toast/index.js +23 -23
  211. package/__flow__/Toast/index.stories.js +21 -21
  212. package/__flow__/Toast/styles.js +6 -6
  213. package/__flow__/ToggleHint/index.js +8 -8
  214. package/__flow__/ToggleHint/index.test.js +8 -8
  215. package/__flow__/ToggleHint/styles.js +8 -8
  216. package/__flow__/Token/index.js +10 -10
  217. package/__flow__/Token/index.stories.js +49 -54
  218. package/__flow__/Token/index.test.js +28 -28
  219. package/__flow__/Token/styles.js +11 -11
  220. package/__flow__/TokenInput/index.flow.js +1 -1
  221. package/__flow__/TokenInput/index.js +39 -39
  222. package/__flow__/TokenInput/index.stories.js +121 -128
  223. package/__flow__/TokenInput/styles.js +5 -5
  224. package/__flow__/TokenInput/tests/default/clicking.test.js +13 -13
  225. package/__flow__/TokenInput/tests/default/deleting.test.js +39 -39
  226. package/__flow__/TokenInput/tests/default/focusing.test.js +18 -18
  227. package/__flow__/TokenInput/tests/default/inputting.test.js +23 -23
  228. package/__flow__/TokenInput/tests/default/pasting.test.js +52 -52
  229. package/__flow__/TokenInput/tests/default/rendering.test.js +54 -54
  230. package/__flow__/TokenInput/util.js +4 -4
  231. package/__flow__/Tooltip/index.js +21 -21
  232. package/__flow__/Tooltip/index.stories.js +18 -18
  233. package/__flow__/Tooltip/index.test.js +54 -54
  234. package/__flow__/Tooltip/styles.js +4 -5
  235. package/__flow__/VisuallyHidden/index.js +3 -3
  236. package/__flow__/building-stories.stories.mdx +121 -0
  237. package/__flow__/dataviz/dataviz.stories.js +4 -4
  238. package/__flow__/dataviz/index.js +3 -3
  239. package/__flow__/index.js +72 -72
  240. package/__flow__/overview.stories.js +60 -0
  241. package/__flow__/setupTests.js +5 -5
  242. package/__flow__/systemProps/background.js +3 -3
  243. package/__flow__/systemProps/border.js +3 -3
  244. package/__flow__/systemProps/color.js +3 -3
  245. package/__flow__/systemProps/custom.js +3 -3
  246. package/__flow__/systemProps/flexbox.js +3 -3
  247. package/__flow__/systemProps/grid.js +3 -3
  248. package/__flow__/systemProps/index.js +14 -14
  249. package/__flow__/systemProps/layout.js +3 -3
  250. package/__flow__/systemProps/position.js +3 -3
  251. package/__flow__/systemProps/shadow.js +3 -3
  252. package/__flow__/systemProps/space.js +3 -7
  253. package/__flow__/systemProps/systemProps.js +14 -14
  254. package/__flow__/systemProps/tests/background.test.js +17 -17
  255. package/__flow__/systemProps/tests/border.test.js +61 -61
  256. package/__flow__/systemProps/tests/color.test.js +15 -15
  257. package/__flow__/systemProps/tests/custom.test.js +12 -12
  258. package/__flow__/systemProps/tests/flexbox.test.js +33 -33
  259. package/__flow__/systemProps/tests/grid.test.js +31 -31
  260. package/__flow__/systemProps/tests/layout.test.js +29 -29
  261. package/__flow__/systemProps/tests/position.test.js +19 -19
  262. package/__flow__/systemProps/tests/shadow.test.js +11 -11
  263. package/__flow__/systemProps/tests/space.test.js +11 -11
  264. package/__flow__/systemProps/tests/types.flow.js +18 -18
  265. package/__flow__/systemProps/tests/typography.test.js +21 -21
  266. package/__flow__/systemProps/tests/variant.test.js +9 -9
  267. package/__flow__/systemProps/types.flow.js +2 -2
  268. package/__flow__/systemProps/typography.js +4 -4
  269. package/__flow__/systemProps/variant.js +5 -5
  270. package/__flow__/themes/dark/dataviz-palette.js +21 -21
  271. package/__flow__/themes/dark/decorative-palettes.js +1 -1
  272. package/__flow__/themes/dark/theme.js +16 -16
  273. package/__flow__/themes/extendedThemes/README.md +1 -1
  274. package/__flow__/themes/extendedThemes/sproutTheme/dark/theme.js +4 -4
  275. package/__flow__/themes/extendedThemes/sproutTheme/index.js +2 -2
  276. package/__flow__/themes/extendedThemes/sproutTheme/light/theme.js +4 -4
  277. package/__flow__/themes/light/dataviz-palette.js +21 -21
  278. package/__flow__/themes/light/decorative-palettes.js +1 -1
  279. package/__flow__/themes/light/literal-colors.js +133 -133
  280. package/__flow__/themes/light/theme.js +51 -51
  281. package/__flow__/types/system-props.flow.js +5 -5
  282. package/__flow__/types/theme.colors.flow.js +2 -2
  283. package/__flow__/types/theme.flow.js +5 -5
  284. package/__flow__/utils/a11yTest.js +1 -1
  285. package/__flow__/utils/chartColors.js +1 -1
  286. package/__flow__/utils/constants.js +1 -1
  287. package/__flow__/utils/dataQaLabelQueries.js +2 -2
  288. package/__flow__/utils/hooks.js +17 -17
  289. package/__flow__/utils/index.js +4 -4
  290. package/__flow__/utils/innerText.js +9 -9
  291. package/__flow__/utils/mixins.js +6 -6
  292. package/__flow__/utils/react-testing-library.js +6 -6
  293. package/__flow__/utils/responsiveProps/index.js +3 -3
  294. package/__flow__/utils/responsiveProps/index.test.js +8 -8
  295. package/__flow__/utils/system-props.js +3 -3
  296. package/__flow__/utils/useInteractiveColor.js +5 -5
  297. package/__flow__/writing-good-stories.stories.mdx +3 -0
  298. package/bin/racine-codemod.js +12 -12
  299. package/codemods/__tests__/migrate-2.x-to-3.x.test.js +2 -2
  300. package/codemods/migrate-2.x-to-3.x.js +29 -30
  301. package/commonjs/Avatar/index.js +33 -53
  302. package/commonjs/Badge/constants.js +18 -15
  303. package/commonjs/Badge/index.js +14 -28
  304. package/commonjs/Badge/styles.js +3 -9
  305. package/commonjs/Banner/index.js +16 -37
  306. package/commonjs/Banner/styles.js +0 -5
  307. package/commonjs/Box/index.js +2 -9
  308. package/commonjs/Box/styles.js +0 -4
  309. package/commonjs/Breadcrumb/index.js +13 -29
  310. package/commonjs/Breadcrumb/styles.js +1 -4
  311. package/commonjs/Button/index.js +29 -43
  312. package/commonjs/Button/styles.js +6 -15
  313. package/commonjs/Card/index.js +16 -26
  314. package/commonjs/Card/styles.js +1 -5
  315. package/commonjs/CharacterCounter/index.js +6 -23
  316. package/commonjs/CharacterCounter/styles.js +0 -5
  317. package/commonjs/ChartLegend/index.js +5 -20
  318. package/commonjs/ChartLegend/styles.js +2 -11
  319. package/commonjs/Checkbox/index.js +30 -53
  320. package/commonjs/Checkbox/styles.js +14 -35
  321. package/commonjs/Collapsible/index.js +31 -54
  322. package/commonjs/Collapsible/styles.js +3 -6
  323. package/commonjs/DatePicker/DateRangePicker.js +4 -17
  324. package/commonjs/DatePicker/SingleDatePicker.js +3 -17
  325. package/commonjs/DatePicker/StatefulDateRangePicker.js +16 -31
  326. package/commonjs/DatePicker/StatefulSingleDatePicker.js +7 -20
  327. package/commonjs/DatePicker/common.js +8 -22
  328. package/commonjs/DatePicker/index.js +0 -5
  329. package/commonjs/DatePicker/styles.js +8 -25
  330. package/commonjs/Drawer/SlideTransition.js +8 -18
  331. package/commonjs/Drawer/index.js +51 -90
  332. package/commonjs/Drawer/styles.js +0 -8
  333. package/commonjs/EmptyState/index.js +8 -20
  334. package/commonjs/Fieldset/index.js +15 -32
  335. package/commonjs/Fieldset/styles.js +2 -7
  336. package/commonjs/FormField/index.js +19 -36
  337. package/commonjs/Icon/deprecatedIcons.js +36 -36
  338. package/commonjs/Icon/index.js +19 -37
  339. package/commonjs/Icon/styles.js +7 -16
  340. package/commonjs/IllustrationViewBoxes.js +1 -0
  341. package/commonjs/Image/index.js +13 -41
  342. package/commonjs/Image/styles.js +1 -7
  343. package/commonjs/Indicator/index.js +8 -26
  344. package/commonjs/Indicator/styles.js +1 -7
  345. package/commonjs/Input/index.js +80 -119
  346. package/commonjs/Input/styles.js +9 -19
  347. package/commonjs/KeyboardKey/index.js +3 -20
  348. package/commonjs/KeyboardKey/styles.js +0 -4
  349. package/commonjs/Label/index.js +7 -27
  350. package/commonjs/Link/constants.js +3 -4
  351. package/commonjs/Link/index.js +16 -28
  352. package/commonjs/Link/styles.js +1 -8
  353. package/commonjs/Listbox/index.js +15 -36
  354. package/commonjs/Loader/index.js +15 -31
  355. package/commonjs/Loader/styles.js +2 -13
  356. package/commonjs/LoaderButton/index.js +26 -55
  357. package/commonjs/Menu/constants.js +9 -8
  358. package/commonjs/Menu/descendants.js +70 -105
  359. package/commonjs/Menu/hooks.js +23 -41
  360. package/commonjs/Menu/index.flow.js +0 -7
  361. package/commonjs/Menu/index.js +94 -164
  362. package/commonjs/Menu/names.js +1 -1
  363. package/commonjs/Menu/styles.js +0 -6
  364. package/commonjs/Message/index.js +37 -70
  365. package/commonjs/Message/styles.js +9 -24
  366. package/commonjs/Modal/index.js +31 -54
  367. package/commonjs/Modal/styles.js +17 -36
  368. package/commonjs/Numeral/index.js +39 -67
  369. package/commonjs/Numeral/styles.js +0 -3
  370. package/commonjs/Numeral/tests/testNumeral.js +13 -31
  371. package/commonjs/OverflowList/index.flow.js +0 -2
  372. package/commonjs/OverflowList/index.js +27 -41
  373. package/commonjs/OverflowList/styles.js +0 -7
  374. package/commonjs/PartnerLogo/index.js +19 -33
  375. package/commonjs/PartnerLogo/styles.js +7 -15
  376. package/commonjs/Popout/index.js +95 -127
  377. package/commonjs/Popout/styles.js +0 -5
  378. package/commonjs/Portal/index.js +8 -31
  379. package/commonjs/Radio/index.js +18 -42
  380. package/commonjs/Radio/styles.js +9 -21
  381. package/commonjs/SegmentedControl/index.js +17 -37
  382. package/commonjs/SegmentedControl/styles.js +2 -12
  383. package/commonjs/Select/index.js +24 -47
  384. package/commonjs/Select/styles.js +12 -24
  385. package/commonjs/Skeleton/index.js +0 -5
  386. package/commonjs/SpotIllustration/illustrationNames.js +1 -1
  387. package/commonjs/SpotIllustration/index.js +5 -11
  388. package/commonjs/Stack/index.js +27 -42
  389. package/commonjs/Switch/index.js +17 -42
  390. package/commonjs/Switch/styles.js +3 -11
  391. package/commonjs/Table/index.js +26 -50
  392. package/commonjs/Table/styles.js +0 -4
  393. package/commonjs/TableCell/index.js +12 -30
  394. package/commonjs/TableCell/styles.js +0 -5
  395. package/commonjs/TableHeaderCell/index.js +27 -56
  396. package/commonjs/TableHeaderCell/styles.js +0 -6
  397. package/commonjs/TableRowAccordion/index.js +12 -37
  398. package/commonjs/TableRowAccordion/styles.js +2 -9
  399. package/commonjs/Tabs/index.js +16 -66
  400. package/commonjs/Tabs/styles.js +2 -11
  401. package/commonjs/Text/index.js +12 -25
  402. package/commonjs/Text/styles.js +1 -6
  403. package/commonjs/Textarea/index.js +31 -55
  404. package/commonjs/Textarea/styles.js +2 -9
  405. package/commonjs/ThemeProvider/index.js +1 -10
  406. package/commonjs/Toast/index.js +19 -42
  407. package/commonjs/Toast/styles.js +1 -7
  408. package/commonjs/ToggleHint/index.js +15 -39
  409. package/commonjs/ToggleHint/styles.js +2 -9
  410. package/commonjs/Token/index.js +15 -29
  411. package/commonjs/Token/styles.js +5 -12
  412. package/commonjs/TokenInput/index.js +70 -122
  413. package/commonjs/TokenInput/styles.js +1 -7
  414. package/commonjs/TokenInput/util.js +2 -7
  415. package/commonjs/Tooltip/index.js +40 -63
  416. package/commonjs/Tooltip/styles.js +1 -5
  417. package/commonjs/VisuallyHidden/index.js +0 -4
  418. package/commonjs/dataviz/index.js +0 -4
  419. package/commonjs/index.js +0 -129
  420. package/commonjs/systemProps/background.js +0 -1
  421. package/commonjs/systemProps/border.js +0 -1
  422. package/commonjs/systemProps/color.js +0 -1
  423. package/commonjs/systemProps/custom.js +0 -1
  424. package/commonjs/systemProps/flexbox.js +0 -1
  425. package/commonjs/systemProps/grid.js +0 -1
  426. package/commonjs/systemProps/index.js +0 -28
  427. package/commonjs/systemProps/layout.js +0 -1
  428. package/commonjs/systemProps/position.js +0 -1
  429. package/commonjs/systemProps/shadow.js +0 -1
  430. package/commonjs/systemProps/space.js +1 -2
  431. package/commonjs/systemProps/systemProps.js +0 -13
  432. package/commonjs/systemProps/tests/types.flow.js +25 -22
  433. package/commonjs/systemProps/typography.js +0 -1
  434. package/commonjs/systemProps/variant.js +2 -3
  435. package/commonjs/themes/dark/dataviz-palette.js +20 -22
  436. package/commonjs/themes/dark/decorative-palettes.js +0 -2
  437. package/commonjs/themes/dark/theme.js +13 -27
  438. package/commonjs/themes/extendedThemes/sproutTheme/dark/theme.js +2 -9
  439. package/commonjs/themes/extendedThemes/sproutTheme/index.js +0 -5
  440. package/commonjs/themes/extendedThemes/sproutTheme/light/theme.js +2 -9
  441. package/commonjs/themes/light/dataviz-palette.js +20 -22
  442. package/commonjs/themes/light/decorative-palettes.js +0 -2
  443. package/commonjs/themes/light/literal-colors.js +132 -134
  444. package/commonjs/themes/light/theme.js +43 -59
  445. package/commonjs/types/system-props.flow.js +1 -1
  446. package/commonjs/types/theme.colors.flow.js +0 -2
  447. package/commonjs/types/theme.flow.js +0 -1
  448. package/commonjs/utils/a11yTest.js +3 -10
  449. package/commonjs/utils/chartColors.js +0 -1
  450. package/commonjs/utils/constants.js +1 -1
  451. package/commonjs/utils/dataQaLabelQueries.js +12 -21
  452. package/commonjs/utils/hooks.js +39 -70
  453. package/commonjs/utils/index.js +2 -9
  454. package/commonjs/utils/innerText.js +10 -14
  455. package/commonjs/utils/mixins.js +2 -7
  456. package/commonjs/utils/react-testing-library.js +4 -26
  457. package/commonjs/utils/responsiveProps/index.js +1 -11
  458. package/commonjs/utils/system-props.js +2 -5
  459. package/commonjs/utils/useInteractiveColor.js +6 -8
  460. package/dist/illustration.svg +1 -1
  461. package/dist/illustrationList.js +1 -1
  462. package/lib/Avatar/index.js +40 -47
  463. package/lib/Badge/constants.js +19 -15
  464. package/lib/Badge/index.js +18 -25
  465. package/lib/Badge/styles.js +8 -6
  466. package/lib/Banner/index.js +20 -32
  467. package/lib/Banner/styles.js +3 -2
  468. package/lib/Box/index.js +4 -5
  469. package/lib/Box/styles.js +3 -2
  470. package/lib/Breadcrumb/index.js +19 -27
  471. package/lib/Breadcrumb/styles.js +3 -2
  472. package/lib/Button/index.js +31 -38
  473. package/lib/Button/styles.js +14 -11
  474. package/lib/Card/index.js +18 -24
  475. package/lib/Card/styles.js +5 -4
  476. package/lib/CharacterCounter/index.js +8 -20
  477. package/lib/CharacterCounter/styles.js +3 -2
  478. package/lib/ChartLegend/index.js +9 -17
  479. package/lib/ChartLegend/styles.js +5 -4
  480. package/lib/Checkbox/index.js +32 -51
  481. package/lib/Checkbox/styles.js +21 -26
  482. package/lib/Collapsible/index.js +36 -51
  483. package/lib/Collapsible/styles.js +6 -5
  484. package/lib/DatePicker/DateRangePicker.js +8 -14
  485. package/lib/DatePicker/SingleDatePicker.js +7 -13
  486. package/lib/DatePicker/StatefulDateRangePicker.js +19 -26
  487. package/lib/DatePicker/StatefulSingleDatePicker.js +9 -15
  488. package/lib/DatePicker/common.js +14 -13
  489. package/lib/DatePicker/index.js +2 -2
  490. package/lib/DatePicker/styles.js +12 -22
  491. package/lib/Drawer/SlideTransition.js +11 -14
  492. package/lib/Drawer/index.js +64 -88
  493. package/lib/Drawer/styles.js +4 -3
  494. package/lib/EmptyState/index.js +11 -17
  495. package/lib/Fieldset/index.js +19 -29
  496. package/lib/Fieldset/styles.js +5 -4
  497. package/lib/FormField/index.js +27 -33
  498. package/lib/Icon/deprecatedIcons.js +36 -36
  499. package/lib/Icon/index.js +25 -34
  500. package/lib/Icon/styles.js +11 -13
  501. package/lib/IllustrationViewBoxes.js +1 -0
  502. package/lib/Image/index.js +15 -38
  503. package/lib/Image/styles.js +4 -4
  504. package/lib/Indicator/index.js +11 -23
  505. package/lib/Indicator/styles.js +5 -5
  506. package/lib/Input/index.js +87 -115
  507. package/lib/Input/styles.js +13 -15
  508. package/lib/KeyboardKey/index.js +6 -17
  509. package/lib/KeyboardKey/styles.js +3 -2
  510. package/lib/Label/index.js +10 -24
  511. package/lib/Link/constants.js +5 -4
  512. package/lib/Link/index.js +18 -25
  513. package/lib/Link/styles.js +6 -5
  514. package/lib/Listbox/index.js +21 -29
  515. package/lib/Loader/index.js +17 -29
  516. package/lib/Loader/styles.js +6 -8
  517. package/lib/LoaderButton/index.js +34 -51
  518. package/lib/Menu/constants.js +10 -8
  519. package/lib/Menu/descendants.js +73 -94
  520. package/lib/Menu/hooks.js +28 -39
  521. package/lib/Menu/index.flow.js +6 -5
  522. package/lib/Menu/index.js +113 -150
  523. package/lib/Menu/names.js +1 -1
  524. package/lib/Menu/styles.js +4 -3
  525. package/lib/Message/index.js +42 -66
  526. package/lib/Message/styles.js +15 -23
  527. package/lib/Modal/index.js +38 -51
  528. package/lib/Modal/styles.js +23 -32
  529. package/lib/Numeral/index.js +45 -64
  530. package/lib/Numeral/styles.js +3 -2
  531. package/lib/Numeral/tests/testNumeral.js +17 -27
  532. package/lib/OverflowList/index.flow.js +2 -1
  533. package/lib/OverflowList/index.js +31 -38
  534. package/lib/OverflowList/styles.js +5 -4
  535. package/lib/PartnerLogo/index.js +23 -31
  536. package/lib/PartnerLogo/styles.js +11 -12
  537. package/lib/Popout/index.js +105 -121
  538. package/lib/Popout/styles.js +3 -3
  539. package/lib/Portal/index.js +11 -29
  540. package/lib/Radio/index.js +20 -40
  541. package/lib/Radio/styles.js +14 -14
  542. package/lib/SegmentedControl/index.js +21 -34
  543. package/lib/SegmentedControl/styles.js +7 -9
  544. package/lib/Select/index.js +27 -44
  545. package/lib/Select/styles.js +16 -20
  546. package/lib/Skeleton/index.js +7 -4
  547. package/lib/SpotIllustration/illustrationNames.js +2 -1
  548. package/lib/SpotIllustration/index.js +9 -10
  549. package/lib/Stack/index.js +31 -39
  550. package/lib/Switch/index.js +21 -39
  551. package/lib/Switch/styles.js +8 -7
  552. package/lib/Table/index.js +30 -40
  553. package/lib/Table/styles.js +3 -2
  554. package/lib/TableCell/index.js +14 -27
  555. package/lib/TableCell/styles.js +3 -3
  556. package/lib/TableHeaderCell/index.js +30 -52
  557. package/lib/TableHeaderCell/styles.js +3 -2
  558. package/lib/TableRowAccordion/index.js +16 -34
  559. package/lib/TableRowAccordion/styles.js +5 -3
  560. package/lib/Tabs/index.js +18 -63
  561. package/lib/Tabs/styles.js +6 -6
  562. package/lib/Text/index.js +15 -21
  563. package/lib/Text/styles.js +4 -3
  564. package/lib/Textarea/index.js +33 -53
  565. package/lib/Textarea/styles.js +6 -5
  566. package/lib/ThemeProvider/index.js +4 -7
  567. package/lib/Toast/index.js +26 -37
  568. package/lib/Toast/styles.js +5 -4
  569. package/lib/ToggleHint/index.js +18 -36
  570. package/lib/ToggleHint/styles.js +6 -5
  571. package/lib/Token/index.js +20 -26
  572. package/lib/Token/styles.js +10 -9
  573. package/lib/TokenInput/index.js +78 -118
  574. package/lib/TokenInput/styles.js +5 -4
  575. package/lib/TokenInput/util.js +5 -3
  576. package/lib/Tooltip/index.js +45 -60
  577. package/lib/Tooltip/styles.js +4 -4
  578. package/lib/VisuallyHidden/index.js +3 -2
  579. package/lib/dataviz/index.js +4 -3
  580. package/lib/index.js +66 -64
  581. package/lib/systemProps/background.js +3 -1
  582. package/lib/systemProps/border.js +3 -1
  583. package/lib/systemProps/color.js +3 -1
  584. package/lib/systemProps/custom.js +3 -1
  585. package/lib/systemProps/flexbox.js +3 -1
  586. package/lib/systemProps/grid.js +3 -1
  587. package/lib/systemProps/index.js +16 -14
  588. package/lib/systemProps/layout.js +3 -1
  589. package/lib/systemProps/position.js +3 -1
  590. package/lib/systemProps/shadow.js +3 -1
  591. package/lib/systemProps/space.js +2 -1
  592. package/lib/systemProps/systemProps.js +14 -13
  593. package/lib/systemProps/tests/types.flow.js +27 -22
  594. package/lib/systemProps/typography.js +3 -1
  595. package/lib/systemProps/variant.js +4 -3
  596. package/lib/themes/dark/dataviz-palette.js +23 -21
  597. package/lib/themes/dark/decorative-palettes.js +3 -1
  598. package/lib/themes/dark/theme.js +20 -23
  599. package/lib/themes/extendedThemes/sproutTheme/dark/theme.js +4 -7
  600. package/lib/themes/extendedThemes/sproutTheme/index.js +3 -2
  601. package/lib/themes/extendedThemes/sproutTheme/light/theme.js +4 -7
  602. package/lib/themes/light/dataviz-palette.js +23 -21
  603. package/lib/themes/light/decorative-palettes.js +3 -1
  604. package/lib/themes/light/literal-colors.js +135 -133
  605. package/lib/themes/light/theme.js +54 -55
  606. package/lib/types/system-props.flow.js +1 -1
  607. package/lib/types/theme.colors.flow.js +4 -2
  608. package/lib/types/theme.flow.js +3 -2
  609. package/lib/utils/a11yTest.js +5 -8
  610. package/lib/utils/chartColors.js +3 -1
  611. package/lib/utils/constants.js +3 -1
  612. package/lib/utils/dataQaLabelQueries.js +13 -21
  613. package/lib/utils/hooks.js +41 -64
  614. package/lib/utils/index.js +2 -5
  615. package/lib/utils/innerText.js +12 -14
  616. package/lib/utils/mixins.js +6 -5
  617. package/lib/utils/react-testing-library.js +10 -20
  618. package/lib/utils/responsiveProps/index.js +3 -8
  619. package/lib/utils/system-props.js +4 -3
  620. package/lib/utils/useInteractiveColor.js +10 -9
  621. package/package.json +6 -13
@@ -10,28 +10,20 @@ exports.useDescendantKeyDown = useDescendantKeyDown;
10
10
  exports.useDescendants = useDescendants;
11
11
  exports.usePrevious = usePrevious;
12
12
  exports.wrapEvent = wrapEvent;
13
-
14
13
  var React = _interopRequireWildcard(require("react"));
15
-
16
14
  var _excluded = ["context", "element"],
17
- _excluded2 = ["element"];
18
-
15
+ _excluded2 = ["element"];
19
16
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
20
-
21
17
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
22
-
23
18
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
24
-
25
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
26
-
19
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
27
20
  var noop = function noop() {};
21
+
28
22
  /**
29
23
  * Returns the previous value of a reference after a component update.
30
24
  *
31
25
  * @param value
32
26
  */
33
-
34
-
35
27
  function usePrevious(value) {
36
28
  var ref = (0, React.useRef)(null);
37
29
  (0, React.useEffect)(function () {
@@ -39,6 +31,7 @@ function usePrevious(value) {
39
31
  }, [value]);
40
32
  return ref.current;
41
33
  }
34
+
42
35
  /**
43
36
  * Wraps a lib-defined event handler and a user-defined event handler, returning
44
37
  * a single handler that allows a user to prevent lib-defined handlers from
@@ -47,41 +40,34 @@ function usePrevious(value) {
47
40
  * @param theirHandler User-supplied event handler
48
41
  * @param ourHandler Library-supplied event handler
49
42
  */
50
-
51
-
52
43
  function wrapEvent(theirHandler, ourHandler) {
53
44
  return function (event) {
54
45
  theirHandler && theirHandler(event);
55
-
56
46
  if (!event.defaultPrevented) {
57
47
  return ourHandler(event);
58
48
  }
59
49
  };
60
50
  }
61
-
62
51
  function canUseDOM() {
63
- return typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined";
52
+ return typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';
64
53
  }
65
-
66
54
  var useIsomorphicLayoutEffect = canUseDOM() ? React.useLayoutEffect : React.useEffect;
67
-
68
55
  function createNamedContext(name, defaultValue) {
69
56
  var Ctx = /*#__PURE__*/(0, React.createContext)(defaultValue);
70
57
  Ctx.displayName = name;
71
58
  return Ctx;
72
59
  }
73
-
74
60
  function createDescendantContext(name, initialValue) {
75
61
  if (initialValue === void 0) {
76
62
  initialValue = {};
77
63
  }
78
-
79
64
  return createNamedContext(name, _extends({
80
65
  descendants: [],
81
66
  registerDescendant: noop,
82
67
  unregisterDescendant: noop
83
68
  }, initialValue));
84
69
  }
70
+
85
71
  /**
86
72
  * This hook registers our descendant by passing it into an array. We can then
87
73
  * search that array by to find its index when registering it in the component.
@@ -105,22 +91,18 @@ function createDescendantContext(name, initialValue) {
105
91
  * composed descendants for keyboard navigation. However, in the few cases where
106
92
  * this is not the case, we can require an explicit index from the app.
107
93
  */
108
-
109
-
110
94
  function useDescendant(_ref, indexProp) {
111
95
  var context = _ref.context,
112
- element = _ref.element,
113
- rest = _objectWithoutPropertiesLoose(_ref, _excluded);
114
-
96
+ element = _ref.element,
97
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded);
115
98
  var _useState = (0, React.useState)(),
116
- forceUpdate = _useState[1];
117
-
99
+ forceUpdate = _useState[1];
118
100
  var _useContext = (0, React.useContext)(context),
119
- registerDescendant = _useContext.registerDescendant,
120
- unregisterDescendant = _useContext.unregisterDescendant,
121
- descendants = _useContext.descendants; // Prevent any flashing
122
-
101
+ registerDescendant = _useContext.registerDescendant,
102
+ unregisterDescendant = _useContext.unregisterDescendant,
103
+ descendants = _useContext.descendants;
123
104
 
105
+ // Prevent any flashing
124
106
  useIsomorphicLayoutEffect(function () {
125
107
  if (!element) forceUpdate({});
126
108
  registerDescendant(_extends({
@@ -134,28 +116,24 @@ function useDescendant(_ref, indexProp) {
134
116
  return item.element === element;
135
117
  });
136
118
  }
137
-
138
119
  function useDescendants() {
139
120
  return (0, React.useState)([]);
140
121
  }
141
-
142
122
  function DescendantProvider(_ref2) {
143
123
  var Ctx = _ref2.context,
144
- children = _ref2.children,
145
- items = _ref2.items,
146
- set = _ref2.set;
124
+ children = _ref2.children,
125
+ items = _ref2.items,
126
+ set = _ref2.set;
147
127
  var registerDescendant = (0, React.useCallback)(function (_ref3) {
148
128
  var element = _ref3.element,
149
- rest = _objectWithoutPropertiesLoose(_ref3, _excluded2);
150
-
129
+ rest = _objectWithoutPropertiesLoose(_ref3, _excluded2);
151
130
  if (!element) {
152
131
  return;
153
132
  }
154
-
155
133
  set(function (items) {
156
134
  var newItem;
157
- var newItems; // If there are no items, register at index 0 and bail.
158
-
135
+ var newItems;
136
+ // If there are no items, register at index 0 and bail.
159
137
  if (items.length === 0) {
160
138
  newItem = _extends({
161
139
  element: element,
@@ -183,33 +161,33 @@ function DescendantProvider(_ref2) {
183
161
  var index = items.findIndex(function (item) {
184
162
  if (!item.element || !element) {
185
163
  return false;
186
- } // Does this element's DOM node appear before another item in the
164
+ }
165
+ // Does this element's DOM node appear before another item in the
187
166
  // array in our DOM tree? If so, return true to grab the index at
188
167
  // this point in the array so we know where to insert the new
189
168
  // element.
190
-
191
-
192
169
  return Boolean(item.element.compareDocumentPosition(element) & Node.DOCUMENT_POSITION_PRECEDING);
193
170
  });
194
171
  newItem = _extends({
195
172
  element: element,
196
173
  index: index
197
- }, rest); // If an index is not found we will push the element to the end.
174
+ }, rest);
198
175
 
176
+ // If an index is not found we will push the element to the end.
199
177
  if (index === -1) {
200
178
  newItems = [].concat(items, [newItem]);
201
179
  } else {
202
180
  newItems = [].concat(items.slice(0, index), [newItem], items.slice(index));
203
181
  }
204
182
  }
205
-
206
183
  return newItems.map(function (item, index) {
207
184
  return _extends({}, item, {
208
185
  index: index
209
186
  });
210
187
  });
211
188
  });
212
- }, // set is a state setter initialized by the useDescendants hook.
189
+ },
190
+ // set is a state setter initialized by the useDescendants hook.
213
191
  // We can safely ignore the lint warning here because it will not change
214
192
  // between renders.
215
193
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -218,13 +196,17 @@ function DescendantProvider(_ref2) {
218
196
  if (!element) {
219
197
  return;
220
198
  }
221
-
222
199
  set(function (items) {
223
200
  return items.filter(function (item) {
224
201
  return element !== item.element;
202
+ }).map(function (item, index) {
203
+ return _extends({}, item, {
204
+ index: index
205
+ });
225
206
  });
226
207
  });
227
- }, // set is a state setter initialized by the useDescendants hook.
208
+ },
209
+ // set is a state setter initialized by the useDescendants hook.
228
210
  // We can safely ignore the lint warning here because it will not change
229
211
  // between renders.
230
212
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -240,121 +222,104 @@ function DescendantProvider(_ref2) {
240
222
  value: value
241
223
  }, children);
242
224
  }
243
-
244
225
  function useDescendantKeyDown(context, options) {
245
226
  var _useContext2 = (0, React.useContext)(context),
246
- descendants = _useContext2.descendants;
247
-
227
+ descendants = _useContext2.descendants;
248
228
  var callback = options.callback,
249
- currentIndex = options.currentIndex,
250
- filter = options.filter,
251
- _options$key = options.key,
252
- key = _options$key === void 0 ? "index" : _options$key,
253
- _options$orientation = options.orientation,
254
- orientation = _options$orientation === void 0 ? "vertical" : _options$orientation,
255
- _options$rotate = options.rotate,
256
- rotate = _options$rotate === void 0 ? true : _options$rotate,
257
- _options$rtl = options.rtl,
258
- rtl = _options$rtl === void 0 ? false : _options$rtl;
229
+ currentIndex = options.currentIndex,
230
+ filter = options.filter,
231
+ _options$key = options.key,
232
+ key = _options$key === void 0 ? 'index' : _options$key,
233
+ _options$orientation = options.orientation,
234
+ orientation = _options$orientation === void 0 ? 'vertical' : _options$orientation,
235
+ _options$rotate = options.rotate,
236
+ rotate = _options$rotate === void 0 ? true : _options$rotate,
237
+ _options$rtl = options.rtl,
238
+ rtl = _options$rtl === void 0 ? false : _options$rtl;
259
239
  var index = currentIndex ? currentIndex : -1;
260
240
  return function handleKeyDown(event) {
261
- if (!["ArrowDown", "ArrowUp", "ArrowLeft", "ArrowRight", "PageUp", "PageDown", "Home", "End"].includes(event.key)) {
241
+ if (!['ArrowDown', 'ArrowUp', 'ArrowLeft', 'ArrowRight', 'PageUp', 'PageDown', 'Home', 'End'].includes(event.key)) {
262
242
  return;
263
- } // If we use a filter function, we need to re-index our descendants array
264
- // so that filtered descendent elements aren't selected.
243
+ }
265
244
 
245
+ // If we use a filter function, we need to re-index our descendants array
246
+ // so that filtered descendent elements aren't selected.
247
+ var selectableDescendants = filter ? descendants.filter(filter) : descendants;
266
248
 
267
- var selectableDescendants = filter ? descendants.filter(filter) : descendants; // Current index should map to the updated array vs. the original
249
+ // Current index should map to the updated array vs. the original
268
250
  // descendants array.
269
-
270
251
  if (filter) {
271
252
  index = selectableDescendants.findIndex(function (descendant) {
272
253
  return descendant.index === currentIndex;
273
254
  });
274
- } // We need some options for any of this to work!
275
-
255
+ }
276
256
 
257
+ // We need some options for any of this to work!
277
258
  if (!selectableDescendants.length) {
278
259
  return;
279
260
  }
280
-
281
261
  function getNextOption() {
282
262
  var atBottom = index === selectableDescendants.length - 1;
283
263
  return atBottom ? rotate ? getFirstOption() : selectableDescendants[index] : selectableDescendants[(index + 1) % selectableDescendants.length];
284
264
  }
285
-
286
265
  function getPreviousOption() {
287
266
  var atTop = index === 0;
288
267
  return atTop ? rotate ? getLastOption() : selectableDescendants[index] : selectableDescendants[(index - 1 + selectableDescendants.length) % selectableDescendants.length];
289
268
  }
290
-
291
269
  function getFirstOption() {
292
270
  return selectableDescendants[0];
293
271
  }
294
-
295
272
  function getLastOption() {
296
273
  return selectableDescendants[selectableDescendants.length - 1];
297
274
  }
298
-
299
275
  switch (event.key) {
300
- case "ArrowDown":
301
- if (orientation === "vertical" || orientation === "both") {
276
+ case 'ArrowDown':
277
+ if (orientation === 'vertical' || orientation === 'both') {
302
278
  event.preventDefault();
303
279
  var next = getNextOption();
304
- callback(key === "option" ? next : next[key]);
280
+ callback(key === 'option' ? next : next[key]);
305
281
  }
306
-
307
282
  break;
308
-
309
- case "ArrowUp":
310
- if (orientation === "vertical" || orientation === "both") {
283
+ case 'ArrowUp':
284
+ if (orientation === 'vertical' || orientation === 'both') {
311
285
  event.preventDefault();
312
286
  var prev = getPreviousOption();
313
- callback(key === "option" ? prev : prev[key]);
287
+ callback(key === 'option' ? prev : prev[key]);
314
288
  }
315
-
316
289
  break;
317
-
318
- case "ArrowLeft":
319
- if (orientation === "horizontal" || orientation === "both") {
290
+ case 'ArrowLeft':
291
+ if (orientation === 'horizontal' || orientation === 'both') {
320
292
  event.preventDefault();
321
293
  var nextOrPrev = (rtl ? getNextOption : getPreviousOption)();
322
- callback(key === "option" ? nextOrPrev : nextOrPrev[key]);
294
+ callback(key === 'option' ? nextOrPrev : nextOrPrev[key]);
323
295
  }
324
-
325
296
  break;
326
-
327
- case "ArrowRight":
328
- if (orientation === "horizontal" || orientation === "both") {
297
+ case 'ArrowRight':
298
+ if (orientation === 'horizontal' || orientation === 'both') {
329
299
  event.preventDefault();
330
300
  var prevOrNext = (rtl ? getPreviousOption : getNextOption)();
331
- callback(key === "option" ? prevOrNext : prevOrNext[key]);
301
+ callback(key === 'option' ? prevOrNext : prevOrNext[key]);
332
302
  }
333
-
334
303
  break;
335
-
336
- case "PageUp":
304
+ case 'PageUp':
337
305
  event.preventDefault();
338
306
  var prevOrFirst = (event.ctrlKey ? getPreviousOption : getFirstOption)();
339
- callback(key === "option" ? prevOrFirst : prevOrFirst[key]);
307
+ callback(key === 'option' ? prevOrFirst : prevOrFirst[key]);
340
308
  break;
341
-
342
- case "Home":
309
+ case 'Home':
343
310
  event.preventDefault();
344
311
  var first = getFirstOption();
345
- callback(key === "option" ? first : first[key]);
312
+ callback(key === 'option' ? first : first[key]);
346
313
  break;
347
-
348
- case "PageDown":
314
+ case 'PageDown':
349
315
  event.preventDefault();
350
316
  var nextOrLast = (event.ctrlKey ? getNextOption : getLastOption)();
351
- callback(key === "option" ? nextOrLast : nextOrLast[key]);
317
+ callback(key === 'option' ? nextOrLast : nextOrLast[key]);
352
318
  break;
353
-
354
- case "End":
319
+ case 'End':
355
320
  event.preventDefault();
356
321
  var last = getLastOption();
357
- callback(key === "option" ? last : last[key]);
322
+ callback(key === 'option' ? last : last[key]);
358
323
  break;
359
324
  }
360
325
  };
@@ -3,15 +3,10 @@
3
3
  exports.__esModule = true;
4
4
  exports.MenuDescendantContext = exports.MenuContext = exports.MenuButtonContext = void 0;
5
5
  exports.useMenuKeyDown = useMenuKeyDown;
6
-
7
6
  var _react = require("react");
8
-
9
7
  var _scrollIntoViewIfNeeded = _interopRequireDefault(require("scroll-into-view-if-needed"));
10
-
11
8
  var _constants = require("./constants");
12
-
13
9
  var _descendants = require("./descendants");
14
-
15
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
11
 
17
12
  var MenuContext = /*#__PURE__*/(0, _react.createContext)({
@@ -24,7 +19,7 @@ var MenuContext = /*#__PURE__*/(0, _react.createContext)({
24
19
  onChange: undefined,
25
20
  state: {
26
21
  selectionIndex: 0,
27
- filterQuery: "",
22
+ filterQuery: '',
28
23
  filteredItems: null,
29
24
  isFilterInputFocused: false
30
25
  },
@@ -39,53 +34,46 @@ var MenuButtonContext = /*#__PURE__*/(0, _react.createContext)({
39
34
  closePopout: undefined
40
35
  });
41
36
  exports.MenuButtonContext = MenuButtonContext;
42
- var MenuDescendantContext = (0, _descendants.createDescendantContext)("MenuDescendantContext");
37
+ var MenuDescendantContext = (0, _descendants.createDescendantContext)('MenuDescendantContext');
38
+
43
39
  /**
44
40
  * When a user's typed input matches the string displayed in a menu item, it is
45
41
  * expected that the matching menu item is selected. This is our matching
46
42
  * function.
47
43
  */
48
-
49
44
  exports.MenuDescendantContext = MenuDescendantContext;
50
-
51
45
  function filterItemsFromTypeahead(items, string) {
52
46
  if (string === void 0) {
53
- string = "";
47
+ string = '';
54
48
  }
55
-
56
49
  if (!string) {
57
50
  return null;
58
51
  }
59
-
60
52
  return items.filter(function (_ref) {
61
53
  var value = _ref.value,
62
- label = _ref.label;
54
+ label = _ref.label;
63
55
  return (value == null ? void 0 : value.toLowerCase().includes(string.toLocaleLowerCase())) || (label == null ? void 0 : label.toLowerCase().includes(string.toLocaleLowerCase()));
64
56
  }).map(function (_ref2) {
65
57
  var index = _ref2.index;
66
58
  return index;
67
59
  });
68
60
  }
69
-
70
61
  function useMenuKeyDown() {
71
62
  var _useContext = (0, _react.useContext)(MenuContext),
72
- onChange = _useContext.onChange,
73
- selectCallbacks = _useContext.selectCallbacks,
74
- setState = _useContext.setState,
75
- multiselect = _useContext.multiselect,
76
- _useContext$state = _useContext.state,
77
- filterQuery = _useContext$state.filterQuery,
78
- selectionIndex = _useContext$state.selectionIndex,
79
- filteredItems = _useContext$state.filteredItems,
80
- isFilterInputFocused = _useContext$state.isFilterInputFocused;
81
-
63
+ onChange = _useContext.onChange,
64
+ selectCallbacks = _useContext.selectCallbacks,
65
+ setState = _useContext.setState,
66
+ multiselect = _useContext.multiselect,
67
+ _useContext$state = _useContext.state,
68
+ filterQuery = _useContext$state.filterQuery,
69
+ selectionIndex = _useContext$state.selectionIndex,
70
+ filteredItems = _useContext$state.filteredItems,
71
+ isFilterInputFocused = _useContext$state.isFilterInputFocused;
82
72
  var _useContext2 = (0, _react.useContext)(MenuButtonContext),
83
- closePopout = _useContext2.closePopout,
84
- closeOnItemClick = _useContext2.closeOnItemClick;
85
-
73
+ closePopout = _useContext2.closePopout,
74
+ closeOnItemClick = _useContext2.closeOnItemClick;
86
75
  var _useContext3 = (0, _react.useContext)(MenuDescendantContext),
87
- items = _useContext3.descendants;
88
-
76
+ items = _useContext3.descendants;
89
77
  var shouldClosePopout = closeOnItemClick && !multiselect;
90
78
  var prevMenuItemsLength = (0, _descendants.usePrevious)(items.length);
91
79
  var prevSelected = (0, _descendants.usePrevious)(items[selectionIndex]);
@@ -98,7 +86,8 @@ function useMenuKeyDown() {
98
86
  setState({
99
87
  selectionIndex: items.length - 1
100
88
  });
101
- } else if ( // Checks if
89
+ } else if (
90
+ // Checks if
102
91
  // - menu length has changed
103
92
  // - selection index has not changed BUT selected item has changed
104
93
  //
@@ -114,7 +103,6 @@ function useMenuKeyDown() {
114
103
  }, [setState, items, prevMenuItemsLength, prevSelected, prevSelectionIndex, selectionIndex]);
115
104
  (0, _react.useEffect)(function () {
116
105
  var newFilteredItems = filterItemsFromTypeahead(items, filterQuery);
117
-
118
106
  if (filterQuery && newFilteredItems && (filteredItems == null ? void 0 : filteredItems.length) !== (newFilteredItems == null ? void 0 : newFilteredItems.length)) {
119
107
  setState({
120
108
  filteredItems: newFilteredItems,
@@ -134,19 +122,15 @@ function useMenuKeyDown() {
134
122
  activeDescendent: items[selectionIndex],
135
123
  handleKeyDown: (0, _descendants.wrapEvent)(function (event) {
136
124
  var key = event.key;
137
-
138
125
  switch (key) {
139
- case " ":
126
+ case ' ':
140
127
  if (isFilterInputFocused) {
141
128
  return;
142
129
  }
143
-
144
130
  // falls through
145
131
  // eslint-disable-next-line no-fallthrough
146
-
147
- case "Enter":
132
+ case 'Enter':
148
133
  var selected = items[selectionIndex];
149
-
150
134
  if (selected) {
151
135
  event.preventDefault();
152
136
  var func = selectCallbacks.current[selected.index];
@@ -154,16 +138,14 @@ function useMenuKeyDown() {
154
138
  onChange && selected.value && onChange(selected.value);
155
139
  shouldClosePopout && closePopout && closePopout();
156
140
  }
157
-
158
141
  return;
159
-
160
142
  default:
161
143
  return;
162
144
  }
163
145
  }, (0, _descendants.useDescendantKeyDown)(MenuDescendantContext, {
164
146
  currentIndex: index,
165
- orientation: "vertical",
166
- key: "option",
147
+ orientation: 'vertical',
148
+ key: 'option',
167
149
  rotate: true,
168
150
  filter: function filter(option) {
169
151
  return !option.disabled && (!filteredItems || filteredItems.includes(option.index));
@@ -1,17 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  var React = _interopRequireWildcard(require("react"));
4
-
5
4
  var _Box = _interopRequireDefault(require("../Box"));
6
-
7
5
  var _Button = _interopRequireDefault(require("../Button"));
8
-
9
6
  var _Popout = _interopRequireDefault(require("../Popout"));
10
-
11
7
  var _constants = require("./constants");
12
-
13
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
-
15
9
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
-
17
10
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }