@carbon/react 1.27.0-rc.0 → 1.28.0-rc.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 (591) hide show
  1. package/es/_virtual/_rollupPluginBabelHelpers.js +1 -313
  2. package/es/components/Accordion/Accordion.Skeleton.js +28 -30
  3. package/es/components/Accordion/Accordion.js +18 -21
  4. package/es/components/Accordion/AccordionItem.js +37 -49
  5. package/es/components/AspectRatio/AspectRatio.js +10 -12
  6. package/es/components/Breadcrumb/Breadcrumb.Skeleton.js +10 -11
  7. package/es/components/Breadcrumb/Breadcrumb.js +14 -13
  8. package/es/components/Breadcrumb/BreadcrumbItem.js +24 -22
  9. package/es/components/Button/Button.Skeleton.js +25 -23
  10. package/es/components/Button/Button.js +77 -72
  11. package/es/components/ButtonSet/ButtonSet.js +12 -10
  12. package/es/components/Checkbox/Checkbox.Skeleton.js +10 -11
  13. package/es/components/Checkbox/Checkbox.js +55 -52
  14. package/es/components/CheckboxGroup/CheckboxGroup.js +33 -31
  15. package/es/components/ClassPrefix/index.js +4 -2
  16. package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +15 -14
  17. package/es/components/CodeSnippet/CodeSnippet.js +199 -102
  18. package/es/components/ComboBox/ComboBox.js +349 -178
  19. package/es/components/ComboBox/tools/filter.js +6 -4
  20. package/es/components/ComboButton/index.js +38 -43
  21. package/es/components/ComposedModal/ComposedModal.js +187 -85
  22. package/es/components/ComposedModal/ModalFooter.js +54 -49
  23. package/es/components/ComposedModal/ModalHeader.js +39 -26
  24. package/es/components/ContainedList/ContainedList.js +18 -17
  25. package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +20 -18
  26. package/es/components/ContentSwitcher/ContentSwitcher.js +83 -98
  27. package/es/components/ContentSwitcher/index.js +1 -1
  28. package/es/components/ContextMenu/useContextMenu.js +12 -21
  29. package/es/components/Copy/Copy.js +24 -29
  30. package/es/components/CopyButton/CopyButton.js +10 -10
  31. package/es/components/DangerButton/DangerButton.js +3 -5
  32. package/es/components/DataTable/DataTable.js +334 -361
  33. package/es/components/DataTable/Table.js +29 -26
  34. package/es/components/DataTable/TableActionList.js +2 -4
  35. package/es/components/DataTable/TableBatchAction.js +2 -4
  36. package/es/components/DataTable/TableBatchActions.js +29 -30
  37. package/es/components/DataTable/TableBody.js +7 -8
  38. package/es/components/DataTable/TableCell.js +1 -1
  39. package/es/components/DataTable/TableContainer.js +23 -23
  40. package/es/components/DataTable/TableContext.js +1 -1
  41. package/es/components/DataTable/TableExpandHeader.js +19 -21
  42. package/es/components/DataTable/TableExpandRow.js +23 -23
  43. package/es/components/DataTable/TableExpandedRow.js +18 -23
  44. package/es/components/DataTable/TableHead.js +1 -1
  45. package/es/components/DataTable/TableHeader.js +45 -41
  46. package/es/components/DataTable/TableRow.js +7 -8
  47. package/es/components/DataTable/TableSelectAll.js +13 -11
  48. package/es/components/DataTable/TableSelectRow.js +29 -21
  49. package/es/components/DataTable/TableToolbar.js +19 -14
  50. package/es/components/DataTable/TableToolbarAction.js +6 -6
  51. package/es/components/DataTable/TableToolbarContent.js +2 -4
  52. package/es/components/DataTable/TableToolbarMenu.js +11 -12
  53. package/es/components/DataTable/TableToolbarSearch.js +52 -71
  54. package/es/components/DataTable/state/getDerivedStateFromProps.js +15 -15
  55. package/es/components/DataTable/state/sortStates.js +1 -1
  56. package/es/components/DataTable/state/sorting.js +28 -20
  57. package/es/components/DataTable/tools/cells.js +1 -3
  58. package/es/components/DataTable/tools/denormalize.js +4 -17
  59. package/es/components/DataTable/tools/filter.js +18 -16
  60. package/es/components/DataTable/tools/instanceId.js +2 -2
  61. package/es/components/DataTable/tools/normalize.js +28 -25
  62. package/es/components/DataTable/tools/sorting.js +28 -25
  63. package/es/components/DataTableSkeleton/DataTableSkeleton.js +36 -38
  64. package/es/components/DatePicker/DatePicker.Skeleton.js +17 -18
  65. package/es/components/DatePicker/DatePicker.js +206 -195
  66. package/es/components/DatePicker/plugins/appendToPlugin.js +45 -43
  67. package/es/components/DatePicker/plugins/fixEventsPlugin.js +117 -107
  68. package/es/components/DatePicker/plugins/rangePlugin.js +19 -11
  69. package/es/components/DatePickerInput/DatePickerInput.js +83 -74
  70. package/es/components/Dropdown/Dropdown.Skeleton.js +13 -12
  71. package/es/components/Dropdown/Dropdown.js +266 -109
  72. package/es/components/ErrorBoundary/ErrorBoundary.js +27 -48
  73. package/es/components/ErrorBoundary/ErrorBoundaryContext.js +3 -2
  74. package/es/components/ExpandableSearch/ExpandableSearch.d.ts +13 -0
  75. package/es/components/ExpandableSearch/ExpandableSearch.js +18 -25
  76. package/es/components/FeatureFlags/index.js +25 -43
  77. package/es/components/FileUploader/FileUploader.Skeleton.js +8 -9
  78. package/es/components/FileUploader/FileUploader.js +120 -147
  79. package/es/components/FileUploader/FileUploaderButton.js +36 -48
  80. package/es/components/FileUploader/FileUploaderDropContainer.js +49 -53
  81. package/es/components/FileUploader/FileUploaderItem.js +30 -30
  82. package/es/components/FileUploader/Filename.js +13 -14
  83. package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +11 -12
  84. package/es/components/FluidComboBox/FluidComboBox.js +11 -9
  85. package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.js +18 -18
  86. package/es/components/FluidDatePicker/FluidDatePicker.js +19 -16
  87. package/es/components/FluidDatePickerInput/FluidDatePickerInput.js +3 -3
  88. package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +11 -12
  89. package/es/components/FluidDropdown/FluidDropdown.js +11 -9
  90. package/es/components/FluidForm/FluidForm.js +9 -10
  91. package/es/components/FluidForm/FormContext.js +1 -1
  92. package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +11 -12
  93. package/es/components/FluidMultiSelect/FluidMultiSelect.js +12 -10
  94. package/es/components/FluidSelect/FluidSelect.Skeleton.js +11 -12
  95. package/es/components/FluidSelect/FluidSelect.js +9 -9
  96. package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +9 -10
  97. package/es/components/FluidTextArea/FluidTextArea.js +7 -8
  98. package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +9 -10
  99. package/es/components/FluidTextInput/FluidTextInput.js +10 -9
  100. package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +11 -10
  101. package/es/components/FluidTimePicker/FluidTimePicker.js +30 -26
  102. package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.js +7 -7
  103. package/es/components/Form/Form.js +9 -10
  104. package/es/components/FormGroup/FormGroup.js +16 -17
  105. package/es/components/FormItem/FormItem.js +8 -9
  106. package/es/components/FormLabel/FormLabel.js +11 -10
  107. package/es/components/Grid/CSSGrid.js +38 -39
  108. package/es/components/Grid/Column.js +86 -79
  109. package/es/components/Grid/ColumnHang.js +12 -14
  110. package/es/components/Grid/FlexGrid.js +19 -21
  111. package/es/components/Grid/Grid.js +2 -2
  112. package/es/components/Grid/GridContext.js +12 -11
  113. package/es/components/Grid/Row.js +16 -18
  114. package/es/components/Heading/index.js +11 -13
  115. package/es/components/Icon/Icon.Skeleton.js +10 -12
  116. package/es/components/IconButton/index.js +19 -22
  117. package/es/components/IdPrefix/index.js +4 -2
  118. package/es/components/InlineCheckbox/InlineCheckbox.js +89 -36
  119. package/es/components/InlineLoading/InlineLoading.js +23 -25
  120. package/es/components/Layer/LayerContext.js +1 -1
  121. package/es/components/Layer/index.js +17 -18
  122. package/es/components/Layout/LayoutDirection.js +8 -10
  123. package/es/components/Layout/LayoutDirectionContext.js +1 -1
  124. package/es/components/Link/Link.js +25 -25
  125. package/es/components/ListBox/ListBox.js +38 -31
  126. package/es/components/ListBox/ListBoxField.js +9 -10
  127. package/es/components/ListBox/ListBoxMenu.js +9 -10
  128. package/es/components/ListBox/ListBoxMenuIcon.js +16 -14
  129. package/es/components/ListBox/ListBoxMenuItem.js +23 -26
  130. package/es/components/ListBox/ListBoxPropTypes.js +4 -4
  131. package/es/components/ListBox/ListBoxSelection.js +30 -25
  132. package/es/components/ListBox/index.js +1 -1
  133. package/es/components/ListBox/next/ListBoxSelection.js +27 -24
  134. package/es/components/ListBox/next/ListBoxTrigger.js +20 -19
  135. package/es/components/ListItem/ListItem.js +9 -10
  136. package/es/components/Loading/Loading.js +24 -24
  137. package/es/components/Menu/Menu.js +67 -80
  138. package/es/components/Menu/MenuContext.js +9 -12
  139. package/es/components/Menu/MenuItem.js +104 -128
  140. package/es/components/MenuButton/index.js +37 -41
  141. package/es/components/Modal/Modal.js +281 -120
  142. package/es/components/ModalWrapper/ModalWrapper.js +72 -96
  143. package/es/components/MultiSelect/FilterableMultiSelect.js +299 -163
  144. package/es/components/MultiSelect/MultiSelect.js +162 -174
  145. package/es/components/MultiSelect/MultiSelectPropTypes.js +1 -1
  146. package/es/components/MultiSelect/tools/itemToString.js +3 -4
  147. package/es/components/MultiSelect/tools/sorting.js +15 -13
  148. package/es/components/Notification/Notification.js +436 -164
  149. package/es/components/NumberInput/NumberInput.Skeleton.js +10 -11
  150. package/es/components/NumberInput/NumberInput.js +140 -139
  151. package/es/components/OrderedList/OrderedList.js +17 -15
  152. package/es/components/OverflowMenu/OverflowMenu.js +359 -227
  153. package/es/components/OverflowMenu/index.js +1 -1
  154. package/es/components/OverflowMenuItem/OverflowMenuItem.js +32 -37
  155. package/es/components/OverflowMenuV2/index.js +26 -28
  156. package/es/components/Pagination/Pagination.Skeleton.js +9 -10
  157. package/es/components/Pagination/Pagination.js +98 -140
  158. package/es/components/Pagination/experimental/PageSelector.js +16 -16
  159. package/es/components/Pagination/experimental/Pagination.js +73 -94
  160. package/es/components/PaginationNav/PaginationNav.js +98 -117
  161. package/es/components/Popover/index.js +74 -80
  162. package/es/components/PrimaryButton/PrimaryButton.js +3 -5
  163. package/es/components/ProgressBar/ProgressBar.js +39 -37
  164. package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +15 -14
  165. package/es/components/ProgressIndicator/ProgressIndicator.js +71 -71
  166. package/es/components/RadioButton/RadioButton.Skeleton.js +9 -10
  167. package/es/components/RadioButton/RadioButton.js +27 -27
  168. package/es/components/RadioButtonGroup/RadioButtonGroup.js +55 -65
  169. package/es/components/RadioTile/RadioTile.js +28 -26
  170. package/es/components/Search/Search.Skeleton.js +16 -16
  171. package/es/components/Search/Search.d.ts +83 -0
  172. package/es/components/Search/Search.js +65 -72
  173. package/es/components/Search/index.d.ts +11 -0
  174. package/es/components/SecondaryButton/SecondaryButton.js +3 -5
  175. package/es/components/Select/Select.Skeleton.js +12 -13
  176. package/es/components/Select/Select.js +79 -73
  177. package/es/components/SelectItem/SelectItem.js +17 -13
  178. package/es/components/SelectItemGroup/SelectItemGroup.js +11 -12
  179. package/es/components/SkeletonIcon/SkeletonIcon.js +11 -11
  180. package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +11 -11
  181. package/es/components/SkeletonText/SkeletonText.js +29 -29
  182. package/es/components/Slider/Slider.Skeleton.js +17 -18
  183. package/es/components/Slider/Slider.js +306 -329
  184. package/es/components/Slider/index.js +1 -1
  185. package/es/components/Stack/Stack.js +19 -20
  186. package/es/components/Stack/index.js +2 -2
  187. package/es/components/StructuredList/StructuredList.Skeleton.js +25 -24
  188. package/es/components/StructuredList/StructuredList.js +134 -106
  189. package/es/components/Switch/IconSwitch.js +48 -54
  190. package/es/components/Switch/Switch.js +33 -31
  191. package/es/components/Tab/Tab.js +77 -83
  192. package/es/components/Tab/index.js +1 -1
  193. package/es/components/TabContent/TabContent.js +16 -18
  194. package/es/components/Tabs/Tabs.Skeleton.js +14 -13
  195. package/es/components/Tabs/Tabs.js +211 -210
  196. package/es/components/Tabs/usePressable.js +27 -36
  197. package/es/components/Tag/Tag.Skeleton.js +10 -9
  198. package/es/components/Tag/Tag.js +34 -31
  199. package/es/components/Text/Text.js +20 -20
  200. package/es/components/Text/TextDirection.js +8 -7
  201. package/es/components/Text/TextDirectionContext.js +1 -1
  202. package/es/components/Text/index.js +1 -1
  203. package/es/components/TextArea/TextArea.Skeleton.js +11 -12
  204. package/es/components/TextArea/TextArea.js +89 -83
  205. package/es/components/TextInput/ControlledPasswordInput.js +79 -73
  206. package/es/components/TextInput/PasswordInput.js +101 -91
  207. package/es/components/TextInput/TextInput.Skeleton.js +11 -12
  208. package/es/components/TextInput/TextInput.js +104 -92
  209. package/es/components/TextInput/util.js +26 -28
  210. package/es/components/Theme/index.js +25 -20
  211. package/es/components/Tile/Tile.js +135 -176
  212. package/es/components/TileGroup/TileGroup.js +55 -70
  213. package/es/components/TileGroup/index.js +1 -1
  214. package/es/components/TimePicker/TimePicker.js +60 -67
  215. package/es/components/TimePickerSelect/TimePickerSelect.js +20 -18
  216. package/es/components/TimePickerSelect/index.js +1 -1
  217. package/es/components/Toggle/Toggle.Skeleton.js +63 -52
  218. package/es/components/Toggle/Toggle.js +44 -48
  219. package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +56 -50
  220. package/es/components/Toggletip/index.js +52 -48
  221. package/es/components/Tooltip/DefinitionTooltip.js +24 -31
  222. package/es/components/Tooltip/Tooltip.js +35 -50
  223. package/es/components/TreeView/TreeNode.js +94 -74
  224. package/es/components/TreeView/TreeView.js +72 -83
  225. package/es/components/UIShell/Content.js +12 -14
  226. package/es/components/UIShell/Header.js +16 -12
  227. package/es/components/UIShell/HeaderContainer.js +8 -14
  228. package/es/components/UIShell/HeaderGlobalAction.js +26 -19
  229. package/es/components/UIShell/HeaderGlobalBar.js +1 -3
  230. package/es/components/UIShell/HeaderMenu.js +114 -129
  231. package/es/components/UIShell/HeaderMenuButton.js +31 -22
  232. package/es/components/UIShell/HeaderMenuItem.js +28 -20
  233. package/es/components/UIShell/HeaderName.js +19 -14
  234. package/es/components/UIShell/HeaderNavigation.js +19 -15
  235. package/es/components/UIShell/HeaderPanel.js +23 -17
  236. package/es/components/UIShell/HeaderSideNavItems.js +11 -9
  237. package/es/components/UIShell/Link.js +11 -11
  238. package/es/components/UIShell/SideNav.js +66 -62
  239. package/es/components/UIShell/SideNavDetails.js +11 -12
  240. package/es/components/UIShell/SideNavDivider.js +5 -3
  241. package/es/components/UIShell/SideNavFooter.js +12 -12
  242. package/es/components/UIShell/SideNavHeader.js +8 -6
  243. package/es/components/UIShell/SideNavIcon.js +11 -8
  244. package/es/components/UIShell/SideNavItem.js +11 -9
  245. package/es/components/UIShell/SideNavItems.js +13 -11
  246. package/es/components/UIShell/SideNavLink.js +19 -17
  247. package/es/components/UIShell/SideNavLinkText.js +8 -9
  248. package/es/components/UIShell/SideNavMenu.js +28 -35
  249. package/es/components/UIShell/SideNavMenuItem.js +14 -14
  250. package/es/components/UIShell/SideNavSwitcher.js +19 -19
  251. package/es/components/UIShell/SkipToContent.js +10 -11
  252. package/es/components/UIShell/Switcher.js +20 -11
  253. package/es/components/UIShell/SwitcherDivider.js +10 -9
  254. package/es/components/UIShell/SwitcherItem.js +26 -19
  255. package/es/components/UIShell/_utils.js +1 -1
  256. package/es/components/UnorderedList/UnorderedList.js +14 -14
  257. package/es/index.js +5 -5
  258. package/es/internal/ClickListener.js +49 -65
  259. package/es/internal/FloatingMenu.js +193 -200
  260. package/es/internal/OptimizedResize.js +9 -8
  261. package/es/internal/Selection.js +92 -111
  262. package/es/internal/createClassWrapper.js +2 -2
  263. package/es/internal/deprecateFieldOnObject.js +5 -3
  264. package/es/internal/environment.js +1 -1
  265. package/es/internal/focus/index.js +1 -1
  266. package/es/internal/keyboard/keys.js +11 -11
  267. package/es/internal/keyboard/match.js +7 -6
  268. package/es/internal/keyboard/navigation.js +15 -5
  269. package/es/internal/useAnnouncer.js +2 -2
  270. package/es/internal/useAttachedMenu.js +12 -20
  271. package/es/internal/useControllableState.js +11 -16
  272. package/es/internal/useDelayedState.js +9 -18
  273. package/es/internal/useEffectOnce.js +4 -4
  274. package/es/internal/useEvent.js +4 -4
  275. package/es/internal/useId.js +15 -19
  276. package/es/internal/useIdPrefix.js +1 -1
  277. package/es/internal/useIsomorphicEffect.js +1 -1
  278. package/es/internal/useMergedRefs.js +3 -3
  279. package/es/internal/useNoInteractiveChildren.js +8 -19
  280. package/es/internal/useNormalizedInputProps.js +16 -14
  281. package/es/internal/usePrefix.js +1 -1
  282. package/es/internal/useSavedCallback.js +3 -3
  283. package/es/internal/warning.js +4 -4
  284. package/es/internal/wrapFocus.js +16 -21
  285. package/es/prop-types/AriaPropTypes.js +1 -1
  286. package/es/prop-types/deprecate.js +6 -5
  287. package/es/prop-types/isRequiredOneOf.js +12 -25
  288. package/es/prop-types/requiredIfGivenPropIsTruthy.js +2 -2
  289. package/es/prop-types/types.js +1 -1
  290. package/es/tools/array.js +1 -1
  291. package/es/tools/events.js +21 -14
  292. package/es/tools/mergeRefs.js +3 -3
  293. package/es/tools/setupGetInstanceId.js +1 -1
  294. package/es/tools/uniqueId.js +3 -3
  295. package/es/tools/wrapComponent.js +14 -13
  296. package/lib/_virtual/_rollupPluginBabelHelpers.js +0 -336
  297. package/lib/components/Accordion/Accordion.Skeleton.js +27 -29
  298. package/lib/components/Accordion/Accordion.js +17 -20
  299. package/lib/components/Accordion/AccordionItem.js +36 -48
  300. package/lib/components/AspectRatio/AspectRatio.js +9 -11
  301. package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +9 -10
  302. package/lib/components/Breadcrumb/Breadcrumb.js +13 -12
  303. package/lib/components/Breadcrumb/BreadcrumbItem.js +23 -21
  304. package/lib/components/Button/Button.Skeleton.js +24 -22
  305. package/lib/components/Button/Button.js +76 -71
  306. package/lib/components/ButtonSet/ButtonSet.js +11 -9
  307. package/lib/components/Checkbox/Checkbox.Skeleton.js +9 -10
  308. package/lib/components/Checkbox/Checkbox.js +54 -51
  309. package/lib/components/CheckboxGroup/CheckboxGroup.js +32 -30
  310. package/lib/components/ClassPrefix/index.js +4 -2
  311. package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +14 -13
  312. package/lib/components/CodeSnippet/CodeSnippet.js +198 -101
  313. package/lib/components/ComboBox/ComboBox.js +348 -177
  314. package/lib/components/ComboBox/tools/filter.js +6 -4
  315. package/lib/components/ComboButton/index.js +37 -42
  316. package/lib/components/ComposedModal/ComposedModal.js +187 -85
  317. package/lib/components/ComposedModal/ModalFooter.js +53 -48
  318. package/lib/components/ComposedModal/ModalHeader.js +38 -25
  319. package/lib/components/ContainedList/ContainedList.js +18 -17
  320. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +20 -18
  321. package/lib/components/ContentSwitcher/ContentSwitcher.js +82 -97
  322. package/lib/components/ContentSwitcher/index.js +1 -1
  323. package/lib/components/ContextMenu/useContextMenu.js +12 -21
  324. package/lib/components/Copy/Copy.js +23 -28
  325. package/lib/components/CopyButton/CopyButton.js +9 -9
  326. package/lib/components/DangerButton/DangerButton.js +3 -5
  327. package/lib/components/DataTable/DataTable.js +332 -359
  328. package/lib/components/DataTable/Table.js +28 -25
  329. package/lib/components/DataTable/TableActionList.js +2 -4
  330. package/lib/components/DataTable/TableBatchAction.js +2 -4
  331. package/lib/components/DataTable/TableBatchActions.js +28 -29
  332. package/lib/components/DataTable/TableBody.js +6 -7
  333. package/lib/components/DataTable/TableCell.js +1 -1
  334. package/lib/components/DataTable/TableContainer.js +22 -22
  335. package/lib/components/DataTable/TableContext.js +1 -1
  336. package/lib/components/DataTable/TableExpandHeader.js +18 -20
  337. package/lib/components/DataTable/TableExpandRow.js +22 -22
  338. package/lib/components/DataTable/TableExpandedRow.js +17 -22
  339. package/lib/components/DataTable/TableHead.js +1 -1
  340. package/lib/components/DataTable/TableHeader.js +43 -39
  341. package/lib/components/DataTable/TableRow.js +7 -8
  342. package/lib/components/DataTable/TableSelectAll.js +13 -11
  343. package/lib/components/DataTable/TableSelectRow.js +28 -20
  344. package/lib/components/DataTable/TableToolbar.js +18 -13
  345. package/lib/components/DataTable/TableToolbarAction.js +5 -5
  346. package/lib/components/DataTable/TableToolbarContent.js +2 -4
  347. package/lib/components/DataTable/TableToolbarMenu.js +10 -11
  348. package/lib/components/DataTable/TableToolbarSearch.js +51 -70
  349. package/lib/components/DataTable/state/getDerivedStateFromProps.js +15 -15
  350. package/lib/components/DataTable/state/sortStates.js +1 -1
  351. package/lib/components/DataTable/state/sorting.js +28 -20
  352. package/lib/components/DataTable/tools/cells.js +1 -3
  353. package/lib/components/DataTable/tools/denormalize.js +4 -17
  354. package/lib/components/DataTable/tools/filter.js +18 -16
  355. package/lib/components/DataTable/tools/instanceId.js +2 -2
  356. package/lib/components/DataTable/tools/normalize.js +28 -25
  357. package/lib/components/DataTable/tools/sorting.js +27 -24
  358. package/lib/components/DataTableSkeleton/DataTableSkeleton.js +35 -37
  359. package/lib/components/DatePicker/DatePicker.Skeleton.js +16 -17
  360. package/lib/components/DatePicker/DatePicker.js +205 -194
  361. package/lib/components/DatePicker/plugins/appendToPlugin.js +45 -43
  362. package/lib/components/DatePicker/plugins/fixEventsPlugin.js +117 -107
  363. package/lib/components/DatePicker/plugins/rangePlugin.js +19 -11
  364. package/lib/components/DatePickerInput/DatePickerInput.js +83 -74
  365. package/lib/components/Dropdown/Dropdown.Skeleton.js +12 -11
  366. package/lib/components/Dropdown/Dropdown.js +265 -108
  367. package/lib/components/ErrorBoundary/ErrorBoundary.js +27 -48
  368. package/lib/components/ErrorBoundary/ErrorBoundaryContext.js +3 -2
  369. package/lib/components/ExpandableSearch/ExpandableSearch.d.ts +13 -0
  370. package/lib/components/ExpandableSearch/ExpandableSearch.js +17 -24
  371. package/lib/components/FeatureFlags/index.js +25 -43
  372. package/lib/components/FileUploader/FileUploader.Skeleton.js +7 -8
  373. package/lib/components/FileUploader/FileUploader.js +119 -146
  374. package/lib/components/FileUploader/FileUploaderButton.js +35 -47
  375. package/lib/components/FileUploader/FileUploaderDropContainer.js +48 -52
  376. package/lib/components/FileUploader/FileUploaderItem.js +29 -29
  377. package/lib/components/FileUploader/Filename.js +12 -13
  378. package/lib/components/FluidComboBox/FluidComboBox.Skeleton.js +10 -11
  379. package/lib/components/FluidComboBox/FluidComboBox.js +10 -8
  380. package/lib/components/FluidDatePicker/FluidDatePicker.Skeleton.js +17 -17
  381. package/lib/components/FluidDatePicker/FluidDatePicker.js +18 -15
  382. package/lib/components/FluidDatePickerInput/FluidDatePickerInput.js +3 -3
  383. package/lib/components/FluidDropdown/FluidDropdown.Skeleton.js +10 -11
  384. package/lib/components/FluidDropdown/FluidDropdown.js +10 -8
  385. package/lib/components/FluidForm/FluidForm.js +8 -9
  386. package/lib/components/FluidForm/FormContext.js +1 -1
  387. package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +10 -11
  388. package/lib/components/FluidMultiSelect/FluidMultiSelect.js +11 -9
  389. package/lib/components/FluidSelect/FluidSelect.Skeleton.js +10 -11
  390. package/lib/components/FluidSelect/FluidSelect.js +8 -8
  391. package/lib/components/FluidTextArea/FluidTextArea.Skeleton.js +8 -9
  392. package/lib/components/FluidTextArea/FluidTextArea.js +6 -7
  393. package/lib/components/FluidTextInput/FluidTextInput.Skeleton.js +8 -9
  394. package/lib/components/FluidTextInput/FluidTextInput.js +9 -8
  395. package/lib/components/FluidTimePicker/FluidTimePicker.Skeleton.js +10 -9
  396. package/lib/components/FluidTimePicker/FluidTimePicker.js +30 -26
  397. package/lib/components/FluidTimePickerSelect/FluidTimePickerSelect.js +6 -6
  398. package/lib/components/Form/Form.js +8 -9
  399. package/lib/components/FormGroup/FormGroup.js +15 -16
  400. package/lib/components/FormItem/FormItem.js +7 -8
  401. package/lib/components/FormLabel/FormLabel.js +10 -9
  402. package/lib/components/Grid/CSSGrid.js +37 -38
  403. package/lib/components/Grid/Column.js +85 -78
  404. package/lib/components/Grid/ColumnHang.js +11 -13
  405. package/lib/components/Grid/FlexGrid.js +19 -21
  406. package/lib/components/Grid/Grid.js +2 -2
  407. package/lib/components/Grid/GridContext.js +12 -11
  408. package/lib/components/Grid/Row.js +16 -18
  409. package/lib/components/Heading/index.js +11 -13
  410. package/lib/components/Icon/Icon.Skeleton.js +9 -11
  411. package/lib/components/IconButton/index.js +18 -21
  412. package/lib/components/IdPrefix/index.js +4 -2
  413. package/lib/components/InlineCheckbox/InlineCheckbox.js +89 -36
  414. package/lib/components/InlineLoading/InlineLoading.js +22 -24
  415. package/lib/components/Layer/LayerContext.js +1 -1
  416. package/lib/components/Layer/index.js +16 -17
  417. package/lib/components/Layout/LayoutDirection.js +7 -9
  418. package/lib/components/Layout/LayoutDirectionContext.js +1 -1
  419. package/lib/components/Link/Link.js +24 -24
  420. package/lib/components/ListBox/ListBox.js +37 -30
  421. package/lib/components/ListBox/ListBoxField.js +8 -9
  422. package/lib/components/ListBox/ListBoxMenu.js +8 -9
  423. package/lib/components/ListBox/ListBoxMenuIcon.js +16 -14
  424. package/lib/components/ListBox/ListBoxMenuItem.js +22 -25
  425. package/lib/components/ListBox/ListBoxPropTypes.js +4 -4
  426. package/lib/components/ListBox/ListBoxSelection.js +30 -25
  427. package/lib/components/ListBox/index.js +1 -1
  428. package/lib/components/ListBox/next/ListBoxSelection.js +26 -23
  429. package/lib/components/ListBox/next/ListBoxTrigger.js +19 -18
  430. package/lib/components/ListItem/ListItem.js +8 -9
  431. package/lib/components/Loading/Loading.js +23 -23
  432. package/lib/components/Menu/Menu.js +66 -79
  433. package/lib/components/Menu/MenuContext.js +9 -12
  434. package/lib/components/Menu/MenuItem.js +103 -127
  435. package/lib/components/MenuButton/index.js +36 -40
  436. package/lib/components/Modal/Modal.js +280 -119
  437. package/lib/components/ModalWrapper/ModalWrapper.js +71 -95
  438. package/lib/components/MultiSelect/FilterableMultiSelect.js +298 -162
  439. package/lib/components/MultiSelect/MultiSelect.js +163 -175
  440. package/lib/components/MultiSelect/MultiSelectPropTypes.js +1 -1
  441. package/lib/components/MultiSelect/tools/itemToString.js +3 -4
  442. package/lib/components/MultiSelect/tools/sorting.js +15 -13
  443. package/lib/components/Notification/Notification.js +434 -162
  444. package/lib/components/NumberInput/NumberInput.Skeleton.js +9 -10
  445. package/lib/components/NumberInput/NumberInput.js +139 -138
  446. package/lib/components/OrderedList/OrderedList.js +16 -14
  447. package/lib/components/OverflowMenu/OverflowMenu.js +358 -226
  448. package/lib/components/OverflowMenu/index.js +1 -1
  449. package/lib/components/OverflowMenuItem/OverflowMenuItem.js +31 -36
  450. package/lib/components/OverflowMenuV2/index.js +25 -27
  451. package/lib/components/Pagination/Pagination.Skeleton.js +8 -9
  452. package/lib/components/Pagination/Pagination.js +97 -139
  453. package/lib/components/Pagination/experimental/PageSelector.js +17 -17
  454. package/lib/components/Pagination/experimental/Pagination.js +72 -93
  455. package/lib/components/PaginationNav/PaginationNav.js +97 -116
  456. package/lib/components/Popover/index.js +73 -79
  457. package/lib/components/PrimaryButton/PrimaryButton.js +3 -5
  458. package/lib/components/ProgressBar/ProgressBar.js +38 -36
  459. package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +14 -13
  460. package/lib/components/ProgressIndicator/ProgressIndicator.js +70 -70
  461. package/lib/components/RadioButton/RadioButton.Skeleton.js +8 -9
  462. package/lib/components/RadioButton/RadioButton.js +26 -26
  463. package/lib/components/RadioButtonGroup/RadioButtonGroup.js +54 -64
  464. package/lib/components/RadioTile/RadioTile.js +27 -25
  465. package/lib/components/Search/Search.Skeleton.js +15 -15
  466. package/lib/components/Search/Search.d.ts +83 -0
  467. package/lib/components/Search/Search.js +62 -69
  468. package/lib/components/Search/index.d.ts +11 -0
  469. package/lib/components/SecondaryButton/SecondaryButton.js +3 -5
  470. package/lib/components/Select/Select.Skeleton.js +11 -12
  471. package/lib/components/Select/Select.js +78 -72
  472. package/lib/components/SelectItem/SelectItem.js +16 -12
  473. package/lib/components/SelectItemGroup/SelectItemGroup.js +10 -11
  474. package/lib/components/SkeletonIcon/SkeletonIcon.js +10 -10
  475. package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +10 -10
  476. package/lib/components/SkeletonText/SkeletonText.js +28 -28
  477. package/lib/components/Slider/Slider.Skeleton.js +16 -17
  478. package/lib/components/Slider/Slider.js +305 -328
  479. package/lib/components/Slider/index.js +1 -1
  480. package/lib/components/Stack/Stack.js +18 -19
  481. package/lib/components/Stack/index.js +2 -2
  482. package/lib/components/StructuredList/StructuredList.Skeleton.js +24 -23
  483. package/lib/components/StructuredList/StructuredList.js +133 -105
  484. package/lib/components/Switch/IconSwitch.js +45 -51
  485. package/lib/components/Switch/Switch.js +33 -31
  486. package/lib/components/Tab/Tab.js +76 -82
  487. package/lib/components/Tab/index.js +1 -1
  488. package/lib/components/TabContent/TabContent.js +15 -17
  489. package/lib/components/Tabs/Tabs.Skeleton.js +13 -12
  490. package/lib/components/Tabs/Tabs.js +210 -209
  491. package/lib/components/Tabs/usePressable.js +27 -36
  492. package/lib/components/Tag/Tag.Skeleton.js +9 -8
  493. package/lib/components/Tag/Tag.js +33 -30
  494. package/lib/components/Text/Text.js +19 -19
  495. package/lib/components/Text/TextDirection.js +8 -7
  496. package/lib/components/Text/TextDirectionContext.js +1 -1
  497. package/lib/components/Text/index.js +1 -1
  498. package/lib/components/TextArea/TextArea.Skeleton.js +10 -11
  499. package/lib/components/TextArea/TextArea.js +88 -82
  500. package/lib/components/TextInput/ControlledPasswordInput.js +78 -72
  501. package/lib/components/TextInput/PasswordInput.js +100 -90
  502. package/lib/components/TextInput/TextInput.Skeleton.js +10 -11
  503. package/lib/components/TextInput/TextInput.js +104 -92
  504. package/lib/components/TextInput/util.js +28 -30
  505. package/lib/components/Theme/index.js +24 -19
  506. package/lib/components/Tile/Tile.js +134 -175
  507. package/lib/components/TileGroup/TileGroup.js +54 -69
  508. package/lib/components/TileGroup/index.js +1 -1
  509. package/lib/components/TimePicker/TimePicker.js +59 -66
  510. package/lib/components/TimePickerSelect/TimePickerSelect.js +19 -17
  511. package/lib/components/TimePickerSelect/index.js +1 -1
  512. package/lib/components/Toggle/Toggle.Skeleton.js +68 -57
  513. package/lib/components/Toggle/Toggle.js +43 -47
  514. package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +60 -54
  515. package/lib/components/Toggletip/index.js +51 -47
  516. package/lib/components/Tooltip/DefinitionTooltip.js +23 -30
  517. package/lib/components/Tooltip/Tooltip.js +34 -49
  518. package/lib/components/TreeView/TreeNode.js +93 -73
  519. package/lib/components/TreeView/TreeView.js +71 -82
  520. package/lib/components/UIShell/Content.js +12 -14
  521. package/lib/components/UIShell/Header.js +15 -11
  522. package/lib/components/UIShell/HeaderContainer.js +8 -14
  523. package/lib/components/UIShell/HeaderGlobalAction.js +25 -18
  524. package/lib/components/UIShell/HeaderGlobalBar.js +1 -3
  525. package/lib/components/UIShell/HeaderMenu.js +113 -128
  526. package/lib/components/UIShell/HeaderMenuButton.js +30 -21
  527. package/lib/components/UIShell/HeaderMenuItem.js +27 -19
  528. package/lib/components/UIShell/HeaderName.js +18 -13
  529. package/lib/components/UIShell/HeaderNavigation.js +18 -14
  530. package/lib/components/UIShell/HeaderPanel.js +22 -16
  531. package/lib/components/UIShell/HeaderSideNavItems.js +11 -9
  532. package/lib/components/UIShell/Link.js +11 -11
  533. package/lib/components/UIShell/SideNav.js +65 -61
  534. package/lib/components/UIShell/SideNavDetails.js +10 -11
  535. package/lib/components/UIShell/SideNavDivider.js +5 -3
  536. package/lib/components/UIShell/SideNavFooter.js +12 -12
  537. package/lib/components/UIShell/SideNavHeader.js +8 -6
  538. package/lib/components/UIShell/SideNavIcon.js +11 -8
  539. package/lib/components/UIShell/SideNavItem.js +11 -9
  540. package/lib/components/UIShell/SideNavItems.js +13 -11
  541. package/lib/components/UIShell/SideNavLink.js +18 -16
  542. package/lib/components/UIShell/SideNavLinkText.js +7 -8
  543. package/lib/components/UIShell/SideNavMenu.js +28 -35
  544. package/lib/components/UIShell/SideNavMenuItem.js +13 -13
  545. package/lib/components/UIShell/SideNavSwitcher.js +19 -19
  546. package/lib/components/UIShell/SkipToContent.js +9 -10
  547. package/lib/components/UIShell/Switcher.js +19 -10
  548. package/lib/components/UIShell/SwitcherDivider.js +9 -8
  549. package/lib/components/UIShell/SwitcherItem.js +25 -18
  550. package/lib/components/UIShell/_utils.js +1 -1
  551. package/lib/components/UnorderedList/UnorderedList.js +13 -13
  552. package/lib/index.js +10 -10
  553. package/lib/internal/ClickListener.js +49 -65
  554. package/lib/internal/FloatingMenu.js +192 -199
  555. package/lib/internal/OptimizedResize.js +9 -8
  556. package/lib/internal/Selection.js +91 -110
  557. package/lib/internal/createClassWrapper.js +2 -2
  558. package/lib/internal/deprecateFieldOnObject.js +5 -3
  559. package/lib/internal/environment.js +1 -1
  560. package/lib/internal/focus/index.js +1 -1
  561. package/lib/internal/keyboard/keys.js +11 -11
  562. package/lib/internal/keyboard/match.js +7 -6
  563. package/lib/internal/keyboard/navigation.js +15 -5
  564. package/lib/internal/useAnnouncer.js +2 -2
  565. package/lib/internal/useAttachedMenu.js +12 -20
  566. package/lib/internal/useControllableState.js +11 -16
  567. package/lib/internal/useDelayedState.js +9 -18
  568. package/lib/internal/useEffectOnce.js +4 -4
  569. package/lib/internal/useEvent.js +4 -4
  570. package/lib/internal/useId.js +14 -18
  571. package/lib/internal/useIdPrefix.js +1 -1
  572. package/lib/internal/useIsomorphicEffect.js +1 -1
  573. package/lib/internal/useMergedRefs.js +3 -3
  574. package/lib/internal/useNoInteractiveChildren.js +8 -19
  575. package/lib/internal/useNormalizedInputProps.js +16 -14
  576. package/lib/internal/usePrefix.js +1 -1
  577. package/lib/internal/useSavedCallback.js +3 -3
  578. package/lib/internal/warning.js +4 -4
  579. package/lib/internal/wrapFocus.js +16 -21
  580. package/lib/prop-types/AriaPropTypes.js +1 -1
  581. package/lib/prop-types/deprecate.js +6 -5
  582. package/lib/prop-types/isRequiredOneOf.js +15 -28
  583. package/lib/prop-types/requiredIfGivenPropIsTruthy.js +2 -2
  584. package/lib/prop-types/types.js +1 -1
  585. package/lib/tools/array.js +1 -1
  586. package/lib/tools/events.js +21 -14
  587. package/lib/tools/mergeRefs.js +3 -3
  588. package/lib/tools/setupGetInstanceId.js +1 -1
  589. package/lib/tools/uniqueId.js +3 -3
  590. package/lib/tools/wrapComponent.js +14 -13
  591. package/package.json +9 -9
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { defineProperty as _defineProperty, inherits as _inherits, createSuper as _createSuper, classCallCheck as _classCallCheck, objectWithoutProperties as _objectWithoutProperties, objectSpread2 as _objectSpread2, assertThisInitialized as _assertThisInitialized, slicedToArray as _slicedToArray, createClass as _createClass } from '../../_virtual/_rollupPluginBabelHelpers.js';
8
+ import { defineProperty as _defineProperty } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import PropTypes from 'prop-types';
10
10
  import React__default from 'react';
