@carbon/react 1.29.1 → 1.30.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 (580) hide show
  1. package/es/_virtual/_rollupPluginBabelHelpers.js +16 -5
  2. package/es/components/Accordion/Accordion.Skeleton.js +0 -7
  3. package/es/components/Accordion/Accordion.js +1 -8
  4. package/es/components/Accordion/AccordionItem.js +5 -19
  5. package/es/components/AspectRatio/AspectRatio.js +0 -5
  6. package/es/components/Breadcrumb/Breadcrumb.Skeleton.js +0 -3
  7. package/es/components/Breadcrumb/Breadcrumb.js +0 -3
  8. package/es/components/Breadcrumb/BreadcrumbItem.js +0 -7
  9. package/es/components/Button/Button.Skeleton.js +2 -7
  10. package/es/components/Button/Button.js +2 -36
  11. package/es/components/ButtonSet/ButtonSet.js +0 -2
  12. package/es/components/Checkbox/Checkbox.Skeleton.js +0 -1
  13. package/es/components/Checkbox/Checkbox.js +4 -20
  14. package/es/components/CheckboxGroup/CheckboxGroup.js +0 -11
  15. package/es/components/ClassPrefix/index.d.ts +26 -0
  16. package/es/components/ClassPrefix/index.js +0 -2
  17. package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +0 -5
  18. package/es/components/CodeSnippet/CodeSnippet.js +6 -45
  19. package/es/components/ComboBox/ComboBox.js +12 -79
  20. package/es/components/ComboBox/tools/filter.js +0 -1
  21. package/es/components/ComboButton/index.js +0 -14
  22. package/es/components/ComposedModal/ComposedModal.js +2 -32
  23. package/es/components/ComposedModal/ModalFooter.js +0 -21
  24. package/es/components/ComposedModal/ModalHeader.js +0 -12
  25. package/es/components/ContainedList/ContainedList.js +5 -32
  26. package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +0 -6
  27. package/es/components/ContentSwitcher/ContentSwitcher.js +11 -23
  28. package/es/components/ContextMenu/useContextMenu.js +1 -6
  29. package/es/components/Copy/Copy.js +8 -31
  30. package/es/components/CopyButton/CopyButton.js +0 -4
  31. package/es/components/DangerButton/DangerButton.js +0 -1
  32. package/es/components/DataTable/DataTable.js +171 -91
  33. package/es/components/DataTable/Table.js +0 -6
  34. package/es/components/DataTable/TableBatchAction.js +0 -4
  35. package/es/components/DataTable/TableBatchActions.js +0 -8
  36. package/es/components/DataTable/TableBody.js +0 -1
  37. package/es/components/DataTable/TableContainer.js +0 -5
  38. package/es/components/DataTable/TableExpandHeader.js +0 -7
  39. package/es/components/DataTable/TableExpandRow.js +0 -6
  40. package/es/components/DataTable/TableExpandedRow.js +0 -6
  41. package/es/components/DataTable/TableHeader.d.ts +1 -1
  42. package/es/components/DataTable/TableHeader.js +3 -19
  43. package/es/components/DataTable/TableRow.js +4 -5
  44. package/es/components/DataTable/TableSelectAll.js +0 -8
  45. package/es/components/DataTable/TableSelectRow.js +2 -10
  46. package/es/components/DataTable/TableToolbar.js +0 -3
  47. package/es/components/DataTable/TableToolbarMenu.d.ts +1 -1
  48. package/es/components/DataTable/TableToolbarMenu.js +3 -6
  49. package/es/components/DataTable/TableToolbarSearch.js +2 -30
  50. package/es/components/DataTable/state/getDerivedStateFromProps.js +0 -4
  51. package/es/components/DataTable/state/sorting.js +5 -8
  52. package/es/components/DataTable/tools/denormalize.js +2 -2
  53. package/es/components/DataTable/tools/filter.js +0 -2
  54. package/es/components/DataTable/tools/instanceId.js +0 -1
  55. package/es/components/DataTable/tools/normalize.js +10 -10
  56. package/es/components/DataTable/tools/sorting.js +5 -13
  57. package/es/components/DataTableSkeleton/DataTableSkeleton.js +5 -20
  58. package/es/components/DatePicker/DatePicker.Skeleton.js +0 -6
  59. package/es/components/DatePicker/DatePicker.js +153 -175
  60. package/es/components/DatePicker/plugins/appendToPlugin.js +3 -7
  61. package/es/components/DatePicker/plugins/fixEventsPlugin.js +14 -25
  62. package/es/components/DatePicker/plugins/rangePlugin.js +2 -7
  63. package/es/components/DatePickerInput/DatePickerInput.js +2 -28
  64. package/es/components/Dropdown/Dropdown.Skeleton.js +0 -2
  65. package/es/components/Dropdown/Dropdown.js +43 -52
  66. package/es/components/ErrorBoundary/ErrorBoundary.js +0 -10
  67. package/es/components/ErrorBoundary/ErrorBoundaryContext.js +0 -1
  68. package/es/components/ExpandableSearch/ExpandableSearch.js +1 -10
  69. package/es/components/FeatureFlags/index.js +8 -20
  70. package/es/components/FileUploader/FileUploader.Skeleton.js +0 -2
  71. package/es/components/FileUploader/FileUploader.js +3 -38
  72. package/es/components/FileUploader/FileUploaderButton.js +3 -24
  73. package/es/components/FileUploader/FileUploaderDropContainer.js +1 -28
  74. package/es/components/FileUploader/FileUploaderItem.js +5 -12
  75. package/es/components/FileUploader/Filename.js +6 -10
  76. package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +0 -1
  77. package/es/components/FluidComboBox/FluidComboBox.js +0 -18
  78. package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.js +0 -2
  79. package/es/components/FluidDatePicker/FluidDatePicker.js +0 -6
  80. package/es/components/FluidDatePickerInput/FluidDatePickerInput.js +2 -1
  81. package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +0 -1
  82. package/es/components/FluidDropdown/FluidDropdown.js +0 -18
  83. package/es/components/FluidForm/FluidForm.js +0 -2
  84. package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +0 -1
  85. package/es/components/FluidMultiSelect/FluidMultiSelect.js +0 -19
  86. package/es/components/FluidSelect/FluidSelect.Skeleton.js +0 -1
  87. package/es/components/FluidSelect/FluidSelect.js +0 -10
  88. package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +0 -1
  89. package/es/components/FluidTextArea/FluidTextArea.js +0 -20
  90. package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +0 -1
  91. package/es/components/FluidTextInput/FluidTextInput.js +0 -14
  92. package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +0 -3
  93. package/es/components/FluidTimePicker/FluidTimePicker.js +1 -11
  94. package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.js +0 -6
  95. package/es/components/Form/Form.d.ts +23 -0
  96. package/es/components/Form/Form.js +3 -6
  97. package/es/components/Form/index.d.ts +7 -0
  98. package/es/components/FormGroup/FormGroup.js +0 -7
  99. package/es/components/FormItem/FormItem.js +0 -2
  100. package/es/components/FormLabel/FormLabel.js +1 -7
  101. package/es/components/Grid/CSSGrid.js +2 -15
  102. package/es/components/Grid/Column.js +18 -59
  103. package/es/components/Grid/ColumnHang.js +2 -5
  104. package/es/components/Grid/FlexGrid.js +2 -8
  105. package/es/components/Grid/Grid.js +0 -8
  106. package/es/components/Grid/GridContext.js +1 -3
  107. package/es/components/Grid/Row.js +2 -7
  108. package/es/components/Heading/index.js +0 -4
  109. package/es/components/Icon/Icon.Skeleton.js +2 -2
  110. package/es/components/IconButton/index.js +0 -10
  111. package/es/components/IdPrefix/index.js +0 -2
  112. package/es/components/InlineCheckbox/InlineCheckbox.js +0 -14
  113. package/es/components/InlineLoading/InlineLoading.js +0 -12
  114. package/es/components/Layer/index.js +3 -6
  115. package/es/components/Layout/LayoutDirection.js +0 -3
  116. package/es/components/Layout/useLayoutDirection.js +0 -1
  117. package/es/components/Link/Link.js +3 -10
  118. package/es/components/ListBox/ListBox.js +2 -13
  119. package/es/components/ListBox/ListBoxField.js +0 -5
  120. package/es/components/ListBox/ListBoxMenuIcon.js +0 -4
  121. package/es/components/ListBox/ListBoxMenuItem.js +2 -6
  122. package/es/components/ListBox/ListBoxPropTypes.d.ts +2 -2
  123. package/es/components/ListBox/ListBoxSelection.js +1 -13
  124. package/es/components/ListBox/next/ListBoxSelection.js +1 -14
  125. package/es/components/ListBox/next/ListBoxTrigger.js +1 -3
  126. package/es/components/ListItem/ListItem.d.ts +23 -0
  127. package/es/components/ListItem/ListItem.js +4 -8
  128. package/es/components/ListItem/index.d.ts +7 -0
  129. package/es/components/Loading/Loading.js +0 -6
  130. package/es/components/Menu/Menu.js +22 -40
  131. package/es/components/Menu/MenuContext.js +4 -5
  132. package/es/components/Menu/MenuItem.js +5 -39
  133. package/es/components/MenuButton/index.js +0 -9
  134. package/es/components/Modal/Modal.js +1 -46
  135. package/es/components/ModalWrapper/ModalWrapper.js +2 -15
  136. package/es/components/MultiSelect/FilterableMultiSelect.js +2 -60
  137. package/es/components/MultiSelect/MultiSelect.js +22 -70
  138. package/es/components/MultiSelect/MultiSelectPropTypes.js +0 -1
  139. package/es/components/MultiSelect/index.js +0 -1
  140. package/es/components/MultiSelect/tools/itemToString.js +0 -2
  141. package/es/components/MultiSelect/tools/sorting.js +3 -4
  142. package/es/components/Notification/Notification.js +0 -78
  143. package/es/components/NumberInput/NumberInput.Skeleton.js +0 -2
  144. package/es/components/NumberInput/NumberInput.js +3 -60
  145. package/es/components/OrderedList/OrderedList.d.ts +39 -0
  146. package/es/components/OrderedList/OrderedList.js +7 -19
  147. package/es/components/{Form/index.js → OrderedList/index.d.ts} +1 -3
  148. package/es/components/OverflowMenu/OverflowMenu.js +65 -86
  149. package/es/components/OverflowMenuItem/OverflowMenuItem.js +6 -23
  150. package/es/components/OverflowMenuV2/index.js +0 -5
  151. package/es/components/Pagination/Pagination.Skeleton.js +0 -2
  152. package/es/components/Pagination/Pagination.js +11 -47
  153. package/es/components/Pagination/experimental/PageSelector.js +0 -10
  154. package/es/components/Pagination/experimental/Pagination.js +2 -48
  155. package/es/components/PaginationNav/PaginationNav.js +15 -59
  156. package/es/components/Popover/index.d.ts +14 -8
  157. package/es/components/Popover/index.js +44 -48
  158. package/es/components/PrimaryButton/PrimaryButton.js +0 -1
  159. package/es/components/ProgressBar/ProgressBar.js +0 -15
  160. package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +0 -4
  161. package/es/components/ProgressIndicator/ProgressIndicator.js +2 -40
  162. package/es/components/RadioButton/RadioButton.Skeleton.js +0 -1
  163. package/es/components/RadioButton/RadioButton.js +0 -13
  164. package/es/components/RadioButtonGroup/RadioButtonGroup.js +3 -23
  165. package/es/components/RadioTile/RadioTile.js +0 -12
  166. package/es/components/Search/Search.Skeleton.js +0 -2
  167. package/es/components/Search/Search.js +1 -28
  168. package/es/components/SecondaryButton/SecondaryButton.js +0 -1
  169. package/es/components/Select/Select.Skeleton.js +0 -2
  170. package/es/components/Select/Select.d.ts +1 -1
  171. package/es/components/Select/Select.js +6 -33
  172. package/es/components/SelectItem/SelectItem.js +0 -5
  173. package/es/components/SelectItemGroup/SelectItemGroup.d.ts +0 -1
  174. package/es/components/SelectItemGroup/SelectItemGroup.js +1 -7
  175. package/es/components/SkeletonIcon/SkeletonIcon.js +0 -2
  176. package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +0 -1
  177. package/es/components/SkeletonText/SkeletonText.js +0 -12
  178. package/es/components/Slider/Slider.Skeleton.js +0 -2
  179. package/es/components/Slider/Slider.d.ts +0 -1
  180. package/es/components/Slider/Slider.js +112 -135
  181. package/es/components/Stack/Stack.js +1 -8
  182. package/es/components/StructuredList/StructuredList.Skeleton.js +0 -5
  183. package/es/components/StructuredList/StructuredList.js +1 -25
  184. package/es/components/Switch/IconSwitch.js +0 -18
  185. package/es/components/Switch/Switch.js +0 -11
  186. package/es/components/TabContent/TabContent.js +2 -6
  187. package/es/components/Tabs/Tabs.Skeleton.js +0 -4
  188. package/es/components/Tabs/Tabs.js +135 -104
  189. package/es/components/Tabs/usePressable.js +18 -31
  190. package/es/components/Tag/Tag.Skeleton.js +0 -2
  191. package/es/components/Tag/Tag.js +0 -15
  192. package/es/components/Text/Text.js +5 -18
  193. package/es/components/Text/TextDirection.js +0 -3
  194. package/es/components/Text/TextDirectionContext.js +0 -1
  195. package/es/components/Text/createTextComponent.js +0 -3
  196. package/es/components/TextArea/TextArea.Skeleton.js +0 -2
  197. package/es/components/TextArea/TextArea.js +11 -33
  198. package/es/components/TextInput/ControlledPasswordInput.js +0 -20
  199. package/es/components/TextInput/PasswordInput.js +0 -25
  200. package/es/components/TextInput/TextInput.Skeleton.js +0 -2
  201. package/es/components/TextInput/TextInput.d.ts +1 -1
  202. package/es/components/TextInput/TextInput.js +5 -33
  203. package/es/components/TextInput/util.js +3 -5
  204. package/es/components/Theme/index.js +1 -6
  205. package/es/components/Tile/Tile.js +32 -59
  206. package/es/components/TileGroup/TileGroup.js +1 -22
  207. package/es/components/TimePicker/TimePicker.js +6 -32
  208. package/es/components/TimePickerSelect/TimePickerSelect.js +2 -5
  209. package/es/components/Toggle/Toggle.Skeleton.js +0 -8
  210. package/es/components/Toggle/Toggle.js +0 -16
  211. package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +0 -7
  212. package/es/components/Toggletip/index.d.ts +148 -0
  213. package/es/components/Toggletip/index.js +20 -44
  214. package/es/components/Tooltip/DefinitionTooltip.js +0 -11
  215. package/es/components/Tooltip/Tooltip.d.ts +1 -1
  216. package/es/components/Tooltip/Tooltip.js +4 -21
  217. package/es/components/TreeView/TreeNode.js +21 -66
  218. package/es/components/TreeView/TreeView.js +11 -67
  219. package/es/components/UIShell/Content.js +2 -4
  220. package/es/components/UIShell/Header.js +0 -2
  221. package/es/components/UIShell/HeaderContainer.d.ts +33 -0
  222. package/es/components/UIShell/HeaderContainer.js +13 -11
  223. package/es/components/UIShell/HeaderGlobalAction.js +0 -6
  224. package/es/components/UIShell/HeaderGlobalBar.js +0 -1
  225. package/es/components/UIShell/HeaderMenu.js +32 -31
  226. package/es/components/UIShell/HeaderMenuButton.js +2 -4
  227. package/es/components/UIShell/HeaderMenuItem.js +0 -8
  228. package/es/components/UIShell/HeaderName.js +0 -5
  229. package/es/components/UIShell/HeaderNavigation.js +0 -2
  230. package/es/components/UIShell/HeaderPanel.js +0 -2
  231. package/es/components/UIShell/HeaderSideNavItems.js +0 -2
  232. package/es/components/UIShell/Link.js +2 -3
  233. package/es/components/UIShell/SideNav.d.ts +3 -1
  234. package/es/components/UIShell/SideNav.js +44 -36
  235. package/es/components/UIShell/SideNavDetails.js +0 -3
  236. package/es/components/UIShell/SideNavDivider.js +0 -1
  237. package/es/components/UIShell/SideNavFooter.js +1 -4
  238. package/es/components/UIShell/SideNavHeader.js +0 -4
  239. package/es/components/UIShell/SideNavIcon.js +0 -3
  240. package/es/components/UIShell/SideNavItem.js +0 -3
  241. package/es/components/UIShell/SideNavItems.js +2 -6
  242. package/es/components/UIShell/SideNavLink.js +3 -7
  243. package/es/components/UIShell/SideNavLinkText.js +0 -2
  244. package/es/components/UIShell/SideNavMenu.js +0 -16
  245. package/es/components/UIShell/SideNavMenuItem.js +0 -2
  246. package/es/components/UIShell/SideNavSwitcher.js +2 -5
  247. package/es/components/UIShell/SkipToContent.d.ts +32 -0
  248. package/es/components/UIShell/SkipToContent.js +8 -15
  249. package/es/components/UIShell/Switcher.js +0 -2
  250. package/es/components/UIShell/SwitcherDivider.js +0 -1
  251. package/es/components/UIShell/SwitcherItem.js +0 -3
  252. package/es/components/UnorderedList/UnorderedList.d.ts +34 -0
  253. package/es/components/UnorderedList/UnorderedList.js +6 -16
  254. package/es/components/UnorderedList/index.d.ts +7 -0
  255. package/es/index.js +7 -8
  256. package/es/internal/ClickListener.js +3 -13
  257. package/es/internal/FloatingMenu.js +57 -63
  258. package/es/internal/OptimizedResize.js +6 -12
  259. package/es/internal/Selection.js +2 -25
  260. package/es/internal/createClassWrapper.js +0 -2
  261. package/es/internal/deprecateFieldOnObject.js +0 -4
  262. package/es/internal/focus/index.js +0 -1
  263. package/es/internal/keyboard/keys.js +2 -1
  264. package/es/internal/keyboard/match.js +1 -6
  265. package/es/internal/keyboard/navigation.js +8 -7
  266. package/es/internal/useAnnouncer.js +0 -1
  267. package/es/internal/useAttachedMenu.js +1 -9
  268. package/es/internal/useControllableState.js +6 -13
  269. package/es/internal/useDelayedState.js +2 -4
  270. package/es/internal/useEffectOnce.js +0 -1
  271. package/es/internal/useEvent.js +61 -3
  272. package/es/internal/useId.js +2 -5
  273. package/es/internal/useIsomorphicEffect.js +1 -0
  274. package/es/internal/useMergedRefs.js +2 -2
  275. package/es/internal/useNoInteractiveChildren.js +2 -13
  276. package/es/internal/useNormalizedInputProps.js +0 -3
  277. package/es/internal/useSavedCallback.js +0 -1
  278. package/es/internal/warning.js +0 -3
  279. package/es/internal/wrapFocus.js +1 -8
  280. package/es/prop-types/deprecate.js +2 -5
  281. package/es/prop-types/isRequiredOneOf.js +2 -5
  282. package/es/prop-types/requiredIfGivenPropIsTruthy.js +0 -2
  283. package/es/tools/array.js +0 -3
  284. package/es/tools/events.js +0 -3
  285. package/es/tools/mergeRefs.js +0 -2
  286. package/es/tools/wrapComponent.js +2 -5
  287. package/lib/_virtual/_rollupPluginBabelHelpers.js +17 -4
  288. package/lib/components/Accordion/Accordion.Skeleton.js +0 -7
  289. package/lib/components/Accordion/Accordion.js +1 -27
  290. package/lib/components/Accordion/AccordionItem.js +5 -19
  291. package/lib/components/AspectRatio/AspectRatio.js +0 -5
  292. package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +0 -3
  293. package/lib/components/Breadcrumb/Breadcrumb.js +0 -3
  294. package/lib/components/Breadcrumb/BreadcrumbItem.js +0 -7
  295. package/lib/components/Button/Button.Skeleton.js +2 -26
  296. package/lib/components/Button/Button.js +2 -36
  297. package/lib/components/ButtonSet/ButtonSet.js +0 -2
  298. package/lib/components/Checkbox/Checkbox.Skeleton.js +0 -1
  299. package/lib/components/Checkbox/Checkbox.js +4 -20
  300. package/lib/components/CheckboxGroup/CheckboxGroup.js +0 -11
  301. package/lib/components/ClassPrefix/index.d.ts +26 -0
  302. package/lib/components/ClassPrefix/index.js +0 -2
  303. package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +0 -5
  304. package/lib/components/CodeSnippet/CodeSnippet.js +6 -45
  305. package/lib/components/ComboBox/ComboBox.js +19 -86
  306. package/lib/components/ComboBox/tools/filter.js +0 -1
  307. package/lib/components/ComboButton/index.js +0 -14
  308. package/lib/components/ComposedModal/ComposedModal.js +2 -32
  309. package/lib/components/ComposedModal/ModalFooter.js +0 -21
  310. package/lib/components/ComposedModal/ModalHeader.js +0 -12
  311. package/lib/components/ContainedList/ContainedList.js +5 -32
  312. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +0 -6
  313. package/lib/components/ContentSwitcher/ContentSwitcher.js +11 -23
  314. package/lib/components/ContextMenu/useContextMenu.js +1 -6
  315. package/lib/components/Copy/Copy.js +8 -50
  316. package/lib/components/CopyButton/CopyButton.js +0 -4
  317. package/lib/components/DangerButton/DangerButton.js +0 -1
  318. package/lib/components/DataTable/DataTable.js +171 -91
  319. package/lib/components/DataTable/Table.js +0 -6
  320. package/lib/components/DataTable/TableBatchAction.js +0 -4
  321. package/lib/components/DataTable/TableBatchActions.js +0 -8
  322. package/lib/components/DataTable/TableBody.js +0 -1
  323. package/lib/components/DataTable/TableContainer.js +0 -5
  324. package/lib/components/DataTable/TableExpandHeader.js +0 -7
  325. package/lib/components/DataTable/TableExpandRow.js +0 -6
  326. package/lib/components/DataTable/TableExpandedRow.js +0 -6
  327. package/lib/components/DataTable/TableHeader.d.ts +1 -1
  328. package/lib/components/DataTable/TableHeader.js +3 -19
  329. package/lib/components/DataTable/TableRow.js +4 -5
  330. package/lib/components/DataTable/TableSelectAll.js +0 -8
  331. package/lib/components/DataTable/TableSelectRow.js +2 -10
  332. package/lib/components/DataTable/TableToolbar.js +0 -3
  333. package/lib/components/DataTable/TableToolbarMenu.d.ts +1 -1
  334. package/lib/components/DataTable/TableToolbarMenu.js +3 -6
  335. package/lib/components/DataTable/TableToolbarSearch.js +2 -30
  336. package/lib/components/DataTable/state/getDerivedStateFromProps.js +0 -4
  337. package/lib/components/DataTable/state/sorting.js +5 -8
  338. package/lib/components/DataTable/tools/denormalize.js +2 -2
  339. package/lib/components/DataTable/tools/filter.js +0 -2
  340. package/lib/components/DataTable/tools/instanceId.js +0 -1
  341. package/lib/components/DataTable/tools/normalize.js +10 -10
  342. package/lib/components/DataTable/tools/sorting.js +5 -13
  343. package/lib/components/DataTableSkeleton/DataTableSkeleton.js +5 -20
  344. package/lib/components/DatePicker/DatePicker.Skeleton.js +0 -6
  345. package/lib/components/DatePicker/DatePicker.js +153 -175
  346. package/lib/components/DatePicker/plugins/appendToPlugin.js +3 -7
  347. package/lib/components/DatePicker/plugins/fixEventsPlugin.js +14 -25
  348. package/lib/components/DatePicker/plugins/rangePlugin.js +2 -7
  349. package/lib/components/DatePickerInput/DatePickerInput.js +2 -28
  350. package/lib/components/Dropdown/Dropdown.Skeleton.js +0 -2
  351. package/lib/components/Dropdown/Dropdown.js +50 -59
  352. package/lib/components/ErrorBoundary/ErrorBoundary.js +0 -10
  353. package/lib/components/ErrorBoundary/ErrorBoundaryContext.js +0 -1
  354. package/lib/components/ExpandableSearch/ExpandableSearch.js +1 -10
  355. package/lib/components/FeatureFlags/index.js +8 -20
  356. package/lib/components/FileUploader/FileUploader.Skeleton.js +0 -2
  357. package/lib/components/FileUploader/FileUploader.js +3 -57
  358. package/lib/components/FileUploader/FileUploaderButton.js +3 -43
  359. package/lib/components/FileUploader/FileUploaderDropContainer.js +1 -28
  360. package/lib/components/FileUploader/FileUploaderItem.js +5 -31
  361. package/lib/components/FileUploader/Filename.js +6 -10
  362. package/lib/components/FluidComboBox/FluidComboBox.Skeleton.js +0 -1
  363. package/lib/components/FluidComboBox/FluidComboBox.js +0 -18
  364. package/lib/components/FluidDatePicker/FluidDatePicker.Skeleton.js +0 -2
  365. package/lib/components/FluidDatePicker/FluidDatePicker.js +0 -6
  366. package/lib/components/FluidDatePickerInput/FluidDatePickerInput.js +2 -1
  367. package/lib/components/FluidDropdown/FluidDropdown.Skeleton.js +0 -1
  368. package/lib/components/FluidDropdown/FluidDropdown.js +0 -18
  369. package/lib/components/FluidForm/FluidForm.js +0 -2
  370. package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +0 -1
  371. package/lib/components/FluidMultiSelect/FluidMultiSelect.js +0 -19
  372. package/lib/components/FluidSelect/FluidSelect.Skeleton.js +0 -1
  373. package/lib/components/FluidSelect/FluidSelect.js +0 -10
  374. package/lib/components/FluidTextArea/FluidTextArea.Skeleton.js +0 -1
  375. package/lib/components/FluidTextArea/FluidTextArea.js +0 -20
  376. package/lib/components/FluidTextInput/FluidTextInput.Skeleton.js +0 -1
  377. package/lib/components/FluidTextInput/FluidTextInput.js +0 -14
  378. package/lib/components/FluidTimePicker/FluidTimePicker.Skeleton.js +0 -3
  379. package/lib/components/FluidTimePicker/FluidTimePicker.js +1 -11
  380. package/lib/components/FluidTimePickerSelect/FluidTimePickerSelect.js +0 -6
  381. package/lib/components/Form/Form.d.ts +23 -0
  382. package/lib/components/Form/Form.js +3 -6
  383. package/lib/components/Form/index.d.ts +7 -0
  384. package/lib/components/FormGroup/FormGroup.js +0 -7
  385. package/lib/components/FormItem/FormItem.js +0 -2
  386. package/lib/components/FormLabel/FormLabel.js +1 -26
  387. package/lib/components/Grid/CSSGrid.js +2 -15
  388. package/lib/components/Grid/Column.js +18 -59
  389. package/lib/components/Grid/ColumnHang.js +2 -5
  390. package/lib/components/Grid/FlexGrid.js +2 -8
  391. package/lib/components/Grid/Grid.js +0 -8
  392. package/lib/components/Grid/GridContext.js +1 -3
  393. package/lib/components/Grid/Row.js +2 -7
  394. package/lib/components/Heading/index.js +0 -4
  395. package/lib/components/Icon/Icon.Skeleton.js +2 -2
  396. package/lib/components/IconButton/index.js +0 -10
  397. package/lib/components/IdPrefix/index.js +0 -2
  398. package/lib/components/InlineCheckbox/InlineCheckbox.js +0 -14
  399. package/lib/components/InlineLoading/InlineLoading.js +0 -12
  400. package/lib/components/Layer/index.js +3 -6
  401. package/lib/components/Layout/LayoutDirection.js +0 -3
  402. package/lib/components/Layout/useLayoutDirection.js +0 -1
  403. package/lib/components/Link/Link.js +3 -10
  404. package/lib/components/ListBox/ListBox.js +2 -13
  405. package/lib/components/ListBox/ListBoxField.js +0 -5
  406. package/lib/components/ListBox/ListBoxMenuIcon.js +0 -4
  407. package/lib/components/ListBox/ListBoxMenuItem.js +2 -6
  408. package/lib/components/ListBox/ListBoxPropTypes.d.ts +2 -2
  409. package/lib/components/ListBox/ListBoxSelection.js +1 -13
  410. package/lib/components/ListBox/next/ListBoxSelection.js +1 -14
  411. package/lib/components/ListBox/next/ListBoxTrigger.js +1 -3
  412. package/lib/components/ListItem/ListItem.d.ts +23 -0
  413. package/lib/components/ListItem/ListItem.js +4 -8
  414. package/lib/components/ListItem/index.d.ts +7 -0
  415. package/lib/components/Loading/Loading.js +0 -6
  416. package/lib/components/Menu/Menu.js +22 -40
  417. package/lib/components/Menu/MenuContext.js +4 -5
  418. package/lib/components/Menu/MenuItem.js +5 -39
  419. package/lib/components/MenuButton/index.js +0 -9
  420. package/lib/components/Modal/Modal.js +1 -46
  421. package/lib/components/ModalWrapper/ModalWrapper.js +2 -15
  422. package/lib/components/MultiSelect/FilterableMultiSelect.js +8 -66
  423. package/lib/components/MultiSelect/MultiSelect.js +30 -78
  424. package/lib/components/MultiSelect/MultiSelectPropTypes.js +0 -1
  425. package/lib/components/MultiSelect/index.js +0 -1
  426. package/lib/components/MultiSelect/tools/itemToString.js +0 -2
  427. package/lib/components/MultiSelect/tools/sorting.js +3 -4
  428. package/lib/components/Notification/Notification.js +0 -78
  429. package/lib/components/NumberInput/NumberInput.Skeleton.js +0 -2
  430. package/lib/components/NumberInput/NumberInput.js +3 -60
  431. package/lib/components/OrderedList/OrderedList.d.ts +39 -0
  432. package/lib/components/OrderedList/OrderedList.js +7 -19
  433. package/lib/components/OrderedList/index.d.ts +7 -0
  434. package/lib/components/OverflowMenu/OverflowMenu.js +65 -86
  435. package/lib/components/OverflowMenuItem/OverflowMenuItem.js +6 -23
  436. package/lib/components/OverflowMenuV2/index.js +0 -5
  437. package/lib/components/Pagination/Pagination.Skeleton.js +0 -2
  438. package/lib/components/Pagination/Pagination.js +11 -47
  439. package/lib/components/Pagination/experimental/PageSelector.js +0 -10
  440. package/lib/components/Pagination/experimental/Pagination.js +2 -67
  441. package/lib/components/PaginationNav/PaginationNav.js +15 -78
  442. package/lib/components/Popover/index.d.ts +14 -8
  443. package/lib/components/Popover/index.js +44 -48
  444. package/lib/components/PrimaryButton/PrimaryButton.js +0 -1
  445. package/lib/components/ProgressBar/ProgressBar.js +0 -15
  446. package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +0 -4
  447. package/lib/components/ProgressIndicator/ProgressIndicator.js +2 -40
  448. package/lib/components/RadioButton/RadioButton.Skeleton.js +0 -1
  449. package/lib/components/RadioButton/RadioButton.js +0 -13
  450. package/lib/components/RadioButtonGroup/RadioButtonGroup.js +3 -23
  451. package/lib/components/RadioTile/RadioTile.js +0 -12
  452. package/lib/components/Search/Search.Skeleton.js +0 -2
  453. package/lib/components/Search/Search.js +1 -28
  454. package/lib/components/SecondaryButton/SecondaryButton.js +0 -1
  455. package/lib/components/Select/Select.Skeleton.js +0 -2
  456. package/lib/components/Select/Select.d.ts +1 -1
  457. package/lib/components/Select/Select.js +6 -33
  458. package/lib/components/SelectItem/SelectItem.js +0 -5
  459. package/lib/components/SelectItemGroup/SelectItemGroup.d.ts +0 -1
  460. package/lib/components/SelectItemGroup/SelectItemGroup.js +1 -26
  461. package/lib/components/SkeletonIcon/SkeletonIcon.js +0 -2
  462. package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +0 -1
  463. package/lib/components/SkeletonText/SkeletonText.js +0 -12
  464. package/lib/components/Slider/Slider.Skeleton.js +0 -2
  465. package/lib/components/Slider/Slider.d.ts +0 -1
  466. package/lib/components/Slider/Slider.js +112 -154
  467. package/lib/components/Stack/Stack.js +1 -8
  468. package/lib/components/StructuredList/StructuredList.Skeleton.js +0 -5
  469. package/lib/components/StructuredList/StructuredList.js +1 -25
  470. package/lib/components/Switch/IconSwitch.js +0 -18
  471. package/lib/components/Switch/Switch.js +0 -11
  472. package/lib/components/TabContent/TabContent.js +2 -6
  473. package/lib/components/Tabs/Tabs.Skeleton.js +0 -4
  474. package/lib/components/Tabs/Tabs.js +133 -102
  475. package/lib/components/Tabs/usePressable.js +18 -31
  476. package/lib/components/Tag/Tag.Skeleton.js +0 -2
  477. package/lib/components/Tag/Tag.js +0 -15
  478. package/lib/components/Text/Text.js +5 -18
  479. package/lib/components/Text/TextDirection.js +0 -3
  480. package/lib/components/Text/TextDirectionContext.js +0 -1
  481. package/lib/components/Text/createTextComponent.js +0 -3
  482. package/lib/components/TextArea/TextArea.Skeleton.js +0 -2
  483. package/lib/components/TextArea/TextArea.js +10 -32
  484. package/lib/components/TextInput/ControlledPasswordInput.js +0 -20
  485. package/lib/components/TextInput/PasswordInput.js +0 -25
  486. package/lib/components/TextInput/TextInput.Skeleton.js +0 -2
  487. package/lib/components/TextInput/TextInput.d.ts +1 -1
  488. package/lib/components/TextInput/TextInput.js +5 -52
  489. package/lib/components/TextInput/util.js +3 -5
  490. package/lib/components/Theme/index.js +1 -6
  491. package/lib/components/Tile/Tile.js +31 -58
  492. package/lib/components/TileGroup/TileGroup.js +1 -22
  493. package/lib/components/TimePicker/TimePicker.js +6 -32
  494. package/lib/components/TimePickerSelect/TimePickerSelect.js +2 -5
  495. package/lib/components/Toggle/Toggle.Skeleton.js +0 -8
  496. package/lib/components/Toggle/Toggle.js +0 -16
  497. package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +0 -7
  498. package/lib/components/Toggletip/index.d.ts +148 -0
  499. package/lib/components/Toggletip/index.js +20 -44
  500. package/lib/components/Tooltip/DefinitionTooltip.js +0 -11
  501. package/lib/components/Tooltip/Tooltip.d.ts +1 -1
  502. package/lib/components/Tooltip/Tooltip.js +4 -21
  503. package/lib/components/TreeView/TreeNode.js +21 -66
  504. package/lib/components/TreeView/TreeView.js +11 -67
  505. package/lib/components/UIShell/Content.js +2 -4
  506. package/lib/components/UIShell/Header.js +0 -2
  507. package/lib/components/UIShell/HeaderContainer.d.ts +33 -0
  508. package/lib/components/UIShell/HeaderContainer.js +13 -11
  509. package/lib/components/UIShell/HeaderGlobalAction.js +0 -6
  510. package/lib/components/UIShell/HeaderGlobalBar.js +0 -1
  511. package/lib/components/UIShell/HeaderMenu.js +32 -31
  512. package/lib/components/UIShell/HeaderMenuButton.js +2 -4
  513. package/lib/components/UIShell/HeaderMenuItem.js +0 -8
  514. package/lib/components/UIShell/HeaderName.js +0 -5
  515. package/lib/components/UIShell/HeaderNavigation.js +0 -2
  516. package/lib/components/UIShell/HeaderPanel.js +0 -2
  517. package/lib/components/UIShell/HeaderSideNavItems.js +0 -2
  518. package/lib/components/UIShell/Link.js +2 -3
  519. package/lib/components/UIShell/SideNav.d.ts +3 -1
  520. package/lib/components/UIShell/SideNav.js +43 -35
  521. package/lib/components/UIShell/SideNavDetails.js +0 -3
  522. package/lib/components/UIShell/SideNavDivider.js +0 -1
  523. package/lib/components/UIShell/SideNavFooter.js +1 -4
  524. package/lib/components/UIShell/SideNavHeader.js +0 -4
  525. package/lib/components/UIShell/SideNavIcon.js +0 -3
  526. package/lib/components/UIShell/SideNavItem.js +0 -3
  527. package/lib/components/UIShell/SideNavItems.js +2 -6
  528. package/lib/components/UIShell/SideNavLink.js +3 -7
  529. package/lib/components/UIShell/SideNavLinkText.js +0 -2
  530. package/lib/components/UIShell/SideNavMenu.js +0 -16
  531. package/lib/components/UIShell/SideNavMenuItem.js +0 -2
  532. package/lib/components/UIShell/SideNavSwitcher.js +2 -5
  533. package/lib/components/UIShell/SkipToContent.d.ts +32 -0
  534. package/lib/components/UIShell/SkipToContent.js +8 -15
  535. package/lib/components/UIShell/Switcher.js +0 -2
  536. package/lib/components/UIShell/SwitcherDivider.js +0 -1
  537. package/lib/components/UIShell/SwitcherItem.js +0 -3
  538. package/lib/components/UnorderedList/UnorderedList.d.ts +34 -0
  539. package/lib/components/UnorderedList/UnorderedList.js +6 -16
  540. package/lib/components/UnorderedList/index.d.ts +7 -0
  541. package/lib/index.js +42 -43
  542. package/lib/internal/ClickListener.js +3 -13
  543. package/lib/internal/FloatingMenu.js +57 -63
  544. package/lib/internal/OptimizedResize.js +6 -12
  545. package/lib/internal/Selection.js +2 -25
  546. package/lib/internal/createClassWrapper.js +0 -2
  547. package/lib/internal/deprecateFieldOnObject.js +0 -4
  548. package/lib/internal/focus/index.js +0 -1
  549. package/lib/internal/keyboard/keys.js +2 -1
  550. package/lib/internal/keyboard/match.js +1 -6
  551. package/lib/internal/keyboard/navigation.js +8 -7
  552. package/lib/internal/useAnnouncer.js +0 -1
  553. package/lib/internal/useAttachedMenu.js +1 -9
  554. package/lib/internal/useControllableState.js +6 -13
  555. package/lib/internal/useDelayedState.js +2 -4
  556. package/lib/internal/useEffectOnce.js +0 -1
  557. package/lib/internal/useEvent.js +61 -2
  558. package/lib/internal/useId.js +2 -5
  559. package/lib/internal/useIsomorphicEffect.js +1 -0
  560. package/lib/internal/useMergedRefs.js +2 -2
  561. package/lib/internal/useNoInteractiveChildren.js +2 -13
  562. package/lib/internal/useNormalizedInputProps.js +0 -3
  563. package/lib/internal/useSavedCallback.js +0 -1
  564. package/lib/internal/warning.js +0 -3
  565. package/lib/internal/wrapFocus.js +1 -8
  566. package/lib/prop-types/deprecate.js +2 -5
  567. package/lib/prop-types/isRequiredOneOf.js +2 -5
  568. package/lib/prop-types/requiredIfGivenPropIsTruthy.js +0 -2
  569. package/lib/tools/array.js +0 -3
  570. package/lib/tools/events.js +0 -3
  571. package/lib/tools/mergeRefs.js +0 -2
  572. package/lib/tools/wrapComponent.js +2 -5
  573. package/package.json +9 -9
  574. package/es/components/Tab/Tab.js +0 -185
  575. package/es/components/Tab/index.js +0 -14
  576. package/es/components/TimePickerSelect/index.js +0 -13
  577. package/lib/components/Form/index.js +0 -17
  578. package/lib/components/Tab/Tab.js +0 -214
  579. package/lib/components/Tab/index.js +0 -39
  580. package/lib/components/TimePickerSelect/index.js +0 -38
