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
@@ -7,7 +7,7 @@ LICENSE file in the root directory of this source tree.
7
7
  // @flow
8
8
 
9
9
  import * as React from 'react';
10
- import {VariableSizeGrid} from 'react-window';
10
+ import { VariableSizeGrid } from 'react-window';
11
11
  import AutoSizer from 'react-virtualized-auto-sizer';
12
12
 
13
13
  import {
@@ -16,20 +16,14 @@ import {
16
16
  SIZE as BUTTON_SIZES,
17
17
  KIND as BUTTON_KINDS,
18
18
  } from '../button/index.js';
19
- import {useStyletron} from '../styles/index.js';
20
- import {Tooltip, PLACEMENT} from '../tooltip/index.js';
19
+ import { useStyletron } from '../styles/index.js';
20
+ import { Tooltip, PLACEMENT } from '../tooltip/index.js';
21
21
 
22
- import {SORT_DIRECTIONS} from './constants.js';
22
+ import { SORT_DIRECTIONS } from './constants.js';
23
23
  import HeaderCell from './header-cell.js';
24
24
  import MeasureColumnWidths from './measure-column-widths.js';
25
- import type {
26
- ColumnT,
27
- DataTablePropsT,
28
- RowT,
29
- SortDirectionsT,
30
- RowActionT,
31
- } from './types.js';
32
- import {LocaleContext} from '../locale/index.js';
25
+ import type { ColumnT, DataTablePropsT, RowT, SortDirectionsT, RowActionT } from './types.js';
26
+ import { LocaleContext } from '../locale/index.js';
33
27
 
34
28
  // consider pulling this out to a prop if useful.
35
29
  const HEADER_ROW_HEIGHT = 48;
@@ -46,14 +40,14 @@ type HeaderContextT = {|
46
40
  isSelectedAll: boolean,
47
41
  isSelectedIndeterminate: boolean,
48
42
  measuredWidths: number[],
49
- onMouseEnter: number => void,
43
+ onMouseEnter: (number) => void,
50
44
  onMouseLeave: () => void,
51
45
  onResize: (columnIndex: number, delta: number) => void,
52
46
  onSelectMany: () => void,
53
47
  onSelectNone: () => void,
54
- onSort: number => void,
48
+ onSort: (number) => void,
55
49
  resizableColumnWidths: boolean,
56
- rowActions: RowActionT[] | (RowT => RowActionT[]),
50
+ rowActions: RowActionT[] | ((RowT) => RowActionT[]),
57
51
  rowHeight: number,
58
52
  rowHighlightIndex: number,
59
53
  rows: RowT[],
@@ -80,16 +74,16 @@ type CellPlacementPropsT = {
80
74
  isSelectable: boolean,
81
75
  isRowSelected: (string | number) => boolean,
82
76
  onRowMouseEnter: (number, RowT) => void,
83
- onSelectOne: RowT => void,
77
+ onSelectOne: (RowT) => void,
84
78
  rowHighlightIndex: number,
85
79
  rows: RowT[],
86
80
  textQuery: string,
87
81
  },
88
82
  };
89
83
 
90
- const sum = ns => ns.reduce((s, n) => s + n, 0);
84
+ const sum = (ns) => ns.reduce((s, n) => s + n, 0);
91
85
 
92
- function CellPlacement({columnIndex, rowIndex, data, style}) {
86
+ function CellPlacement({ columnIndex, rowIndex, data, style }) {
93
87
  const [css, theme] = useStyletron();
94
88
 
95
89
  // ignores the table header row
@@ -99,7 +93,7 @@ function CellPlacement({columnIndex, rowIndex, data, style}) {
99
93
 
100
94
  let backgroundColor = theme.colors.backgroundPrimary;
101
95
  if (
102
- (rowIndex % 2 && columnIndex === data.columnHighlightIndex) ||
96
+ (Boolean(rowIndex % 2) && columnIndex === data.columnHighlightIndex) ||
103
97
  rowIndex === data.rowHighlightIndex
104
98
  ) {
105
99
  backgroundColor = theme.colors.backgroundTertiary;
@@ -108,9 +102,7 @@ function CellPlacement({columnIndex, rowIndex, data, style}) {
108
102
  }
109
103
 
110
104
  const Cell = data.columns[columnIndex].renderCell;
111
- const value = data.columns[columnIndex].mapDataToValue(
112
- data.rows[rowIndex - 1].data,
113
- );
105
+ const value = data.columns[columnIndex].mapDataToValue(data.rows[rowIndex - 1].data);
114
106
 
115
107
  return (
116
108
  <div
@@ -125,9 +117,7 @@ function CellPlacement({columnIndex, rowIndex, data, style}) {
125
117
  boxSizing: 'border-box',
126
118
  })}
127
119
  style={style}
128
- onMouseEnter={() =>
129
- data.onRowMouseEnter(rowIndex, data.rows[rowIndex - 1])
130
- }
120
+ onMouseEnter={() => data.onRowMouseEnter(rowIndex, data.rows[rowIndex - 1])}
131
121
  >
132
122
  <Cell
133
123
  value={value}
@@ -161,8 +151,7 @@ function compareCellPlacement(prevProps, nextProps) {
161
151
 
162
152
  if (
163
153
  prevProps.data.isSelectable === nextProps.data.isSelectable &&
164
- prevProps.data.columnHighlightIndex ===
165
- nextProps.data.columnHighlightIndex &&
154
+ prevProps.data.columnHighlightIndex === nextProps.data.columnHighlightIndex &&
166
155
  prevProps.data.rowHighlightIndex === nextProps.data.rowHighlightIndex &&
167
156
  prevProps.data.textQuery === nextProps.data.textQuery &&
168
157
  prevProps.data.isRowSelected === nextProps.data.isRowSelected
@@ -176,8 +165,7 @@ function compareCellPlacement(prevProps, nextProps) {
176
165
  if (
177
166
  prevProps.rowIndex !== prevProps.data.rowHighlightIndex &&
178
167
  prevProps.rowIndex !== nextProps.data.rowHighlightIndex &&
179
- prevProps.data.columnHighlightIndex ===
180
- nextProps.data.columnHighlightIndex &&
168
+ prevProps.data.columnHighlightIndex === nextProps.data.columnHighlightIndex &&
181
169
  prevProps.data.isRowSelected === nextProps.data.isRowSelected
182
170
  ) {
183
171
  return true;
@@ -198,7 +186,7 @@ function compareCellPlacement(prevProps, nextProps) {
198
186
  }
199
187
  const CellPlacementMemo = React.memo<CellPlacementPropsT, mixed>(
200
188
  CellPlacement,
201
- compareCellPlacement,
189
+ compareCellPlacement
202
190
  );
203
191
  CellPlacementMemo.displayName = 'CellPlacement';
204
192
 
@@ -241,7 +229,7 @@ type HeaderProps = {|
241
229
  isSelectable: boolean,
242
230
  isSelectedAll: boolean,
243
231
  isSelectedIndeterminate: boolean,
244
- onMouseEnter: number => void,
232
+ onMouseEnter: (number) => void,
245
233
  onMouseLeave: () => void,
246
234
  onResize: (columnIndex: number, delta: number) => void,
247
235
  onResizeIndexChange: (columnIndex: number) => void,
@@ -260,7 +248,7 @@ function Header(props: HeaderProps) {
260
248
  const [css, theme] = useStyletron();
261
249
  const [startResizePos, setStartResizePos] = React.useState(0);
262
250
  const [endResizePos, setEndResizePos] = React.useState(0);
263
- // eslint-disable-next-line flowtype/no-weak-types
251
+ // flowlint-next-line unclear-type:off
264
252
  const headerCellRef = React.useRef<any>(null);
265
253
 
266
254
  const RULER_OFFSET = 2;
@@ -358,9 +346,7 @@ function Header(props: HeaderProps) {
358
346
  onSelectAll={props.onSelectMany}
359
347
  onSelectNone={props.onSelectNone}
360
348
  onSort={props.onSort}
361
- sortDirection={
362
- props.sortIndex === props.index ? props.sortDirection : null
363
- }
349
+ sortDirection={props.sortIndex === props.index ? props.sortDirection : null}
364
350
  title={props.columnTitle}
365
351
  />
366
352
  {props.resizableColumnWidths && (
@@ -373,16 +359,14 @@ function Header(props: HeaderProps) {
373
359
  >
374
360
  <div
375
361
  role="presentation"
376
- onMouseDown={event => {
362
+ onMouseDown={(event) => {
377
363
  props.onResizeIndexChange(props.index);
378
364
  const x = getPositionX(event.target);
379
365
  setStartResizePos(x);
380
366
  setEndResizePos(x);
381
367
  }}
382
368
  className={css({
383
- backgroundColor: isResizingThisColumn
384
- ? theme.colors.contentPrimary
385
- : null,
369
+ backgroundColor: isResizingThisColumn ? theme.colors.contentPrimary : null,
386
370
  cursor: 'ew-resize',
387
371
  position: 'absolute',
388
372
  height: '100%',
@@ -441,10 +425,7 @@ function Headers() {
441
425
  <Tooltip
442
426
  key={columnIndex}
443
427
  placement={PLACEMENT.bottomLeft}
444
- isOpen={
445
- ctx.columnHighlightIndex === columnIndex &&
446
- Boolean(activeFilter)
447
- }
428
+ isOpen={ctx.columnHighlightIndex === columnIndex && Boolean(activeFilter)}
448
429
  content={() => {
449
430
  return (
450
431
  <div>
@@ -476,12 +457,11 @@ function Headers() {
476
457
  backgroundColor: theme.colors.backgroundPrimary,
477
458
  borderTop: 'none',
478
459
  borderLeft: 'none',
479
- borderRight:
480
- columnIndex === ctx.columns.length - 1 ? 'none' : null,
460
+ borderRight: columnIndex === ctx.columns.length - 1 ? 'none' : null,
481
461
  boxSizing: 'border-box',
482
462
  display: 'flex',
483
463
  })}
484
- style={{width: ctx.widths[columnIndex]}}
464
+ style={{ width: ctx.widths[columnIndex] }}
485
465
  >
486
466
  <Header
487
467
  columnTitle={column.title}
@@ -525,9 +505,7 @@ function LoadingOrEmptyMessage(props) {
525
505
  marginLeft: theme.sizing.scale500,
526
506
  })}
527
507
  >
528
- {typeof props.children === 'function'
529
- ? props.children()
530
- : String(props.children)}
508
+ {typeof props.children === 'function' ? props.children() : String(props.children)}
531
509
  </p>
532
510
  );
533
511
  }
@@ -535,8 +513,8 @@ function LoadingOrEmptyMessage(props) {
535
513
  // replaces the content of the virtualized window with contents. in this case,
536
514
  // we are prepending a table header row before the table rows (children to the fn).
537
515
  const InnerTableElement = React.forwardRef<
538
- {|children: React.Node, style: {[string]: mixed}|},
539
- HTMLDivElement,
516
+ {| children: React.Node, style: { [string]: mixed } |},
517
+ HTMLDivElement
540
518
  >((props, ref) => {
541
519
  const [, theme] = useStyletron();
542
520
  const ctx = React.useContext(HeaderContext);
@@ -562,13 +540,9 @@ const InnerTableElement = React.forwardRef<
562
540
  <div ref={ref} data-baseweb="data-table" style={props.style}>
563
541
  <Headers />
564
542
 
565
- {viewState === LOADING && (
566
- <LoadingOrEmptyMessage>{ctx.loadingMessage}</LoadingOrEmptyMessage>
567
- )}
543
+ {viewState === LOADING && <LoadingOrEmptyMessage>{ctx.loadingMessage}</LoadingOrEmptyMessage>}
568
544
 
569
- {viewState === EMPTY && (
570
- <LoadingOrEmptyMessage>{ctx.emptyMessage}</LoadingOrEmptyMessage>
571
- )}
545
+ {viewState === EMPTY && <LoadingOrEmptyMessage>{ctx.emptyMessage}</LoadingOrEmptyMessage>}
572
546
 
573
547
  {viewState === RENDERING && props.children}
574
548
 
@@ -589,14 +563,13 @@ const InnerTableElement = React.forwardRef<
589
563
  position: 'absolute',
590
564
  right: theme.direction !== 'rtl' ? 0 - ctx.scrollLeft : 'initial',
591
565
  left: theme.direction === 'rtl' ? 0 : 'initial',
592
- top:
593
- (ctx.rowHighlightIndex - 1) * ctx.rowHeight + HEADER_ROW_HEIGHT,
566
+ top: (ctx.rowHighlightIndex - 1) * ctx.rowHeight + HEADER_ROW_HEIGHT,
594
567
  }}
595
568
  >
596
569
  {(typeof ctx.rowActions === 'function'
597
570
  ? ctx.rowActions(highlightedRow)
598
571
  : ctx.rowActions
599
- ).map(rowAction => {
572
+ ).map((rowAction) => {
600
573
  if (rowAction.renderButton) {
601
574
  const RowActionButton = rowAction.renderButton;
602
575
  return <RowActionButton />;
@@ -607,7 +580,7 @@ const InnerTableElement = React.forwardRef<
607
580
  <Button
608
581
  alt={rowAction.label}
609
582
  key={rowAction.label}
610
- onClick={event =>
583
+ onClick={(event) =>
611
584
  rowAction.onClick({
612
585
  event,
613
586
  row: ctx.rows[ctx.rowHighlightIndex - 1],
@@ -690,56 +663,54 @@ export function DataTable({
690
663
  const locale = React.useContext(LocaleContext);
691
664
 
692
665
  const rowHeightAtIndex = React.useCallback(
693
- index => {
666
+ (index) => {
694
667
  if (index === 0) {
695
668
  return HEADER_ROW_HEIGHT;
696
669
  }
697
670
  return rowHeight;
698
671
  },
699
- [rowHeight],
672
+ [rowHeight]
700
673
  );
701
674
 
702
675
  // We use state for our ref, to allow hooks to update when the ref changes.
703
- // eslint-disable-next-line flowtype/no-weak-types
676
+ // flowlint-next-line unclear-type:off
704
677
  const [gridRef, setGridRef] = React.useState<?VariableSizeGrid<any>>(null);
705
- const [measuredWidths, setMeasuredWidths] = React.useState(
706
- columns.map(() => 0),
707
- );
678
+ const [measuredWidths, setMeasuredWidths] = React.useState(columns.map(() => 0));
708
679
  const [resizeDeltas, setResizeDeltas] = React.useState(columns.map(() => 0));
709
680
  React.useEffect(() => {
710
- setMeasuredWidths(prev => {
681
+ setMeasuredWidths((prev) => {
711
682
  return columns.map((v, index) => prev[index] || 0);
712
683
  });
713
- setResizeDeltas(prev => {
684
+ setResizeDeltas((prev) => {
714
685
  return columns.map((v, index) => prev[index] || 0);
715
686
  });
716
687
  }, [columns]);
717
688
 
718
689
  const resetAfterColumnIndex = React.useCallback(
719
- columnIndex => {
690
+ (columnIndex) => {
720
691
  if (gridRef) {
721
692
  // $FlowFixMe trigger react-window to layout the elements again
722
693
  gridRef.resetAfterColumnIndex(columnIndex, true);
723
694
  }
724
695
  },
725
- [gridRef],
696
+ [gridRef]
726
697
  );
727
698
  const handleWidthsChange = React.useCallback(
728
- nextWidths => {
699
+ (nextWidths) => {
729
700
  setMeasuredWidths(nextWidths);
730
701
  resetAfterColumnIndex(0);
731
702
  },
732
- [setMeasuredWidths, resetAfterColumnIndex],
703
+ [setMeasuredWidths, resetAfterColumnIndex]
733
704
  );
734
705
  const handleColumnResize = React.useCallback(
735
706
  (columnIndex, delta) => {
736
- setResizeDeltas(prev => {
707
+ setResizeDeltas((prev) => {
737
708
  prev[columnIndex] = Math.max(prev[columnIndex] + delta, 0);
738
709
  return [...prev];
739
710
  });
740
711
  resetAfterColumnIndex(columnIndex);
741
712
  },
742
- [setResizeDeltas, resetAfterColumnIndex],
713
+ [setResizeDeltas, resetAfterColumnIndex]
743
714
  );
744
715
 
745
716
  const [scrollLeft, setScrollLeft] = React.useState(0);
@@ -758,27 +729,22 @@ export function DataTable({
758
729
  }
759
730
  }, [recentlyScrolledX]);
760
731
  const handleScroll = React.useCallback(
761
- params => {
732
+ (params) => {
762
733
  setScrollLeft(params.scrollLeft);
763
734
  if (params.scrollLeft !== scrollLeft) {
764
735
  setRecentlyScrolledX(true);
765
736
  }
766
737
  },
767
- [scrollLeft, setScrollLeft, setRecentlyScrolledX],
738
+ [scrollLeft, setScrollLeft, setRecentlyScrolledX]
768
739
  );
769
740
 
770
741
  const sortedIndices = React.useMemo(() => {
771
742
  let toSort = allRows.map((r, i) => [r, i]);
772
743
  const index = sortIndex;
773
744
 
774
- if (
775
- index !== null &&
776
- index !== undefined &&
777
- index !== -1 &&
778
- columns[index]
779
- ) {
745
+ if (index !== null && index !== undefined && index !== -1 && columns[index]) {
780
746
  const sortFn = columns[index].sortFn;
781
- const getValue = row => columns[index].mapDataToValue(row.data);
747
+ const getValue = (row) => columns[index].mapDataToValue(row.data);
782
748
  if (sortDirection === SORT_DIRECTIONS.ASC) {
783
749
  toSort.sort((a, b) => sortFn(getValue(a[0]), getValue(b[0])));
784
750
  } else if (sortDirection === SORT_DIRECTIONS.DESC) {
@@ -786,20 +752,20 @@ export function DataTable({
786
752
  }
787
753
  }
788
754
 
789
- return toSort.map(el => el[1]);
755
+ return toSort.map((el) => el[1]);
790
756
  }, [sortIndex, sortDirection, columns, allRows]);
791
757
 
792
758
  const filteredIndices = React.useMemo(() => {
793
759
  const set = new Set(allRows.map((_, idx) => idx));
794
- Array.from(filters || new Set(), f => f).forEach(([title, filter]) => {
795
- const columnIndex = columns.findIndex(c => c.title === title);
760
+ Array.from(filters || new Set(), (f) => f).forEach(([title, filter]) => {
761
+ const columnIndex = columns.findIndex((c) => c.title === title);
796
762
  const column = columns[columnIndex];
797
763
  if (!column) {
798
764
  return;
799
765
  }
800
766
 
801
767
  const filterFn = column.buildFilter(filter);
802
- Array.from(set).forEach(idx => {
768
+ Array.from(set).forEach((idx) => {
803
769
  if (!filterFn(column.mapDataToValue(allRows[idx].data))) {
804
770
  set.delete(idx);
805
771
  }
@@ -813,15 +779,12 @@ export function DataTable({
813
779
  stringishColumnIndices.push(i);
814
780
  }
815
781
  }
816
- Array.from(set).forEach(idx => {
817
- const matches = stringishColumnIndices.some(cdx => {
782
+ Array.from(set).forEach((idx) => {
783
+ const matches = stringishColumnIndices.some((cdx) => {
818
784
  const column = columns[cdx];
819
785
  const textQueryFilter = column.textQueryFilter;
820
786
  if (textQueryFilter) {
821
- return textQueryFilter(
822
- textQuery,
823
- column.mapDataToValue(allRows[idx].data),
824
- );
787
+ return textQueryFilter(textQuery, column.mapDataToValue(allRows[idx].data));
825
788
  }
826
789
  return false;
827
790
  });
@@ -837,8 +800,8 @@ export function DataTable({
837
800
 
838
801
  const rows = React.useMemo(() => {
839
802
  const result = sortedIndices
840
- .filter(idx => filteredIndices.has(idx))
841
- .map(idx => allRows[idx]);
803
+ .filter((idx) => filteredIndices.has(idx))
804
+ .map((idx) => allRows[idx]);
842
805
 
843
806
  if (onIncludedRowsChange) {
844
807
  onIncludedRowsChange(result);
@@ -848,9 +811,7 @@ export function DataTable({
848
811
 
849
812
  const [browserScrollbarWidth, setBrowserScrollbarWidth] = React.useState(0);
850
813
  const normalizedWidths = React.useMemo(() => {
851
- const resizedWidths = measuredWidths.map(
852
- (w, i) => Math.floor(w) + Math.floor(resizeDeltas[i]),
853
- );
814
+ const resizedWidths = measuredWidths.map((w, i) => Math.floor(w) + Math.floor(resizeDeltas[i]));
854
815
  if (gridRef) {
855
816
  const gridProps = gridRef.props;
856
817
 
@@ -864,13 +825,11 @@ export function DataTable({
864
825
  }
865
826
  }
866
827
 
867
- const scrollbarWidth = isContentTallerThanContainer
868
- ? browserScrollbarWidth
869
- : 0;
828
+ const scrollbarWidth = isContentTallerThanContainer ? browserScrollbarWidth : 0;
870
829
 
871
830
  const remainder = gridProps.width - sum(resizedWidths) - scrollbarWidth;
872
831
  const padding = Math.floor(
873
- remainder / columns.filter(c => (c ? c.fillWidth : true)).length,
832
+ remainder / columns.filter((c) => (c ? c.fillWidth : true)).length
874
833
  );
875
834
  if (padding > 0) {
876
835
  const result = [];
@@ -888,14 +847,7 @@ export function DataTable({
888
847
  }
889
848
  }
890
849
  return resizedWidths;
891
- }, [
892
- gridRef,
893
- measuredWidths,
894
- resizeDeltas,
895
- browserScrollbarWidth,
896
- rows.length,
897
- columns,
898
- ]);
850
+ }, [gridRef, measuredWidths, resizeDeltas, browserScrollbarWidth, rows.length, columns]);
899
851
 
900
852
  const isSelectable = batchActions ? !!batchActions.length : false;
901
853
  const isSelectedAll = React.useMemo(() => {
@@ -911,13 +863,13 @@ export function DataTable({
911
863
  return !!selectedRowIds.size && selectedRowIds.size < rows.length;
912
864
  }, [selectedRowIds, rows.length]);
913
865
  const isRowSelected = React.useCallback(
914
- id => {
866
+ (id) => {
915
867
  if (selectedRowIds) {
916
868
  return selectedRowIds.has(id);
917
869
  }
918
870
  return false;
919
871
  },
920
- [selectedRowIds],
872
+ [selectedRowIds]
921
873
  );
922
874
  const handleSelectMany = React.useCallback(() => {
923
875
  if (onSelectMany) {
@@ -930,21 +882,21 @@ export function DataTable({
930
882
  }
931
883
  }, [onSelectNone]);
932
884
  const handleSelectOne = React.useCallback(
933
- row => {
885
+ (row) => {
934
886
  if (onSelectOne) {
935
887
  onSelectOne(row);
936
888
  }
937
889
  },
938
- [onSelectOne],
890
+ [onSelectOne]
939
891
  );
940
892
 
941
893
  const handleSort = React.useCallback(
942
- columnIndex => {
894
+ (columnIndex) => {
943
895
  if (onSort) {
944
896
  onSort(columnIndex);
945
897
  }
946
898
  },
947
- [onSort],
899
+ [onSort]
948
900
  );
949
901
 
950
902
  const [columnHighlightIndex, setColumnHighlightIndex] = React.useState(-1);
@@ -955,7 +907,7 @@ export function DataTable({
955
907
  if (gridRef) {
956
908
  if (nextIndex >= 0) {
957
909
  // $FlowFixMe - unable to get react-window types
958
- gridRef.scrollToItem({rowIndex: nextIndex});
910
+ gridRef.scrollToItem({ rowIndex: nextIndex });
959
911
  }
960
912
  if (onRowHighlightChange) {
961
913
  onRowHighlightChange(nextIndex, rows[nextIndex - 1]);
@@ -964,13 +916,13 @@ export function DataTable({
964
916
  }
965
917
 
966
918
  const handleRowMouseEnter = React.useCallback(
967
- nextIndex => {
919
+ (nextIndex) => {
968
920
  setColumnHighlightIndex(-1);
969
921
  if (nextIndex !== rowHighlightIndex) {
970
922
  handleRowHighlightIndexChange(nextIndex);
971
923
  }
972
924
  },
973
- [rowHighlightIndex],
925
+ [rowHighlightIndex]
974
926
  );
975
927
  function handleColumnHeaderMouseEnter(columnIndex) {
976
928
  setColumnHighlightIndex(columnIndex);
@@ -1019,9 +971,9 @@ export function DataTable({
1019
971
  isSelectable={isSelectable}
1020
972
  onWidthsChange={handleWidthsChange}
1021
973
  />
1022
- <MeasureScrollbarWidth onWidthChange={w => setBrowserScrollbarWidth(w)} />
974
+ <MeasureScrollbarWidth onWidthChange={(w) => setBrowserScrollbarWidth(w)} />
1023
975
  <AutoSizer>
1024
- {({height, width}) => (
976
+ {({ height, width }) => (
1025
977
  <HeaderContext.Provider
1026
978
  value={{
1027
979
  columns: columns,
@@ -1054,13 +1006,13 @@ export function DataTable({
1054
1006
  }}
1055
1007
  >
1056
1008
  <VariableSizeGrid
1057
- // eslint-disable-next-line flowtype/no-weak-types
1009
+ // flowlint-next-line unclear-type:off
1058
1010
  ref={(setGridRef: any)}
1059
1011
  overscanRowCount={10}
1060
1012
  overscanColumnCount={5}
1061
1013
  innerElementType={InnerTableElement}
1062
1014
  columnCount={columns.length}
1063
- columnWidth={columnIndex => normalizedWidths[columnIndex]}
1015
+ columnWidth={(columnIndex) => normalizedWidths[columnIndex]}
1064
1016
  height={height - 2}
1065
1017
  // plus one to account for additional header row
1066
1018
  rowCount={rows.length + 1}
@@ -7,21 +7,21 @@ LICENSE file in the root directory of this source tree.
7
7
  // @flow
8
8
 
9
9
  import React from 'react';
10
- import {Button, SHAPE, SIZE} from '../button/index.js';
11
- import {Filter as FilterIcon} from '../icon/index.js';
12
- import {Input, SIZE as INPUT_SIZE} from '../input/index.js';
13
- import {Popover, PLACEMENT} from '../popover/index.js';
14
- import {useStyletron} from '../styles/index.js';
15
- import {useUIDSeed} from 'react-uid';
10
+ import { Button, SHAPE, SIZE } from '../button/index.js';
11
+ import { Filter as FilterIcon } from '../icon/index.js';
12
+ import { Input, SIZE as INPUT_SIZE } from '../input/index.js';
13
+ import { Popover, PLACEMENT } from '../popover/index.js';
14
+ import { useStyletron } from '../styles/index.js';
15
+ import { useUIDSeed } from 'react-uid';
16
16
 
17
- import {COLUMNS} from './constants.js';
18
- import {matchesQuery} from './text-search.js';
19
- import type {ColumnT} from './types.js';
20
- import {LocaleContext} from '../locale/index.js';
17
+ import { COLUMNS } from './constants.js';
18
+ import { matchesQuery } from './text-search.js';
19
+ import type { ColumnT } from './types.js';
20
+ import { LocaleContext } from '../locale/index.js';
21
21
 
22
- import {isFocusVisible} from '../utils/focusVisible.js';
22
+ import { isFocusVisible } from '../utils/focusVisible.js';
23
23
 
24
- function ColumnIcon(props: {column: ColumnT<>}) {
24
+ function ColumnIcon(props: { column: ColumnT<> }) {
25
25
  if (props.column.kind === COLUMNS.BOOLEAN) {
26
26
  return '01';
27
27
  }
@@ -45,9 +45,9 @@ type OptionsPropsT = {
45
45
  columns: ColumnT<>[],
46
46
  highlightIndex: number,
47
47
  onClick: (ColumnT<>) => void,
48
- onKeyDown: KeyboardEvent => void,
49
- onMouseEnter: number => void,
50
- onQueryChange: string => void,
48
+ onKeyDown: (KeyboardEvent) => void,
49
+ onMouseEnter: (number) => void,
50
+ onQueryChange: (string) => void,
51
51
  query: string,
52
52
  searchable: boolean,
53
53
  };
@@ -64,7 +64,7 @@ function Options(props: OptionsPropsT) {
64
64
 
65
65
  const [focusVisible, setFocusVisible] = React.useState(false);
66
66
  const seed = useUIDSeed();
67
- const buiRef = React.useRef(props.columns.map(col => seed(col)));
67
+ const buiRef = React.useRef(props.columns.map((col) => seed(col)));
68
68
 
69
69
  const handleFocus = (event: SyntheticEvent<>) => {
70
70
  if (isFocusVisible(event)) {
@@ -110,7 +110,7 @@ function Options(props: OptionsPropsT) {
110
110
  <Input
111
111
  inputRef={inputRef}
112
112
  value={props.query}
113
- onChange={event => props.onQueryChange(event.target.value)}
113
+ onChange={(event) => props.onQueryChange(event.target.value)}
114
114
  placeholder={locale.datatable.optionsSearch}
115
115
  size={INPUT_SIZE.compact}
116
116
  clearable
@@ -163,9 +163,7 @@ function Options(props: OptionsPropsT) {
163
163
  className={css({
164
164
  ...theme.typography.font100,
165
165
  alignItems: 'center',
166
- backgroundColor: isHighlighted
167
- ? theme.colors.menuFillHover
168
- : null,
166
+ backgroundColor: isHighlighted ? theme.colors.menuFillHover : null,
169
167
  cursor: 'pointer',
170
168
  display: 'flex',
171
169
  paddingTop: theme.sizing.scale100,
@@ -201,14 +199,11 @@ function Options(props: OptionsPropsT) {
201
199
 
202
200
  type PropsT = {
203
201
  columns: ColumnT<>[],
204
- // eslint-disable-next-line flowtype/no-weak-types
202
+ // flowlint-next-line unclear-type:off
205
203
  filters: Map<string, any>,
206
- // eslint-disable-next-line flowtype/no-weak-types
204
+ // flowlint-next-line unclear-type:off
207
205
  rows: any[],
208
- onSetFilter: (
209
- columnTitle: string,
210
- filterParams: {description: string},
211
- ) => void,
206
+ onSetFilter: (columnTitle: string, filterParams: { description: string }) => void,
212
207
  };
213
208
 
214
209
  function FilterMenu(props: PropsT) {
@@ -228,15 +223,13 @@ function FilterMenu(props: PropsT) {
228
223
  }, []);
229
224
 
230
225
  const filterableColumns = React.useMemo(() => {
231
- return props.columns.filter(column => {
226
+ return props.columns.filter((column) => {
232
227
  return column.filterable && !props.filters.has(column.title);
233
228
  });
234
229
  }, [props.columns, props.filters]);
235
230
 
236
231
  const columns = React.useMemo(() => {
237
- return filterableColumns.filter(column =>
238
- matchesQuery(column.title, query),
239
- );
232
+ return filterableColumns.filter((column) => matchesQuery(column.title, query));
240
233
  }, [filterableColumns, query]);
241
234
 
242
235
  const Filter = React.useMemo(() => {
@@ -245,11 +238,9 @@ function FilterMenu(props: PropsT) {
245
238
  }, [activeColumn]);
246
239
 
247
240
  const activeColumnData = React.useMemo(() => {
248
- const columnIndex = props.columns.findIndex(c => c === activeColumn);
241
+ const columnIndex = props.columns.findIndex((c) => c === activeColumn);
249
242
  if (columnIndex < 0) return [];
250
- return props.rows.map(row =>
251
- props.columns[columnIndex].mapDataToValue(row.data),
252
- );
243
+ return props.rows.map((row) => props.columns[columnIndex].mapDataToValue(row.data));
253
244
  }, [props.columns, props.rows, activeColumn]);
254
245
 
255
246
  function handleKeyDown(event) {
@@ -282,9 +273,7 @@ function FilterMenu(props: PropsT) {
282
273
  <Filter
283
274
  data={activeColumnData}
284
275
  close={handleClose}
285
- setFilter={filterParams =>
286
- props.onSetFilter(activeColumn.title, filterParams)
287
- }
276
+ setFilter={(filterParams) => props.onSetFilter(activeColumn.title, filterParams)}
288
277
  />
289
278
  );
290
279
  }