baseui 10.10.0 → 10.12.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 (872) hide show
  1. package/a11y/a11y.js +1 -1
  2. package/a11y/a11y.js.flow +15 -18
  3. package/a11y/index.js.flow +1 -1
  4. package/a11y/types.js.flow +2 -2
  5. package/accordion/accordion.js +3 -2
  6. package/accordion/accordion.js.flow +18 -32
  7. package/accordion/index.js.flow +6 -6
  8. package/accordion/panel.js +1 -1
  9. package/accordion/panel.js.flow +24 -42
  10. package/accordion/stateful-panel-container.js.flow +7 -12
  11. package/accordion/stateful-panel.js.flow +3 -3
  12. package/accordion/stateless-accordion.js.flow +6 -6
  13. package/accordion/styled-components.js.flow +16 -16
  14. package/accordion/types.js.flow +9 -9
  15. package/app-nav-bar/app-nav-bar.js.flow +20 -36
  16. package/app-nav-bar/index.js.flow +3 -3
  17. package/app-nav-bar/mobile-menu.js +9 -13
  18. package/app-nav-bar/mobile-menu.js.flow +29 -62
  19. package/app-nav-bar/styled-components.js.flow +40 -44
  20. package/app-nav-bar/types.js.flow +11 -11
  21. package/app-nav-bar/user-menu.js +8 -9
  22. package/app-nav-bar/user-menu.js.flow +32 -57
  23. package/app-nav-bar/user-profile-tile.js.flow +12 -24
  24. package/app-nav-bar/utils.js.flow +9 -12
  25. package/aspect-ratio-box/aspect-ratio-box-body.js.flow +2 -2
  26. package/aspect-ratio-box/aspect-ratio-box.js +2 -2
  27. package/aspect-ratio-box/aspect-ratio-box.js.flow +11 -13
  28. package/aspect-ratio-box/index.js.flow +2 -2
  29. package/aspect-ratio-box/types.js.flow +1 -1
  30. package/avatar/avatar.js.flow +7 -21
  31. package/avatar/index.js.flow +1 -1
  32. package/avatar/styled-components.js.flow +7 -11
  33. package/avatar/types.js.flow +3 -3
  34. package/block/block.js +1 -1
  35. package/block/block.js.flow +8 -11
  36. package/block/index.js.flow +1 -1
  37. package/block/styled-components.js.flow +37 -36
  38. package/block/types.js.flow +3 -2
  39. package/breadcrumbs/breadcrumbs.js +3 -6
  40. package/breadcrumbs/breadcrumbs.js.flow +17 -35
  41. package/breadcrumbs/index.d.ts +1 -0
  42. package/breadcrumbs/index.js.flow +1 -1
  43. package/breadcrumbs/styled-components.js.flow +5 -5
  44. package/breadcrumbs/types.js.flow +3 -2
  45. package/button/button-internals.js.flow +7 -10
  46. package/button/button.js +2 -1
  47. package/button/button.js.flow +25 -36
  48. package/button/default-props.js.flow +1 -1
  49. package/button/index.d.ts +6 -0
  50. package/button/index.js.flow +2 -2
  51. package/button/styled-components.js +19 -5
  52. package/button/styled-components.js.flow +89 -82
  53. package/button/types.js.flow +13 -4
  54. package/button/utils.js +3 -1
  55. package/button/utils.js.flow +4 -2
  56. package/button-group/button-group.js +1 -1
  57. package/button-group/button-group.js.flow +15 -17
  58. package/button-group/index.d.ts +1 -0
  59. package/button-group/index.js.flow +6 -6
  60. package/button-group/stateful-button-group.js +5 -1
  61. package/button-group/stateful-button-group.js.flow +4 -3
  62. package/button-group/stateful-container.js.flow +14 -26
  63. package/button-group/styled-components.js.flow +5 -5
  64. package/button-group/types.js.flow +9 -12
  65. package/card/card.js.flow +12 -30
  66. package/card/index.js.flow +1 -1
  67. package/card/styled-components.js.flow +8 -8
  68. package/card/types.js.flow +3 -3
  69. package/checkbox/checkbox.js +2 -3
  70. package/checkbox/checkbox.js.flow +24 -39
  71. package/checkbox/index.d.ts +1 -0
  72. package/checkbox/index.js.flow +4 -4
  73. package/checkbox/stateful-checkbox-container.js.flow +14 -17
  74. package/checkbox/stateful-checkbox.js.flow +5 -5
  75. package/checkbox/styled-components.js.flow +27 -50
  76. package/checkbox/types.js.flow +26 -7
  77. package/combobox/combobox.js +4 -4
  78. package/combobox/combobox.js.flow +24 -36
  79. package/combobox/index.js.flow +2 -2
  80. package/combobox/styled-components.js.flow +23 -20
  81. package/combobox/types.js.flow +7 -5
  82. package/data-table/column-anchor.js.flow +8 -8
  83. package/data-table/column-boolean.js.flow +15 -20
  84. package/data-table/column-categorical.js.flow +26 -31
  85. package/data-table/column-custom.js +1 -0
  86. package/data-table/column-custom.js.flow +6 -10
  87. package/data-table/column-datetime.js +6 -6
  88. package/data-table/column-datetime.js.flow +66 -114
  89. package/data-table/column-numerical.js.flow +38 -46
  90. package/data-table/column-row-index.js.flow +3 -3
  91. package/data-table/column-string.js.flow +8 -8
  92. package/data-table/column.js +1 -0
  93. package/data-table/column.js.flow +7 -8
  94. package/data-table/constants.js.flow +1 -1
  95. package/data-table/data-table.js +4 -4
  96. package/data-table/data-table.js.flow +76 -124
  97. package/data-table/filter-menu.js.flow +26 -37
  98. package/data-table/filter-shell.js.flow +6 -6
  99. package/data-table/header-cell.js.flow +112 -122
  100. package/data-table/index.js.flow +15 -24
  101. package/data-table/measure-column-widths.js.flow +9 -17
  102. package/data-table/stateful-container.js.flow +13 -22
  103. package/data-table/stateful-data-table.js.flow +21 -27
  104. package/data-table/text-search.js.flow +3 -3
  105. package/data-table/types.js.flow +17 -20
  106. package/datepicker/calendar-header.js +4 -7
  107. package/datepicker/calendar-header.js.flow +105 -174
  108. package/datepicker/calendar.js +2 -1
  109. package/datepicker/calendar.js.flow +99 -139
  110. package/datepicker/datepicker.js +1 -1
  111. package/datepicker/datepicker.js.flow +84 -159
  112. package/datepicker/day.js.flow +52 -86
  113. package/datepicker/index.js.flow +8 -10
  114. package/datepicker/month.js.flow +10 -14
  115. package/datepicker/stateful-calendar.js.flow +2 -2
  116. package/datepicker/stateful-container.js.flow +10 -13
  117. package/datepicker/stateful-datepicker.js.flow +2 -2
  118. package/datepicker/styled-components.js +2 -2
  119. package/datepicker/styled-components.js.flow +111 -150
  120. package/datepicker/types.js.flow +38 -38
  121. package/datepicker/utils/calendar-header-helpers.js.flow +5 -5
  122. package/datepicker/utils/date-fns-adapter.js.flow +1 -1
  123. package/datepicker/utils/date-helpers.js +1 -1
  124. package/datepicker/utils/date-helpers.js.flow +85 -127
  125. package/datepicker/utils/day-state.js.flow +1 -1
  126. package/datepicker/utils/index.js +1 -1
  127. package/datepicker/utils/index.js.flow +4 -5
  128. package/datepicker/utils/types.js.flow +2 -2
  129. package/datepicker/week.js.flow +8 -11
  130. package/dnd-list/index.js.flow +7 -6
  131. package/dnd-list/list.js.flow +18 -45
  132. package/dnd-list/stateful-list-container.js.flow +7 -10
  133. package/dnd-list/stateful-list.js.flow +3 -3
  134. package/dnd-list/styled-components.js.flow +36 -45
  135. package/dnd-list/types.js.flow +6 -6
  136. package/drawer/close-icon.js.flow +1 -1
  137. package/drawer/constants.js.flow +3 -2
  138. package/drawer/drawer.js +1 -1
  139. package/drawer/drawer.js.flow +26 -43
  140. package/drawer/index.js.flow +2 -2
  141. package/drawer/styled-components.js.flow +34 -47
  142. package/drawer/types.js.flow +5 -8
  143. package/es/a11y/a11y.js +1 -1
  144. package/es/accordion/accordion.js +2 -1
  145. package/es/accordion/panel.js +1 -1
  146. package/es/app-nav-bar/mobile-menu.js +9 -13
  147. package/es/app-nav-bar/user-menu.js +8 -9
  148. package/es/aspect-ratio-box/aspect-ratio-box.js +2 -2
  149. package/es/block/block.js +1 -1
  150. package/es/breadcrumbs/breadcrumbs.js +4 -7
  151. package/es/button/button.js +2 -1
  152. package/es/button/styled-components.js +20 -6
  153. package/es/button/utils.js +2 -0
  154. package/es/button-group/button-group.js +1 -1
  155. package/es/button-group/stateful-button-group.js +4 -1
  156. package/es/checkbox/checkbox.js +2 -3
  157. package/es/checkbox/stateful-checkbox-container.js +0 -3
  158. package/es/combobox/combobox.js +6 -8
  159. package/es/data-table/column-custom.js +1 -0
  160. package/es/data-table/column-datetime.js +6 -6
  161. package/es/data-table/column.js +1 -0
  162. package/es/data-table/data-table.js +4 -4
  163. package/es/datepicker/calendar-header.js +7 -10
  164. package/es/datepicker/calendar.js +3 -3
  165. package/es/datepicker/datepicker.js +1 -1
  166. package/es/datepicker/styled-components.js +2 -2
  167. package/es/datepicker/utils/date-helpers.js +1 -1
  168. package/es/datepicker/utils/index.js +1 -1
  169. package/es/drawer/drawer.js +1 -1
  170. package/es/flex-grid/flex-grid-item.js +6 -4
  171. package/es/flex-grid/flex-grid.js +7 -3
  172. package/es/form-control/form-control.js +4 -4
  173. package/es/heading/heading.js +1 -1
  174. package/es/helpers/overrides.js +13 -9
  175. package/es/icon/alert.js +18 -14
  176. package/es/icon/arrow-down.js +18 -14
  177. package/es/icon/arrow-left.js +18 -14
  178. package/es/icon/arrow-right.js +18 -14
  179. package/es/icon/arrow-up.js +18 -14
  180. package/es/icon/blank.js +14 -10
  181. package/es/icon/check-indeterminate.js +18 -14
  182. package/es/icon/check.js +18 -14
  183. package/es/icon/chevron-down.js +19 -15
  184. package/es/icon/chevron-left.js +18 -14
  185. package/es/icon/chevron-right.js +18 -14
  186. package/es/icon/chevron-up.js +19 -15
  187. package/es/icon/delete-alt.js +18 -14
  188. package/es/icon/delete.js +18 -14
  189. package/es/icon/filter.js +32 -28
  190. package/es/icon/grab.js +18 -14
  191. package/es/icon/hide.js +16 -12
  192. package/es/icon/menu.js +32 -28
  193. package/es/icon/omit-dollar-prefixed-keys.js +1 -1
  194. package/es/icon/overflow.js +26 -22
  195. package/es/icon/plus.js +18 -14
  196. package/es/icon/search.js +18 -14
  197. package/es/icon/show.js +16 -12
  198. package/es/icon/spinner.js +23 -19
  199. package/es/icon/triangle-down.js +16 -12
  200. package/es/icon/triangle-left.js +16 -12
  201. package/es/icon/triangle-right.js +16 -12
  202. package/es/icon/triangle-up.js +16 -12
  203. package/es/icon/upload.js +18 -14
  204. package/es/input/masked-input.js +1 -0
  205. package/es/input/stateful-container.js +0 -1
  206. package/es/input/styled-components.js +3 -2
  207. package/es/layer/layer.js +4 -3
  208. package/es/list/list-heading.js +3 -3
  209. package/es/list/list-item.js +1 -1
  210. package/es/list/menu-adapter.js +1 -2
  211. package/es/map-marker/fixed-marker.js +11 -5
  212. package/es/menu/maybe-child-menu.js +1 -2
  213. package/es/menu/menu.js +1 -1
  214. package/es/menu/option-profile.js +2 -0
  215. package/es/menu/stateful-container.js +3 -4
  216. package/es/menu/stateful-menu.js +4 -1
  217. package/es/menu/types.js +1 -1
  218. package/es/modal/modal-button.js +5 -1
  219. package/es/modal/modal.js +1 -3
  220. package/es/pagination/index.js +1 -1
  221. package/es/pagination/stateful-container.js +1 -0
  222. package/es/pagination/stateful-pagination.js +1 -0
  223. package/es/payment-card/payment-card.js +4 -1
  224. package/es/payment-card/styled-components.js +0 -1
  225. package/es/phone-input/base-country-picker.js +6 -8
  226. package/es/phone-input/country-picker.js +5 -8
  227. package/es/phone-input/country-select-dropdown.js +4 -2
  228. package/es/phone-input/country-select.js +5 -8
  229. package/es/phone-input/flag.js +2 -1
  230. package/es/phone-input/phone-input-lite.js +1 -2
  231. package/es/phone-input/phone-input-next.js +1 -2
  232. package/es/pin-code/pin-code.js +1 -2
  233. package/es/popover/popover.js +7 -7
  234. package/es/progress-bar/progressbar-rounded.js +25 -22
  235. package/es/progress-bar/progressbar.js +6 -3
  236. package/es/radio/radio.js +1 -1
  237. package/es/radio/radiogroup.js +1 -1
  238. package/es/rating/emoticon-rating.js +1 -1
  239. package/es/rating/star-rating.js +1 -1
  240. package/es/select/autosize-input.js +1 -2
  241. package/es/select/dropdown.js +2 -4
  242. package/es/select/multi-value.js +1 -1
  243. package/es/select/select-component.js +33 -16
  244. package/es/select/styled-components.js +1 -2
  245. package/es/select/value.js +1 -1
  246. package/es/slider/slider.js +2 -2
  247. package/es/snackbar/snackbar-element.js +4 -3
  248. package/es/snackbar/styled-components.js +1 -1
  249. package/es/spinner/spinner.js +22 -18
  250. package/es/spinner/styled-components.js +3 -2
  251. package/es/styles/__mocks__/styled.js +2 -1
  252. package/es/styles/styled.js +9 -7
  253. package/es/table/sortable-head-cell.js +1 -1
  254. package/es/table-semantic/styled-components.js +2 -1
  255. package/es/tabs/tabs.js +2 -2
  256. package/es/tag/styled-components.js +4 -8
  257. package/es/tag/tag.js +1 -1
  258. package/es/textarea/styled-components.js +9 -7
  259. package/es/textarea/textarea.js +2 -1
  260. package/es/timepicker/timepicker.js +2 -4
  261. package/es/timezonepicker/timezone-picker.js +2 -5
  262. package/es/timezonepicker/tzdata.js +6 -1
  263. package/es/timezonepicker/update-tzdata.js +9 -4
  264. package/es/toast/styled-components.js +30 -28
  265. package/es/toast/toaster.js +5 -7
  266. package/es/toast/types.js +0 -2
  267. package/es/tree-view/tree-label-interactable.js +8 -4
  268. package/es/tree-view/tree-label.js +5 -1
  269. package/es/tree-view/tree-node.js +1 -1
  270. package/es/tree-view/tree-view.js +6 -6
  271. package/es/typography/index.js +144 -36
  272. package/es/utils/deep-merge.js +2 -2
  273. package/es/utils/deprecated-component.js +5 -3
  274. package/esm/a11y/a11y.js +1 -1
  275. package/esm/accordion/accordion.js +3 -2
  276. package/esm/accordion/panel.js +1 -1
  277. package/esm/app-nav-bar/mobile-menu.js +9 -13
  278. package/esm/app-nav-bar/user-menu.js +8 -9
  279. package/esm/aspect-ratio-box/aspect-ratio-box.js +2 -2
  280. package/esm/block/block.js +1 -1
  281. package/esm/breadcrumbs/breadcrumbs.js +4 -7
  282. package/esm/button/button.js +2 -1
  283. package/esm/button/styled-components.js +19 -5
  284. package/esm/button/utils.js +3 -1
  285. package/esm/button-group/button-group.js +1 -1
  286. package/esm/button-group/stateful-button-group.js +5 -1
  287. package/esm/checkbox/checkbox.js +2 -3
  288. package/esm/combobox/combobox.js +4 -4
  289. package/esm/data-table/column-custom.js +1 -0
  290. package/esm/data-table/column-datetime.js +6 -6
  291. package/esm/data-table/column.js +1 -0
  292. package/esm/data-table/data-table.js +4 -4
  293. package/esm/datepicker/calendar-header.js +7 -10
  294. package/esm/datepicker/calendar.js +2 -1
  295. package/esm/datepicker/datepicker.js +1 -1
  296. package/esm/datepicker/styled-components.js +2 -2
  297. package/esm/datepicker/utils/date-helpers.js +1 -1
  298. package/esm/datepicker/utils/index.js +1 -1
  299. package/esm/drawer/drawer.js +1 -1
  300. package/esm/flex-grid/flex-grid-item.js +5 -3
  301. package/esm/flex-grid/flex-grid.js +14 -9
  302. package/esm/form-control/form-control.js +4 -4
  303. package/esm/heading/heading.js +1 -1
  304. package/esm/helpers/overrides.js +13 -9
  305. package/esm/icon/alert.js +18 -14
  306. package/esm/icon/arrow-down.js +18 -14
  307. package/esm/icon/arrow-left.js +18 -14
  308. package/esm/icon/arrow-right.js +18 -14
  309. package/esm/icon/arrow-up.js +18 -14
  310. package/esm/icon/blank.js +14 -10
  311. package/esm/icon/check-indeterminate.js +18 -14
  312. package/esm/icon/check.js +18 -14
  313. package/esm/icon/chevron-down.js +19 -15
  314. package/esm/icon/chevron-left.js +18 -14
  315. package/esm/icon/chevron-right.js +18 -14
  316. package/esm/icon/chevron-up.js +19 -15
  317. package/esm/icon/delete-alt.js +18 -14
  318. package/esm/icon/delete.js +18 -14
  319. package/esm/icon/filter.js +32 -28
  320. package/esm/icon/grab.js +18 -14
  321. package/esm/icon/hide.js +16 -12
  322. package/esm/icon/menu.js +32 -28
  323. package/esm/icon/omit-dollar-prefixed-keys.js +1 -1
  324. package/esm/icon/overflow.js +26 -22
  325. package/esm/icon/plus.js +18 -14
  326. package/esm/icon/search.js +18 -14
  327. package/esm/icon/show.js +16 -12
  328. package/esm/icon/spinner.js +23 -19
  329. package/esm/icon/triangle-down.js +16 -12
  330. package/esm/icon/triangle-left.js +16 -12
  331. package/esm/icon/triangle-right.js +16 -12
  332. package/esm/icon/triangle-up.js +16 -12
  333. package/esm/icon/upload.js +18 -14
  334. package/esm/input/masked-input.js +1 -0
  335. package/esm/input/stateful-container.js +0 -1
  336. package/esm/input/styled-components.js +6 -2
  337. package/esm/layer/layer.js +4 -3
  338. package/esm/list/list-heading.js +3 -3
  339. package/esm/list/list-item.js +1 -1
  340. package/esm/list/menu-adapter.js +1 -2
  341. package/esm/map-marker/fixed-marker.js +11 -5
  342. package/esm/menu/maybe-child-menu.js +1 -2
  343. package/esm/menu/menu.js +1 -1
  344. package/esm/menu/option-profile.js +2 -0
  345. package/esm/menu/stateful-container.js +3 -4
  346. package/esm/menu/stateful-menu.js +9 -5
  347. package/esm/menu/types.js +1 -1
  348. package/esm/modal/modal-button.js +10 -5
  349. package/esm/modal/modal.js +1 -3
  350. package/esm/pagination/index.js +1 -1
  351. package/esm/pagination/stateful-container.js +1 -0
  352. package/esm/pagination/stateful-pagination.js +1 -0
  353. package/esm/payment-card/payment-card.js +25 -21
  354. package/esm/phone-input/base-country-picker.js +6 -8
  355. package/esm/phone-input/country-picker.js +5 -8
  356. package/esm/phone-input/country-select-dropdown.js +4 -2
  357. package/esm/phone-input/country-select.js +5 -8
  358. package/esm/phone-input/flag.js +2 -1
  359. package/esm/phone-input/phone-input-lite.js +1 -2
  360. package/esm/phone-input/phone-input-next.js +1 -2
  361. package/esm/pin-code/pin-code.js +1 -2
  362. package/esm/popover/popover.js +7 -7
  363. package/esm/progress-bar/progressbar-rounded.js +25 -22
  364. package/esm/progress-bar/progressbar.js +9 -5
  365. package/esm/radio/radio.js +3 -1
  366. package/esm/radio/radiogroup.js +1 -1
  367. package/esm/rating/emoticon-rating.js +1 -1
  368. package/esm/rating/star-rating.js +1 -1
  369. package/esm/select/autosize-input.js +1 -2
  370. package/esm/select/dropdown.js +1 -2
  371. package/esm/select/multi-value.js +1 -1
  372. package/esm/select/select-component.js +35 -15
  373. package/esm/select/styled-components.js +1 -2
  374. package/esm/select/value.js +1 -1
  375. package/esm/slider/slider.js +2 -2
  376. package/esm/snackbar/snackbar-element.js +4 -3
  377. package/esm/snackbar/styled-components.js +1 -1
  378. package/esm/spinner/spinner.js +22 -18
  379. package/esm/spinner/styled-components.js +0 -2
  380. package/esm/styles/__mocks__/styled.js +2 -1
  381. package/esm/styles/styled.js +9 -7
  382. package/esm/table/sortable-head-cell.js +1 -1
  383. package/esm/table-semantic/styled-components.js +2 -1
  384. package/esm/tabs/tabs.js +2 -2
  385. package/esm/tag/styled-components.js +4 -8
  386. package/esm/tag/tag.js +1 -1
  387. package/esm/textarea/styled-components.js +8 -7
  388. package/esm/textarea/textarea.js +2 -1
  389. package/esm/timepicker/timepicker.js +2 -4
  390. package/esm/timezonepicker/timezone-picker.js +2 -5
  391. package/esm/timezonepicker/tzdata.js +6 -1
  392. package/esm/timezonepicker/update-tzdata.js +11 -13
  393. package/esm/toast/styled-components.js +30 -19
  394. package/esm/toast/toaster.js +5 -7
  395. package/esm/toast/types.js +0 -2
  396. package/esm/tree-view/tree-label-interactable.js +12 -8
  397. package/esm/tree-view/tree-label.js +7 -3
  398. package/esm/tree-view/tree-node.js +1 -1
  399. package/esm/tree-view/tree-view.js +6 -6
  400. package/esm/typography/index.js +416 -272
  401. package/esm/utils/deep-merge.js +2 -2
  402. package/esm/utils/deprecated-component.js +5 -3
  403. package/file-uploader/file-uploader.js.flow +30 -60
  404. package/file-uploader/index.js.flow +1 -1
  405. package/file-uploader/styled-components.js.flow +9 -11
  406. package/file-uploader/types.js.flow +8 -10
  407. package/flex-grid/flex-grid-item.js +5 -3
  408. package/flex-grid/flex-grid-item.js.flow +31 -40
  409. package/flex-grid/flex-grid.js +14 -9
  410. package/flex-grid/flex-grid.js.flow +32 -31
  411. package/flex-grid/index.js.flow +2 -2
  412. package/flex-grid/types.js.flow +1 -1
  413. package/form-control/form-control.js +4 -4
  414. package/form-control/form-control.js.flow +16 -32
  415. package/form-control/index.js.flow +1 -1
  416. package/form-control/styled-components.js.flow +18 -21
  417. package/form-control/types.js.flow +2 -2
  418. package/header-navigation/header-navigation.js.flow +5 -10
  419. package/header-navigation/index.js.flow +2 -2
  420. package/header-navigation/styled-components.js.flow +38 -41
  421. package/header-navigation/types.js.flow +1 -1
  422. package/heading/heading-level.js.flow +3 -7
  423. package/heading/heading.js +1 -1
  424. package/heading/heading.js.flow +9 -23
  425. package/heading/index.js.flow +2 -2
  426. package/heading/types.js.flow +1 -1
  427. package/helper/constants.js.flow +1 -1
  428. package/helper/helper-steps.js.flow +8 -21
  429. package/helper/helper.js.flow +8 -8
  430. package/helper/index.js.flow +4 -4
  431. package/helper/stateful-helper.js.flow +5 -5
  432. package/helper/styled-components.js.flow +12 -24
  433. package/helpers/base-provider.js.flow +5 -5
  434. package/helpers/i18n-interpolation.js.flow +2 -2
  435. package/helpers/overrides.js +13 -9
  436. package/helpers/overrides.js.flow +40 -51
  437. package/helpers/react-helpers.js.flow +5 -5
  438. package/helpers/responsive-helpers.js.flow +2 -2
  439. package/helpers/strings.js.flow +1 -2
  440. package/helpers/types.js.flow +2 -2
  441. package/icon/alert.js +18 -14
  442. package/icon/alert.js.flow +7 -6
  443. package/icon/arrow-down.js +18 -14
  444. package/icon/arrow-down.js.flow +8 -14
  445. package/icon/arrow-left.js +18 -14
  446. package/icon/arrow-left.js.flow +8 -14
  447. package/icon/arrow-right.js +18 -14
  448. package/icon/arrow-right.js.flow +8 -14
  449. package/icon/arrow-up.js +18 -14
  450. package/icon/arrow-up.js.flow +8 -8
  451. package/icon/blank.js +14 -10
  452. package/icon/blank.js.flow +7 -6
  453. package/icon/build-icons.js.flow +13 -28
  454. package/icon/check-indeterminate.js +18 -14
  455. package/icon/check-indeterminate.js.flow +8 -15
  456. package/icon/check.js +18 -14
  457. package/icon/check.js.flow +7 -6
  458. package/icon/chevron-down.js +19 -15
  459. package/icon/chevron-down.js.flow +8 -8
  460. package/icon/chevron-left.js +18 -14
  461. package/icon/chevron-left.js.flow +8 -8
  462. package/icon/chevron-right.js +18 -14
  463. package/icon/chevron-right.js.flow +8 -10
  464. package/icon/chevron-up.js +19 -15
  465. package/icon/chevron-up.js.flow +8 -8
  466. package/icon/delete-alt.js +18 -14
  467. package/icon/delete-alt.js.flow +8 -14
  468. package/icon/delete.js +18 -14
  469. package/icon/delete.js.flow +7 -6
  470. package/icon/filter.js +32 -28
  471. package/icon/filter.js.flow +7 -6
  472. package/icon/grab.js +18 -14
  473. package/icon/grab.js.flow +7 -6
  474. package/icon/hide.js +16 -12
  475. package/icon/hide.js.flow +7 -6
  476. package/icon/icon-exports.js.flow +28 -28
  477. package/icon/icon.js.flow +4 -4
  478. package/icon/index.js.flow +2 -2
  479. package/icon/menu.js +32 -28
  480. package/icon/menu.js.flow +7 -6
  481. package/icon/omit-dollar-prefixed-keys.js +1 -1
  482. package/icon/omit-dollar-prefixed-keys.js.flow +2 -2
  483. package/icon/overflow.js +26 -22
  484. package/icon/overflow.js.flow +8 -8
  485. package/icon/plus.js +18 -14
  486. package/icon/plus.js.flow +7 -6
  487. package/icon/search.js +18 -14
  488. package/icon/search.js.flow +7 -6
  489. package/icon/show.js +16 -12
  490. package/icon/show.js.flow +7 -6
  491. package/icon/spinner.js +23 -19
  492. package/icon/spinner.js.flow +8 -8
  493. package/icon/styled-components.js.flow +13 -4
  494. package/icon/triangle-down.js +16 -12
  495. package/icon/triangle-down.js.flow +8 -16
  496. package/icon/triangle-left.js +16 -12
  497. package/icon/triangle-left.js.flow +8 -16
  498. package/icon/triangle-right.js +16 -12
  499. package/icon/triangle-right.js.flow +8 -16
  500. package/icon/triangle-up.js +16 -12
  501. package/icon/triangle-up.js.flow +8 -14
  502. package/icon/types.js.flow +1 -1
  503. package/icon/upload.js +18 -14
  504. package/icon/upload.js.flow +7 -6
  505. package/index.js.flow +5 -5
  506. package/input/base-input.js.flow +32 -57
  507. package/input/index.d.ts +1 -1
  508. package/input/index.js.flow +6 -11
  509. package/input/input.js.flow +13 -27
  510. package/input/masked-input.js +1 -0
  511. package/input/masked-input.js.flow +8 -7
  512. package/input/stateful-container.js +0 -1
  513. package/input/stateful-container.js.flow +6 -12
  514. package/input/stateful-input.js.flow +2 -2
  515. package/input/styled-components.js +6 -2
  516. package/input/styled-components.js.flow +78 -59
  517. package/input/types.js.flow +17 -18
  518. package/input/utils.js.flow +5 -5
  519. package/layer/index.js.flow +4 -4
  520. package/layer/layer.js +4 -3
  521. package/layer/layer.js.flow +19 -30
  522. package/layer/layers-manager.js.flow +25 -36
  523. package/layer/tether.js.flow +12 -14
  524. package/layer/types.js.flow +3 -3
  525. package/layer/utils.js.flow +2 -8
  526. package/layout-grid/cell.js.flow +5 -8
  527. package/layout-grid/grid.js.flow +11 -26
  528. package/layout-grid/index.js.flow +2 -2
  529. package/layout-grid/styled-components.js.flow +23 -38
  530. package/layout-grid/types.js.flow +3 -6
  531. package/link/index.js.flow +8 -8
  532. package/link/styled-components.js.flow +5 -7
  533. package/list/index.d.ts +4 -13
  534. package/list/index.js.flow +5 -5
  535. package/list/list-heading.js +3 -3
  536. package/list/list-heading.js.flow +76 -91
  537. package/list/list-item-label.js.flow +8 -12
  538. package/list/list-item.js +1 -1
  539. package/list/list-item.js.flow +64 -69
  540. package/list/menu-adapter.js +1 -2
  541. package/list/menu-adapter.js.flow +29 -36
  542. package/list/styled-components.js.flow +52 -60
  543. package/list/types.js.flow +11 -11
  544. package/list/utils.js.flow +3 -6
  545. package/locale/es_AR.js.flow +1 -2
  546. package/locale/index.js.flow +5 -10
  547. package/locale/types.js.flow +12 -12
  548. package/map-marker/badge-enhancer.js.flow +12 -27
  549. package/map-marker/constants.js.flow +3 -3
  550. package/map-marker/drag-shadow.js.flow +8 -23
  551. package/map-marker/fixed-marker.js +11 -5
  552. package/map-marker/fixed-marker.js.flow +21 -29
  553. package/map-marker/floating-marker.js.flow +9 -18
  554. package/map-marker/index.js.flow +2 -2
  555. package/map-marker/label-enhancer.js.flow +6 -9
  556. package/map-marker/needle.js.flow +6 -12
  557. package/map-marker/pin-head.js.flow +15 -38
  558. package/map-marker/styled-components.js.flow +45 -60
  559. package/map-marker/types.js.flow +9 -11
  560. package/menu/index.d.ts +2 -1
  561. package/menu/index.js.flow +7 -7
  562. package/menu/maybe-child-menu.js +1 -2
  563. package/menu/maybe-child-menu.js.flow +11 -14
  564. package/menu/menu.js +1 -1
  565. package/menu/menu.js.flow +17 -26
  566. package/menu/nested-menus.js.flow +21 -23
  567. package/menu/option-list.js.flow +16 -18
  568. package/menu/option-profile.js +2 -0
  569. package/menu/option-profile.js.flow +16 -30
  570. package/menu/stateful-container.js +3 -4
  571. package/menu/stateful-container.js.flow +42 -62
  572. package/menu/stateful-menu.js +9 -5
  573. package/menu/stateful-menu.js.flow +6 -5
  574. package/menu/styled-components.js.flow +47 -64
  575. package/menu/types.js.flow +30 -36
  576. package/menu/utils.js.flow +1 -1
  577. package/modal/close-icon.js.flow +2 -6
  578. package/modal/focus-once.js.flow +1 -1
  579. package/modal/index.js.flow +4 -4
  580. package/modal/modal-button.js +10 -5
  581. package/modal/modal-button.js.flow +10 -15
  582. package/modal/modal.js +1 -3
  583. package/modal/modal.js.flow +23 -40
  584. package/modal/styled-components.js.flow +18 -32
  585. package/modal/types.js.flow +6 -12
  586. package/notification/index.js.flow +2 -2
  587. package/notification/notification.js.flow +2 -2
  588. package/package.json +26 -22
  589. package/pagination/index.js +8 -8
  590. package/pagination/index.js.flow +8 -11
  591. package/pagination/pagination.js.flow +39 -62
  592. package/pagination/stateful-container.js +1 -0
  593. package/pagination/stateful-container.js.flow +14 -22
  594. package/pagination/stateful-pagination.js +1 -0
  595. package/pagination/stateful-pagination.js.flow +4 -6
  596. package/pagination/styled-components.js.flow +10 -14
  597. package/pagination/types.js.flow +12 -8
  598. package/payment-card/icons/amex.js.flow +2 -5
  599. package/payment-card/icons/dinersclub.js.flow +1 -1
  600. package/payment-card/icons/discover.js.flow +1 -1
  601. package/payment-card/icons/elo.js.flow +1 -1
  602. package/payment-card/icons/generic.js.flow +1 -1
  603. package/payment-card/icons/jcb.js.flow +4 -13
  604. package/payment-card/icons/maestro.js.flow +1 -1
  605. package/payment-card/icons/mastercard.js.flow +1 -1
  606. package/payment-card/icons/unionpay.js.flow +1 -1
  607. package/payment-card/icons/visa.js.flow +1 -1
  608. package/payment-card/index.js.flow +6 -6
  609. package/payment-card/payment-card.js +25 -21
  610. package/payment-card/payment-card.js.flow +16 -21
  611. package/payment-card/stateful-payment-card.js.flow +3 -2
  612. package/payment-card/styled-components.js.flow +5 -6
  613. package/payment-card/types.js.flow +2 -6
  614. package/payment-card/utils.js.flow +6 -18
  615. package/phone-input/base-country-picker.js +7 -8
  616. package/phone-input/base-country-picker.js.flow +27 -44
  617. package/phone-input/constants.js.flow +227 -227
  618. package/phone-input/country-picker.js +5 -8
  619. package/phone-input/country-picker.js.flow +19 -29
  620. package/phone-input/country-select-dropdown.js +3 -2
  621. package/phone-input/country-select-dropdown.js.flow +31 -43
  622. package/phone-input/country-select.js +5 -8
  623. package/phone-input/country-select.js.flow +13 -28
  624. package/phone-input/default-props.js.flow +2 -6
  625. package/phone-input/flag.js +2 -1
  626. package/phone-input/flag.js.flow +7 -6
  627. package/phone-input/flags/index.js.flow +241 -241
  628. package/phone-input/index.js.flow +10 -14
  629. package/phone-input/phone-input-lite.js +1 -2
  630. package/phone-input/phone-input-lite.js.flow +6 -7
  631. package/phone-input/phone-input-next.js +1 -2
  632. package/phone-input/phone-input-next.js.flow +13 -14
  633. package/phone-input/phone-input.js.flow +2 -2
  634. package/phone-input/stateful-phone-input-container.js.flow +4 -4
  635. package/phone-input/stateful-phone-input-next.js.flow +3 -5
  636. package/phone-input/stateful-phone-input.js.flow +1 -1
  637. package/phone-input/styled-components.js.flow +54 -59
  638. package/phone-input/types.js.flow +11 -16
  639. package/phone-input/utils.js.flow +2 -4
  640. package/pin-code/default-props.js.flow +1 -1
  641. package/pin-code/index.js.flow +4 -6
  642. package/pin-code/pin-code.js +1 -2
  643. package/pin-code/pin-code.js.flow +15 -28
  644. package/pin-code/stateful-pin-code-container.js.flow +6 -10
  645. package/pin-code/stateful-pin-code.js.flow +1 -1
  646. package/pin-code/styled-components.js.flow +19 -22
  647. package/pin-code/types.js.flow +6 -6
  648. package/popover/default-props.js.flow +2 -2
  649. package/popover/index.js.flow +3 -3
  650. package/popover/popover.js +7 -3
  651. package/popover/popover.js.flow +59 -75
  652. package/popover/stateful-container.js.flow +5 -8
  653. package/popover/stateful-popover.js.flow +4 -9
  654. package/popover/styled-components.js.flow +13 -26
  655. package/popover/types.js.flow +13 -28
  656. package/popover/utils.js.flow +9 -16
  657. package/progress-bar/index.d.ts +4 -3
  658. package/progress-bar/index.js.flow +3 -3
  659. package/progress-bar/progressbar-rounded.js +25 -22
  660. package/progress-bar/progressbar-rounded.js.flow +10 -7
  661. package/progress-bar/progressbar.js +9 -5
  662. package/progress-bar/progressbar.js.flow +20 -36
  663. package/progress-bar/styled-components.js.flow +98 -117
  664. package/progress-bar/types.js.flow +4 -7
  665. package/progress-steps/index.js.flow +3 -3
  666. package/progress-steps/numbered-step.js.flow +6 -15
  667. package/progress-steps/progress-steps.js.flow +7 -14
  668. package/progress-steps/step.js.flow +7 -20
  669. package/progress-steps/styled-components.js.flow +25 -29
  670. package/progress-steps/types.js.flow +2 -2
  671. package/radio/index.js.flow +5 -5
  672. package/radio/radio.js +3 -1
  673. package/radio/radio.js.flow +16 -19
  674. package/radio/radiogroup.js +1 -1
  675. package/radio/radiogroup.js.flow +19 -28
  676. package/radio/stateful-radiogroup-container.js.flow +7 -10
  677. package/radio/stateful-radiogroup.js.flow +4 -6
  678. package/radio/styled-components.js.flow +26 -32
  679. package/radio/types.js.flow +5 -4
  680. package/rating/emoticon-rating.js +1 -1
  681. package/rating/emoticon-rating.js.flow +26 -40
  682. package/rating/index.js.flow +2 -2
  683. package/rating/star-rating.js +1 -1
  684. package/rating/star-rating.js.flow +23 -34
  685. package/rating/styled-components.js.flow +8 -27
  686. package/rating/types.js.flow +4 -4
  687. package/select/autosize-input.js +1 -2
  688. package/select/autosize-input.js.flow +10 -18
  689. package/select/constants.js.flow +1 -1
  690. package/select/default-props.js.flow +1 -1
  691. package/select/dropdown.js +1 -2
  692. package/select/dropdown.js.flow +20 -35
  693. package/select/index.d.ts +26 -33
  694. package/select/index.js.flow +11 -13
  695. package/select/multi-select.js.flow +2 -4
  696. package/select/multi-value.js +1 -1
  697. package/select/multi-value.js.flow +6 -9
  698. package/select/select-component.js +35 -16
  699. package/select/select-component.js.flow +124 -184
  700. package/select/select.js.flow +1 -6
  701. package/select/single-select.js.flow +1 -1
  702. package/select/stateful-select-container.js.flow +5 -13
  703. package/select/stateful-select.js.flow +1 -1
  704. package/select/styled-components.js.flow +167 -218
  705. package/select/types.js.flow +25 -24
  706. package/select/utils/default-filter-options.js.flow +7 -8
  707. package/select/utils/index.js.flow +5 -12
  708. package/select/value.js +1 -1
  709. package/select/value.js.flow +5 -8
  710. package/side-navigation/index.js.flow +2 -2
  711. package/side-navigation/nav-item.js.flow +8 -13
  712. package/side-navigation/nav.js.flow +15 -35
  713. package/side-navigation/stateful-container.js.flow +10 -19
  714. package/side-navigation/stateful-nav.js.flow +2 -2
  715. package/side-navigation/styled-components.js.flow +16 -20
  716. package/side-navigation/types.js.flow +9 -9
  717. package/skeleton/index.js.flow +1 -1
  718. package/skeleton/skeleton.js.flow +4 -4
  719. package/skeleton/styled-components.js.flow +15 -18
  720. package/skeleton/types.js.flow +1 -1
  721. package/slider/index.js.flow +4 -3
  722. package/slider/slider.js +2 -2
  723. package/slider/slider.js.flow +19 -41
  724. package/slider/stateful-slider-container.js.flow +9 -12
  725. package/slider/stateful-slider.js.flow +2 -2
  726. package/slider/styled-components.js.flow +21 -21
  727. package/slider/types.js.flow +9 -13
  728. package/snackbar/index.js.flow +3 -3
  729. package/snackbar/snackbar-context.js.flow +16 -23
  730. package/snackbar/snackbar-element.js +4 -3
  731. package/snackbar/snackbar-element.js.flow +19 -32
  732. package/snackbar/styled-components.js +1 -1
  733. package/snackbar/styled-components.js.flow +19 -24
  734. package/snackbar/types.js.flow +6 -6
  735. package/spinner/index.js.flow +3 -2
  736. package/spinner/spinner.js +22 -18
  737. package/spinner/spinner.js.flow +10 -20
  738. package/spinner/styled-components.js +0 -2
  739. package/spinner/styled-components.js.flow +12 -11
  740. package/spinner/types.js.flow +3 -3
  741. package/styles/__mocks__/styled.js +1 -0
  742. package/styles/as-primary-export-hoc.js.flow +2 -2
  743. package/styles/index.js.flow +3 -3
  744. package/styles/styled.js +9 -7
  745. package/styles/styled.js.flow +35 -43
  746. package/styles/theme-provider.js.flow +6 -10
  747. package/styles/types.js.flow +2 -2
  748. package/styles/util.js.flow +17 -4
  749. package/table/filter.js.flow +12 -28
  750. package/table/index.d.ts +1 -0
  751. package/table/index.js.flow +4 -7
  752. package/table/sortable-head-cell.js +1 -1
  753. package/table/sortable-head-cell.js.flow +10 -13
  754. package/table/styled-components.js.flow +67 -79
  755. package/table/table.js.flow +2 -2
  756. package/table/types.js.flow +3 -2
  757. package/table-grid/index.js.flow +3 -7
  758. package/table-grid/sortable-head-cell.js.flow +2 -2
  759. package/table-grid/styled-components.js.flow +21 -23
  760. package/table-semantic/index.js.flow +4 -4
  761. package/table-semantic/styled-components.js +2 -1
  762. package/table-semantic/styled-components.js.flow +88 -125
  763. package/table-semantic/table-builder-column.js.flow +2 -4
  764. package/table-semantic/table-builder.js.flow +31 -70
  765. package/table-semantic/table.js.flow +13 -28
  766. package/table-semantic/types.js.flow +2 -2
  767. package/tabs/index.js.flow +4 -4
  768. package/tabs/stateful-tabs.js.flow +8 -24
  769. package/tabs/styled-components.js.flow +11 -11
  770. package/tabs/tab.js.flow +13 -16
  771. package/tabs/tabs.js +2 -2
  772. package/tabs/tabs.js.flow +17 -38
  773. package/tabs/types.js.flow +6 -6
  774. package/tabs-motion/stateful-tabs.js.flow +11 -24
  775. package/tabs-motion/styled-components.js.flow +59 -71
  776. package/tabs-motion/tab.js.flow +1 -1
  777. package/tabs-motion/tabs.js.flow +32 -62
  778. package/tabs-motion/types.js.flow +9 -9
  779. package/tabs-motion/utils.js.flow +6 -10
  780. package/tag/index.js.flow +2 -2
  781. package/tag/styled-components.js +4 -8
  782. package/tag/styled-components.js.flow +140 -146
  783. package/tag/tag.js +1 -1
  784. package/tag/tag.js.flow +13 -17
  785. package/tag/types.js.flow +2 -2
  786. package/tag/utils.js.flow +2 -2
  787. package/textarea/constants.js.flow +1 -1
  788. package/textarea/index.js.flow +5 -5
  789. package/textarea/stateful-container.js.flow +1 -0
  790. package/textarea/stateful-textarea.js.flow +1 -1
  791. package/textarea/styled-components.js +8 -7
  792. package/textarea/styled-components.js.flow +18 -15
  793. package/textarea/textarea.js +2 -1
  794. package/textarea/textarea.js.flow +11 -10
  795. package/textarea/types.js.flow +7 -5
  796. package/themes/dark-theme/borders.js.flow +1 -1
  797. package/themes/dark-theme/color-component-tokens.js.flow +2 -4
  798. package/themes/dark-theme/color-deprecated-semantic-tokens.js.flow +1 -1
  799. package/themes/dark-theme/color-semantic-tokens.js.flow +2 -2
  800. package/themes/dark-theme/color-tokens.js.flow +2 -2
  801. package/themes/dark-theme/create-dark-theme.js.flow +5 -7
  802. package/themes/dark-theme/dark-theme.js.flow +1 -1
  803. package/themes/dark-theme/primitives.js.flow +2 -2
  804. package/themes/index.js.flow +4 -4
  805. package/themes/light-theme/color-component-tokens.js.flow +2 -4
  806. package/themes/light-theme/color-deprecated-semantic-tokens.js.flow +2 -4
  807. package/themes/light-theme/color-semantic-tokens.js.flow +2 -2
  808. package/themes/light-theme/color-tokens.js.flow +2 -2
  809. package/themes/light-theme/create-light-theme.js.flow +5 -7
  810. package/themes/light-theme/light-theme.js.flow +1 -1
  811. package/themes/light-theme/primitives.js.flow +2 -2
  812. package/themes/move-theme/dark-theme-with-move.js.flow +3 -6
  813. package/themes/move-theme/light-theme-with-move.js.flow +3 -6
  814. package/themes/move-theme/typography.js.flow +28 -29
  815. package/themes/shared/animation.js.flow +1 -1
  816. package/themes/shared/borders.js.flow +1 -1
  817. package/themes/shared/breakpoints.js.flow +1 -1
  818. package/themes/shared/grid.js.flow +1 -1
  819. package/themes/shared/lighting.js.flow +1 -1
  820. package/themes/shared/media-query.js.flow +2 -2
  821. package/themes/shared/sizing.js.flow +1 -1
  822. package/themes/shared/typography.js.flow +20 -21
  823. package/themes/types.js.flow +3 -3
  824. package/timepicker/index.js.flow +1 -1
  825. package/timepicker/timepicker.js +2 -4
  826. package/timepicker/timepicker.js.flow +40 -73
  827. package/timepicker/types.js.flow +4 -4
  828. package/timezonepicker/index.js.flow +1 -1
  829. package/timezonepicker/timezone-picker.js +2 -5
  830. package/timezonepicker/timezone-picker.js.flow +26 -39
  831. package/timezonepicker/types.js.flow +5 -5
  832. package/timezonepicker/tzdata.js +6 -1
  833. package/timezonepicker/tzdata.js.flow +6 -1
  834. package/timezonepicker/update-tzdata.js +11 -13
  835. package/timezonepicker/update-tzdata.js.flow +11 -6
  836. package/toast/index.js.flow +3 -3
  837. package/toast/styled-components.js +30 -19
  838. package/toast/styled-components.js.flow +87 -74
  839. package/toast/toast.js.flow +25 -37
  840. package/toast/toaster.js +5 -7
  841. package/toast/toaster.js.flow +42 -65
  842. package/toast/types.js.flow +4 -5
  843. package/tokens/colors.js.flow +1 -1
  844. package/tokens/index.js.flow +1 -1
  845. package/tooltip/default-props.js.flow +2 -2
  846. package/tooltip/index.js.flow +4 -9
  847. package/tooltip/stateful-tooltip-container.js.flow +2 -2
  848. package/tooltip/stateful-tooltip.js.flow +3 -3
  849. package/tooltip/styled-components.js.flow +7 -11
  850. package/tooltip/tooltip.js.flow +5 -10
  851. package/tree-view/index.js.flow +5 -5
  852. package/tree-view/stateful-container.js.flow +12 -18
  853. package/tree-view/stateful-tree-view.js.flow +2 -2
  854. package/tree-view/styled-components.js.flow +25 -35
  855. package/tree-view/tree-label-interactable.js +12 -8
  856. package/tree-view/tree-label-interactable.js.flow +9 -9
  857. package/tree-view/tree-label.js +7 -3
  858. package/tree-view/tree-label.js.flow +12 -27
  859. package/tree-view/tree-node.js +1 -1
  860. package/tree-view/tree-node.js.flow +8 -9
  861. package/tree-view/tree-view.js +6 -6
  862. package/tree-view/tree-view.js.flow +17 -30
  863. package/tree-view/types.js.flow +6 -4
  864. package/tree-view/utils.js.flow +24 -55
  865. package/typography/index.js +416 -272
  866. package/typography/index.js.flow +388 -432
  867. package/utils/create-event.js.flow +1 -1
  868. package/utils/deep-merge.js +2 -2
  869. package/utils/deep-merge.js.flow +4 -7
  870. package/utils/deprecated-component.js +5 -3
  871. package/utils/deprecated-component.js.flow +7 -5
  872. package/utils/focusVisible.js.flow +26 -22