@@ -69,8 +69,8 @@ const defaultTranslations = {
69
69
  [translationKeys.selectRow]: 'Select row',
70
70
  [translationKeys.unselectRow]: 'Unselect row'
71
71
  };
72
-
73
72
  const translateWithId = id => defaultTranslations[id];
73
+
74
74
  /**
75
75
  * Data Tables are used to represent a collection of resources, displaying a
76
76
  * subset of their fields in columns, or headers. We prioritize direct updates
@@ -81,15 +81,11 @@ const translateWithId = id => defaultTranslations[id];
81
81
  * and updating the state of the single entity will cascade updates to the
82
82
  * consumer.
83
83
  */
84
-
85
-
86
84
  class DataTable extends React__default["default"].Component {
87
85
  constructor(_props) {
88
86
  var _this;
89
-
90
87
  super(_props);
91
88
  _this = this;
92
-
93
89
  _rollupPluginBabelHelpers.defineProperty(this, "getHeaderProps", _ref => {
94
90
  let {
95
91
  header,
@@ -101,7 +97,8 @@ class DataTable extends React__default["default"].Component {
101
97
  sortDirection,
102
98
  sortHeaderKey
103
99
  } = this.state;
104
- return { ...rest,
100
+ return {
101
+ ...rest,
105
102
  key: header.key,
106
103
  sortDirection,
107
104
  isSortable,
@@ -119,7 +116,6 @@ class DataTable extends React__default["default"].Component {
119
116
  }
120
117
  };
121
118
  });
122
-
123
119
  _rollupPluginBabelHelpers.defineProperty(this, "getExpandHeaderProps", function () {
124
120
  let {
125
121
  onClick,
@@ -136,7 +132,8 @@ class DataTable extends React__default["default"].Component {
136
132
  } = _this.state;
137
133
  const isExpanded = isExpandedAll || rowIds.every(id => rowsById[id].isExpanded);
138
134
  const translationKey = isExpanded ? translationKeys.collapseAll : translationKeys.expandAll;
139
- return { ...rest,
135
+ return {
136
+ ...rest,
140
137
  ariaLabel: t(translationKey),
141
138
  isExpanded,
142
139
  // Compose the event handlers so we don't overwrite a consumer's `onClick`
@@ -146,15 +143,12 @@ class DataTable extends React__default["default"].Component {
146
143
  }) : null])
147
144
  };
148
145
  });
149
-
150
146
  _rollupPluginBabelHelpers.defineProperty(this, "handleOnHeaderClick", (onClick, sortParams) => {
151
147
  return e => onClick(e, sortParams);
152
148
  });
153
-
154
149
  _rollupPluginBabelHelpers.defineProperty(this, "handleOnExpandHeaderClick", (onClick, expandParams) => {
155
150
  return e => onClick(e, expandParams);
156
151
  });
157
-
158
152
  _rollupPluginBabelHelpers.defineProperty(this, "getRowProps", _ref2 => {
159
153
  let {
160
154
  row,
@@ -165,7 +159,8 @@ class DataTable extends React__default["default"].Component {
165
159
  translateWithId: t
166
160
  } = this.props;
167
161
  const translationKey = row.isExpanded ? translationKeys.collapseRow : translationKeys.expandRow;
168
- return { ...rest,
162
+ return {
163
+ ...rest,
169
164
  key: row.id,
170
165
  // Compose the event handlers so we don't overwrite a consumer's `onClick`
171
166
  // handler
@@ -176,7 +171,6 @@ class DataTable extends React__default["default"].Component {
176
171
  disabled: row.disabled
177
172
  };
178
173
  });
179
-
180
174
  _rollupPluginBabelHelpers.defineProperty(this, "getSelectionProps", function () {
181
175
  let {
182
176
  onClick,
@@ -185,11 +179,13 @@ class DataTable extends React__default["default"].Component {
185
179
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
186
180
  const {
187
181
  translateWithId: t
188
- } = _this.props; // If we're given a row, return the selection state values for that row
182
+ } = _this.props;
189
183
 
184
+ // If we're given a row, return the selection state values for that row
190
185
  if (row) {
191
186
  const translationKey = row.isSelected ? translationKeys.unselectRow : translationKeys.selectRow;
192
- return { ...rest,
187
+ return {
188
+ ...rest,
193
189
  checked: row.isSelected,
194
190
  onSelect: events.composeEventHandlers([_this.handleOnSelectRow(row.id), onClick]),
195
191
  id: `${_this.getTablePrefix()}__select-row-${row.id}`,
@@ -198,18 +194,17 @@ class DataTable extends React__default["default"].Component {
198
194
  disabled: row.disabled,
199
195
  radio: _this.props.radio || null
200
196
  };
201
- } // Otherwise, we're working on `TableSelectAll` which handles toggling the
202
- // selection state of all rows.
203
-
197
+ }
204
198
 
199
+ // Otherwise, we're working on `TableSelectAll` which handles toggling the
200
+ // selection state of all rows.
205
201
  const rowCount = _this.state.rowIds.length;
206
-
207
202
  const selectedRowCount = _this.getSelectedRows().length;
208
-
209
203
  const checked = rowCount > 0 && selectedRowCount === rowCount;
210
204
  const indeterminate = rowCount > 0 && selectedRowCount > 0 && selectedRowCount !== rowCount;
211
205
  const translationKey = checked || indeterminate ? translationKeys.unselectAll : translationKeys.selectAll;
212
- return { ...rest,
206
+ return {
207
+ ...rest,
213
208
  ariaLabel: t(translationKey),
214
209
  checked,
215
210
  id: `${_this.getTablePrefix()}__select-all`,
@@ -218,33 +213,30 @@ class DataTable extends React__default["default"].Component {
218
213
  onSelect: events.composeEventHandlers([_this.handleSelectAll, onClick])
219
214
  };
220
215
  });
221
-
222
216
  _rollupPluginBabelHelpers.defineProperty(this, "getToolbarProps", function () {
223
217
  let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
224
218
  const {
225
219
  size
226
220
  } = _this.props;
227
221
  let isSmall = size === 'xs' || size === 'sm';
228
- return { ...props,
222
+ return {
223
+ ...props,
229
224
  size: isSmall ? 'sm' : undefined
230
225
  };
231
226
  });
232
-
233
227
  _rollupPluginBabelHelpers.defineProperty(this, "getBatchActionProps", function () {
234
228
  let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
235
229
  const {
236
230
  shouldShowBatchActions
237
231
  } = _this.state;
238
-
239
232
  const totalSelected = _this.getSelectedRows().length;
240
-
241
- return { ...props,
233
+ return {
234
+ ...props,
242
235
  shouldShowBatchActions: shouldShowBatchActions && totalSelected > 0,
243
236
  totalSelected,
244
237
  onCancel: _this.handleOnCancel
245
238
  };
246
239
  });
247
-
248
240
  _rollupPluginBabelHelpers.defineProperty(this, "getTableProps", () => {
249
241
  const {
250
242
  useZebraStyles,
@@ -263,7 +255,6 @@ class DataTable extends React__default["default"].Component {
263
255
  overflowMenuOnHover
264
256
  };
265
257
  });
266
-
267
258
  _rollupPluginBabelHelpers.defineProperty(this, "getTableContainerProps", () => {
268
259
  const {
269
260
  stickyHeader,
@@ -274,12 +265,10 @@ class DataTable extends React__default["default"].Component {
274
265
  useStaticWidth
275
266
  };
276
267
  });
277
-
278
268
  _rollupPluginBabelHelpers.defineProperty(this, "getSelectedRows", () => this.state.rowIds.filter(id => {
279
269
  const row = this.state.rowsById[id];
280
270
  return row.isSelected && !row.disabled;
281
271
  }));
282
-
283
272
  _rollupPluginBabelHelpers.defineProperty(this, "getFilteredRowIds", () => {
284
273
  const filteredRowIds = typeof this.state.filterInputValue === 'string' ? this.props.filterRows({
285
274
  rowIds: this.state.rowIds,
@@ -288,31 +277,30 @@ class DataTable extends React__default["default"].Component {
288
277
  inputValue: this.state.filterInputValue,
289
278
  getCellId: cells.getCellId
290
279
  }) : this.state.rowIds;
291
-
292
280
  if (filteredRowIds.length == 0) {
293
281
  return [];
294
282
  }
295
-
296
283
  return filteredRowIds;
297
284
  });
298
-
299
285
  _rollupPluginBabelHelpers.defineProperty(this, "getTablePrefix", () => `data-table-${this.instanceId}`);
300
-
301
286
  _rollupPluginBabelHelpers.defineProperty(this, "setAllSelectedState", (initialState, isSelected, filteredRowIds) => {
302
287
  const {
303
288
  rowIds
304
289
  } = initialState;
290
+ const isFiltered = rowIds.length != filteredRowIds.length;
305
291
  return {
306
- rowsById: rowIds.reduce((acc, id) => ({ ...acc,
307
- [id]: { ...initialState.rowsById[id],
308
- ...(!initialState.rowsById[id].disabled && {
309
- isSelected: filteredRowIds.includes(id) && isSelected
310
- })
292
+ rowsById: rowIds.reduce((acc, id) => {
293
+ const row = {
294
+ ...initialState.rowsById[id]
295
+ };
296
+ if (!row.disabled && (!isFiltered || filteredRowIds.includes(id))) {
297
+ row.isSelected = isSelected;
311
298
  }
312
- }), {})
299
+ acc[id] = row; // Local mutation for performance with large tables
300
+ return acc;
301
+ }, {})
313
302
  };
314
303
  });
315
-
316
304
  _rollupPluginBabelHelpers.defineProperty(this, "handleOnCancel", () => {
317
305
  this.setState(state => {
318
306
  return {
@@ -321,7 +309,6 @@ class DataTable extends React__default["default"].Component {
321
309
  };
322
310
  });
323
311
  });
324
-
325
312
  _rollupPluginBabelHelpers.defineProperty(this, "handleSelectAll", () => {
326
313
  this.setState(state => {
327
314
  const filteredRowIds = this.getFilteredRowIds();
@@ -335,11 +322,9 @@ class DataTable extends React__default["default"].Component {
335
322
  };
336
323
  });
337
324
  });
338
-
339
325
  _rollupPluginBabelHelpers.defineProperty(this, "handleOnSelectRow", rowId => () => {
340
326
  this.setState(state => {
341
327
  const row = state.rowsById[rowId];
342
-
343
328
  if (this.props.radio) {
344
329
  // deselect all radio buttons
345
330
  const rowsById = Object.entries(state.rowsById).reduce((p, c) => {
@@ -350,16 +335,17 @@ class DataTable extends React__default["default"].Component {
350
335
  }, {});
351
336
  return {
352
337
  shouldShowBatchActions: false,
353
- rowsById: { ...rowsById,
354
- [rowId]: { ...row,
338
+ rowsById: {
339
+ ...rowsById,
340
+ [rowId]: {
341
+ ...row,
355
342
  isSelected: !row.isSelected
356
343
  }
357
344
  }
358
345
  };
359
346
  }
360
-
361
- const selectedRows = state.rowIds.filter(id => state.rowsById[id].isSelected).length; // Predict the length of the selected rows after this change occurs
362
-
347
+ const selectedRows = state.rowIds.filter(id => state.rowsById[id].isSelected).length;
348
+ // Predict the length of the selected rows after this change occurs
363
349
  const selectedRowsCount = !row.isSelected ? selectedRows + 1 : selectedRows - 1;
364
350
  return {
365
351
  // Basic assumption here is that we want to show the batch action bar if
@@ -367,15 +353,16 @@ class DataTable extends React__default["default"].Component {
367
353
  // have a non-zero number of selected rows that batch actions could
368
354
  // still apply to
369
355
  shouldShowBatchActions: !row.isSelected || selectedRowsCount > 0,
370
- rowsById: { ...state.rowsById,
371
- [rowId]: { ...row,
356
+ rowsById: {
357
+ ...state.rowsById,
358
+ [rowId]: {
359
+ ...row,
372
360
  isSelected: !row.isSelected
373
361
  }
374
362
  }
375
363
  };
376
364
  });
377
365
  });
378
-
379
366
  _rollupPluginBabelHelpers.defineProperty(this, "handleOnExpandRow", rowId => () => {
380
367
  this.setState(state => {
381
368
  const row = state.rowsById[rowId];
@@ -384,15 +371,16 @@ class DataTable extends React__default["default"].Component {
384
371
  } = state;
385
372
  return {
386
373
  isExpandedAll: row.isExpanded ? false : isExpandedAll,
387
- rowsById: { ...state.rowsById,
388
- [rowId]: { ...row,
374
+ rowsById: {
375
+ ...state.rowsById,
376
+ [rowId]: {
377
+ ...row,
389
378
  isExpanded: !row.isExpanded
390
379
  }
391
380
  }
392
381
  };
393
382
  });
394
383
  });
395
-
396
384
  _rollupPluginBabelHelpers.defineProperty(this, "handleOnExpandAll", () => {
397
385
  this.setState(state => {
398
386
  const {
@@ -401,69 +389,64 @@ class DataTable extends React__default["default"].Component {
401
389
  } = state;
402
390
  return {
403
391
  isExpandedAll: !isExpandedAll,
404
- rowsById: rowIds.reduce((acc, id) => ({ ...acc,
405
- [id]: { ...state.rowsById[id],
392
+ rowsById: rowIds.reduce((acc, id) => ({
393
+ ...acc,
394
+ [id]: {
395
+ ...state.rowsById[id],
406
396
  isExpanded: !isExpandedAll
407
397
  }
408
398
  }), {})
409
399
  };
410
400
  });
411
401
  });
412
-
413
402
  _rollupPluginBabelHelpers.defineProperty(this, "handleSortBy", headerKey => () => {
414
403
  this.setState(state => sorting.getNextSortState(this.props, state, {
415
404
  key: headerKey
416
405
  }));
417
406
  });
418
-
419
407
  _rollupPluginBabelHelpers.defineProperty(this, "handleOnInputValueChange", (event, defaultValue) => {
420
408
  if (event.target) {
421
409
  this.setState({
422
410
  filterInputValue: event.target.value
423
411
  });
424
412
  }
425
-
426
413
  if (defaultValue) {
427
414
  this.setState({
428
415
  filterInputValue: defaultValue
429
416
  });
430
417
  }
431
418
  });
432
-
433
- this.state = { ...getDerivedStateFromProps["default"](_props, {}),
419
+ this.state = {
420
+ ...getDerivedStateFromProps["default"](_props, {}),
434
421
  isExpandedAll: false // Start with collapsed state, treat `undefined` as neutral state
435
-
436
422
  };
437
- this.instanceId = getInstanceId();
438
- } // if state needs to be updated then wait for only update after state is finished
439
423
 
424
+ this.instanceId = getInstanceId();
425
+ }
440
426
 
427
+ // if state needs to be updated then wait for only update after state is finished
441
428
  shouldComponentUpdate(nextProps) {
442
429
  if (this.props !== nextProps) {
443
430
  const nextRowIds = nextProps.rows.map(row => row.id);
444
431
  const rowIds = this.props.rows.map(row => row.id);
445
-
446
432
  if (!isEqual__default["default"](nextRowIds, rowIds)) {
447
433
  this.setState(state => getDerivedStateFromProps["default"](this.props, state));
448
434
  return false;
449
435
  }
450
-
451
436
  const nextHeaders = nextProps.headers.map(header => header.key);
452
437
  const headers = this.props.headers.map(header => header.key);
453
-
454
438
  if (!isEqual__default["default"](nextHeaders, headers)) {
455
439
  this.setState(state => getDerivedStateFromProps["default"](this.props, state));
456
440
  return false;
457
441
  }
458
-
459
442
  if (!isEqual__default["default"](nextProps.rows, this.props.rows)) {
460
443
  this.setState(state => getDerivedStateFromProps["default"](this.props, state));
461
444
  return false;
462
445
  }
463
446
  }
464
-
465
447
  return true;
466
448
  }
449
+
467
450
  /**
468
451
  * Get the props associated with the given header. Mostly used for adding in
469
452
  * sorting behavior.
@@ -475,6 +458,123 @@ class DataTable extends React__default["default"].Component {
475
458
  * @returns {object}
476
459
  */
477
460
 
461
+ /**
462
+ * Get the props associated with the given expand header.
463
+ *
464
+ * @param {object} config
465
+ * @param {Function} config.onClick a custom click handler for the expand header
466
+ * @param {Function} config.onExpand a custom click handler called when header is expanded
467
+ * @returns {object}
468
+ */
469
+
470
+ /**
471
+ * Decorate consumer's `onClick` event handler with sort parameters
472
+ *
473
+ * @param {Function} onClick
474
+ * @param {object} sortParams
475
+ * @returns {Function}
476
+ */
477
+
478
+ /**
479
+ * Decorate consumer's `onClick` event handler with sort parameters
480
+ *
481
+ * @param {Function} onClick
482
+ * @param {object} expandParams
483
+ * @returns {Function}
484
+ */
485
+
486
+ /**
487
+ * Get the props associated with the given row. Mostly used for expansion.
488
+ *
489
+ * @param {object} config
490
+ * @param {object} config.row the row we want the props for
491
+ * @param {Function} config.onClick a custom click handler for the header
492
+ * @returns {object}
493
+ */
494
+
495
+ /**
496
+ * Gets the props associated with selection for a header or a row, where
497
+ * applicable. Most often used to indicate selection status of the table or
498
+ * for a specific row.
499
+ *
500
+ * @param {object} [row] an optional row that we want to access the props for
501
+ * @param {Function} row.onClick
502
+ * @param {object} row.row
503
+ * @returns {object}
504
+ */
505
+
506
+ /**
507
+ * Helper utility to get the Table Props.
508
+ */
509
+
510
+ /**
511
+ * Helper utility to get the TableContainer Props.
512
+ */
513
+
514
+ /**
515
+ * Helper utility to get all the currently selected rows
516
+ * @returns {Array<string>} the array of rowIds that are currently selected
517
+ */
518
+
519
+ /**
520
+ * Helper utility to get all of the available rows after applying the filter
521
+ * @returns {Array<string>} the array of rowIds that are currently included through the filter
522
+ * */
523
+
524
+ /**
525
+ * Helper for getting the table prefix for elements that require an
526
+ * `id` attribute that is unique.
527
+ *
528
+ * @returns {string}
529
+ */
530
+
531
+ /**
532
+ * Helper for toggling all selected items in a state. Does not call
533
+ * setState, so use it when setting state.
534
+ * @param {object} initialState
535
+ * @returns {object} object to put into this.setState (use spread operator)
536
+ */
537
+
538
+ /**
539
+ * Handler for the `onCancel` event to hide the batch action bar and
540
+ * deselect all selected rows
541
+ */
542
+
543
+ /**
544
+ * Handler for toggling the selection state of all rows in the database
545
+ */
546
+
547
+ /**
548
+ * Handler for toggling the selection state of a given row.
549
+ *
550
+ * @param {string} rowId
551
+ * @returns {Function}
552
+ */
553
+
554
+ /**
555
+ * Handler for toggling the expansion state of a given row.
556
+ *
557
+ * @param {string} rowId
558
+ * @returns {Function}
559
+ */
560
+
561
+ /**
562
+ * Handler for changing the expansion state of all rows.
563
+ */
564
+
565
+ /**
566
+ * Handler for transitioning to the next sort state of the table
567
+ *
568
+ * @param {string} headerKey the field for the header that we are sorting by
569
+ * @returns {Function}
570
+ */
571
+
572
+ /**
573
+ * Event handler for transitioning input value state changes for the table
574
+ * filter component.
575
+ *
576
+ * @param {Event} event
577
+ */
478
578
 
479
579
  render() {
480
580
  // eslint-disable-next-line react/prop-types
@@ -521,27 +621,21 @@ class DataTable extends React__default["default"].Component {
521
621
  expandAll: this.handleOnExpandAll,
522
622
  radio: this.props.radio
523
623
  };
524
-
525
624
  if (render !== undefined) {
526
625
  return render(renderProps);
527
626
  }
528
-
529
627
  if (children !== undefined) {
530
628
  return children(renderProps);
531
629
  }
532
-
533
630
  return null;
534
631
  }
535
-
536
632
  }
537
-
538
633
  _rollupPluginBabelHelpers.defineProperty(DataTable, "propTypes", {
539
634
  /**
540
635
  * Optional hook to manually control filtering of the rows from the
541
636
  * TableToolbarSearch component
542
637
  */
543
638
  filterRows: PropTypes__default["default"].func,
544
-
545
639
  /**
546
640
  * The `headers` prop represents the order in which the headers should
547
641
  * appear in the table. We expect an array of objects to be passed in, where
@@ -552,27 +646,22 @@ _rollupPluginBabelHelpers.defineProperty(DataTable, "propTypes", {
552
646
  key: PropTypes__default["default"].string.isRequired,
553
647
  header: PropTypes__default["default"].node.isRequired
554
648
  })).isRequired,
555
-
556
649
  /**
557
650
  * Specify whether the table should be able to be sorted by its headers
558
651
  */
559
652
  isSortable: PropTypes__default["default"].bool,
560
-
561
653
  /**
562
654
  * Provide a string for the current locale
563
655
  */
564
656
  locale: PropTypes__default["default"].string,
565
-
566
657
  /**
567
658
  * Specify whether the overflow menu (if it exists) should be shown always, or only on hover
568
659
  */
569
660
  overflowMenuOnHover: PropTypes__default["default"].bool,
570
-
571
661
  /**
572
662
  * Specify whether the control should be a radio button or inline checkbox
573
663
  */
574
664
  radio: PropTypes__default["default"].bool,
575
-
576
665
  /**
577
666
  * The `rows` prop is where you provide us with a list of all the rows that
578
667
  * you want to render in the table. The only hard requirement is that this
@@ -585,41 +674,34 @@ _rollupPluginBabelHelpers.defineProperty(DataTable, "propTypes", {
585
674
  isSelected: PropTypes__default["default"].bool,
586
675
  isExpanded: PropTypes__default["default"].bool
587
676
  })).isRequired,
588
-
589
677
  /**
590
678
  * Change the row height of table. Currently supports `xs`, `sm`, `md`, `lg`, and `xl`.
591
679
  */
592
680
  size: PropTypes__default["default"].oneOf(['xs', 'sm', 'md', 'lg', 'xl']),
593
-
594
681
  /**
595
682
  * Optional hook to manually control sorting of the rows.
596
683
  */
597
684
  sortRow: PropTypes__default["default"].func,
598
-
599
685
  /**
600
686
  * Specify whether the header should be sticky.
601
687
  * Still experimental: may not work with every combination of table props
602
688
  */
603
689
  stickyHeader: PropTypes__default["default"].bool,
604
-
605
690
  /**
606
691
  * Optional method that takes in a message id and returns an
607
692
  * internationalized string. See `DataTable.translationKeys` for all
608
693
  * available message ids.
609
694
  */
610
695
  translateWithId: PropTypes__default["default"].func,
611
-
612
696
  /**
613
697
  * `false` If true, will use a width of 'auto' instead of 100%
614
698
  */
615
699
  useStaticWidth: PropTypes__default["default"].bool,
616
-
617
700
  /**
618
701
  * `true` to add useZebraStyles striping.
619
702
  */
620
703
  useZebraStyles: PropTypes__default["default"].bool
621
704
  });
622
-
623
705
  _rollupPluginBabelHelpers.defineProperty(DataTable, "defaultProps", {
624
706
  sortRow: sorting$1.defaultSortRow,
625
707
  filterRows: filter.defaultFilterRows,
@@ -628,9 +710,7 @@ _rollupPluginBabelHelpers.defineProperty(DataTable, "defaultProps", {
628
710
  overflowMenuOnHover: true,
629
711
  translateWithId
630
712
  });
631
-
632
713
  _rollupPluginBabelHelpers.defineProperty(DataTable, "translationKeys", Object.values(translationKeys));
633
-
634
714
  DataTable.Table = Table.Table;
635
715
  DataTable.TableActionList = TableActionList["default"];
636
716
  DataTable.TableBatchAction = TableBatchAction["default"];
@@ -65,32 +65,26 @@ Table.propTypes = {
65
65
  */
66
66
  children: PropTypes__default["default"].node,
67
67
  className: PropTypes__default["default"].string,
68
-
69
68
  /**
70
69
  * `false` If true, will apply sorting styles
71
70
  */
72
71
  isSortable: PropTypes__default["default"].bool,
73
-
74
72
  /**
75
73
  * Specify whether the overflow menu (if it exists) should be shown always, or only on hover
76
74
  */
77
75
  overflowMenuOnHover: PropTypes__default["default"].bool,
78
-
79
76
  /**
80
77
  * Change the row height of table. Currently supports `xs`, `sm`, `md`, `lg`, and `xl`.
81
78
  */
82
79
  size: PropTypes__default["default"].oneOf(['xs', 'sm', 'md', 'lg', 'xl']),
83
-
84
80
  /**
85
81
  * `false` If true, will keep the header sticky (only data rows will scroll)
86
82
  */
87
83
  stickyHeader: PropTypes__default["default"].bool,
88
-
89
84
  /**
90
85
  * `false` If true, will use a width of 'auto' instead of 100%
91
86
  */
92
87
  useStaticWidth: PropTypes__default["default"].bool,
93
-
94
88
  /**
95
89
  * `true` to add useZebraStyles striping.
96
90
  */
@@ -20,13 +20,11 @@ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
20
20
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
21
21
 
22
22
  const TableBatchAction = props => /*#__PURE__*/React__default["default"].createElement(Button["default"], props);
23
-
24
23
  TableBatchAction.propTypes = {
25
24
  /**
26
25
  * Specify if the button is an icon-only button
27
26
  */
28
27
  hasIconOnly: PropTypes__default["default"].bool,
29
-
30
28
  /**
31
29
  * If specifying the `renderIcon` prop, provide a description for that icon that can
32
30
  * be read by screen readers
@@ -35,10 +33,8 @@ TableBatchAction.propTypes = {
35
33
  if (props.renderIcon && !props.children && !props.iconDescription) {
36
34
  return new Error('renderIcon property specified without also providing an iconDescription property.');
37
35
  }
38
-
39
36
  return undefined;
40
37
  },
41
-
42
38
  /**
43
39
  * Optional function to render your own icon in the underlying button
44
40
  */