@carbon/react 1.27.0-rc.0 → 1.28.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (591) hide show
  1. package/es/_virtual/_rollupPluginBabelHelpers.js +1 -313
  2. package/es/components/Accordion/Accordion.Skeleton.js +28 -30
  3. package/es/components/Accordion/Accordion.js +18 -21
  4. package/es/components/Accordion/AccordionItem.js +37 -49
  5. package/es/components/AspectRatio/AspectRatio.js +10 -12
  6. package/es/components/Breadcrumb/Breadcrumb.Skeleton.js +10 -11
  7. package/es/components/Breadcrumb/Breadcrumb.js +14 -13
  8. package/es/components/Breadcrumb/BreadcrumbItem.js +24 -22
  9. package/es/components/Button/Button.Skeleton.js +25 -23
  10. package/es/components/Button/Button.js +77 -72
  11. package/es/components/ButtonSet/ButtonSet.js +12 -10
  12. package/es/components/Checkbox/Checkbox.Skeleton.js +10 -11
  13. package/es/components/Checkbox/Checkbox.js +55 -52
  14. package/es/components/CheckboxGroup/CheckboxGroup.js +33 -31
  15. package/es/components/ClassPrefix/index.js +4 -2
  16. package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +15 -14
  17. package/es/components/CodeSnippet/CodeSnippet.js +199 -102
  18. package/es/components/ComboBox/ComboBox.js +349 -178
  19. package/es/components/ComboBox/tools/filter.js +6 -4
  20. package/es/components/ComboButton/index.js +38 -43
  21. package/es/components/ComposedModal/ComposedModal.js +187 -85
  22. package/es/components/ComposedModal/ModalFooter.js +54 -49
  23. package/es/components/ComposedModal/ModalHeader.js +39 -26
  24. package/es/components/ContainedList/ContainedList.js +18 -17
  25. package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +20 -18
  26. package/es/components/ContentSwitcher/ContentSwitcher.js +83 -98
  27. package/es/components/ContentSwitcher/index.js +1 -1
  28. package/es/components/ContextMenu/useContextMenu.js +12 -21
  29. package/es/components/Copy/Copy.js +24 -29
  30. package/es/components/CopyButton/CopyButton.js +10 -10
  31. package/es/components/DangerButton/DangerButton.js +3 -5
  32. package/es/components/DataTable/DataTable.js +334 -361
  33. package/es/components/DataTable/Table.js +29 -26
  34. package/es/components/DataTable/TableActionList.js +2 -4
  35. package/es/components/DataTable/TableBatchAction.js +2 -4
  36. package/es/components/DataTable/TableBatchActions.js +29 -30
  37. package/es/components/DataTable/TableBody.js +7 -8
  38. package/es/components/DataTable/TableCell.js +1 -1
  39. package/es/components/DataTable/TableContainer.js +23 -23
  40. package/es/components/DataTable/TableContext.js +1 -1
  41. package/es/components/DataTable/TableExpandHeader.js +19 -21
  42. package/es/components/DataTable/TableExpandRow.js +23 -23
  43. package/es/components/DataTable/TableExpandedRow.js +18 -23
  44. package/es/components/DataTable/TableHead.js +1 -1
  45. package/es/components/DataTable/TableHeader.js +45 -41
  46. package/es/components/DataTable/TableRow.js +7 -8
  47. package/es/components/DataTable/TableSelectAll.js +13 -11
  48. package/es/components/DataTable/TableSelectRow.js +29 -21
  49. package/es/components/DataTable/TableToolbar.js +19 -14
  50. package/es/components/DataTable/TableToolbarAction.js +6 -6
  51. package/es/components/DataTable/TableToolbarContent.js +2 -4
  52. package/es/components/DataTable/TableToolbarMenu.js +11 -12
  53. package/es/components/DataTable/TableToolbarSearch.js +52 -71
  54. package/es/components/DataTable/state/getDerivedStateFromProps.js +15 -15
  55. package/es/components/DataTable/state/sortStates.js +1 -1
  56. package/es/components/DataTable/state/sorting.js +28 -20
  57. package/es/components/DataTable/tools/cells.js +1 -3
  58. package/es/components/DataTable/tools/denormalize.js +4 -17
  59. package/es/components/DataTable/tools/filter.js +18 -16
  60. package/es/components/DataTable/tools/instanceId.js +2 -2
  61. package/es/components/DataTable/tools/normalize.js +28 -25
  62. package/es/components/DataTable/tools/sorting.js +28 -25
  63. package/es/components/DataTableSkeleton/DataTableSkeleton.js +36 -38
  64. package/es/components/DatePicker/DatePicker.Skeleton.js +17 -18
  65. package/es/components/DatePicker/DatePicker.js +206 -195
  66. package/es/components/DatePicker/plugins/appendToPlugin.js +45 -43
  67. package/es/components/DatePicker/plugins/fixEventsPlugin.js +117 -107
  68. package/es/components/DatePicker/plugins/rangePlugin.js +19 -11
  69. package/es/components/DatePickerInput/DatePickerInput.js +83 -74
  70. package/es/components/Dropdown/Dropdown.Skeleton.js +13 -12
  71. package/es/components/Dropdown/Dropdown.js +266 -109
  72. package/es/components/ErrorBoundary/ErrorBoundary.js +27 -48
  73. package/es/components/ErrorBoundary/ErrorBoundaryContext.js +3 -2
  74. package/es/components/ExpandableSearch/ExpandableSearch.d.ts +13 -0
  75. package/es/components/ExpandableSearch/ExpandableSearch.js +18 -25
  76. package/es/components/FeatureFlags/index.js +25 -43
  77. package/es/components/FileUploader/FileUploader.Skeleton.js +8 -9
  78. package/es/components/FileUploader/FileUploader.js +120 -147
  79. package/es/components/FileUploader/FileUploaderButton.js +36 -48
  80. package/es/components/FileUploader/FileUploaderDropContainer.js +49 -53
  81. package/es/components/FileUploader/FileUploaderItem.js +30 -30
  82. package/es/components/FileUploader/Filename.js +13 -14
  83. package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +11 -12
  84. package/es/components/FluidComboBox/FluidComboBox.js +11 -9
  85. package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.js +18 -18
  86. package/es/components/FluidDatePicker/FluidDatePicker.js +19 -16
  87. package/es/components/FluidDatePickerInput/FluidDatePickerInput.js +3 -3
  88. package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +11 -12
  89. package/es/components/FluidDropdown/FluidDropdown.js +11 -9
  90. package/es/components/FluidForm/FluidForm.js +9 -10
  91. package/es/components/FluidForm/FormContext.js +1 -1
  92. package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +11 -12
  93. package/es/components/FluidMultiSelect/FluidMultiSelect.js +12 -10
  94. package/es/components/FluidSelect/FluidSelect.Skeleton.js +11 -12
  95. package/es/components/FluidSelect/FluidSelect.js +9 -9
  96. package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +9 -10
  97. package/es/components/FluidTextArea/FluidTextArea.js +7 -8
  98. package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +9 -10
  99. package/es/components/FluidTextInput/FluidTextInput.js +10 -9
  100. package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +11 -10
  101. package/es/components/FluidTimePicker/FluidTimePicker.js +30 -26
  102. package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.js +7 -7
  103. package/es/components/Form/Form.js +9 -10
  104. package/es/components/FormGroup/FormGroup.js +16 -17
  105. package/es/components/FormItem/FormItem.js +8 -9
  106. package/es/components/FormLabel/FormLabel.js +11 -10
  107. package/es/components/Grid/CSSGrid.js +38 -39
  108. package/es/components/Grid/Column.js +86 -79
  109. package/es/components/Grid/ColumnHang.js +12 -14
  110. package/es/components/Grid/FlexGrid.js +19 -21
  111. package/es/components/Grid/Grid.js +2 -2
  112. package/es/components/Grid/GridContext.js +12 -11
  113. package/es/components/Grid/Row.js +16 -18
  114. package/es/components/Heading/index.js +11 -13
  115. package/es/components/Icon/Icon.Skeleton.js +10 -12
  116. package/es/components/IconButton/index.js +19 -22
  117. package/es/components/IdPrefix/index.js +4 -2
  118. package/es/components/InlineCheckbox/InlineCheckbox.js +89 -36
  119. package/es/components/InlineLoading/InlineLoading.js +23 -25
  120. package/es/components/Layer/LayerContext.js +1 -1
  121. package/es/components/Layer/index.js +17 -18
  122. package/es/components/Layout/LayoutDirection.js +8 -10
  123. package/es/components/Layout/LayoutDirectionContext.js +1 -1
  124. package/es/components/Link/Link.js +25 -25
  125. package/es/components/ListBox/ListBox.js +38 -31
  126. package/es/components/ListBox/ListBoxField.js +9 -10
  127. package/es/components/ListBox/ListBoxMenu.js +9 -10
  128. package/es/components/ListBox/ListBoxMenuIcon.js +16 -14
  129. package/es/components/ListBox/ListBoxMenuItem.js +23 -26
  130. package/es/components/ListBox/ListBoxPropTypes.js +4 -4
  131. package/es/components/ListBox/ListBoxSelection.js +30 -25
  132. package/es/components/ListBox/index.js +1 -1
  133. package/es/components/ListBox/next/ListBoxSelection.js +27 -24
  134. package/es/components/ListBox/next/ListBoxTrigger.js +20 -19
  135. package/es/components/ListItem/ListItem.js +9 -10
  136. package/es/components/Loading/Loading.js +24 -24
  137. package/es/components/Menu/Menu.js +67 -80
  138. package/es/components/Menu/MenuContext.js +9 -12
  139. package/es/components/Menu/MenuItem.js +104 -128
  140. package/es/components/MenuButton/index.js +37 -41
  141. package/es/components/Modal/Modal.js +281 -120
  142. package/es/components/ModalWrapper/ModalWrapper.js +72 -96
  143. package/es/components/MultiSelect/FilterableMultiSelect.js +299 -163
  144. package/es/components/MultiSelect/MultiSelect.js +162 -174
  145. package/es/components/MultiSelect/MultiSelectPropTypes.js +1 -1
  146. package/es/components/MultiSelect/tools/itemToString.js +3 -4
  147. package/es/components/MultiSelect/tools/sorting.js +15 -13
  148. package/es/components/Notification/Notification.js +436 -164
  149. package/es/components/NumberInput/NumberInput.Skeleton.js +10 -11
  150. package/es/components/NumberInput/NumberInput.js +140 -139
  151. package/es/components/OrderedList/OrderedList.js +17 -15
  152. package/es/components/OverflowMenu/OverflowMenu.js +359 -227
  153. package/es/components/OverflowMenu/index.js +1 -1
  154. package/es/components/OverflowMenuItem/OverflowMenuItem.js +32 -37
  155. package/es/components/OverflowMenuV2/index.js +26 -28
  156. package/es/components/Pagination/Pagination.Skeleton.js +9 -10
  157. package/es/components/Pagination/Pagination.js +98 -140
  158. package/es/components/Pagination/experimental/PageSelector.js +16 -16
  159. package/es/components/Pagination/experimental/Pagination.js +73 -94
  160. package/es/components/PaginationNav/PaginationNav.js +98 -117
  161. package/es/components/Popover/index.js +74 -80
  162. package/es/components/PrimaryButton/PrimaryButton.js +3 -5
  163. package/es/components/ProgressBar/ProgressBar.js +39 -37
  164. package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +15 -14
  165. package/es/components/ProgressIndicator/ProgressIndicator.js +71 -71
  166. package/es/components/RadioButton/RadioButton.Skeleton.js +9 -10
  167. package/es/components/RadioButton/RadioButton.js +27 -27
  168. package/es/components/RadioButtonGroup/RadioButtonGroup.js +55 -65
  169. package/es/components/RadioTile/RadioTile.js +28 -26
  170. package/es/components/Search/Search.Skeleton.js +16 -16
  171. package/es/components/Search/Search.d.ts +83 -0
  172. package/es/components/Search/Search.js +65 -72
  173. package/es/components/Search/index.d.ts +11 -0
  174. package/es/components/SecondaryButton/SecondaryButton.js +3 -5
  175. package/es/components/Select/Select.Skeleton.js +12 -13
  176. package/es/components/Select/Select.js +79 -73
  177. package/es/components/SelectItem/SelectItem.js +17 -13
  178. package/es/components/SelectItemGroup/SelectItemGroup.js +11 -12
  179. package/es/components/SkeletonIcon/SkeletonIcon.js +11 -11
  180. package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +11 -11
  181. package/es/components/SkeletonText/SkeletonText.js +29 -29
  182. package/es/components/Slider/Slider.Skeleton.js +17 -18
  183. package/es/components/Slider/Slider.js +306 -329
  184. package/es/components/Slider/index.js +1 -1
  185. package/es/components/Stack/Stack.js +19 -20
  186. package/es/components/Stack/index.js +2 -2
  187. package/es/components/StructuredList/StructuredList.Skeleton.js +25 -24
  188. package/es/components/StructuredList/StructuredList.js +134 -106
  189. package/es/components/Switch/IconSwitch.js +48 -54
  190. package/es/components/Switch/Switch.js +33 -31
  191. package/es/components/Tab/Tab.js +77 -83
  192. package/es/components/Tab/index.js +1 -1
  193. package/es/components/TabContent/TabContent.js +16 -18
  194. package/es/components/Tabs/Tabs.Skeleton.js +14 -13
  195. package/es/components/Tabs/Tabs.js +211 -210
  196. package/es/components/Tabs/usePressable.js +27 -36
  197. package/es/components/Tag/Tag.Skeleton.js +10 -9
  198. package/es/components/Tag/Tag.js +34 -31
  199. package/es/components/Text/Text.js +20 -20
  200. package/es/components/Text/TextDirection.js +8 -7
  201. package/es/components/Text/TextDirectionContext.js +1 -1
  202. package/es/components/Text/index.js +1 -1
  203. package/es/components/TextArea/TextArea.Skeleton.js +11 -12
  204. package/es/components/TextArea/TextArea.js +89 -83
  205. package/es/components/TextInput/ControlledPasswordInput.js +79 -73
  206. package/es/components/TextInput/PasswordInput.js +101 -91
  207. package/es/components/TextInput/TextInput.Skeleton.js +11 -12
  208. package/es/components/TextInput/TextInput.js +104 -92
  209. package/es/components/TextInput/util.js +26 -28
  210. package/es/components/Theme/index.js +25 -20
  211. package/es/components/Tile/Tile.js +135 -176
  212. package/es/components/TileGroup/TileGroup.js +55 -70
  213. package/es/components/TileGroup/index.js +1 -1
  214. package/es/components/TimePicker/TimePicker.js +60 -67
  215. package/es/components/TimePickerSelect/TimePickerSelect.js +20 -18
  216. package/es/components/TimePickerSelect/index.js +1 -1
  217. package/es/components/Toggle/Toggle.Skeleton.js +63 -52
  218. package/es/components/Toggle/Toggle.js +44 -48
  219. package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +56 -50
  220. package/es/components/Toggletip/index.js +52 -48
  221. package/es/components/Tooltip/DefinitionTooltip.js +24 -31
  222. package/es/components/Tooltip/Tooltip.js +35 -50
  223. package/es/components/TreeView/TreeNode.js +94 -74
  224. package/es/components/TreeView/TreeView.js +72 -83
  225. package/es/components/UIShell/Content.js +12 -14
  226. package/es/components/UIShell/Header.js +16 -12
  227. package/es/components/UIShell/HeaderContainer.js +8 -14
  228. package/es/components/UIShell/HeaderGlobalAction.js +26 -19
  229. package/es/components/UIShell/HeaderGlobalBar.js +1 -3
  230. package/es/components/UIShell/HeaderMenu.js +114 -129
  231. package/es/components/UIShell/HeaderMenuButton.js +31 -22
  232. package/es/components/UIShell/HeaderMenuItem.js +28 -20
  233. package/es/components/UIShell/HeaderName.js +19 -14
  234. package/es/components/UIShell/HeaderNavigation.js +19 -15
  235. package/es/components/UIShell/HeaderPanel.js +23 -17
  236. package/es/components/UIShell/HeaderSideNavItems.js +11 -9
  237. package/es/components/UIShell/Link.js +11 -11
  238. package/es/components/UIShell/SideNav.js +66 -62
  239. package/es/components/UIShell/SideNavDetails.js +11 -12
  240. package/es/components/UIShell/SideNavDivider.js +5 -3
  241. package/es/components/UIShell/SideNavFooter.js +12 -12
  242. package/es/components/UIShell/SideNavHeader.js +8 -6
  243. package/es/components/UIShell/SideNavIcon.js +11 -8
  244. package/es/components/UIShell/SideNavItem.js +11 -9
  245. package/es/components/UIShell/SideNavItems.js +13 -11
  246. package/es/components/UIShell/SideNavLink.js +19 -17
  247. package/es/components/UIShell/SideNavLinkText.js +8 -9
  248. package/es/components/UIShell/SideNavMenu.js +28 -35
  249. package/es/components/UIShell/SideNavMenuItem.js +14 -14
  250. package/es/components/UIShell/SideNavSwitcher.js +19 -19
  251. package/es/components/UIShell/SkipToContent.js +10 -11
  252. package/es/components/UIShell/Switcher.js +20 -11
  253. package/es/components/UIShell/SwitcherDivider.js +10 -9
  254. package/es/components/UIShell/SwitcherItem.js +26 -19
  255. package/es/components/UIShell/_utils.js +1 -1
  256. package/es/components/UnorderedList/UnorderedList.js +14 -14
  257. package/es/index.js +5 -5
  258. package/es/internal/ClickListener.js +49 -65
  259. package/es/internal/FloatingMenu.js +193 -200
  260. package/es/internal/OptimizedResize.js +9 -8
  261. package/es/internal/Selection.js +92 -111
  262. package/es/internal/createClassWrapper.js +2 -2
  263. package/es/internal/deprecateFieldOnObject.js +5 -3
  264. package/es/internal/environment.js +1 -1
  265. package/es/internal/focus/index.js +1 -1
  266. package/es/internal/keyboard/keys.js +11 -11
  267. package/es/internal/keyboard/match.js +7 -6
  268. package/es/internal/keyboard/navigation.js +15 -5
  269. package/es/internal/useAnnouncer.js +2 -2
  270. package/es/internal/useAttachedMenu.js +12 -20
  271. package/es/internal/useControllableState.js +11 -16
  272. package/es/internal/useDelayedState.js +9 -18
  273. package/es/internal/useEffectOnce.js +4 -4
  274. package/es/internal/useEvent.js +4 -4
  275. package/es/internal/useId.js +15 -19
  276. package/es/internal/useIdPrefix.js +1 -1
  277. package/es/internal/useIsomorphicEffect.js +1 -1
  278. package/es/internal/useMergedRefs.js +3 -3
  279. package/es/internal/useNoInteractiveChildren.js +8 -19
  280. package/es/internal/useNormalizedInputProps.js +16 -14
  281. package/es/internal/usePrefix.js +1 -1
  282. package/es/internal/useSavedCallback.js +3 -3
  283. package/es/internal/warning.js +4 -4
  284. package/es/internal/wrapFocus.js +16 -21
  285. package/es/prop-types/AriaPropTypes.js +1 -1
  286. package/es/prop-types/deprecate.js +6 -5
  287. package/es/prop-types/isRequiredOneOf.js +12 -25
  288. package/es/prop-types/requiredIfGivenPropIsTruthy.js +2 -2
  289. package/es/prop-types/types.js +1 -1
  290. package/es/tools/array.js +1 -1
  291. package/es/tools/events.js +21 -14
  292. package/es/tools/mergeRefs.js +3 -3
  293. package/es/tools/setupGetInstanceId.js +1 -1
  294. package/es/tools/uniqueId.js +3 -3
  295. package/es/tools/wrapComponent.js +14 -13
  296. package/lib/_virtual/_rollupPluginBabelHelpers.js +0 -336
  297. package/lib/components/Accordion/Accordion.Skeleton.js +27 -29
  298. package/lib/components/Accordion/Accordion.js +17 -20
  299. package/lib/components/Accordion/AccordionItem.js +36 -48
  300. package/lib/components/AspectRatio/AspectRatio.js +9 -11
  301. package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +9 -10
  302. package/lib/components/Breadcrumb/Breadcrumb.js +13 -12
  303. package/lib/components/Breadcrumb/BreadcrumbItem.js +23 -21
  304. package/lib/components/Button/Button.Skeleton.js +24 -22
  305. package/lib/components/Button/Button.js +76 -71
  306. package/lib/components/ButtonSet/ButtonSet.js +11 -9
  307. package/lib/components/Checkbox/Checkbox.Skeleton.js +9 -10
  308. package/lib/components/Checkbox/Checkbox.js +54 -51
  309. package/lib/components/CheckboxGroup/CheckboxGroup.js +32 -30
  310. package/lib/components/ClassPrefix/index.js +4 -2
  311. package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +14 -13
  312. package/lib/components/CodeSnippet/CodeSnippet.js +198 -101
  313. package/lib/components/ComboBox/ComboBox.js +348 -177
  314. package/lib/components/ComboBox/tools/filter.js +6 -4
  315. package/lib/components/ComboButton/index.js +37 -42
  316. package/lib/components/ComposedModal/ComposedModal.js +187 -85
  317. package/lib/components/ComposedModal/ModalFooter.js +53 -48
  318. package/lib/components/ComposedModal/ModalHeader.js +38 -25
  319. package/lib/components/ContainedList/ContainedList.js +18 -17
  320. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +20 -18
  321. package/lib/components/ContentSwitcher/ContentSwitcher.js +82 -97
  322. package/lib/components/ContentSwitcher/index.js +1 -1
  323. package/lib/components/ContextMenu/useContextMenu.js +12 -21
  324. package/lib/components/Copy/Copy.js +23 -28
  325. package/lib/components/CopyButton/CopyButton.js +9 -9
  326. package/lib/components/DangerButton/DangerButton.js +3 -5
  327. package/lib/components/DataTable/DataTable.js +332 -359
  328. package/lib/components/DataTable/Table.js +28 -25
  329. package/lib/components/DataTable/TableActionList.js +2 -4
  330. package/lib/components/DataTable/TableBatchAction.js +2 -4
  331. package/lib/components/DataTable/TableBatchActions.js +28 -29
  332. package/lib/components/DataTable/TableBody.js +6 -7
  333. package/lib/components/DataTable/TableCell.js +1 -1
  334. package/lib/components/DataTable/TableContainer.js +22 -22
  335. package/lib/components/DataTable/TableContext.js +1 -1
  336. package/lib/components/DataTable/TableExpandHeader.js +18 -20
  337. package/lib/components/DataTable/TableExpandRow.js +22 -22
  338. package/lib/components/DataTable/TableExpandedRow.js +17 -22
  339. package/lib/components/DataTable/TableHead.js +1 -1
  340. package/lib/components/DataTable/TableHeader.js +43 -39
  341. package/lib/components/DataTable/TableRow.js +7 -8
  342. package/lib/components/DataTable/TableSelectAll.js +13 -11
  343. package/lib/components/DataTable/TableSelectRow.js +28 -20
  344. package/lib/components/DataTable/TableToolbar.js +18 -13
  345. package/lib/components/DataTable/TableToolbarAction.js +5 -5
  346. package/lib/components/DataTable/TableToolbarContent.js +2 -4
  347. package/lib/components/DataTable/TableToolbarMenu.js +10 -11
  348. package/lib/components/DataTable/TableToolbarSearch.js +51 -70
  349. package/lib/components/DataTable/state/getDerivedStateFromProps.js +15 -15
  350. package/lib/components/DataTable/state/sortStates.js +1 -1
  351. package/lib/components/DataTable/state/sorting.js +28 -20
  352. package/lib/components/DataTable/tools/cells.js +1 -3
  353. package/lib/components/DataTable/tools/denormalize.js +4 -17
  354. package/lib/components/DataTable/tools/filter.js +18 -16
  355. package/lib/components/DataTable/tools/instanceId.js +2 -2
  356. package/lib/components/DataTable/tools/normalize.js +28 -25
  357. package/lib/components/DataTable/tools/sorting.js +27 -24
  358. package/lib/components/DataTableSkeleton/DataTableSkeleton.js +35 -37
  359. package/lib/components/DatePicker/DatePicker.Skeleton.js +16 -17
  360. package/lib/components/DatePicker/DatePicker.js +205 -194
  361. package/lib/components/DatePicker/plugins/appendToPlugin.js +45 -43
  362. package/lib/components/DatePicker/plugins/fixEventsPlugin.js +117 -107
  363. package/lib/components/DatePicker/plugins/rangePlugin.js +19 -11
  364. package/lib/components/DatePickerInput/DatePickerInput.js +83 -74
  365. package/lib/components/Dropdown/Dropdown.Skeleton.js +12 -11
  366. package/lib/components/Dropdown/Dropdown.js +265 -108
  367. package/lib/components/ErrorBoundary/ErrorBoundary.js +27 -48
  368. package/lib/components/ErrorBoundary/ErrorBoundaryContext.js +3 -2
  369. package/lib/components/ExpandableSearch/ExpandableSearch.d.ts +13 -0
  370. package/lib/components/ExpandableSearch/ExpandableSearch.js +17 -24
  371. package/lib/components/FeatureFlags/index.js +25 -43
  372. package/lib/components/FileUploader/FileUploader.Skeleton.js +7 -8
  373. package/lib/components/FileUploader/FileUploader.js +119 -146
  374. package/lib/components/FileUploader/FileUploaderButton.js +35 -47
  375. package/lib/components/FileUploader/FileUploaderDropContainer.js +48 -52
  376. package/lib/components/FileUploader/FileUploaderItem.js +29 -29
  377. package/lib/components/FileUploader/Filename.js +12 -13
  378. package/lib/components/FluidComboBox/FluidComboBox.Skeleton.js +10 -11
  379. package/lib/components/FluidComboBox/FluidComboBox.js +10 -8
  380. package/lib/components/FluidDatePicker/FluidDatePicker.Skeleton.js +17 -17
  381. package/lib/components/FluidDatePicker/FluidDatePicker.js +18 -15
  382. package/lib/components/FluidDatePickerInput/FluidDatePickerInput.js +3 -3
  383. package/lib/components/FluidDropdown/FluidDropdown.Skeleton.js +10 -11
  384. package/lib/components/FluidDropdown/FluidDropdown.js +10 -8
  385. package/lib/components/FluidForm/FluidForm.js +8 -9
  386. package/lib/components/FluidForm/FormContext.js +1 -1
  387. package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +10 -11
  388. package/lib/components/FluidMultiSelect/FluidMultiSelect.js +11 -9
  389. package/lib/components/FluidSelect/FluidSelect.Skeleton.js +10 -11
  390. package/lib/components/FluidSelect/FluidSelect.js +8 -8
  391. package/lib/components/FluidTextArea/FluidTextArea.Skeleton.js +8 -9
  392. package/lib/components/FluidTextArea/FluidTextArea.js +6 -7
  393. package/lib/components/FluidTextInput/FluidTextInput.Skeleton.js +8 -9
  394. package/lib/components/FluidTextInput/FluidTextInput.js +9 -8
  395. package/lib/components/FluidTimePicker/FluidTimePicker.Skeleton.js +10 -9
  396. package/lib/components/FluidTimePicker/FluidTimePicker.js +30 -26
  397. package/lib/components/FluidTimePickerSelect/FluidTimePickerSelect.js +6 -6
  398. package/lib/components/Form/Form.js +8 -9
  399. package/lib/components/FormGroup/FormGroup.js +15 -16
  400. package/lib/components/FormItem/FormItem.js +7 -8
  401. package/lib/components/FormLabel/FormLabel.js +10 -9
  402. package/lib/components/Grid/CSSGrid.js +37 -38
  403. package/lib/components/Grid/Column.js +85 -78
  404. package/lib/components/Grid/ColumnHang.js +11 -13
  405. package/lib/components/Grid/FlexGrid.js +19 -21
  406. package/lib/components/Grid/Grid.js +2 -2
  407. package/lib/components/Grid/GridContext.js +12 -11
  408. package/lib/components/Grid/Row.js +16 -18
  409. package/lib/components/Heading/index.js +11 -13
  410. package/lib/components/Icon/Icon.Skeleton.js +9 -11
  411. package/lib/components/IconButton/index.js +18 -21
  412. package/lib/components/IdPrefix/index.js +4 -2
  413. package/lib/components/InlineCheckbox/InlineCheckbox.js +89 -36
  414. package/lib/components/InlineLoading/InlineLoading.js +22 -24
  415. package/lib/components/Layer/LayerContext.js +1 -1
  416. package/lib/components/Layer/index.js +16 -17
  417. package/lib/components/Layout/LayoutDirection.js +7 -9
  418. package/lib/components/Layout/LayoutDirectionContext.js +1 -1
  419. package/lib/components/Link/Link.js +24 -24
  420. package/lib/components/ListBox/ListBox.js +37 -30
  421. package/lib/components/ListBox/ListBoxField.js +8 -9
  422. package/lib/components/ListBox/ListBoxMenu.js +8 -9
  423. package/lib/components/ListBox/ListBoxMenuIcon.js +16 -14
  424. package/lib/components/ListBox/ListBoxMenuItem.js +22 -25
  425. package/lib/components/ListBox/ListBoxPropTypes.js +4 -4
  426. package/lib/components/ListBox/ListBoxSelection.js +30 -25
  427. package/lib/components/ListBox/index.js +1 -1
  428. package/lib/components/ListBox/next/ListBoxSelection.js +26 -23
  429. package/lib/components/ListBox/next/ListBoxTrigger.js +19 -18
  430. package/lib/components/ListItem/ListItem.js +8 -9
  431. package/lib/components/Loading/Loading.js +23 -23
  432. package/lib/components/Menu/Menu.js +66 -79
  433. package/lib/components/Menu/MenuContext.js +9 -12
  434. package/lib/components/Menu/MenuItem.js +103 -127
  435. package/lib/components/MenuButton/index.js +36 -40
  436. package/lib/components/Modal/Modal.js +280 -119
  437. package/lib/components/ModalWrapper/ModalWrapper.js +71 -95
  438. package/lib/components/MultiSelect/FilterableMultiSelect.js +298 -162
  439. package/lib/components/MultiSelect/MultiSelect.js +163 -175
  440. package/lib/components/MultiSelect/MultiSelectPropTypes.js +1 -1
  441. package/lib/components/MultiSelect/tools/itemToString.js +3 -4
  442. package/lib/components/MultiSelect/tools/sorting.js +15 -13
  443. package/lib/components/Notification/Notification.js +434 -162
  444. package/lib/components/NumberInput/NumberInput.Skeleton.js +9 -10
  445. package/lib/components/NumberInput/NumberInput.js +139 -138
  446. package/lib/components/OrderedList/OrderedList.js +16 -14
  447. package/lib/components/OverflowMenu/OverflowMenu.js +358 -226
  448. package/lib/components/OverflowMenu/index.js +1 -1
  449. package/lib/components/OverflowMenuItem/OverflowMenuItem.js +31 -36
  450. package/lib/components/OverflowMenuV2/index.js +25 -27
  451. package/lib/components/Pagination/Pagination.Skeleton.js +8 -9
  452. package/lib/components/Pagination/Pagination.js +97 -139
  453. package/lib/components/Pagination/experimental/PageSelector.js +17 -17
  454. package/lib/components/Pagination/experimental/Pagination.js +72 -93
  455. package/lib/components/PaginationNav/PaginationNav.js +97 -116
  456. package/lib/components/Popover/index.js +73 -79
  457. package/lib/components/PrimaryButton/PrimaryButton.js +3 -5
  458. package/lib/components/ProgressBar/ProgressBar.js +38 -36
  459. package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +14 -13
  460. package/lib/components/ProgressIndicator/ProgressIndicator.js +70 -70
  461. package/lib/components/RadioButton/RadioButton.Skeleton.js +8 -9
  462. package/lib/components/RadioButton/RadioButton.js +26 -26
  463. package/lib/components/RadioButtonGroup/RadioButtonGroup.js +54 -64
  464. package/lib/components/RadioTile/RadioTile.js +27 -25
  465. package/lib/components/Search/Search.Skeleton.js +15 -15
  466. package/lib/components/Search/Search.d.ts +83 -0
  467. package/lib/components/Search/Search.js +62 -69
  468. package/lib/components/Search/index.d.ts +11 -0
  469. package/lib/components/SecondaryButton/SecondaryButton.js +3 -5
  470. package/lib/components/Select/Select.Skeleton.js +11 -12
  471. package/lib/components/Select/Select.js +78 -72
  472. package/lib/components/SelectItem/SelectItem.js +16 -12
  473. package/lib/components/SelectItemGroup/SelectItemGroup.js +10 -11
  474. package/lib/components/SkeletonIcon/SkeletonIcon.js +10 -10
  475. package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +10 -10
  476. package/lib/components/SkeletonText/SkeletonText.js +28 -28
  477. package/lib/components/Slider/Slider.Skeleton.js +16 -17
  478. package/lib/components/Slider/Slider.js +305 -328
  479. package/lib/components/Slider/index.js +1 -1
  480. package/lib/components/Stack/Stack.js +18 -19
  481. package/lib/components/Stack/index.js +2 -2
  482. package/lib/components/StructuredList/StructuredList.Skeleton.js +24 -23
  483. package/lib/components/StructuredList/StructuredList.js +133 -105
  484. package/lib/components/Switch/IconSwitch.js +45 -51
  485. package/lib/components/Switch/Switch.js +33 -31
  486. package/lib/components/Tab/Tab.js +76 -82
  487. package/lib/components/Tab/index.js +1 -1
  488. package/lib/components/TabContent/TabContent.js +15 -17
  489. package/lib/components/Tabs/Tabs.Skeleton.js +13 -12
  490. package/lib/components/Tabs/Tabs.js +210 -209
  491. package/lib/components/Tabs/usePressable.js +27 -36
  492. package/lib/components/Tag/Tag.Skeleton.js +9 -8
  493. package/lib/components/Tag/Tag.js +33 -30
  494. package/lib/components/Text/Text.js +19 -19
  495. package/lib/components/Text/TextDirection.js +8 -7
  496. package/lib/components/Text/TextDirectionContext.js +1 -1
  497. package/lib/components/Text/index.js +1 -1
  498. package/lib/components/TextArea/TextArea.Skeleton.js +10 -11
  499. package/lib/components/TextArea/TextArea.js +88 -82
  500. package/lib/components/TextInput/ControlledPasswordInput.js +78 -72
  501. package/lib/components/TextInput/PasswordInput.js +100 -90
  502. package/lib/components/TextInput/TextInput.Skeleton.js +10 -11
  503. package/lib/components/TextInput/TextInput.js +104 -92
  504. package/lib/components/TextInput/util.js +28 -30
  505. package/lib/components/Theme/index.js +24 -19
  506. package/lib/components/Tile/Tile.js +134 -175
  507. package/lib/components/TileGroup/TileGroup.js +54 -69
  508. package/lib/components/TileGroup/index.js +1 -1
  509. package/lib/components/TimePicker/TimePicker.js +59 -66
  510. package/lib/components/TimePickerSelect/TimePickerSelect.js +19 -17
  511. package/lib/components/TimePickerSelect/index.js +1 -1
  512. package/lib/components/Toggle/Toggle.Skeleton.js +68 -57
  513. package/lib/components/Toggle/Toggle.js +43 -47
  514. package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +60 -54
  515. package/lib/components/Toggletip/index.js +51 -47
  516. package/lib/components/Tooltip/DefinitionTooltip.js +23 -30
  517. package/lib/components/Tooltip/Tooltip.js +34 -49
  518. package/lib/components/TreeView/TreeNode.js +93 -73
  519. package/lib/components/TreeView/TreeView.js +71 -82
  520. package/lib/components/UIShell/Content.js +12 -14
  521. package/lib/components/UIShell/Header.js +15 -11
  522. package/lib/components/UIShell/HeaderContainer.js +8 -14
  523. package/lib/components/UIShell/HeaderGlobalAction.js +25 -18
  524. package/lib/components/UIShell/HeaderGlobalBar.js +1 -3
  525. package/lib/components/UIShell/HeaderMenu.js +113 -128
  526. package/lib/components/UIShell/HeaderMenuButton.js +30 -21
  527. package/lib/components/UIShell/HeaderMenuItem.js +27 -19
  528. package/lib/components/UIShell/HeaderName.js +18 -13
  529. package/lib/components/UIShell/HeaderNavigation.js +18 -14
  530. package/lib/components/UIShell/HeaderPanel.js +22 -16
  531. package/lib/components/UIShell/HeaderSideNavItems.js +11 -9
  532. package/lib/components/UIShell/Link.js +11 -11
  533. package/lib/components/UIShell/SideNav.js +65 -61
  534. package/lib/components/UIShell/SideNavDetails.js +10 -11
  535. package/lib/components/UIShell/SideNavDivider.js +5 -3
  536. package/lib/components/UIShell/SideNavFooter.js +12 -12
  537. package/lib/components/UIShell/SideNavHeader.js +8 -6
  538. package/lib/components/UIShell/SideNavIcon.js +11 -8
  539. package/lib/components/UIShell/SideNavItem.js +11 -9
  540. package/lib/components/UIShell/SideNavItems.js +13 -11
  541. package/lib/components/UIShell/SideNavLink.js +18 -16
  542. package/lib/components/UIShell/SideNavLinkText.js +7 -8
  543. package/lib/components/UIShell/SideNavMenu.js +28 -35
  544. package/lib/components/UIShell/SideNavMenuItem.js +13 -13
  545. package/lib/components/UIShell/SideNavSwitcher.js +19 -19
  546. package/lib/components/UIShell/SkipToContent.js +9 -10
  547. package/lib/components/UIShell/Switcher.js +19 -10
  548. package/lib/components/UIShell/SwitcherDivider.js +9 -8
  549. package/lib/components/UIShell/SwitcherItem.js +25 -18
  550. package/lib/components/UIShell/_utils.js +1 -1
  551. package/lib/components/UnorderedList/UnorderedList.js +13 -13
  552. package/lib/index.js +10 -10
  553. package/lib/internal/ClickListener.js +49 -65
  554. package/lib/internal/FloatingMenu.js +192 -199
  555. package/lib/internal/OptimizedResize.js +9 -8
  556. package/lib/internal/Selection.js +91 -110
  557. package/lib/internal/createClassWrapper.js +2 -2
  558. package/lib/internal/deprecateFieldOnObject.js +5 -3
  559. package/lib/internal/environment.js +1 -1
  560. package/lib/internal/focus/index.js +1 -1
  561. package/lib/internal/keyboard/keys.js +11 -11
  562. package/lib/internal/keyboard/match.js +7 -6
  563. package/lib/internal/keyboard/navigation.js +15 -5
  564. package/lib/internal/useAnnouncer.js +2 -2
  565. package/lib/internal/useAttachedMenu.js +12 -20
  566. package/lib/internal/useControllableState.js +11 -16
  567. package/lib/internal/useDelayedState.js +9 -18
  568. package/lib/internal/useEffectOnce.js +4 -4
  569. package/lib/internal/useEvent.js +4 -4
  570. package/lib/internal/useId.js +14 -18
  571. package/lib/internal/useIdPrefix.js +1 -1
  572. package/lib/internal/useIsomorphicEffect.js +1 -1
  573. package/lib/internal/useMergedRefs.js +3 -3
  574. package/lib/internal/useNoInteractiveChildren.js +8 -19
  575. package/lib/internal/useNormalizedInputProps.js +16 -14
  576. package/lib/internal/usePrefix.js +1 -1
  577. package/lib/internal/useSavedCallback.js +3 -3
  578. package/lib/internal/warning.js +4 -4
  579. package/lib/internal/wrapFocus.js +16 -21
  580. package/lib/prop-types/AriaPropTypes.js +1 -1
  581. package/lib/prop-types/deprecate.js +6 -5
  582. package/lib/prop-types/isRequiredOneOf.js +15 -28
  583. package/lib/prop-types/requiredIfGivenPropIsTruthy.js +2 -2
  584. package/lib/prop-types/types.js +1 -1
  585. package/lib/tools/array.js +1 -1
  586. package/lib/tools/events.js +21 -14
  587. package/lib/tools/mergeRefs.js +3 -3
  588. package/lib/tools/setupGetInstanceId.js +1 -1
  589. package/lib/tools/uniqueId.js +3 -3
  590. package/lib/tools/wrapComponent.js +14 -13
  591. package/package.json +9 -9
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { slicedToArray as _slicedToArray, objectSpread2 as _objectSpread2, defineProperty as _defineProperty, extends as _extends, typeof as _typeof } from '../../_virtual/_rollupPluginBabelHelpers.js';
8
+ import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import { WarningFilled, WarningAltFilled } from '@carbon/icons-react';
10
10
  import cx from 'classnames';