11
11
  import isEqual from 'lodash.isequal';
@@ -38,14 +38,8 @@ import TableToolbarContent from './TableToolbarContent.js';
38
38
  import TableToolbarSearch from './TableToolbarSearch.js';
39
39
  import TableToolbarMenu from './TableToolbarMenu.js';
40
40
 
41
- var _excluded = ["header", "onClick", "isSortable"],
42
- _excluded2 = ["onClick", "onExpand"],
43
- _excluded3 = ["row", "onClick"],
44
- _excluded4 = ["onClick", "row"];
45
-
46
- var _defaultTranslations;
47
- var getInstanceId = setupGetInstanceId();
48
- var translationKeys = {
41
+ const getInstanceId = setupGetInstanceId();
42
+ const translationKeys = {
49
43
  expandRow: 'carbon.table.row.expand',
50
44
  collapseRow: 'carbon.table.row.collapse',
51
45
  expandAll: 'carbon.table.all.expand',
@@ -55,11 +49,18 @@ var translationKeys = {
55
49
  selectRow: 'carbon.table.row.select',
56
50
  unselectRow: 'carbon.table.row.unselect'
57
51
  };
58
- var defaultTranslations = (_defaultTranslations = {}, _defineProperty(_defaultTranslations, translationKeys.expandAll, 'Expand all rows'), _defineProperty(_defaultTranslations, translationKeys.collapseAll, 'Collapse all rows'), _defineProperty(_defaultTranslations, translationKeys.expandRow, 'Expand current row'), _defineProperty(_defaultTranslations, translationKeys.collapseRow, 'Collapse current row'), _defineProperty(_defaultTranslations, translationKeys.selectAll, 'Select all rows'), _defineProperty(_defaultTranslations, translationKeys.unselectAll, 'Unselect all rows'), _defineProperty(_defaultTranslations, translationKeys.selectRow, 'Select row'), _defineProperty(_defaultTranslations, translationKeys.unselectRow, 'Unselect row'), _defaultTranslations);
59
-
60
- var translateWithId = function translateWithId(id) {
61
- return defaultTranslations[id];
52
+ const defaultTranslations = {
53
+ [translationKeys.expandAll]: 'Expand all rows',
54
+ [translationKeys.collapseAll]: 'Collapse all rows',
55
+ [translationKeys.expandRow]: 'Expand current row',
56
+ [translationKeys.collapseRow]: 'Collapse current row',
57
+ [translationKeys.selectAll]: 'Select all rows',
58
+ [translationKeys.unselectAll]: 'Unselect all rows',
59
+ [translationKeys.selectRow]: 'Select row',
60
+ [translationKeys.unselectRow]: 'Unselect row'
62
61
  };
62
+
63
+ const translateWithId = id => defaultTranslations[id];
63
64
  /**
64
65
  * Data Tables are used to represent a collection of resources, displaying a
65
66
  * subset of their fields in columns, or headers. We prioritize direct updates
@@ -72,211 +73,211 @@ var translateWithId = function translateWithId(id) {
72
73
  */
73
74
 
74
75
 
75
- var DataTable = /*#__PURE__*/function (_React$Component) {
76
- _inherits(DataTable, _React$Component);
77
-
78
- var _super = _createSuper(DataTable);
79
-
80
- function DataTable(_props) {
76
+ class DataTable extends React__default.Component {
77
+ constructor(_props) {
81
78
  var _this;
82
79
 
83
- _classCallCheck(this, DataTable);
84
-
85
- _this = _super.call(this, _props);
86
-
87
- _defineProperty(_assertThisInitialized(_this), "getHeaderProps", function (_ref) {
88
- var header = _ref.header,
89
- _onClick = _ref.onClick,
90
- _ref$isSortable = _ref.isSortable,
91
- isSortable = _ref$isSortable === void 0 ? _this.props.isSortable : _ref$isSortable,
92
- rest = _objectWithoutProperties(_ref, _excluded);
93
-
94
- var _this$state = _this.state,
95
- sortDirection = _this$state.sortDirection,
96
- sortHeaderKey = _this$state.sortHeaderKey;
97
- return _objectSpread2(_objectSpread2({}, rest), {}, {
80
+ super(_props);
81
+ _this = this;
82
+
83
+ _defineProperty(this, "getHeaderProps", _ref => {
84
+ let {
85
+ header,
86
+ onClick,
87
+ isSortable = this.props.isSortable,
88
+ ...rest
89
+ } = _ref;
90
+ const {
91
+ sortDirection,
92
+ sortHeaderKey
93
+ } = this.state;
94
+ return { ...rest,
98
95
  key: header.key,
99
- sortDirection: sortDirection,
100
- isSortable: isSortable,
96
+ sortDirection,
97
+ isSortable,
101
98
  isSortHeader: sortHeaderKey === header.key,
102
- onClick: function onClick(event) {
103
- var nextSortState = getNextSortState(_this.props, _this.state, {
99
+ onClick: event => {
100
+ const nextSortState = getNextSortState(this.props, this.state, {
104
101
  key: header.key
105
102
  });
106
-
107
- _this.setState(nextSortState, function () {
108
- _onClick && _this.handleOnHeaderClick(_onClick, {
103
+ this.setState(nextSortState, () => {
104
+ onClick && this.handleOnHeaderClick(onClick, {
109
105
  sortHeaderKey: header.key,
110
106
  sortDirection: nextSortState.sortDirection
111
107
  })(event);
112
108
  });
113
109
  }
114
- });
110
+ };
115
111
  });
116
112
 
117
- _defineProperty(_assertThisInitialized(_this), "getExpandHeaderProps", function () {
118
- var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
119
- onClick = _ref2.onClick,
120
- onExpand = _ref2.onExpand,
121
- rest = _objectWithoutProperties(_ref2, _excluded2);
122
-
123
- var t = _this.props.translateWithId;
124
- var _this$state2 = _this.state,
125
- isExpandedAll = _this$state2.isExpandedAll,
126
- rowIds = _this$state2.rowIds,
127
- rowsById = _this$state2.rowsById;
128
- var isExpanded = isExpandedAll || rowIds.every(function (id) {
129
- return rowsById[id].isExpanded;
130
- });
131
- var translationKey = isExpanded ? translationKeys.collapseAll : translationKeys.expandAll;
132
- return _objectSpread2(_objectSpread2({}, rest), {}, {
113
+ _defineProperty(this, "getExpandHeaderProps", function () {
114
+ let {
115
+ onClick,
116
+ onExpand,
117
+ ...rest
118
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
119
+ const {
120
+ translateWithId: t
121
+ } = _this.props;
122
+ const {
123
+ isExpandedAll,
124
+ rowIds,
125
+ rowsById
126
+ } = _this.state;
127
+ const isExpanded = isExpandedAll || rowIds.every(id => rowsById[id].isExpanded);
128
+ const translationKey = isExpanded ? translationKeys.collapseAll : translationKeys.expandAll;
129
+ return { ...rest,
133
130
  ariaLabel: t(translationKey),
134
- isExpanded: isExpanded,
131
+ isExpanded,
135
132
  // Compose the event handlers so we don't overwrite a consumer's `onClick`
136
133
  // handler
137
134
  onExpand: composeEventHandlers([_this.handleOnExpandAll, onExpand, onClick ? _this.handleOnExpandHeaderClick(onClick, {
138
- isExpanded: isExpanded
135
+ isExpanded
139
136
  }) : null])
140
- });
141
- });
142
-
143
- _defineProperty(_assertThisInitialized(_this), "handleOnHeaderClick", function (onClick, sortParams) {
144
- return function (e) {
145
- return onClick(e, sortParams);
146
137
  };
147
138
  });
148
139
 
149
- _defineProperty(_assertThisInitialized(_this), "handleOnExpandHeaderClick", function (onClick, expandParams) {
150
- return function (e) {
151
- return onClick(e, expandParams);
152
- };
140
+ _defineProperty(this, "handleOnHeaderClick", (onClick, sortParams) => {
141
+ return e => onClick(e, sortParams);
153
142
  });
154
143
 
155
- _defineProperty(_assertThisInitialized(_this), "getRowProps", function (_ref3) {
156
- var row = _ref3.row,
157
- onClick = _ref3.onClick,
158
- rest = _objectWithoutProperties(_ref3, _excluded3);
144
+ _defineProperty(this, "handleOnExpandHeaderClick", (onClick, expandParams) => {
145
+ return e => onClick(e, expandParams);
146
+ });
159
147
 
160
- var t = _this.props.translateWithId;
161
- var translationKey = row.isExpanded ? translationKeys.collapseRow : translationKeys.expandRow;
162
- return _objectSpread2(_objectSpread2({}, rest), {}, {
148
+ _defineProperty(this, "getRowProps", _ref2 => {
149
+ let {
150
+ row,
151
+ onClick,
152
+ ...rest
153
+ } = _ref2;
154
+ const {
155
+ translateWithId: t
156
+ } = this.props;
157
+ const translationKey = row.isExpanded ? translationKeys.collapseRow : translationKeys.expandRow;
158
+ return { ...rest,
163
159
  key: row.id,
164
160
  // Compose the event handlers so we don't overwrite a consumer's `onClick`
165
161
  // handler
166
- onExpand: composeEventHandlers([_this.handleOnExpandRow(row.id), onClick]),
162
+ onExpand: composeEventHandlers([this.handleOnExpandRow(row.id), onClick]),
167
163
  isExpanded: row.isExpanded,
168
164
  ariaLabel: t(translationKey),
169
165
  isSelected: row.isSelected,
170
166
  disabled: row.disabled
171
- });
167
+ };
172
168
  });
173
169
 
174
- _defineProperty(_assertThisInitialized(_this), "getSelectionProps", function () {
175
- var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
176
- onClick = _ref4.onClick,
177
- row = _ref4.row,
178
- rest = _objectWithoutProperties(_ref4, _excluded4);
179
-
180
- var t = _this.props.translateWithId; // If we're given a row, return the selection state values for that row
170
+ _defineProperty(this, "getSelectionProps", function () {
171
+ let {
172
+ onClick,
173
+ row,
174
+ ...rest
175
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
176
+ const {
177
+ translateWithId: t
178
+ } = _this.props; // If we're given a row, return the selection state values for that row
181
179
 
182
180
  if (row) {
183
- var _translationKey = row.isSelected ? translationKeys.unselectRow : translationKeys.selectRow;
184
-
185
- return _objectSpread2(_objectSpread2({}, rest), {}, {
181
+ const translationKey = row.isSelected ? translationKeys.unselectRow : translationKeys.selectRow;
182
+ return { ...rest,
186
183
  checked: row.isSelected,
187
184
  onSelect: composeEventHandlers([_this.handleOnSelectRow(row.id), onClick]),
188
- id: "".concat(_this.getTablePrefix(), "__select-row-").concat(row.id),
189
- name: "select-row-".concat(row.id),
190
- ariaLabel: t(_translationKey),
185
+ id: `${_this.getTablePrefix()}__select-row-${row.id}`,
186
+ name: `select-row-${row.id}`,
187
+ ariaLabel: t(translationKey),
191
188
  disabled: row.disabled,
192
189
  radio: _this.props.radio || null
193
- });
190
+ };
194
191
  } // Otherwise, we're working on `TableSelectAll` which handles toggling the
195
192
  // selection state of all rows.
196
193
 
197
194
 
198
- var rowCount = _this.state.rowIds.length;
195
+ const rowCount = _this.state.rowIds.length;
199
196
 
200
- var selectedRowCount = _this.getSelectedRows().length;
197
+ const selectedRowCount = _this.getSelectedRows().length;
201
198
 
202
- var checked = rowCount > 0 && selectedRowCount === rowCount;
203
- var indeterminate = rowCount > 0 && selectedRowCount > 0 && selectedRowCount !== rowCount;
204
- var translationKey = checked || indeterminate ? translationKeys.unselectAll : translationKeys.selectAll;
205
- return _objectSpread2(_objectSpread2({}, rest), {}, {
199
+ const checked = rowCount > 0 && selectedRowCount === rowCount;
200
+ const indeterminate = rowCount > 0 && selectedRowCount > 0 && selectedRowCount !== rowCount;
201
+ const translationKey = checked || indeterminate ? translationKeys.unselectAll : translationKeys.selectAll;
202
+ return { ...rest,
206
203
  ariaLabel: t(translationKey),
207
- checked: checked,
208
- id: "".concat(_this.getTablePrefix(), "__select-all"),
209
- indeterminate: indeterminate,
204
+ checked,
205
+ id: `${_this.getTablePrefix()}__select-all`,
206
+ indeterminate,
210
207
  name: 'select-all',
211
208
  onSelect: composeEventHandlers([_this.handleSelectAll, onClick])
212
- });
209
+ };
213
210
  });
214
211
 
215
- _defineProperty(_assertThisInitialized(_this), "getToolbarProps", function () {
216
- var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
217
- var size = _this.props.size;
218
- var isSmall = size === 'xs' || size === 'sm';
219
- return _objectSpread2(_objectSpread2({}, props), {}, {
212
+ _defineProperty(this, "getToolbarProps", function () {
213
+ let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
214
+ const {
215
+ size
216
+ } = _this.props;
217
+ let isSmall = size === 'xs' || size === 'sm';
218
+ return { ...props,
220
219
  size: isSmall ? 'sm' : undefined
221
- });
220
+ };
222
221
  });
223
222
 
224
- _defineProperty(_assertThisInitialized(_this), "getBatchActionProps", function () {
225
- var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
226
- var shouldShowBatchActions = _this.state.shouldShowBatchActions;
223
+ _defineProperty(this, "getBatchActionProps", function () {
224
+ let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
225
+ const {
226
+ shouldShowBatchActions
227
+ } = _this.state;
227
228
 
228
- var totalSelected = _this.getSelectedRows().length;
229
+ const totalSelected = _this.getSelectedRows().length;
229
230
 
230
- return _objectSpread2(_objectSpread2({}, props), {}, {
231
+ return { ...props,
231
232
  shouldShowBatchActions: shouldShowBatchActions && totalSelected > 0,
232
- totalSelected: totalSelected,
233
+ totalSelected,
233
234
  onCancel: _this.handleOnCancel
234
- });
235
+ };
235
236
  });
236
237
 
237
- _defineProperty(_assertThisInitialized(_this), "getTableProps", function () {
238
- var _this$props = _this.props,
239
- useZebraStyles = _this$props.useZebraStyles,
240
- size = _this$props.size,
241
- isSortable = _this$props.isSortable,
242
- useStaticWidth = _this$props.useStaticWidth,
243
- stickyHeader = _this$props.stickyHeader,
244
- overflowMenuOnHover = _this$props.overflowMenuOnHover;
238
+ _defineProperty(this, "getTableProps", () => {
239
+ const {
240
+ useZebraStyles,
241
+ size,
242
+ isSortable,
243
+ useStaticWidth,
244
+ stickyHeader,
245
+ overflowMenuOnHover
246
+ } = this.props;
245
247
  return {
246
- useZebraStyles: useZebraStyles,
247
- size: size,
248
- isSortable: isSortable,
249
- useStaticWidth: useStaticWidth,
250
- stickyHeader: stickyHeader,
251
- overflowMenuOnHover: overflowMenuOnHover
248
+ useZebraStyles,
249
+ size,
250
+ isSortable,
251
+ useStaticWidth,
252
+ stickyHeader,
253
+ overflowMenuOnHover
252
254
  };
253
255
  });
254
256
 
255
- _defineProperty(_assertThisInitialized(_this), "getTableContainerProps", function () {
256
- var _this$props2 = _this.props,
257
- stickyHeader = _this$props2.stickyHeader,
258
- useStaticWidth = _this$props2.useStaticWidth;
257
+ _defineProperty(this, "getTableContainerProps", () => {
258
+ const {
259
+ stickyHeader,
260
+ useStaticWidth
261
+ } = this.props;
259
262
  return {
260
- stickyHeader: stickyHeader,
261
- useStaticWidth: useStaticWidth
263
+ stickyHeader,
264
+ useStaticWidth
262
265
  };
263
266
  });
264
267
 
265
- _defineProperty(_assertThisInitialized(_this), "getSelectedRows", function () {
266
- return _this.state.rowIds.filter(function (id) {
267
- var row = _this.state.rowsById[id];
268
- return row.isSelected && !row.disabled;
269
- });
270
- });
268
+ _defineProperty(this, "getSelectedRows", () => this.state.rowIds.filter(id => {
269
+ const row = this.state.rowsById[id];
270
+ return row.isSelected && !row.disabled;
271
+ }));
271
272
 
272
- _defineProperty(_assertThisInitialized(_this), "getFilteredRowIds", function () {
273
- var filteredRowIds = typeof _this.state.filterInputValue === 'string' ? _this.props.filterRows({
274
- rowIds: _this.state.rowIds,
275
- headers: _this.props.headers,
276
- cellsById: _this.state.cellsById,
277
- inputValue: _this.state.filterInputValue,
278
- getCellId: getCellId
279
- }) : _this.state.rowIds;
273
+ _defineProperty(this, "getFilteredRowIds", () => {
274
+ const filteredRowIds = typeof this.state.filterInputValue === 'string' ? this.props.filterRows({
275
+ rowIds: this.state.rowIds,
276
+ headers: this.props.headers,
277
+ cellsById: this.state.cellsById,
278
+ inputValue: this.state.filterInputValue,
279
+ getCellId
280
+ }) : this.state.rowIds;
280
281
 
281
282
  if (filteredRowIds.length == 0) {
282
283
  return [];
@@ -285,271 +286,243 @@ var DataTable = /*#__PURE__*/function (_React$Component) {
285
286
  return filteredRowIds;
286
287
  });
287
288
 
288
- _defineProperty(_assertThisInitialized(_this), "getTablePrefix", function () {
289
- return "data-table-".concat(_this.instanceId);
290
- });
289
+ _defineProperty(this, "getTablePrefix", () => `data-table-${this.instanceId}`);
291
290
 
292
- _defineProperty(_assertThisInitialized(_this), "setAllSelectedState", function (initialState, isSelected, filteredRowIds) {
293
- var rowIds = initialState.rowIds;
291
+ _defineProperty(this, "setAllSelectedState", (initialState, isSelected, filteredRowIds) => {
292
+ const {
293
+ rowIds
294
+ } = initialState;
294
295
  return {
295
- rowsById: rowIds.reduce(function (acc, id) {
296
- return _objectSpread2(_objectSpread2({}, acc), {}, _defineProperty({}, id, _objectSpread2(_objectSpread2({}, initialState.rowsById[id]), !initialState.rowsById[id].disabled && {
297
- isSelected: filteredRowIds.includes(id) && isSelected
298
- })));
299
- }, {})
296
+ rowsById: rowIds.reduce((acc, id) => ({ ...acc,
297
+ [id]: { ...initialState.rowsById[id],
298
+ ...(!initialState.rowsById[id].disabled && {
299
+ isSelected: filteredRowIds.includes(id) && isSelected
300
+ })
301
+ }
302
+ }), {})
300
303
  };
301
304
  });
302
305
 
303
- _defineProperty(_assertThisInitialized(_this), "handleOnCancel", function () {
304
- _this.setState(function (state) {
305
- return _objectSpread2({
306
- shouldShowBatchActions: false
307
- }, _this.setAllSelectedState(state, false, _this.getFilteredRowIds()));
306
+ _defineProperty(this, "handleOnCancel", () => {
307
+ this.setState(state => {
308
+ return {
309
+ shouldShowBatchActions: false,
310
+ ...this.setAllSelectedState(state, false, this.getFilteredRowIds())
311
+ };
308
312
  });
309
313
  });
310
314
 
311
- _defineProperty(_assertThisInitialized(_this), "handleSelectAll", function () {
312
- _this.setState(function (state) {
313
- var filteredRowIds = _this.getFilteredRowIds();
314
-
315
- var rowsById = state.rowsById;
316
- var isSelected = !(Object.values(rowsById).filter(function (row) {
317
- return row.isSelected && !row.disabled;
318
- }).length > 0);
319
- return _objectSpread2({
320
- shouldShowBatchActions: isSelected
321
- }, _this.setAllSelectedState(state, isSelected, filteredRowIds));
315
+ _defineProperty(this, "handleSelectAll", () => {
316
+ this.setState(state => {
317
+ const filteredRowIds = this.getFilteredRowIds();
318
+ const {
319
+ rowsById
320
+ } = state;
321
+ const isSelected = !(Object.values(rowsById).filter(row => row.isSelected && !row.disabled).length > 0);
322
+ return {
323
+ shouldShowBatchActions: isSelected,
324
+ ...this.setAllSelectedState(state, isSelected, filteredRowIds)
325
+ };
322
326
  });
323
327
  });
324
328
 
325
- _defineProperty(_assertThisInitialized(_this), "handleOnSelectRow", function (rowId) {
326
- return function () {
327
- _this.setState(function (state) {
328
- var row = state.rowsById[rowId];
329
-
330
- if (_this.props.radio) {
331
- // deselect all radio buttons
332
- var rowsById = Object.entries(state.rowsById).reduce(function (p, c) {
333
- var _c = _slicedToArray(c, 2),
334
- key = _c[0],
335
- val = _c[1];
336
-
337
- val.isSelected = false;
338
- p[key] = val;
339
- return p;
340
- }, {});
341
- return {
342
- shouldShowBatchActions: false,
343
- rowsById: _objectSpread2(_objectSpread2({}, rowsById), {}, _defineProperty({}, rowId, _objectSpread2(_objectSpread2({}, row), {}, {
329
+ _defineProperty(this, "handleOnSelectRow", rowId => () => {
330
+ this.setState(state => {
331
+ const row = state.rowsById[rowId];
332
+
333
+ if (this.props.radio) {
334
+ // deselect all radio buttons
335
+ const rowsById = Object.entries(state.rowsById).reduce((p, c) => {
336
+ const [key, val] = c;
337
+ val.isSelected = false;
338
+ p[key] = val;
339
+ return p;
340
+ }, {});
341
+ return {
342
+ shouldShowBatchActions: false,
343
+ rowsById: { ...rowsById,
344
+ [rowId]: { ...row,
344
345
  isSelected: !row.isSelected
345
- })))
346
- };
347
- }
346
+ }
347
+ }
348
+ };
349
+ }
348
350
 
349
- var selectedRows = state.rowIds.filter(function (id) {
350
- return state.rowsById[id].isSelected;
351
- }).length; // Predict the length of the selected rows after this change occurs
351
+ const selectedRows = state.rowIds.filter(id => state.rowsById[id].isSelected).length; // Predict the length of the selected rows after this change occurs
352
352
 
353
- var selectedRowsCount = !row.isSelected ? selectedRows + 1 : selectedRows - 1;
354
- return {
355
- // Basic assumption here is that we want to show the batch action bar if
356
- // the row is being selected. If it's being unselected, then see if we
357
- // have a non-zero number of selected rows that batch actions could
358
- // still apply to
359
- shouldShowBatchActions: !row.isSelected || selectedRowsCount > 0,
360
- rowsById: _objectSpread2(_objectSpread2({}, state.rowsById), {}, _defineProperty({}, rowId, _objectSpread2(_objectSpread2({}, row), {}, {
353
+ const selectedRowsCount = !row.isSelected ? selectedRows + 1 : selectedRows - 1;
354
+ return {
355
+ // Basic assumption here is that we want to show the batch action bar if
356
+ // the row is being selected. If it's being unselected, then see if we
357
+ // have a non-zero number of selected rows that batch actions could
358
+ // still apply to
359
+ shouldShowBatchActions: !row.isSelected || selectedRowsCount > 0,
360
+ rowsById: { ...state.rowsById,
361
+ [rowId]: { ...row,
361
362
  isSelected: !row.isSelected
362
- })))
363
- };
364
- });
365
- };
363
+ }
364
+ }
365
+ };
366
+ });
366
367
  });
367
368
 
368
- _defineProperty(_assertThisInitialized(_this), "handleOnExpandRow", function (rowId) {
369
- return function () {
370
- _this.setState(function (state) {
371
- var row = state.rowsById[rowId];
372
- var isExpandedAll = state.isExpandedAll;
373
- return {
374
- isExpandedAll: row.isExpanded ? false : isExpandedAll,
375
- rowsById: _objectSpread2(_objectSpread2({}, state.rowsById), {}, _defineProperty({}, rowId, _objectSpread2(_objectSpread2({}, row), {}, {
369
+ _defineProperty(this, "handleOnExpandRow", rowId => () => {
370
+ this.setState(state => {
371
+ const row = state.rowsById[rowId];
372
+ const {
373
+ isExpandedAll
374
+ } = state;
375
+ return {
376
+ isExpandedAll: row.isExpanded ? false : isExpandedAll,
377
+ rowsById: { ...state.rowsById,
378
+ [rowId]: { ...row,
376
379
  isExpanded: !row.isExpanded
377
- })))
378
- };
379
- });
380
- };
380
+ }
381
+ }
382
+ };
383
+ });
381
384
  });
382
385
 
383
- _defineProperty(_assertThisInitialized(_this), "handleOnExpandAll", function () {
384
- _this.setState(function (state) {
385
- var rowIds = state.rowIds,
386
- isExpandedAll = state.isExpandedAll;
386
+ _defineProperty(this, "handleOnExpandAll", () => {
387
+ this.setState(state => {
388
+ const {
389
+ rowIds,
390
+ isExpandedAll
391
+ } = state;
387
392
  return {
388
393
  isExpandedAll: !isExpandedAll,
389
- rowsById: rowIds.reduce(function (acc, id) {
390
- return _objectSpread2(_objectSpread2({}, acc), {}, _defineProperty({}, id, _objectSpread2(_objectSpread2({}, state.rowsById[id]), {}, {
394
+ rowsById: rowIds.reduce((acc, id) => ({ ...acc,
395
+ [id]: { ...state.rowsById[id],
391
396
  isExpanded: !isExpandedAll
392
- })));
393
- }, {})
397
+ }
398
+ }), {})
394
399
  };
395
400
  });
396
401
  });
397
402
 
398
- _defineProperty(_assertThisInitialized(_this), "handleSortBy", function (headerKey) {
399
- return function () {
400
- _this.setState(function (state) {
401
- return getNextSortState(_this.props, state, {
402
- key: headerKey
403
- });
404
- });
405
- };
403
+ _defineProperty(this, "handleSortBy", headerKey => () => {
404
+ this.setState(state => getNextSortState(this.props, state, {
405
+ key: headerKey
406
+ }));
406
407
  });
407
408
 
408
- _defineProperty(_assertThisInitialized(_this), "handleOnInputValueChange", function (event, defaultValue) {
409
+ _defineProperty(this, "handleOnInputValueChange", (event, defaultValue) => {
409
410
  if (event.target) {
410
- _this.setState({
411
+ this.setState({
411
412
  filterInputValue: event.target.value
412
413
  });
413
414
  }
414
415
 
415
416
  if (defaultValue) {
416
- _this.setState({
417
+ this.setState({
417
418
  filterInputValue: defaultValue
418
419
  });
419
420
  }
420
421
  });
421
422
 
422
- _this.state = _objectSpread2(_objectSpread2({}, getDerivedStateFromProps(_props, {})), {}, {
423
+ this.state = { ...getDerivedStateFromProps(_props, {}),
423
424
  isExpandedAll: false // Start with collapsed state, treat `undefined` as neutral state
424
425
 
425
- });
426
- _this.instanceId = getInstanceId();
427
- return _this;
426
+ };
427
+ this.instanceId = getInstanceId();
428
428
  }
429
429
 
430
- _createClass(DataTable, [{
431
- key: "componentDidUpdate",
432
- value: function componentDidUpdate(prevProps) {
433
- var _this2 = this;
430
+ componentDidUpdate(prevProps) {
431
+ if (prevProps === this.props) {
432
+ return;
433
+ }
434
434
 
435
- if (prevProps === this.props) {
436
- return;
437
- }
435
+ const prevRowIds = prevProps.rows.map(row => row.id);
436
+ const rowIds = this.props.rows.map(row => row.id);
438
437
 
439
- var prevRowIds = prevProps.rows.map(function (row) {
440
- return row.id;
441
- });
442
- var rowIds = this.props.rows.map(function (row) {
443
- return row.id;
444
- });
445
-
446
- if (!isEqual(prevRowIds, rowIds)) {
447
- this.setState(function (state) {
448
- return getDerivedStateFromProps(_this2.props, state);
449
- });
450
- return;
451
- }
438
+ if (!isEqual(prevRowIds, rowIds)) {
439
+ this.setState(state => getDerivedStateFromProps(this.props, state));
440
+ return;
441
+ }
452
442
 
453
- var prevHeaders = prevProps.headers.map(function (header) {
454
- return header.key;
455
- });
456
- var headers = this.props.headers.map(function (header) {
457
- return header.key;
458
- });
443
+ const prevHeaders = prevProps.headers.map(header => header.key);
444
+ const headers = this.props.headers.map(header => header.key);
459
445
 
460
- if (!isEqual(prevHeaders, headers)) {
461
- this.setState(function (state) {
462
- return getDerivedStateFromProps(_this2.props, state);
463
- });
464
- return;
465
- }
446
+ if (!isEqual(prevHeaders, headers)) {
447
+ this.setState(state => getDerivedStateFromProps(this.props, state));
448
+ return;
449
+ }
466
450
 
467
- if (!isEqual(prevProps.rows, this.props.rows)) {
468
- this.setState(function (state) {
469
- return getDerivedStateFromProps(_this2.props, state);
470
- });
471
- return;
472
- }
451
+ if (!isEqual(prevProps.rows, this.props.rows)) {
452
+ this.setState(state => getDerivedStateFromProps(this.props, state));
453
+ return;
473
454
  }
474
- /**
475
- * Get the props associated with the given header. Mostly used for adding in
476
- * sorting behavior.
477
- *
478
- * @param {object} config
479
- * @param {string} config.header the header we want the props for
480
- * @param {Function} config.onClick a custom click handler for the header
481
- * @param {boolean} config.isSortable
482
- * @returns {object}
483
- */
484
-
485
- }, {
486
- key: "render",
487
- value: function render() {
488
- var _this3 = this;
489
-
490
- // eslint-disable-next-line react/prop-types
491
- var _this$props3 = this.props,
492
- children = _this$props3.children,
493
- filterRows = _this$props3.filterRows,
494
- headers = _this$props3.headers,
495
- render = _this$props3.render;
496
- var _this$state3 = this.state,
497
- filterInputValue = _this$state3.filterInputValue,
498
- rowIds = _this$state3.rowIds,
499
- rowsById = _this$state3.rowsById,
500
- cellsById = _this$state3.cellsById;
501
- var filteredRowIds = typeof filterInputValue === 'string' ? filterRows({
502
- rowIds: rowIds,
503
- headers: headers,
504
- cellsById: cellsById,
505
- inputValue: filterInputValue,
506
- getCellId: getCellId
507
- }) : rowIds;
508
- var renderProps = {
509
- // Data derived from state
510
- rows: denormalize(filteredRowIds, rowsById, cellsById),
511
- headers: this.props.headers,
512
- selectedRows: denormalize(this.getSelectedRows(), rowsById, cellsById),
513
- // Prop accessors/getters
514
- getHeaderProps: this.getHeaderProps,
515
- getExpandHeaderProps: this.getExpandHeaderProps,
516
- getRowProps: this.getRowProps,
517
- getSelectionProps: this.getSelectionProps,
518
- getToolbarProps: this.getToolbarProps,
519
- getBatchActionProps: this.getBatchActionProps,
520
- getTableProps: this.getTableProps,
521
- getTableContainerProps: this.getTableContainerProps,
522
- // Custom event handlers
523
- onInputChange: this.handleOnInputValueChange,
524
- // Expose internal state change actions
525
- sortBy: function sortBy(headerKey) {
526
- return _this3.handleSortBy(headerKey)();
527
- },
528
- selectAll: this.handleSelectAll,
529
- selectRow: function selectRow(rowId) {
530
- return _this3.handleOnSelectRow(rowId)();
531
- },
532
- expandRow: function expandRow(rowId) {
533
- return _this3.handleOnExpandRow(rowId)();
534
- },
535
- expandAll: this.handleOnExpandAll,
536
- radio: this.props.radio
537
- };
455
+ }
456
+ /**
457
+ * Get the props associated with the given header. Mostly used for adding in
458
+ * sorting behavior.
459
+ *
460
+ * @param {object} config
461
+ * @param {string} config.header the header we want the props for
462
+ * @param {Function} config.onClick a custom click handler for the header
463
+ * @param {boolean} config.isSortable
464
+ * @returns {object}
465
+ */
538
466
 
539
- if (render !== undefined) {
540
- return render(renderProps);
541
- }
542
467
 
543
- if (children !== undefined) {
544
- return children(renderProps);
545
- }
468
+ render() {
469
+ // eslint-disable-next-line react/prop-types
470
+ const {
471
+ children,
472
+ filterRows,
473
+ headers,
474
+ render
475
+ } = this.props;
476
+ const {
477
+ filterInputValue,
478
+ rowIds,
479
+ rowsById,
480
+ cellsById
481
+ } = this.state;
482
+ const filteredRowIds = typeof filterInputValue === 'string' ? filterRows({
483
+ rowIds,
484
+ headers,
485
+ cellsById,
486
+ inputValue: filterInputValue,
487
+ getCellId
488
+ }) : rowIds;
489
+ const renderProps = {
490
+ // Data derived from state
491
+ rows: denormalize(filteredRowIds, rowsById, cellsById),
492
+ headers: this.props.headers,
493
+ selectedRows: denormalize(this.getSelectedRows(), rowsById, cellsById),
494
+ // Prop accessors/getters
495
+ getHeaderProps: this.getHeaderProps,
496
+ getExpandHeaderProps: this.getExpandHeaderProps,
497
+ getRowProps: this.getRowProps,
498
+ getSelectionProps: this.getSelectionProps,
499
+ getToolbarProps: this.getToolbarProps,
500
+ getBatchActionProps: this.getBatchActionProps,
501
+ getTableProps: this.getTableProps,
502
+ getTableContainerProps: this.getTableContainerProps,
503
+ // Custom event handlers
504
+ onInputChange: this.handleOnInputValueChange,
505
+ // Expose internal state change actions
506
+ sortBy: headerKey => this.handleSortBy(headerKey)(),
507
+ selectAll: this.handleSelectAll,
508
+ selectRow: rowId => this.handleOnSelectRow(rowId)(),
509
+ expandRow: rowId => this.handleOnExpandRow(rowId)(),
510
+ expandAll: this.handleOnExpandAll,
511
+ radio: this.props.radio
512
+ };
513
+
514
+ if (render !== undefined) {
515
+ return render(renderProps);
516
+ }
546
517
 
547
- return null;
518
+ if (children !== undefined) {
519
+ return children(renderProps);
548
520
  }
549
- }]);
550
521
 
551
- return DataTable;
552
- }(React__default.Component);
522
+ return null;
523
+ }
524
+
525
+ }
553
526
 
554
527
  _defineProperty(DataTable, "propTypes", {
555
528
  /**
@@ -642,7 +615,7 @@ _defineProperty(DataTable, "defaultProps", {
642
615
  locale: 'en',
643
616
  size: 'lg',
644
617
  overflowMenuOnHover: true,
645
- translateWithId: translateWithId
618
+ translateWithId
646
619
  });
647
620
 
648
621
  _defineProperty(DataTable, "translationKeys", Object.values(translationKeys));