@@ -8,18 +8,18 @@ LICENSE file in the root directory of this source tree.
8
8
  /* eslint-disable cup/no-undef */
9
9
  import * as React from 'react';
10
10
 
11
- import {getOverrides} from '../helpers/overrides.js';
11
+ import { getOverrides } from '../helpers/overrides.js';
12
12
  import DeleteAlt from '../icon/delete-alt.js';
13
13
  import TriangleDownIcon from '../icon/triangle-down.js';
14
14
  import SearchIconComponent from '../icon/search.js';
15
- import {LocaleContext} from '../locale/index.js';
16
- import type {LocaleT} from '../locale/types.js';
17
- import {Popover, PLACEMENT} from '../popover/index.js';
18
- import {Spinner} from '../spinner/index.js';
19
- import {UIDConsumer} from 'react-uid';
15
+ import { LocaleContext } from '../locale/index.js';
16
+ import type { LocaleT } from '../locale/types.js';
17
+ import { Popover, PLACEMENT } from '../popover/index.js';
18
+ import { Spinner } from '../spinner/index.js';
19
+ import { UIDConsumer } from 'react-uid';
20
20
 
21
21
  import AutosizeInput from './autosize-input.js';
22
- import {TYPE, STATE_CHANGE_TYPE} from './constants.js';
22
+ import { TYPE, STATE_CHANGE_TYPE } from './constants.js';
23
23
  import defaultProps from './default-props.js';