11
11
  import Downshift, { useSelect } from 'downshift';
@@ -27,162 +27,125 @@ import { match } from '../../internal/keyboard/match.js';
27
27
  import { ListBoxSize } from '../ListBox/ListBoxPropTypes.js';
28
28
  import { Delete, Escape, Space, ArrowDown } from '../../internal/keyboard/keys.js';
29
29
 
30
- var noop = function noop() {};
30
+ const noop = () => {};
31
31
 
32
- var getInstanceId = setupGetInstanceId();
33
- var _ref = useSelect.stateChangeTypes,
34
- ItemClick = _ref.ItemClick,
35
- MenuBlur = _ref.MenuBlur,
36
- MenuKeyDownArrowDown = _ref.MenuKeyDownArrowDown,
37
- MenuKeyDownArrowUp = _ref.MenuKeyDownArrowUp,
38
- MenuKeyDownEscape = _ref.MenuKeyDownEscape,
39
- MenuKeyDownSpaceButton = _ref.MenuKeyDownSpaceButton,
40
- ToggleButtonClick = _ref.ToggleButtonClick;
32
+ const getInstanceId = setupGetInstanceId();
33
+ const {
34
+ ItemClick,
35
+ MenuBlur,
36
+ MenuKeyDownArrowDown,
37
+ MenuKeyDownArrowUp,
38
+ MenuKeyDownEscape,
39
+ MenuKeyDownSpaceButton,
40
+ ToggleButtonClick
41
+ } = useSelect.stateChangeTypes;
41
42
 
