@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
@@ -22,27 +22,18 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
22
22
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
23
23
  var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
24
24
 
25
- var _excluded = ["onBlur", "onChange", "onExpand", "onFocus"];
26
-
27
25
  function ExpandableSearch(_ref) {
28
- var onBlur = _ref.onBlur,
29
- onChange = _ref.onChange,
30
- onExpand = _ref.onExpand,
31
- onFocus = _ref.onFocus,
32
- props = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
33
-
34
- var _useState = React.useState(false),
35
- _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
36
- expanded = _useState2[0],
37
- setExpanded = _useState2[1];
38
-
39
- var _useState3 = React.useState(false),
40
- _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
41
- hasContent = _useState4[0],
42
- setHasContent = _useState4[1];
43
-
44
- var searchRef = React.useRef(null);
45
- var prefix = usePrefix.usePrefix();
26
+ let {
27
+ onBlur,
28
+ onChange,
29
+ onExpand,
30
+ onFocus,
31
+ ...props
32
+ } = _ref;
33
+ const [expanded, setExpanded] = React.useState(false);
34
+ const [hasContent, setHasContent] = React.useState(false);
35
+ const searchRef = React.useRef(null);
36
+ const prefix = usePrefix.usePrefix();
46
37
 
47
38
  function handleFocus() {
48
39
  if (!expanded) {
@@ -51,7 +42,7 @@ function ExpandableSearch(_ref) {
51
42
  }
52
43
 
53
44
  function handleBlur(evt) {
54
- var relatedTargetIsAllowed = evt.relatedTarget && evt.relatedTarget.classList.contains("".concat(prefix, "--search-close"));
45
+ const relatedTargetIsAllowed = evt.relatedTarget && evt.relatedTarget.classList.contains(`${prefix}--search-close`);
55
46
 
56
47
  if (expanded && !relatedTargetIsAllowed && !hasContent) {
57
48
  setExpanded(false);
@@ -63,12 +54,14 @@ function ExpandableSearch(_ref) {
63
54
  }
64
55
 
65
56
  function handleExpand() {
66
- var _searchRef$current$fo, _searchRef$current;
57
+ var _searchRef$current, _searchRef$current$fo;
67
58
 
68
- (_searchRef$current$fo = (_searchRef$current = searchRef.current).focus) === null || _searchRef$current$fo === void 0 ? void 0 : _searchRef$current$fo.call(_searchRef$current);
59
+ (_searchRef$current = searchRef.current) === null || _searchRef$current === void 0 ? void 0 : (_searchRef$current$fo = _searchRef$current.focus) === null || _searchRef$current$fo === void 0 ? void 0 : _searchRef$current$fo.call(_searchRef$current);
69
60
  }
70
61
 
71
- var classes = cx__default["default"]("".concat(prefix, "--search--expandable"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(prefix, "--search--expanded"), expanded), props.className);
62
+ const classes = cx__default["default"](`${prefix}--search--expandable`, {
63
+ [`${prefix}--search--expanded`]: expanded
64
+ }, props.className);
72
65
  return /*#__PURE__*/React__default["default"].createElement(Search["default"], _rollupPluginBabelHelpers["extends"]({}, props, {
73
66
  ref: searchRef,
74
67
  className: classes,
@@ -9,7 +9,6 @@
9
9
 
10
10
  Object.defineProperty(exports, '__esModule', { value: true });
11
11
 
12
- var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
13
12
  var FeatureFlags$1 = require('@carbon/feature-flags');
14
13
  var PropTypes = require('prop-types');
15
14
  var React = require('react');
@@ -24,7 +23,7 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
24
23
  * or disable feature flags in a given React tree
25
24
  */
26
25
 
27
- var FeatureFlagContext = /*#__PURE__*/React.createContext(FeatureFlags$1.FeatureFlags);
26
+ const FeatureFlagContext = /*#__PURE__*/React.createContext(FeatureFlags$1.FeatureFlags);
28
27
  /**
29
28
  * Supports an object of feature flag values with the `flags` prop, merging them
30
29
  * along with the current `FeatureFlagContext` to provide consumers to check if
@@ -32,39 +31,30 @@ var FeatureFlagContext = /*#__PURE__*/React.createContext(FeatureFlags$1.Feature
32
31
  */
33
32
 
34
33
  function FeatureFlags(_ref) {
35
- var children = _ref.children,
36
- _ref$flags = _ref.flags,
37
- flags = _ref$flags === void 0 ? {} : _ref$flags;
38
- var parentScope = React.useContext(FeatureFlagContext);
39
-
40
- var _useState = React.useState(parentScope),
41
- _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
42
- prevParentScope = _useState2[0],
43
- setPrevParentScope = _useState2[1];
44
-
45
- var _useState3 = React.useState(function () {
46
- var scope = FeatureFlags$1.createScope(flags);
34
+ let {
35
+ children,
36
+ flags = {}
37
+ } = _ref;
38
+ const parentScope = React.useContext(FeatureFlagContext);
39
+ const [prevParentScope, setPrevParentScope] = React.useState(parentScope);
40
+ const [scope, updateScope] = React.useState(() => {
41
+ const scope = FeatureFlags$1.createScope(flags);
47
42
  scope.mergeWithScope(parentScope);
48
43
  return scope;
49
- }),
50
- _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
51
- scope = _useState4[0],
52
- updateScope = _useState4[1];
44
+ });
53
45
 
54
46
  if (parentScope !== prevParentScope) {
55
- var _scope = FeatureFlags$1.createScope(flags);
56
-
57
- _scope.mergeWithScope(parentScope);
58
-
59
- updateScope(_scope);
47
+ const scope = FeatureFlags$1.createScope(flags);
48
+ scope.mergeWithScope(parentScope);
49
+ updateScope(scope);
60
50
  setPrevParentScope(parentScope);
61
51
  } // We use a custom hook to detect if any of the keys or their values change
62
52
  // for flags that are passed in. If they have changed, then we re-create the
63
53
  // FeatureFlagScope using the new flags
64
54
 
65
55
 
66
- useChangedValue(flags, isEqual, function (changedFlags) {
67
- var scope = FeatureFlags$1.createScope(changedFlags);
56
+ useChangedValue(flags, isEqual, changedFlags => {
57
+ const scope = FeatureFlags$1.createScope(changedFlags);
68
58
  scope.mergeWithScope(parentScope);
69
59
  updateScope(scope);
70
60
  });
@@ -93,28 +83,24 @@ FeatureFlags.propTypes = {
93
83
  */
94
84
 
95
85
  function useChangedValue(value, compare, callback) {
96
- var initialRender = React.useRef(false);
97
- var savedCallback = React.useRef(callback);
98
-
99
- var _useState5 = React.useState(value),
100
- _useState6 = _rollupPluginBabelHelpers.slicedToArray(_useState5, 2),
101
- prevValue = _useState6[0],
102
- setPrevValue = _useState6[1];
86
+ const initialRender = React.useRef(false);
87
+ const savedCallback = React.useRef(callback);
88
+ const [prevValue, setPrevValue] = React.useState(value);
103
89
 
104
90
  if (!compare(prevValue, value)) {
105
91
  setPrevValue(value);
106
92
  }
107
93
 
108
- React.useEffect(function () {
94
+ React.useEffect(() => {
109
95
  savedCallback.current = callback;
110
96
  });
111
- React.useEffect(function () {
97
+ React.useEffect(() => {
112
98
  // We only want the callback triggered after the first render
113
99
  if (initialRender.current) {
114
100
  savedCallback.current(prevValue);
115
101
  }
116
102
  }, [prevValue]);
117
- React.useEffect(function () {
103
+ React.useEffect(() => {
118
104
  initialRender.current = true;
119
105
  }, []);
120
106
  }
@@ -127,7 +113,7 @@ function useChangedValue(value, compare, callback) {
127
113
 
128
114
 
129
115
  function useFeatureFlag(flag) {
130
- var scope = React.useContext(FeatureFlagContext);
116
+ const scope = React.useContext(FeatureFlagContext);
131
117
  return scope.enabled(flag);
132
118
  }
133
119
  /**
@@ -156,18 +142,14 @@ function isEqual(a, b) {
156
142
  return true;
157
143
  }
158
144
 
159
- for (var _i = 0, _Object$keys = Object.keys(a); _i < _Object$keys.length; _i++) {
160
- var key = _Object$keys[_i];
161
-
145
+ for (const key of Object.keys(a)) {
162
146
  if (a[key] !== b[key]) {
163
147
  return false;
164
148
  }
165
149
  }
166
150
 
167
- for (var _i2 = 0, _Object$keys2 = Object.keys(b); _i2 < _Object$keys2.length; _i2++) {
168
- var _key = _Object$keys2[_i2];
169
-
170
- if (b[_key] !== a[_key]) {
151
+ for (const key of Object.keys(b)) {
152
+ if (b[key] !== a[key]) {
171
153
  return false;
172
154
  }
173
155
  }
@@ -25,21 +25,20 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
25
25
 
26
26
  var _SkeletonText, _ButtonSkeleton;
27
27
 
28
- var _excluded = ["className"];
29
-
30
28
  function FileUploaderSkeleton(_ref) {
31
- var className = _ref.className,
32
- rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
33
-
34
- var prefix = usePrefix.usePrefix();
29
+ let {
30
+ className,
31
+ ...rest
32
+ } = _ref;
33
+ const prefix = usePrefix.usePrefix();
35
34
  return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
36
- className: cx__default["default"]("".concat(prefix, "--form-item"), className)
35
+ className: cx__default["default"](`${prefix}--form-item`, className)
37
36
  }, rest), _SkeletonText || (_SkeletonText = /*#__PURE__*/React__default["default"].createElement(SkeletonText["default"], {
38
37
  heading: true,
39
38
  width: "100px"
40
39
  })), /*#__PURE__*/React__default["default"].createElement(SkeletonText["default"], {
41
40
  width: "225px",
42
- className: "".concat(prefix, "--label-description")
41
+ className: `${prefix}--label-description`
43
42
  }), _ButtonSkeleton || (_ButtonSkeleton = /*#__PURE__*/React__default["default"].createElement(Button_Skeleton["default"], null)));
44
43
  }
45
44
 
@@ -46,181 +46,154 @@ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
46
46
  var FeatureFlags__namespace = /*#__PURE__*/_interopNamespace(FeatureFlags);
47
47
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
48
48
 
49
- var _excluded = ["iconDescription", "buttonLabel", "buttonKind", "disabled", "filenameStatus", "labelDescription", "labelTitle", "className", "multiple", "accept", "name", "size", "onDelete"];
49
+ class FileUploader extends React__default["default"].Component {
50
+ constructor() {
51
+ super(...arguments);
50
52
 
51
- var FileUploader = /*#__PURE__*/function (_React$Component) {
52
- _rollupPluginBabelHelpers.inherits(FileUploader, _React$Component);
53
-
54
- var _super = _rollupPluginBabelHelpers.createSuper(FileUploader);
55
-
56
- function FileUploader() {
57
- var _this;
58
-
59
- _rollupPluginBabelHelpers.classCallCheck(this, FileUploader);
60
-
61
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
62
- args[_key] = arguments[_key];
63
- }
64
-
65
- _this = _super.call.apply(_super, [this].concat(args));
66
-
67
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "state", {
53
+ _rollupPluginBabelHelpers.defineProperty(this, "state", {
68
54
  filenames: []
69
55
  });
70
56
 
71
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "nodes", []);
57
+ _rollupPluginBabelHelpers.defineProperty(this, "nodes", []);
72
58
 
73
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "uploaderButton", /*#__PURE__*/React__default["default"].createRef());
59
+ _rollupPluginBabelHelpers.defineProperty(this, "uploaderButton", /*#__PURE__*/React__default["default"].createRef());
74
60
 
75
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "handleChange", function (evt) {
61
+ _rollupPluginBabelHelpers.defineProperty(this, "handleChange", evt => {
76
62
  evt.stopPropagation();
77
- var filenames = Array.prototype.map.call(evt.target.files, function (file) {
78
- return file.name;
63
+ const filenames = Array.prototype.map.call(evt.target.files, file => file.name);
64
+ this.setState({
65
+ filenames: this.props.multiple ? this.state.filenames.concat(filenames) : filenames
79
66
  });
80
67
 
81
- _this.setState({
82
- filenames: _this.props.multiple ? _this.state.filenames.concat(filenames) : filenames
83
- });
84
-
85
- if (_this.props.onChange) {
86
- _this.props.onChange(evt);
68
+ if (this.props.onChange) {
69
+ this.props.onChange(evt);
87
70
  }
88
71
  });
89
72
 
90
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "handleClick", function (evt, _ref) {
91
- var index = _ref.index,
92
- filenameStatus = _ref.filenameStatus;
73
+ _rollupPluginBabelHelpers.defineProperty(this, "handleClick", (evt, _ref) => {
74
+ let {
75
+ index,
76
+ filenameStatus
77
+ } = _ref;
93
78
 
94
79
  if (filenameStatus === 'edit') {
95
80
  evt.stopPropagation();
96
-
97
- var filteredArray = _this.state.filenames.filter(function (filename) {
98
- return filename !== _this.nodes[index].innerText.trim();
99
- });
100
-
101
- _this.setState({
81
+ const filteredArray = this.state.filenames.filter(filename => filename !== this.nodes[index].innerText.trim());
82
+ this.setState({
102
83
  filenames: filteredArray
103
84
  });
104
85
 
105
- if (_this.props.onDelete) {
106
- _this.props.onDelete(evt);
107
-
108
- _this.uploaderButton.current.focus();
86
+ if (this.props.onDelete) {
87
+ this.props.onDelete(evt);
88
+ this.uploaderButton.current.focus();
109
89
  }
110
90
 
111
- _this.props.onClick(evt);
91
+ this.props.onClick(evt);
112
92
  }
113
93
  });
114
94
 
115
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "clearFiles", function () {
95
+ _rollupPluginBabelHelpers.defineProperty(this, "clearFiles", () => {
116
96
  // A clearFiles function that resets filenames and can be referenced using a ref by the parent.
117
- _this.setState({
97
+ this.setState({
118
98
  filenames: []
119
99
  });
120
100
  });
101
+ }
121
102
 
122
- return _this;
103
+ static getDerivedStateFromProps(_ref2, state) {
104
+ let {
105
+ filenameStatus
106
+ } = _ref2;
107
+ const {
108
+ prevFilenameStatus
109
+ } = state;
110
+ return prevFilenameStatus === filenameStatus ? null : {
111
+ filenameStatus,
112
+ prevFilenameStatus: filenameStatus
113
+ };
123
114
  }
124
115
 
125
- _rollupPluginBabelHelpers.createClass(FileUploader, [{
126
- key: "render",
127
- value: function render() {
128
- var _classNames,
129
- _classNames3,
130
- _this2 = this;
131
-
132
- var _this$props = this.props,
133
- iconDescription = _this$props.iconDescription,
134
- buttonLabel = _this$props.buttonLabel,
135
- buttonKind = _this$props.buttonKind,
136
- disabled = _this$props.disabled,
137
- filenameStatus = _this$props.filenameStatus,
138
- labelDescription = _this$props.labelDescription,
139
- labelTitle = _this$props.labelTitle,
140
- className = _this$props.className,
141
- multiple = _this$props.multiple,
142
- accept = _this$props.accept,
143
- name = _this$props.name,
144
- _this$props$size = _this$props.size,
145
- size = _this$props$size === void 0 ? 'md' : _this$props$size;
146
- _this$props.onDelete;
147
- var other = _rollupPluginBabelHelpers.objectWithoutProperties(_this$props, _excluded);
148
-
149
- var prefix = this.context;
150
- var classes = cx__default["default"]((_classNames = {}, _rollupPluginBabelHelpers.defineProperty(_classNames, "".concat(prefix, "--form-item"), true), _rollupPluginBabelHelpers.defineProperty(_classNames, className, className), _classNames));
151
-
152
- var getHelperLabelClasses = function getHelperLabelClasses(baseClass) {
153
- return cx__default["default"](baseClass, _rollupPluginBabelHelpers.defineProperty({}, "".concat(prefix, "--label-description--disabled"), disabled));
154
- };
155
-
156
- var selectedFileClasses = cx__default["default"]("".concat(prefix, "--file__selected-file"), (_classNames3 = {}, _rollupPluginBabelHelpers.defineProperty(_classNames3, "".concat(prefix, "--file__selected-file--md"), size === 'field' || size === 'md'), _rollupPluginBabelHelpers.defineProperty(_classNames3, "".concat(prefix, "--file__selected-file--sm"), size === 'small' || size === 'sm'), _classNames3));
157
- return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
158
- className: classes
159
- }, other), FeatureFlags__namespace.enabled('enable-v11-release') && !labelTitle ? null : /*#__PURE__*/React__default["default"].createElement("p", {
160
- className: getHelperLabelClasses("".concat(prefix, "--file--label"))
161
- }, labelTitle), /*#__PURE__*/React__default["default"].createElement("p", {
162
- className: getHelperLabelClasses("".concat(prefix, "--label-description"))
163
- }, labelDescription), /*#__PURE__*/React__default["default"].createElement(FileUploaderButton["default"], {
164
- innerRef: this.uploaderButton,
165
- disabled: disabled,
166
- labelText: buttonLabel,
167
- multiple: multiple,
168
- buttonKind: buttonKind,
169
- onChange: this.handleChange,
170
- disableLabelChanges: true,
171
- accept: accept,
172
- name: name,
173
- size: size
174
- }), /*#__PURE__*/React__default["default"].createElement("div", {
175
- className: "".concat(prefix, "--file-container")
176
- }, this.state.filenames.length === 0 ? null : this.state.filenames.map(function (name, index) {
177
- return /*#__PURE__*/React__default["default"].createElement("span", _rollupPluginBabelHelpers["extends"]({
178
- key: index,
179
- className: selectedFileClasses,
180
- ref: function ref(node) {
181
- return _this2.nodes[index] = node;
182
- } // eslint-disable-line
183
-
184
- }, other), /*#__PURE__*/React__default["default"].createElement("p", {
185
- className: "".concat(prefix, "--file-filename"),
186
- id: name
187
- }, name), /*#__PURE__*/React__default["default"].createElement("span", {
188
- className: "".concat(prefix, "--file__state-container")
189
- }, /*#__PURE__*/React__default["default"].createElement(Filename["default"], {
190
- name: name,
191
- iconDescription: iconDescription,
192
- status: filenameStatus,
193
- onKeyDown: function onKeyDown(evt) {
194
- if (match.matches(evt, [keys.Enter, keys.Space])) {
195
- _this2.handleClick(evt, {
196
- index: index,
197
- filenameStatus: filenameStatus
198
- });
199
- }
200
- },
201
- onClick: function onClick(evt) {
202
- return _this2.handleClick(evt, {
203
- index: index,
204
- filenameStatus: filenameStatus
205
- });
206
- }
207
- })));
208
- })));
209
- }
210
- }], [{
211
- key: "getDerivedStateFromProps",
212
- value: function getDerivedStateFromProps(_ref2, state) {
213
- var filenameStatus = _ref2.filenameStatus;
214
- var prevFilenameStatus = state.prevFilenameStatus;
215
- return prevFilenameStatus === filenameStatus ? null : {
216
- filenameStatus: filenameStatus,
217
- prevFilenameStatus: filenameStatus
218
- };
219
- }
220
- }]);
221
-
222
- return FileUploader;
223
- }(React__default["default"].Component);
116
+ render() {
117
+ const {
118
+ iconDescription,
119
+ buttonLabel,
120
+ buttonKind,
121
+ disabled,
122
+ filenameStatus,
123
+ labelDescription,
124
+ labelTitle,
125
+ className,
126
+ multiple,
127
+ accept,
128
+ name,
129
+ size = 'md',
130
+ onDelete,
131
+ // eslint-disable-line no-unused-vars
132
+ ...other
133
+ } = this.props;
134
+ const prefix = this.context;
135
+ const classes = cx__default["default"]({
136
+ [`${prefix}--form-item`]: true,
137
+ [className]: className
138
+ });
139
+
140
+ const getHelperLabelClasses = baseClass => cx__default["default"](baseClass, {
141
+ [`${prefix}--label-description--disabled`]: disabled
142
+ });
143
+
144
+ const selectedFileClasses = cx__default["default"](`${prefix}--file__selected-file`, {
145
+ [`${prefix}--file__selected-file--md`]: size === 'field' || size === 'md',
146
+ [`${prefix}--file__selected-file--sm`]: size === 'small' || size === 'sm'
147
+ });
148
+ return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
149
+ className: classes
150
+ }, other), FeatureFlags__namespace.enabled('enable-v11-release') && !labelTitle ? null : /*#__PURE__*/React__default["default"].createElement("p", {
151
+ className: getHelperLabelClasses(`${prefix}--file--label`)
152
+ }, labelTitle), /*#__PURE__*/React__default["default"].createElement("p", {
153
+ className: getHelperLabelClasses(`${prefix}--label-description`)
154
+ }, labelDescription), /*#__PURE__*/React__default["default"].createElement(FileUploaderButton["default"], {
155
+ innerRef: this.uploaderButton,
156
+ disabled: disabled,
157
+ labelText: buttonLabel,
158
+ multiple: multiple,
159
+ buttonKind: buttonKind,
160
+ onChange: this.handleChange,
161
+ disableLabelChanges: true,
162
+ accept: accept,
163
+ name: name,
164
+ size: size
165
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
166
+ className: `${prefix}--file-container`
167
+ }, this.state.filenames.length === 0 ? null : this.state.filenames.map((name, index) => /*#__PURE__*/React__default["default"].createElement("span", _rollupPluginBabelHelpers["extends"]({
168
+ key: index,
169
+ className: selectedFileClasses,
170
+ ref: node => this.nodes[index] = node // eslint-disable-line
171
+
172
+ }, other), /*#__PURE__*/React__default["default"].createElement("p", {
173
+ className: `${prefix}--file-filename`,
174
+ id: name
175
+ }, name), /*#__PURE__*/React__default["default"].createElement("span", {
176
+ className: `${prefix}--file__state-container`
177
+ }, /*#__PURE__*/React__default["default"].createElement(Filename["default"], {
178
+ name: name,
179
+ iconDescription: iconDescription,
180
+ status: filenameStatus,
181
+ onKeyDown: evt => {
182
+ if (match.matches(evt, [keys.Enter, keys.Space])) {
183
+ this.handleClick(evt, {
184
+ index,
185
+ filenameStatus
186
+ });
187
+ }
188
+ },
189
+ onClick: evt => this.handleClick(evt, {
190
+ index,
191
+ filenameStatus
192
+ })
193
+ }))))));
194
+ }
195
+
196
+ }
224
197
 
225
198
  _rollupPluginBabelHelpers.defineProperty(FileUploader, "propTypes", {
226
199
  /**
@@ -313,7 +286,7 @@ _rollupPluginBabelHelpers.defineProperty(FileUploader, "defaultProps", {
313
286
  buttonLabel: '',
314
287
  buttonKind: 'primary',
315
288
  multiple: false,
316
- onClick: function onClick() {},
289
+ onClick: () => {},
317
290
  accept: []
318
291
  });
319
292
 
@@ -46,51 +46,39 @@ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
46
46
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
47
47
  var FeatureFlags__namespace = /*#__PURE__*/_interopNamespace(FeatureFlags);
48
48
 
49
- var _excluded = ["accept", "buttonKind", "className", "disabled", "disableLabelChanges", "id", "labelText", "multiple", "onChange", "name", "size", "innerRef"];
50
-
51
49
  function noop() {}
52
50
 
53
51
  function FileUploaderButton(_ref) {
54
- var _cx;
55
-
56
- var accept = _ref.accept,
57
- _ref$buttonKind = _ref.buttonKind,
58
- buttonKind = _ref$buttonKind === void 0 ? 'primary' : _ref$buttonKind,
59
- className = _ref.className,
60
- _ref$disabled = _ref.disabled,
61
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
62
- _ref$disableLabelChan = _ref.disableLabelChanges,
63
- disableLabelChanges = _ref$disableLabelChan === void 0 ? false : _ref$disableLabelChan,
64
- id = _ref.id,
65
- _ref$labelText = _ref.labelText,
66
- ownerLabelText = _ref$labelText === void 0 ? 'Add file' : _ref$labelText,
67
- _ref$multiple = _ref.multiple,
68
- multiple = _ref$multiple === void 0 ? false : _ref$multiple,
69
- _ref$onChange = _ref.onChange,
70
- onChange = _ref$onChange === void 0 ? noop : _ref$onChange,
71
- name = _ref.name,
72
- _ref$size = _ref.size,
73
- size = _ref$size === void 0 ? 'md' : _ref$size,
74
- innerRef = _ref.innerRef,
75
- other = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
76
-
77
- var prefix = usePrefix.usePrefix();
78
-
79
- var _useState = React.useState(ownerLabelText),
80
- _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
81
- labelText = _useState2[0],
82
- setLabelText = _useState2[1];
83
-
84
- var _useState3 = React.useState(ownerLabelText),
85
- _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
86
- prevOwnerLabelText = _useState4[0],
87
- setPrevOwnerLabelText = _useState4[1];
88
-
89
- var _useRef = React.useRef(id || uniqueId["default"]()),
90
- inputId = _useRef.current;
91
-
92
- var inputNode = React.useRef(null);
93
- var classes = cx__default["default"]("".concat(prefix, "--btn"), className, (_cx = {}, _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--btn--").concat(buttonKind), buttonKind), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--btn--disabled"), disabled), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--btn--md"), size === 'field' || size === 'md'), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--btn--sm"), size === 'small' || size === 'sm'), _cx)); // Adjust label text state based on changes to the labelText prop
52
+ let {
53
+ accept,
54
+ buttonKind = 'primary',
55
+ className,
56
+ disabled = false,
57
+ disableLabelChanges = false,
58
+ id,
59
+ labelText: ownerLabelText = 'Add file',
60
+ multiple = false,
61
+ onChange = noop,
62
+ name,
63
+ size = 'md',
64
+ // eslint-disable-next-line react/prop-types
65
+ innerRef,
66
+ ...other
67
+ } = _ref;
68
+ const prefix = usePrefix.usePrefix();
69
+ const [labelText, setLabelText] = React.useState(ownerLabelText);
70
+ const [prevOwnerLabelText, setPrevOwnerLabelText] = React.useState(ownerLabelText);
71
+ const {
72
+ current: inputId
73
+ } = React.useRef(id || uniqueId["default"]());
74
+ const inputNode = React.useRef(null);
75
+ const classes = cx__default["default"](`${prefix}--btn`, className, {
76
+ [`${prefix}--btn--${buttonKind}`]: buttonKind,
77
+ [`${prefix}--btn--disabled`]: disabled,
78
+ // V11: remove field, small
79
+ [`${prefix}--btn--md`]: size === 'field' || size === 'md',
80
+ [`${prefix}--btn--sm`]: size === 'small' || size === 'sm'
81
+ }); // Adjust label text state based on changes to the labelText prop
94
82
 
95
83
  if (ownerLabelText !== prevOwnerLabelText) {
96
84
  setLabelText(ownerLabelText);
@@ -111,12 +99,12 @@ function FileUploaderButton(_ref) {
111
99
  }
112
100
 
113
101
  function handleOnChange(event) {
114
- var files = event.target.files;
115
- var length = event.target.files.length;
102
+ const files = event.target.files;
103
+ const length = event.target.files.length;
116
104
 
117
105
  if (files && !disableLabelChanges) {
118
106
  if (length > 1) {
119
- setLabelText("".concat(length, " files"));
107
+ setLabelText(`${length} files`);
120
108
  } else if (length === 1) {
121
109
  setLabelText(files[0].name);
122
110
  }
@@ -132,11 +120,11 @@ function FileUploaderButton(_ref) {
132
120
  onClick: onClick,
133
121
  onKeyDown: onKeyDown
134
122
  }, other), labelText), /*#__PURE__*/React__default["default"].createElement("label", {
135
- className: "".concat(prefix, "--visually-hidden"),
123
+ className: `${prefix}--visually-hidden`,
136
124
  ref: innerRef,
137
125
  htmlFor: inputId
138
126
  }, /*#__PURE__*/React__default["default"].createElement("span", null, labelText)), /*#__PURE__*/React__default["default"].createElement("input", {
139
- className: "".concat(prefix, "--visually-hidden"),
127
+ className: `${prefix}--visually-hidden`,
140
128
  ref: inputNode,
141
129
  id: inputId,
142
130
  disabled: disabled,