24
24
  import SelectDropdown from './dropdown.js';
25
25
  import {
@@ -34,26 +34,20 @@ import {
34
34
  getLoadingIconStyles,
35
35
  StyledSearchIconContainer,
36
36
  } from './styled-components.js';
37
- import type {
38
- PropsT,
39
- SelectStateT,
40
- ValueT,
41
- OptionT,
42
- ChangeActionT,
43
- } from './types.js';
44
- import {expandValue, normalizeOptions} from './utils/index.js';
37
+ import type { PropsT, SelectStateT, ValueT, OptionT, ChangeActionT, ReactRefT } from './types.js';
38
+ import { expandValue, normalizeOptions } from './utils/index.js';
45
39
 
46
40
  function Noop() {
47
41
  return null;
48
42
  }
49
43
 
50
- const isClick = event => event.type === 'click';
51
- const isLeftClick = event =>
44
+ const isClick = (event) => event.type === 'click';
45
+ const isLeftClick = (event) =>
52
46
  event.button !== null && event.button !== undefined && event.button === 0;
53
47
 
54
48
  const containsNode = (parent, child) => {
55
49
  if (__BROWSER__) {
56
- // eslint-disable-next-line flowtype/no-weak-types
50
+ // flowlint-next-line unclear-type:off
57
51
  return child && parent && parent.contains((child: any));
58
52
  }
59
53
  };
@@ -72,17 +66,16 @@ export function isInteractive(rootTarget: EventTarget, rootElement: Element) {
72
66
  return false;
73
67
  }
74
68
 
75
- // eslint-disable-next-line flowtype/no-weak-types
76
69
  class Select extends React.Component<PropsT, SelectStateT> {
77
70
  static defaultProps = defaultProps;
78
71
 
79
72
  // anchor is a ref that refers to the outermost element rendered when the dropdown menu is not
80
73
  // open. This is required so that we can check if clicks are on/off the anchor element.
81
- anchor: {current: HTMLElement | null} = React.createRef();
74
+ anchor: ReactRefT<HTMLElement> = React.createRef<HTMLElement>();
82
75
  // dropdown is a ref that refers to the popover element. This is required so that we can check if
83
76
  // clicks are on/off the dropdown element.
84
- dropdown: {current: HTMLElement | null} = React.createRef();
85
- input: React.ElementRef<*>;
77
+ dropdown: ReactRefT<HTMLElement> = React.createRef<HTMLElement>();
78
+ input: React.ElementRef<typeof HTMLInputElement>;
86
79
  // dragging is a flag to track whether a mobile device is currently scrolling versus clicking.
87
80
  dragging: boolean;
88
81
  // focusAfterClear is a flag to indicate that the dropdowm menu should open after a selected
@@ -125,11 +118,16 @@ class Select extends React.Component<PropsT, SelectStateT> {
125
118
  }
126
119
  this.isItMounted = true;
127
120
 
128
- if (this.props.methodsRef) {
129
- const {methodsRef} = this.props;
130
-
131
- methodsRef.current = {
121
+ const { controlRef } = this.props;
122
+ if (controlRef && typeof controlRef !== 'function') {
123
+ controlRef.current = {
132
124
  setDropdownOpen: this.handleDropdownOpen.bind(this),
125
+ setInputValue: this.handleSetInputValue.bind(this),
126
+ setInputFocus: this.handleSetInputFocus.bind(this),
127
+ setInputBlur: this.handleSetInputBlur.bind(this),
128
+ // `focus` & `blur` below are for backwards compatibility and may be removed. Use setInputFocus and setInputBlur instead.
129
+ focus: this.handleSetInputFocus.bind(this),
130
+ blur: this.handleSetInputBlur.bind(this),
133
131
  };
134
132
  }
135
133
  }
@@ -171,6 +169,20 @@ class Select extends React.Component<PropsT, SelectStateT> {
171
169
  });
172
170
  }
173
171
 
172
+ handleSetInputValue(newInputValue: string) {
173
+ this.setState({
174
+ inputValue: newInputValue,
175
+ });
176
+ }
177
+
178
+ handleSetInputFocus() {
179
+ this.input.focus();
180
+ }
181
+
182
+ handleSetInputBlur() {
183
+ this.input.blur();
184
+ }
185
+
174
186
  // Handle touch outside on mobile to dismiss menu, ensures that the
175
187
  // touch target is not within the anchor DOM node.
176
188
  handleTouchOutside = (event: TouchEvent) => {
@@ -231,9 +243,9 @@ class Select extends React.Component<PropsT, SelectStateT> {
231
243
  if (!this.props.searchable) {
232
244
  this.focus();
233
245
  if (this.state.isOpen) {
234
- this.setState({isOpen: false, isFocused: false});
246
+ this.setState({ isOpen: false, isFocused: false });
235
247
  } else {
236
- this.setState({isOpen: true, isFocused: true});
248
+ this.setState({ isOpen: true, isFocused: true });
237
249
  }
238
250
 
239
251
  return;
@@ -252,7 +264,7 @@ class Select extends React.Component<PropsT, SelectStateT> {
252
264
  // the provided text highlights rather than position's the cursor at the end of the input.
253
265
  if (this.input) this.input.value = '';
254
266
 
255
- this.setState(prev => ({
267
+ this.setState((prev) => ({
256
268
  isOpen: !this.focusAfterClear && !prev.isOpen,
257
269
  isPseudoFocused: false,
258
270
  }));
@@ -360,7 +372,7 @@ class Select extends React.Component<PropsT, SelectStateT> {
360
372
  }
361
373
  break;
362
374
  case 9: // tab
363
- this.setState(prevState => ({
375
+ this.setState((prevState) => ({
364
376
  isPseudoFocused: false,
365
377
  isFocused: false,
366
378
  isOpen: false,
@@ -371,13 +383,9 @@ class Select extends React.Component<PropsT, SelectStateT> {
371
383
  }));
372
384
  break;
373
385
  case 27: // escape
374
- if (
375
- !this.state.isOpen &&
376
- this.props.clearable &&
377
- this.props.escapeClearsValue
378
- ) {
386
+ if (!this.state.isOpen && this.props.clearable && this.props.escapeClearsValue) {
379
387
  this.clearValue(event);
380
- this.setState({isFocused: false, isPseudoFocused: false});
388
+ this.setState({ isFocused: false, isPseudoFocused: false });
381
389
  }
382
390
  break;
383
391
  case 32: // space
@@ -386,31 +394,31 @@ class Select extends React.Component<PropsT, SelectStateT> {
386
394
  }
387
395
  event.preventDefault();
388
396
  if (!this.state.isOpen) {
389
- this.setState({isOpen: true});
397
+ this.setState({ isOpen: true });
390
398
  }
391
399
  break;
392
400
  case 38: // up
393
401
  event.preventDefault();
394
402
  if (!this.state.isOpen) {
395
- this.setState({isOpen: true});
403
+ this.setState({ isOpen: true });
396
404
  }
397
405
  break;
398
406
  case 40: // down
399
407
  event.preventDefault();
400
408
  if (!this.state.isOpen) {
401
- this.setState({isOpen: true});
409
+ this.setState({ isOpen: true });
402
410
  }
403
411
  break;
404
412
  case 33: // page up
405
413
  event.preventDefault();
406
414
  if (!this.state.isOpen) {
407
- this.setState({isOpen: true});
415
+ this.setState({ isOpen: true });
408
416
  }
409
417
  break;
410
418
  case 34: // page down
411
419
  event.preventDefault();
412
420
  if (!this.state.isOpen) {
413
- this.setState({isOpen: true});
421
+ this.setState({ isOpen: true });
414
422
  }
415
423
  break;
416
424
  case 35: // end key
@@ -419,7 +427,7 @@ class Select extends React.Component<PropsT, SelectStateT> {
419
427
  }
420
428
  event.preventDefault();
421
429
  if (!this.state.isOpen) {
422
- this.setState({isOpen: true});
430
+ this.setState({ isOpen: true });
423
431
  }
424
432
  break;
425
433
  case 36: // home key
@@ -428,7 +436,7 @@ class Select extends React.Component<PropsT, SelectStateT> {
428
436
  }
429
437
  event.preventDefault();
430
438
  if (!this.state.isOpen) {
431
- this.setState({isOpen: true});
439
+ this.setState({ isOpen: true });
432
440
  }
433
441
  break;
434
442
  case 46: // delete
@@ -451,13 +459,13 @@ class Select extends React.Component<PropsT, SelectStateT> {
451
459
  $disabled: boolean,
452
460
  $isHighlighted: boolean,
453
461
  },
454
- },
462
+ }
455
463
  ): React.Node =>
456
464
  option.isCreatable
457
465
  ? `${locale.select.create} “${option[this.props.labelKey]}”`
458
466
  : option[this.props.labelKey];
459
467
 
460
- getValueLabel = ({option}: {option: OptionT}): React.Node => {
468
+ getValueLabel = ({ option }: { option: OptionT }): React.Node => {
461
469
  return option[this.props.labelKey];
462
470
  };
463
471
 
@@ -469,7 +477,7 @@ class Select extends React.Component<PropsT, SelectStateT> {
469
477
  if (value === null || value === undefined) return [];
470
478
  value = [value];
471
479
  }
472
- return value.map(value => expandValue(value, this.props));
480
+ return value.map((value) => expandValue(value, this.props));
473
481
  }
474
482
 
475
483
  setValue(value: ValueT, option: ?OptionT, type: ChangeActionT) {
@@ -484,33 +492,30 @@ class Select extends React.Component<PropsT, SelectStateT> {
484
492
 
485
493
  handleActiveDescendantChange = (id?: string) => {
486
494
  if (id) {
487
- this.setState({activeDescendant: id});
495
+ this.setState({ activeDescendant: id });
488
496
  } else {
489
- this.setState({activeDescendant: null});
497
+ this.setState({ activeDescendant: null });
490
498
  }
491
499
  };
492
500
 
493
- handleInputRef = (input: React.ElementRef<*>) => {
501
+ // This method is to preserve backwards compatibility for users using controlRef to directly
502
+ // access the input element. This capability is not documented, and may be removed in the future.
503
+ //flowlint-next-line unclear-type:off
504
+ handleInputRef = (input: React.ElementRef<any>) => {
494
505
  this.input = input;
495
- if (this.props.controlRef) {
496
- if (typeof this.props.controlRef === 'function') {
497
- this.props.controlRef(input);
498
- } else {
499
- this.props.controlRef.current = input;
500
- }
506
+ if (this.props.controlRef && typeof this.props.controlRef === 'function') {
507
+ this.props.controlRef(input);
501
508
  }
502
509
  };
503
510
 
504
- selectValue = ({item}: {item: OptionT}) => {
511
+ selectValue = ({ item }: { item: OptionT }) => {
505
512
  if (item.disabled) {
506
513
  return;
507
514
  }
508
515
  this.justSelected = true;
509
516
  // NOTE: we add/set the value in a callback to make sure the
510
517
  // input value is empty to avoid styling issues in Chrome
511
- const updatedValue = this.props.onSelectResetsInput
512
- ? ''
513
- : this.state.inputValue;
518
+ const updatedValue = this.props.onSelectResetsInput ? '' : this.state.inputValue;
514
519
  if (this.props.multi) {
515
520
  this.setState(
516
521
  {
@@ -519,16 +524,12 @@ class Select extends React.Component<PropsT, SelectStateT> {
519
524
  },
520
525
  () => {
521
526
  const valueArray = this.props.value;
522
- if (
523
- valueArray.some(
524
- i => i[this.props.valueKey] === item[this.props.valueKey],
525
- )
526
- ) {
527
+ if (valueArray.some((i) => i[this.props.valueKey] === item[this.props.valueKey])) {
527
528
  this.removeValue(item);
528
529
  } else {
529
530
  this.addValue(item);
530
531
  }
531
- },
532
+ }
532
533
  );
533
534
  } else {
534
535
  this.focus();
@@ -541,7 +542,7 @@ class Select extends React.Component<PropsT, SelectStateT> {
541
542
  },
542
543
  () => {
543
544
  this.setValue([item], item, STATE_CHANGE_TYPE.select);
544
- },
545
+ }
545
546
  );
546
547
  }
547
548
  };
@@ -558,12 +559,9 @@ class Select extends React.Component<PropsT, SelectStateT> {
558
559
  }
559
560
  const valueLength = this.props.value.length;
560
561
  const renderLabel = this.props.getValueLabel || this.getValueLabel;
561
- const labelForInput = renderLabel({option: item, index: valueLength - 1});
562
+ const labelForInput = renderLabel({ option: item, index: valueLength - 1 });
562
563
  // label might not be a string, it might be a Node of another kind.
563
- if (
564
- !this.props.backspaceClearsInputValue &&
565
- typeof labelForInput === 'string'
566
- ) {
564
+ if (!this.props.backspaceClearsInputValue && typeof labelForInput === 'string') {
567
565
  const remainingInput = labelForInput.slice(0, -1);
568
566
  this.setState({
569
567
  inputValue: remainingInput,
@@ -585,11 +583,9 @@ class Select extends React.Component<PropsT, SelectStateT> {
585
583
  removeValue = (item: OptionT) => {
586
584
  const valueArray = [...this.props.value];
587
585
  this.setValue(
588
- valueArray.filter(
589
- i => i[this.props.valueKey] !== item[this.props.valueKey],
590
- ),
586
+ valueArray.filter((i) => i[this.props.valueKey] !== item[this.props.valueKey]),
591
587
  item,
592
- STATE_CHANGE_TYPE.remove,
588
+ STATE_CHANGE_TYPE.remove
593
589
  );
594
590
  this.focus();
595
591
  };
@@ -598,9 +594,7 @@ class Select extends React.Component<PropsT, SelectStateT> {
598
594
  if (isClick(event) && !isLeftClick(event)) return;
599
595
 
600
596
  if (this.props.value) {
601
- const resetValue = this.props.value.filter(
602
- item => item.clearableValue === false,
603
- );
597
+ const resetValue = this.props.value.filter((item) => item.clearableValue === false);
604
598
  this.setValue(resetValue, null, STATE_CHANGE_TYPE.clear);
605
599
  }
606
600
  this.setState({
@@ -613,10 +607,7 @@ class Select extends React.Component<PropsT, SelectStateT> {
613
607
  };
614
608
 
615
609
  shouldShowPlaceholder = () => {
616
- return !(
617
- this.state.inputValue ||
618
- (this.props.value && this.props.value.length)
619
- );
610
+ return !(this.state.inputValue || (this.props.value && this.props.value.length));
620
611
  };
621
612
 
622
613
  shouldShowValue = () => {
@@ -626,15 +617,15 @@ class Select extends React.Component<PropsT, SelectStateT> {
626
617
  renderLoading() {
627
618
  if (!this.props.isLoading) return;
628
619
  const sharedProps = this.getSharedProps();
629
- const {overrides = {}} = this.props;
620
+ const { overrides = {} } = this.props;
630
621
  const [LoadingIndicator, loadingIndicatorProps] = getOverrides(
631
622
  overrides.LoadingIndicator,
632
- Spinner,
623
+ Spinner
633
624
  );
634
625
  return (
635
626
  <LoadingIndicator
636
627
  size={16}
637
- overrides={{Svg: {style: getLoadingIconStyles}}}
628
+ overrides={{ Svg: { style: getLoadingIconStyles } }}
638
629
  $silenceV11DeprecationWarning
639
630
  {...sharedProps}
640
631
  {...loadingIndicatorProps}
@@ -645,9 +636,9 @@ class Select extends React.Component<PropsT, SelectStateT> {
645
636
  renderValue(
646
637
  valueArray: ValueT,
647
638
  isOpen: boolean,
648
- locale: LocaleT,
639
+ locale: LocaleT
649
640
  ): ?React.Node | Array<?React.Node> {
650
- const {overrides = {}} = this.props;
641
+ const { overrides = {} } = this.props;
651
642
  const sharedProps = this.getSharedProps();
652
643
  const renderLabel = this.props.getValueLabel || this.getValueLabel;
653
644
  const Value = this.props.valueComponent || Noop;
@@ -656,19 +647,18 @@ class Select extends React.Component<PropsT, SelectStateT> {
656
647
  }
657
648
  if (this.props.multi) {
658
649
  return valueArray.map((value, i) => {
659
- const disabled =
660
- sharedProps.$disabled || value.clearableValue === false;
650
+ const disabled = sharedProps.$disabled || value.clearableValue === false;
661
651
  return (
662
652
  <Value
663
653
  value={value}
664
654
  key={`value-${i}-${value[this.props.valueKey]}`}
665
655
  removeValue={() => this.removeValue(value)}
666
656
  disabled={disabled}
667
- overrides={{Tag: overrides.Tag, MultiValue: overrides.MultiValue}}
657
+ overrides={{ Tag: overrides.Tag, MultiValue: overrides.MultiValue }}
668
658
  {...sharedProps}
669
659
  $disabled={disabled}
670
660
  >
671
- {renderLabel({option: value, index: i})}
661
+ {renderLabel({ option: value, index: i })}
672
662
  </Value>
673
663
  );
674
664
  });
@@ -677,25 +667,25 @@ class Select extends React.Component<PropsT, SelectStateT> {
677
667
  <Value
678
668
  value={valueArray[0][this.props.valueKey]}
679
669
  disabled={this.props.disabled}
680
- overrides={{SingleValue: overrides.SingleValue}}
670
+ overrides={{ SingleValue: overrides.SingleValue }}
681
671
  {...sharedProps}
682
672
  >
683
- {renderLabel({option: valueArray[0]})}
673
+ {renderLabel({ option: valueArray[0] })}
684
674
  </Value>
685
675
  );
686
676
  }
687
677
  }
688
678
 
689
679
  renderInput(listboxId: string) {
690
- const {overrides = {}} = this.props;
680
+ const { overrides = {} } = this.props;
691
681
  const [InputContainer, inputContainerProps] = getOverrides(
692
682
  overrides.InputContainer,
693
- StyledInputContainer,
683
+ StyledInputContainer
694
684
  );
695
685
  const sharedProps = this.getSharedProps();
696
686
  const isOpen = this.state.isOpen;
697
687
  const selected = this.getValueArray(this.props.value)
698
- .map(v => v[this.props.labelKey])
688
+ .map((v) => v[this.props.labelKey])
699
689
  .join(', ');
700
690
  const selectedLabel = selected.length ? `Selected ${selected}. ` : '';
701
691
  const label = `${selectedLabel}${this.props['aria-label'] || ''}`;
@@ -718,6 +708,7 @@ class Select extends React.Component<PropsT, SelectStateT> {
718
708
  {...sharedProps}
719
709
  {...inputContainerProps}
720
710
  >
711
+ {/* $FlowExpectedError[cannot-spread-inexact] */}
721
712
  <input
722
713
  aria-hidden
723
714
  id={this.props.id || null}
@@ -732,7 +723,8 @@ class Select extends React.Component<PropsT, SelectStateT> {
732
723
  tabIndex={-1}
733
724
  {...(overrides.Input
734
725
  ? overrides.Input.props
735
- ? overrides.Input.props
726
+ ? // $FlowExpectedError[not-an-object]
727
+ overrides.Input.props
736
728
  : {}
737
729
  : {})}
738
730
  />
@@ -759,7 +751,7 @@ class Select extends React.Component<PropsT, SelectStateT> {
759
751
  inputRef={this.handleInputRef}
760
752
  onChange={this.handleInputChange}
761
753
  onFocus={this.handleInputFocus}
762
- overrides={{Input: overrides.Input}}
754
+ overrides={{ Input: overrides.Input }}
763
755
  required={(this.props.required && !this.props.value.length) || null}
764
756
  role="combobox"
765
757
  value={this.state.inputValue}
@@ -772,24 +764,16 @@ class Select extends React.Component<PropsT, SelectStateT> {
772
764
 
773
765
  renderClear() {
774
766
  const isValueEntered = Boolean(
775
- (this.props.value && this.props.value.length) || this.state.inputValue,
767
+ (this.props.value && this.props.value.length) || this.state.inputValue
776
768
  );
777
769
 
778
- if (
779
- !this.props.clearable ||
780
- this.props.disabled ||
781
- this.props.isLoading ||
782
- !isValueEntered
783
- ) {
770
+ if (!this.props.clearable || this.props.disabled || this.props.isLoading || !isValueEntered) {
784
771
  return;
785
772
  }
786
773
 
787
774
  const sharedProps = this.getSharedProps();
788
- const {overrides = {}} = this.props;
789
- const [ClearIcon, clearIconProps] = getOverrides(
790
- overrides.ClearIcon,
791
- DeleteAlt,
792
- );
775
+ const { overrides = {} } = this.props;
776
+ const [ClearIcon, clearIconProps] = getOverrides(overrides.ClearIcon, DeleteAlt);
793
777
  const ariaLabel = this.props.multi ? 'Clear all' : 'Clear value';
794
778
 
795
779
  return (
@@ -802,13 +786,9 @@ class Select extends React.Component<PropsT, SelectStateT> {
802
786
  Svg: {
803
787
  component: StyledClearIcon,
804
788
  props:
805
- overrides.ClearIcon && overrides.ClearIcon.props
806
- ? overrides.ClearIcon.props
807
- : {},
789
+ overrides.ClearIcon && overrides.ClearIcon.props ? overrides.ClearIcon.props : {},
808
790
  style:
809
- overrides.ClearIcon && overrides.ClearIcon.style
810
- ? overrides.ClearIcon.style
811
- : {},
791
+ overrides.ClearIcon && overrides.ClearIcon.style ? overrides.ClearIcon.style : {},
812
792
  },
813
793
  }}
814
794
  {...sharedProps}
@@ -821,11 +801,8 @@ class Select extends React.Component<PropsT, SelectStateT> {
821
801
  if (this.props.type !== TYPE.select) {
822
802
  return null;
823
803
  }
824
- const {overrides = {}} = this.props;
825
- const [SelectArrow, selectArrowProps] = getOverrides(
826
- overrides.SelectArrow,
827
- TriangleDownIcon,
828
- );
804
+ const { overrides = {} } = this.props;
805
+ const [SelectArrow, selectArrowProps] = getOverrides(overrides.SelectArrow, TriangleDownIcon);
829
806
  const sharedProps = this.getSharedProps();
830
807
  return (
831
808
  <SelectArrow
@@ -854,24 +831,17 @@ class Select extends React.Component<PropsT, SelectStateT> {
854
831
  if (this.props.type !== TYPE.search) {
855
832
  return null;
856
833
  }
857
- const {overrides = {}} = this.props;
834
+ const { overrides = {} } = this.props;
858
835
  const [SearchIconContainer, searchIconContainerProps] = getOverrides(
859
836
  overrides.SearchIconContainer,
860
- StyledSearchIconContainer,
861
- );
862
- const [SearchIcon, searchIconProps] = getOverrides(
863
- overrides.SearchIcon,
864
- SearchIconComponent,
837
+ StyledSearchIconContainer
865
838
  );
839
+ const [SearchIcon, searchIconProps] = getOverrides(overrides.SearchIcon, SearchIconComponent);
866
840
  const sharedProps = this.getSharedProps();
867
841
 
868
842
  return (
869
843
  // TODO(v11): remove searchIconProps from SearchIconContainer
870
- <SearchIconContainer
871
- {...sharedProps}
872
- {...searchIconProps}
873
- {...searchIconContainerProps}
874
- >
844
+ <SearchIconContainer {...sharedProps} {...searchIconProps} {...searchIconContainerProps}>
875
845
  <SearchIcon size={16} title={'search'} {...searchIconProps} />
876
846
  </SearchIconContainer>
877
847
  );
@@ -881,22 +851,15 @@ class Select extends React.Component<PropsT, SelectStateT> {
881
851
  const filterValue = this.state.inputValue.trim();
882
852
  // apply filter function
883
853
  if (this.props.filterOptions) {
884
- this.options = this.props.filterOptions(
885
- this.options,
886
- filterValue,
887
- excludeOptions,
888
- {
889
- valueKey: this.props.valueKey,
890
- labelKey: this.props.labelKey,
891
- },
892
- );
854
+ this.options = this.props.filterOptions(this.options, filterValue, excludeOptions, {
855
+ valueKey: this.props.valueKey,
856
+ labelKey: this.props.labelKey,
857
+ });
893
858
  }
894
859
  // can user create a new option + there's no exact match already
895
860
  const filterDoesNotMatchOption = this.props.ignoreCase
896
- ? opt =>
897
- opt[this.props.labelKey].toLowerCase() !==
898
- filterValue.toLowerCase().trim()
899
- : opt => opt[this.props.labelKey] !== filterValue.trim();
861
+ ? (opt) => opt[this.props.labelKey].toLowerCase() !== filterValue.toLowerCase().trim()
862
+ : (opt) => opt[this.props.labelKey] !== filterValue.trim();
900
863
  if (
901
864
  filterValue &&
902
865
  this.props.creatable &&
@@ -928,7 +891,7 @@ class Select extends React.Component<PropsT, SelectStateT> {
928
891
  type,
929
892
  value,
930
893
  } = this.props;
931
- const {isOpen, isFocused, isPseudoFocused} = this.state;
894
+ const { isOpen, isFocused, isPseudoFocused } = this.state;
932
895
  return {
933
896
  $clearable: clearable,
934
897
  $creatable: creatable,
@@ -951,20 +914,13 @@ class Select extends React.Component<PropsT, SelectStateT> {
951
914
  render() {
952
915
  this.options = normalizeOptions(this.props.options);
953
916
 
954
- const {
955
- overrides = {},
956
- type,
957
- multi,
958
- noResultsMsg,
959
- value,
960
- filterOutSelected,
961
- } = this.props;
917
+ const { overrides = {}, type, multi, noResultsMsg, value, filterOutSelected } = this.props;
962
918
 
963
919
  if (__DEV__) {
964
920
  // value may be nullish, only warn if value is defined
965
921
  if (value && !Array.isArray(value)) {
966
922
  console.warn(
967
- 'The Select component expects an array as the value prop. For more information, please visit the docs at https://baseweb.design/components/select/',
923
+ 'The Select component expects an array as the value prop. For more information, please visit the docs at https://baseweb.design/components/select/'
968
924
  );
969
925
  }
970
926
  }
@@ -972,30 +928,22 @@ class Select extends React.Component<PropsT, SelectStateT> {
972
928
  const [Root, rootProps] = getOverrides(overrides.Root, StyledRoot);
973
929
  const [ControlContainer, controlContainerProps] = getOverrides(
974
930
  overrides.ControlContainer,
975
- StyledControlContainer,
931
+ StyledControlContainer
976
932
  );
977
933
  const [ValueContainer, valueContainerProps] = getOverrides(
978
934
  overrides.ValueContainer,
979
- StyledValueContainer,
935
+ StyledValueContainer
980
936
  );
981
937
  const [IconsContainer, iconsContainerProps] = getOverrides(
982
938
  overrides.IconsContainer,
983
- StyledIconsContainer,
984
- );
985
- const [PopoverOverride, popoverProps] = getOverrides(
986
- overrides.Popover,
987
- Popover,
988
- );
989
- const [Placeholder, placeholderProps] = getOverrides(
990
- overrides.Placeholder,
991
- StyledPlaceholder,
939
+ StyledIconsContainer
992
940
  );
941
+ const [PopoverOverride, popoverProps] = getOverrides(overrides.Popover, Popover);
942
+ const [Placeholder, placeholderProps] = getOverrides(overrides.Placeholder, StyledPlaceholder);
993
943
  const sharedProps = this.getSharedProps();
994
944
 
995
945
  const valueArray = this.getValueArray(value);
996
- const options = this.filterOptions(
997
- multi && filterOutSelected ? valueArray : null,
998
- );
946
+ const options = this.filterOptions(multi && filterOutSelected ? valueArray : null);
999
947
  const isOpen = this.state.isOpen;
1000
948
  sharedProps.$isOpen = isOpen;
1001
949
 
@@ -1003,22 +951,22 @@ class Select extends React.Component<PropsT, SelectStateT> {
1003
951
  if (this.props.error && this.props.positive) {
1004
952
  // eslint-disable-next-line no-console
1005
953
  console.warn(
1006
- `[Select] \`error\` and \`positive\` are both set to \`true\`. \`error\` will take precedence but this may not be what you want.`,
954
+ `[Select] \`error\` and \`positive\` are both set to \`true\`. \`error\` will take precedence but this may not be what you want.`
1007
955
  );
1008
956
  }
1009
957
  }
1010
958
 
1011
959
  return (
1012
960
  <UIDConsumer>
1013
- {listboxId => (
961
+ {(listboxId) => (
1014
962
  <LocaleContext.Consumer>
1015
- {locale => (
963
+ {(locale) => (
1016
964
  <PopoverOverride
1017
965
  // Popover does not provide ability to forward refs through, and if we were to simply
1018
966
  // apply the ref to the Root component below it would be overwritten before the popover
1019
967
  // renders it. Using this strategy, we will get a ref to the popover, then reuse its
1020
968
  // anchorRef so we can check if clicks are on the select component or not.
1021
- // eslint-disable-next-line flowtype/no-weak-types
969
+ // flowlint-next-line unclear-type:off
1022
970
  innerRef={(ref: any) => {
1023
971
  if (!ref) return;
1024
972
  this.anchor = ref.anchorRef;
@@ -1034,8 +982,7 @@ class Select extends React.Component<PropsT, SelectStateT> {
1034
982
  error: this.props.error,
1035
983
  positive: this.props.positive,
1036
984
  getOptionLabel:
1037
- this.props.getOptionLabel ||
1038
- this.getOptionLabel.bind(this, locale),
985
+ this.props.getOptionLabel || this.getOptionLabel.bind(this, locale),
1039
986
  id: listboxId,
1040
987
  isLoading: this.props.isLoading,
1041
988
  labelKey: this.props.labelKey,
@@ -1052,18 +999,11 @@ class Select extends React.Component<PropsT, SelectStateT> {
1052
999
  type,
1053
1000
  value: valueArray,
1054
1001
  valueKey: this.props.valueKey,
1055
- width: this.anchor.current
1056
- ? this.anchor.current.clientWidth
1057
- : null,
1002
+ width: this.anchor.current ? this.anchor.current.clientWidth : null,
1058
1003
  keyboardControlNode: this.anchor,
1059
1004
  };
1060
1005
 
1061
- return (
1062
- <SelectDropdown
1063
- innerRef={this.dropdown}
1064
- {...dropdownProps}
1065
- />
1066
- );
1006
+ return <SelectDropdown innerRef={this.dropdown} {...dropdownProps} />;
1067
1007
  }}
1068
1008
  placement={PLACEMENT.bottom}
1069
1009
  {...popoverProps}