42
- var defaultItemToString = function defaultItemToString(item) {
43
+ const defaultItemToString = item => {
43
44
  if (typeof item === 'string') {
44
45
  return item;
45
46
  }
46
47
 
47
48
  if (typeof item === 'number') {
48
- return "".concat(item);
49
+ return `${item}`;
49
50
  }
50
51
 
51
- if (item !== null && _typeof(item) === 'object' && 'label' in item && typeof item['label'] === 'string') {
52
+ if (item !== null && typeof item === 'object' && 'label' in item && typeof item['label'] === 'string') {
52
53
  return item['label'];
53
54
  }
54
55
 
55
56
  return '';
56
57
  };
57
58
 
58
- var MultiSelect = /*#__PURE__*/React__default.forwardRef(function MultiSelect(_ref2, ref) {
59
- var _cx, _cx2, _cx4;
60
-
61
- var containerClassName = _ref2.className,
62
- id = _ref2.id,
63
- items = _ref2.items,
64
- itemToElement = _ref2.itemToElement,
65
- _ref2$itemToString = _ref2.itemToString,
66
- itemToString = _ref2$itemToString === void 0 ? defaultItemToString : _ref2$itemToString,
67
- titleText = _ref2.titleText,
68
- hideLabel = _ref2.hideLabel,
69
- helperText = _ref2.helperText,
70
- label = _ref2.label,
71
- type = _ref2.type,
72
- size = _ref2.size,
73
- disabled = _ref2.disabled,
74
- initialSelectedItems = _ref2.initialSelectedItems,
75
- sortItems = _ref2.sortItems,
76
- compareItems = _ref2.compareItems,
77
- clearSelectionText = _ref2.clearSelectionText,
78
- clearSelectionDescription = _ref2.clearSelectionDescription,
79
- light = _ref2.light,
80
- invalid = _ref2.invalid,
81
- invalidText = _ref2.invalidText,
82
- warn = _ref2.warn,
83
- warnText = _ref2.warnText,
84
- useTitleInItem = _ref2.useTitleInItem,
85
- translateWithId = _ref2.translateWithId,
86
- downshiftProps = _ref2.downshiftProps,
87
- open = _ref2.open,
88
- selectionFeedback = _ref2.selectionFeedback,
89
- onChange = _ref2.onChange,
90
- onMenuChange = _ref2.onMenuChange,
91
- direction = _ref2.direction,
92
- selected = _ref2.selectedItems,
93
- readOnly = _ref2.readOnly,
94
- locale = _ref2.locale;
95
- var prefix = usePrefix();
96
-
97
- var _useContext = useContext(FormContext),
98
- isFluid = _useContext.isFluid;
99
-
100
- var _useRef = useRef(getInstanceId()),
101
- multiSelectInstanceId = _useRef.current;
102
-
103
- var _useState = useState(),
104
- _useState2 = _slicedToArray(_useState, 2),
105
- highlightedIndex = _useState2[0],
106
- setHighlightedIndex = _useState2[1];
107
-
108
- var _useState3 = useState(false),
109
- _useState4 = _slicedToArray(_useState3, 2),
110
- isFocused = _useState4[0],
111
- setIsFocused = _useState4[1];
112
-
113
- var _useState5 = useState(false),
114
- _useState6 = _slicedToArray(_useState5, 2),
115
- inputFocused = _useState6[0],
116
- setInputFocused = _useState6[1];
117
-
118
- var _useState7 = useState(open || false),
119
- _useState8 = _slicedToArray(_useState7, 2),
120
- isOpen = _useState8[0],
121
- setIsOpen = _useState8[1];
122
-
123
- var _useState9 = useState(open),
124
- _useState10 = _slicedToArray(_useState9, 2),
125
- prevOpenProp = _useState10[0],
126
- setPrevOpenProp = _useState10[1];
127
-
128
- var _useState11 = useState([]),
129
- _useState12 = _slicedToArray(_useState11, 2),
130
- topItems = _useState12[0],
131
- setTopItems = _useState12[1];
132
-
133
- var _useSelection = useSelection({
134
- disabled: disabled,
135
- initialSelectedItems: initialSelectedItems,
136
- onChange: onChange,
59
+ const MultiSelect = /*#__PURE__*/React__default.forwardRef(function MultiSelect(_ref, ref) {
60
+ let {
61
+ className: containerClassName,
62
+ id,
63
+ items,
64
+ itemToElement,
65
+ itemToString = defaultItemToString,
66
+ titleText,
67
+ hideLabel,
68
+ helperText,
69
+ label,
70
+ type,
71
+ size,
72
+ disabled,
73
+ initialSelectedItems,
74
+ sortItems,
75
+ compareItems,
76
+ clearSelectionText,
77
+ clearSelectionDescription,
78
+ light,
79
+ invalid,
80
+ invalidText,
81
+ warn,
82
+ warnText,
83
+ useTitleInItem,
84
+ translateWithId,
85
+ downshiftProps,
86
+ open,
87
+ selectionFeedback,
88
+ onChange,
89
+ onMenuChange,
90
+ direction,
91
+ selectedItems: selected,
92
+ readOnly,
93
+ locale
94
+ } = _ref;
95
+ const prefix = usePrefix();
96
+ const {
97
+ isFluid
98
+ } = useContext(FormContext);
99
+ const {
100
+ current: multiSelectInstanceId
101
+ } = useRef(getInstanceId());
102
+ const [highlightedIndex, setHighlightedIndex] = useState();
103
+ const [isFocused, setIsFocused] = useState(false);
104
+ const [inputFocused, setInputFocused] = useState(false);
105
+ const [isOpen, setIsOpen] = useState(open || false);
106
+ const [prevOpenProp, setPrevOpenProp] = useState(open);
107
+ const [topItems, setTopItems] = useState([]);
108
+ const {
109
+ selectedItems: controlledSelectedItems,
110
+ onItemChange,
111
+ clearSelection
112
+ } = useSelection({
113
+ disabled,
114
+ initialSelectedItems,
115
+ onChange,
137
116
  selectedItems: selected
138
- }),
139
- controlledSelectedItems = _useSelection.selectedItems,
140
- onItemChange = _useSelection.onItemChange,
141
- clearSelection = _useSelection.clearSelection;
142
-
143
- var _useSelect = useSelect(_objectSpread2(_objectSpread2({}, downshiftProps), {}, {
144
- highlightedIndex: highlightedIndex,
145
- isOpen: isOpen,
146
- itemToString: function (_itemToString) {
147
- function itemToString(_x) {
148
- return _itemToString.apply(this, arguments);
149
- }
150
-
151
- itemToString.toString = function () {
152
- return _itemToString.toString();
153
- };
154
-
155
- return itemToString;
156
- }(function (items) {
157
- return items.map(function (item) {
158
- return itemToString(item);
159
- }).join(', ');
160
- }),
161
- onStateChange: onStateChange,
117
+ });
118
+ const {
119
+ getToggleButtonProps,
120
+ getLabelProps,
121
+ getMenuProps,
122
+ getItemProps,
123
+ selectedItem
124
+ } = useSelect({ ...downshiftProps,
125
+ highlightedIndex,
126
+ isOpen,
127
+ itemToString: items => {
128
+ return items.map(item => itemToString(item)).join(', ');
129
+ },
130
+ onStateChange,
162
131
  selectedItem: controlledSelectedItems,
163
- items: items
164
- })),
165
- getToggleButtonProps = _useSelect.getToggleButtonProps,
166
- getLabelProps = _useSelect.getLabelProps,
167
- getMenuProps = _useSelect.getMenuProps,
168
- getItemProps = _useSelect.getItemProps,
169
- selectedItem = _useSelect.selectedItem;
170
-
171
- var toggleButtonProps = getToggleButtonProps({
172
- onFocus: function onFocus() {
132
+ items
133
+ });
134
+ const toggleButtonProps = getToggleButtonProps({
135
+ onFocus: () => {
173
136
  setInputFocused(true);
174
137
  },
175
- onBlur: function onBlur() {
138
+ onBlur: () => {
176
139
  setInputFocused(false);
177
140
  }
178
141
  });
179
- var mergedRef = mergeRefs(toggleButtonProps.ref, ref);
180
- var selectedItems = selectedItem;
142
+ const mergedRef = mergeRefs(toggleButtonProps.ref, ref);
143
+ const selectedItems = selectedItem;
181
144
  /**
182
145
  * wrapper function to forward changes to consumer
183
146
  */
184
147
 
185
- var setIsOpenWrapper = function setIsOpenWrapper(open) {
148
+ const setIsOpenWrapper = open => {
186
149
  setIsOpen(open);
187
150
 
188
151
  if (onMenuChange) {
@@ -199,23 +162,43 @@ var MultiSelect = /*#__PURE__*/React__default.forwardRef(function MultiSelect(_r
199
162
  setPrevOpenProp(open);
200
163
  }
201
164
 
202
- var inline = type === 'inline';
203
- var showWarning = !invalid && warn;
204
- var enabled = useFeatureFlag('enable-v11-release');
205
- var wrapperClasses = cx("".concat(prefix, "--multi-select__wrapper"), "".concat(prefix, "--list-box__wrapper"), [enabled ? containerClassName : null], (_cx = {}, _defineProperty(_cx, "".concat(prefix, "--multi-select__wrapper--inline"), inline), _defineProperty(_cx, "".concat(prefix, "--list-box__wrapper--inline"), inline), _defineProperty(_cx, "".concat(prefix, "--multi-select__wrapper--inline--invalid"), inline && invalid), _defineProperty(_cx, "".concat(prefix, "--list-box__wrapper--inline--invalid"), inline && invalid), _defineProperty(_cx, "".concat(prefix, "--list-box__wrapper--fluid--invalid"), isFluid && invalid), _defineProperty(_cx, "".concat(prefix, "--list-box__wrapper--fluid--focus"), !isOpen && isFluid && isFocused), _cx));
206
- var titleClasses = cx("".concat(prefix, "--label"), (_cx2 = {}, _defineProperty(_cx2, "".concat(prefix, "--label--disabled"), disabled), _defineProperty(_cx2, "".concat(prefix, "--visually-hidden"), hideLabel), _cx2));
207
- var helperId = !helperText ? undefined : "multiselect-helper-text-".concat(multiSelectInstanceId);
208
- var fieldLabelId = "multiselect-field-label-".concat(multiSelectInstanceId);
209
- var helperClasses = cx("".concat(prefix, "--form__helper-text"), _defineProperty({}, "".concat(prefix, "--form__helper-text--disabled"), disabled));
210
- var className = cx("".concat(prefix, "--multi-select"), [enabled ? null : containerClassName], (_cx4 = {}, _defineProperty(_cx4, "".concat(prefix, "--multi-select--invalid"), invalid), _defineProperty(_cx4, "".concat(prefix, "--multi-select--invalid--focused"), invalid && inputFocused), _defineProperty(_cx4, "".concat(prefix, "--multi-select--warning"), showWarning), _defineProperty(_cx4, "".concat(prefix, "--multi-select--inline"), inline), _defineProperty(_cx4, "".concat(prefix, "--multi-select--selected"), selectedItems && selectedItems.length > 0), _defineProperty(_cx4, "".concat(prefix, "--list-box--up"), direction === 'top'), _defineProperty(_cx4, "".concat(prefix, "--multi-select--readonly"), readOnly), _cx4)); // needs to be capitalized for react to render it correctly
165
+ const inline = type === 'inline';
166
+ const showWarning = !invalid && warn;
167
+ const enabled = useFeatureFlag('enable-v11-release');
168
+ const wrapperClasses = cx(`${prefix}--multi-select__wrapper`, `${prefix}--list-box__wrapper`, [enabled ? containerClassName : null], {
169
+ [`${prefix}--multi-select__wrapper--inline`]: inline,
170
+ [`${prefix}--list-box__wrapper--inline`]: inline,
171
+ [`${prefix}--multi-select__wrapper--inline--invalid`]: inline && invalid,
172
+ [`${prefix}--list-box__wrapper--inline--invalid`]: inline && invalid,
173
+ [`${prefix}--list-box__wrapper--fluid--invalid`]: isFluid && invalid,
174
+ [`${prefix}--list-box__wrapper--fluid--focus`]: !isOpen && isFluid && isFocused
175
+ });
176
+ const titleClasses = cx(`${prefix}--label`, {
177
+ [`${prefix}--label--disabled`]: disabled,
178
+ [`${prefix}--visually-hidden`]: hideLabel
179
+ });
180
+ const helperId = !helperText ? undefined : `multiselect-helper-text-${multiSelectInstanceId}`;
181
+ const fieldLabelId = `multiselect-field-label-${multiSelectInstanceId}`;
182
+ const helperClasses = cx(`${prefix}--form__helper-text`, {
183
+ [`${prefix}--form__helper-text--disabled`]: disabled
184
+ });
185
+ const className = cx(`${prefix}--multi-select`, [enabled ? null : containerClassName], {
186
+ [`${prefix}--multi-select--invalid`]: invalid,
187
+ [`${prefix}--multi-select--invalid--focused`]: invalid && inputFocused,
188
+ [`${prefix}--multi-select--warning`]: showWarning,
189
+ [`${prefix}--multi-select--inline`]: inline,
190
+ [`${prefix}--multi-select--selected`]: selectedItems && selectedItems.length > 0,
191
+ [`${prefix}--list-box--up`]: direction === 'top',
192
+ [`${prefix}--multi-select--readonly`]: readOnly
193
+ }); // needs to be capitalized for react to render it correctly
211
194
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
212
195
 
213
- var ItemToElement = itemToElement;
214
- var sortOptions = {
196
+ const ItemToElement = itemToElement;
197
+ const sortOptions = {
215
198
  selectedItems: controlledSelectedItems,
216
- itemToString: itemToString,
217
- compareItems: compareItems,
218
- locale: locale
199
+ itemToString,
200
+ compareItems,
201
+ locale
219
202
  };
220
203
 
221
204
  if (selectionFeedback === 'fixed') {
@@ -229,7 +212,9 @@ var MultiSelect = /*#__PURE__*/React__default.forwardRef(function MultiSelect(_r
229
212
  setTopItems(controlledSelectedItems);
230
213
  }
231
214
 
232
- var type = changes.type;
215
+ const {
216
+ type
217
+ } = changes;
233
218
 
234
219
  switch (type) {
235
220
  case ItemClick:
@@ -259,7 +244,7 @@ var MultiSelect = /*#__PURE__*/React__default.forwardRef(function MultiSelect(_r
259
244
  }
260
245
  }
261
246
 
262
- var onKeyDown = function onKeyDown(e) {
247
+ const onKeyDown = e => {
263
248
  if (!disabled) {
264
249
  if (match(e, Delete) || match(e, Escape)) {
265
250
  clearSelection();
@@ -272,14 +257,16 @@ var MultiSelect = /*#__PURE__*/React__default.forwardRef(function MultiSelect(_r
272
257
  }
273
258
  };
274
259
 
275
- var multiSelectFieldWrapperClasses = cx("".concat(prefix, "--list-box__field--wrapper"), _defineProperty({}, "".concat(prefix, "--list-box__field--wrapper--input-focused"), inputFocused));
260
+ const multiSelectFieldWrapperClasses = cx(`${prefix}--list-box__field--wrapper`, {
261
+ [`${prefix}--list-box__field--wrapper--input-focused`]: inputFocused
262
+ });
276
263
 
277
- var handleFocus = function handleFocus(evt) {
278
- evt.target.classList.contains("".concat(prefix, "--tag__close-icon")) ? setIsFocused(false) : setIsFocused(evt.type === 'focus' ? true : false);
264
+ const handleFocus = evt => {
265
+ evt.target.classList.contains(`${prefix}--tag__close-icon`) ? setIsFocused(false) : setIsFocused(evt.type === 'focus' ? true : false);
279
266
  };
280
267
 
281
- var readOnlyEventHandlers = readOnly ? {
282
- onClick: function onClick(evt) {
268
+ const readOnlyEventHandlers = readOnly ? {
269
+ onClick: evt => {
283
270
  // NOTE: does not prevent click
284
271
  evt.preventDefault(); // focus on the element as per readonly input behavior
285
272
 
@@ -287,8 +274,8 @@ var MultiSelect = /*#__PURE__*/React__default.forwardRef(function MultiSelect(_r
287
274
  mergedRef.current.focus();
288
275
  }
289
276
  },
290
- onKeyDown: function onKeyDown(evt) {
291
- var selectAccessKeys = ['ArrowDown', 'ArrowUp', ' ', 'Enter']; // This prevents the select from opening for the above keys
277
+ onKeyDown: evt => {
278
+ const selectAccessKeys = ['ArrowDown', 'ArrowUp', ' ', 'Enter']; // This prevents the select from opening for the above keys
292
279
 
293
280
  if (selectAccessKeys.includes(evt.key)) {
294
281
  evt.preventDefault();
@@ -300,7 +287,7 @@ var MultiSelect = /*#__PURE__*/React__default.forwardRef(function MultiSelect(_r
300
287
  }, /*#__PURE__*/React__default.createElement("label", _extends({
301
288
  className: titleClasses
302
289
  }, getLabelProps()), titleText && titleText, selectedItems.length > 0 && /*#__PURE__*/React__default.createElement("span", {
303
- className: "".concat(prefix, "--visually-hidden")
290
+ className: `${prefix}--visually-hidden`
304
291
  }, clearSelectionDescription, " ", selectedItems.length, ",", clearSelectionText)), /*#__PURE__*/React__default.createElement(ListBox, {
305
292
  onFocus: isFluid ? handleFocus : undefined,
306
293
  onBlur: isFluid ? handleFocus : undefined,
@@ -316,9 +303,9 @@ var MultiSelect = /*#__PURE__*/React__default.forwardRef(function MultiSelect(_r
316
303
  isOpen: isOpen,
317
304
  id: id
318
305
  }, invalid && /*#__PURE__*/React__default.createElement(WarningFilled, {
319
- className: "".concat(prefix, "--list-box__invalid-icon")
306
+ className: `${prefix}--list-box__invalid-icon`
320
307
  }), showWarning && /*#__PURE__*/React__default.createElement(WarningAltFilled, {
321
- className: "".concat(prefix, "--list-box__invalid-icon ").concat(prefix, "--list-box__invalid-icon--warning")
308
+ className: `${prefix}--list-box__invalid-icon ${prefix}--list-box__invalid-icon--warning`
322
309
  }), /*#__PURE__*/React__default.createElement("div", {
323
310
  className: multiSelectFieldWrapperClasses
324
311
  }, selectedItems.length > 0 && /*#__PURE__*/React__default.createElement(ListBox.Selection, {
@@ -330,7 +317,7 @@ var MultiSelect = /*#__PURE__*/React__default.forwardRef(function MultiSelect(_r
330
317
  disabled: disabled
331
318
  }), /*#__PURE__*/React__default.createElement("button", _extends({
332
319
  type: "button",
333
- className: "".concat(prefix, "--list-box__field"),
320
+ className: `${prefix}--list-box__field`,
334
321
  disabled: disabled,
335
322
  "aria-disabled": disabled || readOnly,
336
323
  "aria-describedby": !inline && !invalid && !warn && helperText ? helperId : undefined
@@ -339,23 +326,23 @@ var MultiSelect = /*#__PURE__*/React__default.forwardRef(function MultiSelect(_r
339
326
  onKeyDown: onKeyDown
340
327
  }, readOnlyEventHandlers), /*#__PURE__*/React__default.createElement("span", {
341
328
  id: fieldLabelId,
342
- className: "".concat(prefix, "--list-box__label")
329
+ className: `${prefix}--list-box__label`
343
330
  }, label), /*#__PURE__*/React__default.createElement(ListBox.MenuIcon, {
344
331
  isOpen: isOpen,
345
332
  translateWithId: translateWithId
346
333
  }))), /*#__PURE__*/React__default.createElement(ListBox.Menu, _extends({
347
334
  "aria-multiselectable": "true"
348
335
  }, getMenuProps()), isOpen && // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
349
- sortItems(items, sortOptions).map(function (item, index) {
350
- var _getItemProps;
351
-
352
- var isChecked = selectedItems.filter(function (selected) {
353
- return isEqual(selected, item);
354
- }).length > 0;
355
- var itemProps = getItemProps((_getItemProps = {
356
- item: item
357
- }, _defineProperty(_getItemProps, 'aria-selected', isChecked ? true : undefined), _defineProperty(_getItemProps, "disabled", item.disabled), _getItemProps));
358
- var itemText = itemToString(item);
336
+ sortItems(items, sortOptions).map((item, index) => {
337
+ const isChecked = selectedItems.filter(selected => isEqual(selected, item)).length > 0;
338
+ const itemProps = getItemProps({
339
+ item,
340
+ // we don't want Downshift to set aria-selected for us
341
+ // we also don't want to set 'false' for reader verbosity's sake
342
+ ['aria-selected']: isChecked ? true : undefined,
343
+ disabled: item.disabled
344
+ });
345
+ const itemText = itemToString(item);
359
346
  return /*#__PURE__*/React__default.createElement(ListBox.MenuItem, _extends({
360
347
  key: itemProps.id,
361
348
  isActive: isChecked,
@@ -363,12 +350,12 @@ var MultiSelect = /*#__PURE__*/React__default.forwardRef(function MultiSelect(_r
363
350
  isHighlighted: highlightedIndex === index,
364
351
  title: itemText
365
352
  }, itemProps), /*#__PURE__*/React__default.createElement("div", {
366
- className: "".concat(prefix, "--checkbox-wrapper")
353
+ className: `${prefix}--checkbox-wrapper`
367
354
  }, /*#__PURE__*/React__default.createElement("span", {
368
355
  title: useTitleInItem ? itemText : undefined,
369
- className: "".concat(prefix, "--checkbox-label"),
356
+ className: `${prefix}--checkbox-label`,
370
357
  "data-contained-checkbox-state": isChecked,
371
- id: "".concat(itemProps.id, "__checkbox")
358
+ id: `${itemProps.id}__checkbox`
372
359
  }, itemToElement ? /*#__PURE__*/React__default.createElement(ItemToElement, _extends({
373
360
  key: itemProps.id
374
361
  }, item)) : itemText)));
@@ -378,7 +365,8 @@ var MultiSelect = /*#__PURE__*/React__default.forwardRef(function MultiSelect(_r
378
365
  }, helperText));
379
366
  });
380
367
  MultiSelect.displayName = 'MultiSelect';
381
- MultiSelect.propTypes = _objectSpread2(_objectSpread2({}, sortingPropTypes), {}, {
368
+ MultiSelect.propTypes = { ...sortingPropTypes,
369
+
382
370
  /**
383
371
  * Provide a custom class name to be added to the outermost node in the
384
372
  * component
@@ -549,7 +537,7 @@ MultiSelect.propTypes = _objectSpread2(_objectSpread2({}, sortingPropTypes), {},
549
537
  * Provide the text that is displayed when the control is in warning state
550
538
  */
551
539
  warnText: PropTypes.node
552
- });
540
+ };
553
541
  MultiSelect.defaultProps = {
554
542
  compareItems: defaultCompareItems,
555
543
  disabled: false,
@@ -7,7 +7,7 @@
7
7
 
8
8
  import PropTypes from 'prop-types';
9
9
 
10
- var sortingPropTypes = {
10
+ const sortingPropTypes = {
11
11
  /**
12
12
  * Provide a compare function that is used to determine the ordering of
13
13
  * options. `compareItems` has the following function signature:
@@ -5,15 +5,14 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { typeof as _typeof } from '../../../_virtual/_rollupPluginBabelHelpers.js';
9
8
  import invariant from 'invariant';
10
9
 
11
- var itemToString = function itemToString(item) {
12
- !(typeof item.label === 'string') ? process.env.NODE_ENV !== "production" ? invariant(false, '[MultiSelect] the default `itemToString` method expected to receive ' + 'an item with a `label` field of type `string`. Instead received: `%s`', _typeof(item.label)) : invariant(false) : void 0;
10
+ const itemToString = item => {
11
+ !(typeof item.label === 'string') ? process.env.NODE_ENV !== "production" ? invariant(false, '[MultiSelect] the default `itemToString` method expected to receive ' + 'an item with a `label` field of type `string`. Instead received: `%s`', typeof item.label) : invariant(false) : void 0;
13
12
  return item.label || '';
14
13
  };
15
14
 
16
- var defaultItemToString = function defaultItemToString(item) {
15
+ const defaultItemToString = item => {
17
16
  if (Array.isArray(item)) {
18
17
  return item.map(itemToString);
19
18
  }
@@ -15,8 +15,10 @@
15
15
  * @param {string} options.locale
16
16
  * @returns {number}
17
17
  */
18
- var defaultCompareItems = function defaultCompareItems(itemA, itemB, _ref) {
19
- var locale = _ref.locale;
18
+ const defaultCompareItems = (itemA, itemB, _ref) => {
19
+ let {
20
+ locale
21
+ } = _ref;
20
22
  return itemA.localeCompare(itemB, locale, {
21
23
  numeric: true
22
24
  });
@@ -25,16 +27,16 @@ var defaultCompareItems = function defaultCompareItems(itemA, itemB, _ref) {
25
27
  * Default sorting algorithm for options in a selection control
26
28
  */
27
29
 
28
- var defaultSortItems = function defaultSortItems(items, _ref2) {
29
- var _ref2$selectedItems = _ref2.selectedItems,
30
- selectedItems = _ref2$selectedItems === void 0 ? [] : _ref2$selectedItems,
31
- itemToString = _ref2.itemToString,
32
- compareItems = _ref2.compareItems,
33
- _ref2$locale = _ref2.locale,
34
- locale = _ref2$locale === void 0 ? 'en' : _ref2$locale;
35
- return items.sort(function (itemA, itemB) {
36
- var hasItemA = selectedItems.includes(itemA);
37
- var hasItemB = selectedItems.includes(itemB); // Prefer whichever item is in the `selectedItems` array first
30
+ const defaultSortItems = (items, _ref2) => {
31
+ let {
32
+ selectedItems = [],
33
+ itemToString,
34
+ compareItems,
35
+ locale = 'en'
36
+ } = _ref2;
37
+ return items.sort((itemA, itemB) => {
38
+ const hasItemA = selectedItems.includes(itemA);
39
+ const hasItemB = selectedItems.includes(itemB); // Prefer whichever item is in the `selectedItems` array first
38
40
 
39
41
  if (hasItemA && !hasItemB) {
40
42
  return -1;
@@ -45,7 +47,7 @@ var defaultSortItems = function defaultSortItems(items, _ref2) {
45
47
  }
46
48
 
47
49
  return compareItems(itemToString(itemA), itemToString(itemB), {
48
- locale: locale
50
+ locale
49
51
  });
50
52
  });
51
53
  };