@carbon/react 1.27.0 → 1.28.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 (601) 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 +66 -20
  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 +333 -359
  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.d.ts +30 -0
  65. package/es/components/DatePicker/DatePicker.Skeleton.js +18 -20
  66. package/es/components/DatePicker/DatePicker.d.ts +131 -0
  67. package/es/components/DatePicker/DatePicker.js +215 -200
  68. package/es/components/DatePicker/index.d.ts +10 -0
  69. package/es/components/DatePicker/index.js +1 -0
  70. package/es/components/DatePicker/plugins/appendToPlugin.js +45 -43
  71. package/es/components/DatePicker/plugins/fixEventsPlugin.js +117 -107
  72. package/es/components/DatePicker/plugins/rangePlugin.js +19 -11
  73. package/es/components/DatePickerInput/DatePickerInput.d.ts +93 -0
  74. package/es/components/DatePickerInput/DatePickerInput.js +83 -74
  75. package/es/components/Dropdown/Dropdown.Skeleton.js +13 -12
  76. package/es/components/Dropdown/Dropdown.js +266 -109
  77. package/es/components/ErrorBoundary/ErrorBoundary.js +27 -48
  78. package/es/components/ErrorBoundary/ErrorBoundaryContext.js +3 -2
  79. package/es/components/ExpandableSearch/ExpandableSearch.d.ts +14 -0
  80. package/es/components/ExpandableSearch/ExpandableSearch.js +19 -25
  81. package/es/components/FeatureFlags/index.js +25 -43
  82. package/es/components/FileUploader/FileUploader.Skeleton.js +8 -9
  83. package/es/components/FileUploader/FileUploader.js +120 -147
  84. package/es/components/FileUploader/FileUploaderButton.js +36 -48
  85. package/es/components/FileUploader/FileUploaderDropContainer.js +49 -53
  86. package/es/components/FileUploader/FileUploaderItem.js +30 -30
  87. package/es/components/FileUploader/Filename.js +13 -14
  88. package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +11 -12
  89. package/es/components/FluidComboBox/FluidComboBox.js +11 -9
  90. package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.js +18 -18
  91. package/es/components/FluidDatePicker/FluidDatePicker.js +20 -16
  92. package/es/components/FluidDatePickerInput/FluidDatePickerInput.js +3 -3
  93. package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +11 -12
  94. package/es/components/FluidDropdown/FluidDropdown.js +11 -9
  95. package/es/components/FluidForm/FluidForm.js +9 -10
  96. package/es/components/FluidForm/FormContext.js +1 -1
  97. package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +11 -12
  98. package/es/components/FluidMultiSelect/FluidMultiSelect.js +12 -10
  99. package/es/components/FluidSelect/FluidSelect.Skeleton.js +11 -12
  100. package/es/components/FluidSelect/FluidSelect.js +9 -9
  101. package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +9 -10
  102. package/es/components/FluidTextArea/FluidTextArea.js +7 -8
  103. package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +9 -10
  104. package/es/components/FluidTextInput/FluidTextInput.js +10 -9
  105. package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +11 -10
  106. package/es/components/FluidTimePicker/FluidTimePicker.js +30 -26
  107. package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.js +7 -7
  108. package/es/components/Form/Form.js +9 -10
  109. package/es/components/FormGroup/FormGroup.js +16 -17
  110. package/es/components/FormItem/FormItem.js +8 -9
  111. package/es/components/FormLabel/FormLabel.js +11 -10
  112. package/es/components/Grid/CSSGrid.js +38 -39
  113. package/es/components/Grid/Column.js +86 -79
  114. package/es/components/Grid/ColumnHang.js +12 -14
  115. package/es/components/Grid/FlexGrid.js +19 -21
  116. package/es/components/Grid/Grid.js +2 -2
  117. package/es/components/Grid/GridContext.js +12 -11
  118. package/es/components/Grid/Row.js +16 -18
  119. package/es/components/Heading/index.js +11 -13
  120. package/es/components/Icon/Icon.Skeleton.js +10 -12
  121. package/es/components/IconButton/index.js +19 -22
  122. package/es/components/IdPrefix/index.js +4 -2
  123. package/es/components/InlineCheckbox/InlineCheckbox.js +89 -36
  124. package/es/components/InlineLoading/InlineLoading.js +23 -25
  125. package/es/components/Layer/LayerContext.js +1 -1
  126. package/es/components/Layer/index.js +17 -18
  127. package/es/components/Layout/LayoutDirection.js +8 -10
  128. package/es/components/Layout/LayoutDirectionContext.js +1 -1
  129. package/es/components/Link/Link.js +25 -25
  130. package/es/components/ListBox/ListBox.js +38 -31
  131. package/es/components/ListBox/ListBoxField.js +9 -10
  132. package/es/components/ListBox/ListBoxMenu.js +9 -10
  133. package/es/components/ListBox/ListBoxMenuIcon.js +16 -14
  134. package/es/components/ListBox/ListBoxMenuItem.js +23 -26
  135. package/es/components/ListBox/ListBoxPropTypes.js +4 -4
  136. package/es/components/ListBox/ListBoxSelection.js +30 -25
  137. package/es/components/ListBox/index.js +1 -1
  138. package/es/components/ListBox/next/ListBoxSelection.js +27 -24
  139. package/es/components/ListBox/next/ListBoxTrigger.js +20 -19
  140. package/es/components/ListItem/ListItem.js +9 -10
  141. package/es/components/Loading/Loading.js +24 -24
  142. package/es/components/Menu/Menu.js +67 -80
  143. package/es/components/Menu/MenuContext.js +9 -12
  144. package/es/components/Menu/MenuItem.js +104 -128
  145. package/es/components/MenuButton/index.js +37 -41
  146. package/es/components/Modal/Modal.js +281 -120
  147. package/es/components/ModalWrapper/ModalWrapper.js +72 -96
  148. package/es/components/MultiSelect/FilterableMultiSelect.js +299 -163
  149. package/es/components/MultiSelect/MultiSelect.js +162 -174
  150. package/es/components/MultiSelect/MultiSelectPropTypes.js +1 -1
  151. package/es/components/MultiSelect/tools/itemToString.js +3 -4
  152. package/es/components/MultiSelect/tools/sorting.js +15 -13
  153. package/es/components/Notification/Notification.js +436 -164
  154. package/es/components/NumberInput/NumberInput.Skeleton.js +10 -11
  155. package/es/components/NumberInput/NumberInput.js +140 -139
  156. package/es/components/OrderedList/OrderedList.js +17 -15
  157. package/es/components/OverflowMenu/OverflowMenu.js +360 -227
  158. package/es/components/OverflowMenu/index.js +1 -1
  159. package/es/components/OverflowMenuItem/OverflowMenuItem.js +32 -37
  160. package/es/components/OverflowMenuV2/index.js +26 -28
  161. package/es/components/Pagination/Pagination.Skeleton.js +9 -10
  162. package/es/components/Pagination/Pagination.js +98 -140
  163. package/es/components/Pagination/experimental/PageSelector.js +16 -16
  164. package/es/components/Pagination/experimental/Pagination.js +73 -94
  165. package/es/components/PaginationNav/PaginationNav.js +98 -117
  166. package/es/components/Popover/index.js +74 -80
  167. package/es/components/PrimaryButton/PrimaryButton.js +3 -5
  168. package/es/components/ProgressBar/ProgressBar.js +39 -37
  169. package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +15 -14
  170. package/es/components/ProgressIndicator/ProgressIndicator.js +71 -71
  171. package/es/components/RadioButton/RadioButton.Skeleton.js +9 -10
  172. package/es/components/RadioButton/RadioButton.js +27 -27
  173. package/es/components/RadioButtonGroup/RadioButtonGroup.js +55 -65
  174. package/es/components/RadioTile/RadioTile.js +27 -25
  175. package/es/components/Search/Search.Skeleton.js +16 -16
  176. package/es/components/Search/Search.d.ts +83 -0
  177. package/es/components/Search/Search.js +65 -72
  178. package/es/components/Search/index.d.ts +11 -0
  179. package/es/components/SecondaryButton/SecondaryButton.js +3 -5
  180. package/es/components/Select/Select.Skeleton.js +12 -13
  181. package/es/components/Select/Select.js +79 -73
  182. package/es/components/SelectItem/SelectItem.js +17 -13
  183. package/es/components/SelectItemGroup/SelectItemGroup.js +11 -12
  184. package/es/components/SkeletonIcon/SkeletonIcon.js +11 -11
  185. package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +11 -11
  186. package/es/components/SkeletonText/SkeletonText.js +29 -29
  187. package/es/components/Slider/Slider.Skeleton.js +17 -18
  188. package/es/components/Slider/Slider.js +306 -329
  189. package/es/components/Slider/index.js +1 -1
  190. package/es/components/Stack/Stack.js +19 -20
  191. package/es/components/Stack/index.js +2 -2
  192. package/es/components/StructuredList/StructuredList.Skeleton.js +25 -24
  193. package/es/components/StructuredList/StructuredList.js +134 -106
  194. package/es/components/Switch/IconSwitch.js +48 -54
  195. package/es/components/Switch/Switch.js +33 -31
  196. package/es/components/Tab/Tab.js +77 -83
  197. package/es/components/Tab/index.js +1 -1
  198. package/es/components/TabContent/TabContent.js +16 -18
  199. package/es/components/Tabs/Tabs.Skeleton.js +14 -13
  200. package/es/components/Tabs/Tabs.js +195 -206
  201. package/es/components/Tabs/usePressable.js +27 -36
  202. package/es/components/Tag/Tag.Skeleton.js +10 -9
  203. package/es/components/Tag/Tag.js +34 -31
  204. package/es/components/Text/Text.js +20 -20
  205. package/es/components/Text/TextDirection.js +8 -7
  206. package/es/components/Text/TextDirectionContext.js +1 -1
  207. package/es/components/Text/index.js +1 -1
  208. package/es/components/TextArea/TextArea.Skeleton.js +11 -12
  209. package/es/components/TextArea/TextArea.js +89 -83
  210. package/es/components/TextInput/ControlledPasswordInput.js +79 -73
  211. package/es/components/TextInput/PasswordInput.js +101 -91
  212. package/es/components/TextInput/TextInput.Skeleton.js +11 -12
  213. package/es/components/TextInput/TextInput.js +104 -92
  214. package/es/components/TextInput/util.js +26 -28
  215. package/es/components/Theme/index.js +25 -20
  216. package/es/components/Tile/Tile.js +135 -176
  217. package/es/components/TileGroup/TileGroup.js +55 -70
  218. package/es/components/TileGroup/index.js +1 -1
  219. package/es/components/TimePicker/TimePicker.js +60 -67
  220. package/es/components/TimePickerSelect/TimePickerSelect.js +20 -18
  221. package/es/components/TimePickerSelect/index.js +1 -1
  222. package/es/components/Toggle/Toggle.Skeleton.js +63 -52
  223. package/es/components/Toggle/Toggle.js +44 -48
  224. package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +56 -50
  225. package/es/components/Toggletip/index.js +52 -48
  226. package/es/components/Tooltip/DefinitionTooltip.js +24 -31
  227. package/es/components/Tooltip/Tooltip.js +35 -50
  228. package/es/components/TreeView/TreeNode.js +94 -74
  229. package/es/components/TreeView/TreeView.js +72 -83
  230. package/es/components/UIShell/Content.js +12 -14
  231. package/es/components/UIShell/Header.js +16 -12
  232. package/es/components/UIShell/HeaderContainer.js +8 -14
  233. package/es/components/UIShell/HeaderGlobalAction.js +26 -19
  234. package/es/components/UIShell/HeaderGlobalBar.js +1 -3
  235. package/es/components/UIShell/HeaderMenu.js +114 -129
  236. package/es/components/UIShell/HeaderMenuButton.js +31 -22
  237. package/es/components/UIShell/HeaderMenuItem.js +28 -20
  238. package/es/components/UIShell/HeaderName.js +19 -14
  239. package/es/components/UIShell/HeaderNavigation.js +19 -15
  240. package/es/components/UIShell/HeaderPanel.js +23 -17
  241. package/es/components/UIShell/HeaderSideNavItems.js +11 -9
  242. package/es/components/UIShell/Link.js +11 -11
  243. package/es/components/UIShell/SideNav.js +66 -62
  244. package/es/components/UIShell/SideNavDetails.js +11 -12
  245. package/es/components/UIShell/SideNavDivider.js +5 -3
  246. package/es/components/UIShell/SideNavFooter.js +13 -12
  247. package/es/components/UIShell/SideNavHeader.js +9 -6
  248. package/es/components/UIShell/SideNavIcon.js +11 -8
  249. package/es/components/UIShell/SideNavItem.js +11 -9
  250. package/es/components/UIShell/SideNavItems.js +14 -11
  251. package/es/components/UIShell/SideNavLink.js +19 -17
  252. package/es/components/UIShell/SideNavLinkText.js +8 -9
  253. package/es/components/UIShell/SideNavMenu.js +29 -35
  254. package/es/components/UIShell/SideNavMenuItem.js +14 -14
  255. package/es/components/UIShell/SideNavSwitcher.js +19 -19
  256. package/es/components/UIShell/SkipToContent.js +10 -11
  257. package/es/components/UIShell/Switcher.js +20 -11
  258. package/es/components/UIShell/SwitcherDivider.js +10 -9
  259. package/es/components/UIShell/SwitcherItem.js +26 -19
  260. package/es/components/UIShell/_utils.js +1 -1
  261. package/es/components/UnorderedList/UnorderedList.js +14 -14
  262. package/es/index.js +7 -7
  263. package/es/internal/ClickListener.js +49 -65
  264. package/es/internal/FloatingMenu.js +193 -200
  265. package/es/internal/OptimizedResize.js +9 -8
  266. package/es/internal/Selection.js +92 -111
  267. package/es/internal/createClassWrapper.js +2 -2
  268. package/es/internal/deprecateFieldOnObject.js +5 -3
  269. package/es/internal/environment.js +1 -1
  270. package/es/internal/focus/index.js +1 -1
  271. package/es/internal/keyboard/keys.js +11 -11
  272. package/es/internal/keyboard/match.js +7 -6
  273. package/es/internal/keyboard/navigation.js +15 -5
  274. package/es/internal/useAnnouncer.js +2 -2
  275. package/es/internal/useAttachedMenu.js +12 -20
  276. package/es/internal/useControllableState.js +11 -16
  277. package/es/internal/useDelayedState.js +9 -18
  278. package/es/internal/useEffectOnce.js +4 -4
  279. package/es/internal/useEvent.js +4 -4
  280. package/es/internal/useId.js +15 -19
  281. package/es/internal/useIdPrefix.js +1 -1
  282. package/es/internal/useIsomorphicEffect.js +1 -1
  283. package/es/internal/useMergedRefs.js +3 -3
  284. package/es/internal/useNoInteractiveChildren.js +8 -19
  285. package/es/internal/useNormalizedInputProps.js +16 -14
  286. package/es/internal/usePrefix.js +1 -1
  287. package/es/internal/useSavedCallback.js +3 -3
  288. package/es/internal/warning.js +4 -4
  289. package/es/internal/wrapFocus.js +16 -21
  290. package/es/prop-types/AriaPropTypes.js +1 -1
  291. package/es/prop-types/deprecate.js +6 -5
  292. package/es/prop-types/isRequiredOneOf.js +12 -25
  293. package/es/prop-types/requiredIfGivenPropIsTruthy.js +2 -2
  294. package/es/prop-types/types.js +1 -1
  295. package/es/tools/array.js +1 -1
  296. package/es/tools/events.js +21 -14
  297. package/es/tools/mergeRefs.js +3 -3
  298. package/es/tools/setupGetInstanceId.js +1 -1
  299. package/es/tools/uniqueId.js +3 -3
  300. package/es/tools/wrapComponent.js +14 -13
  301. package/lib/_virtual/_rollupPluginBabelHelpers.js +0 -336
  302. package/lib/components/Accordion/Accordion.Skeleton.js +27 -29
  303. package/lib/components/Accordion/Accordion.js +17 -20
  304. package/lib/components/Accordion/AccordionItem.js +36 -48
  305. package/lib/components/AspectRatio/AspectRatio.js +9 -11
  306. package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +9 -10
  307. package/lib/components/Breadcrumb/Breadcrumb.js +13 -12
  308. package/lib/components/Breadcrumb/BreadcrumbItem.js +23 -21
  309. package/lib/components/Button/Button.Skeleton.js +24 -22
  310. package/lib/components/Button/Button.js +76 -71
  311. package/lib/components/ButtonSet/ButtonSet.js +11 -9
  312. package/lib/components/Checkbox/Checkbox.Skeleton.js +9 -10
  313. package/lib/components/Checkbox/Checkbox.js +54 -51
  314. package/lib/components/CheckboxGroup/CheckboxGroup.js +32 -30
  315. package/lib/components/ClassPrefix/index.js +4 -2
  316. package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +14 -13
  317. package/lib/components/CodeSnippet/CodeSnippet.js +198 -101
  318. package/lib/components/ComboBox/ComboBox.js +348 -177
  319. package/lib/components/ComboBox/tools/filter.js +6 -4
  320. package/lib/components/ComboButton/index.js +37 -42
  321. package/lib/components/ComposedModal/ComposedModal.js +187 -85
  322. package/lib/components/ComposedModal/ModalFooter.js +53 -48
  323. package/lib/components/ComposedModal/ModalHeader.js +38 -25
  324. package/lib/components/ContainedList/ContainedList.js +66 -20
  325. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +20 -18
  326. package/lib/components/ContentSwitcher/ContentSwitcher.js +82 -97
  327. package/lib/components/ContentSwitcher/index.js +1 -1
  328. package/lib/components/ContextMenu/useContextMenu.js +12 -21
  329. package/lib/components/Copy/Copy.js +23 -28
  330. package/lib/components/CopyButton/CopyButton.js +9 -9
  331. package/lib/components/DangerButton/DangerButton.js +3 -5
  332. package/lib/components/DataTable/DataTable.js +331 -357
  333. package/lib/components/DataTable/Table.js +28 -25
  334. package/lib/components/DataTable/TableActionList.js +2 -4
  335. package/lib/components/DataTable/TableBatchAction.js +2 -4
  336. package/lib/components/DataTable/TableBatchActions.js +28 -29
  337. package/lib/components/DataTable/TableBody.js +6 -7
  338. package/lib/components/DataTable/TableCell.js +1 -1
  339. package/lib/components/DataTable/TableContainer.js +22 -22
  340. package/lib/components/DataTable/TableContext.js +1 -1
  341. package/lib/components/DataTable/TableExpandHeader.js +18 -20
  342. package/lib/components/DataTable/TableExpandRow.js +22 -22
  343. package/lib/components/DataTable/TableExpandedRow.js +17 -22
  344. package/lib/components/DataTable/TableHead.js +1 -1
  345. package/lib/components/DataTable/TableHeader.js +43 -39
  346. package/lib/components/DataTable/TableRow.js +7 -8
  347. package/lib/components/DataTable/TableSelectAll.js +13 -11
  348. package/lib/components/DataTable/TableSelectRow.js +28 -20
  349. package/lib/components/DataTable/TableToolbar.js +18 -13
  350. package/lib/components/DataTable/TableToolbarAction.js +5 -5
  351. package/lib/components/DataTable/TableToolbarContent.js +2 -4
  352. package/lib/components/DataTable/TableToolbarMenu.js +10 -11
  353. package/lib/components/DataTable/TableToolbarSearch.js +51 -70
  354. package/lib/components/DataTable/state/getDerivedStateFromProps.js +15 -15
  355. package/lib/components/DataTable/state/sortStates.js +1 -1
  356. package/lib/components/DataTable/state/sorting.js +28 -20
  357. package/lib/components/DataTable/tools/cells.js +1 -3
  358. package/lib/components/DataTable/tools/denormalize.js +4 -17
  359. package/lib/components/DataTable/tools/filter.js +18 -16
  360. package/lib/components/DataTable/tools/instanceId.js +2 -2
  361. package/lib/components/DataTable/tools/normalize.js +28 -25
  362. package/lib/components/DataTable/tools/sorting.js +27 -24
  363. package/lib/components/DataTableSkeleton/DataTableSkeleton.js +35 -37
  364. package/lib/components/DatePicker/DatePicker.Skeleton.d.ts +30 -0
  365. package/lib/components/DatePicker/DatePicker.Skeleton.js +17 -19
  366. package/lib/components/DatePicker/DatePicker.d.ts +131 -0
  367. package/lib/components/DatePicker/DatePicker.js +214 -199
  368. package/lib/components/DatePicker/index.d.ts +10 -0
  369. package/lib/components/DatePicker/index.js +2 -0
  370. package/lib/components/DatePicker/plugins/appendToPlugin.js +45 -43
  371. package/lib/components/DatePicker/plugins/fixEventsPlugin.js +117 -107
  372. package/lib/components/DatePicker/plugins/rangePlugin.js +19 -11
  373. package/lib/components/DatePickerInput/DatePickerInput.d.ts +93 -0
  374. package/lib/components/DatePickerInput/DatePickerInput.js +83 -74
  375. package/lib/components/Dropdown/Dropdown.Skeleton.js +12 -11
  376. package/lib/components/Dropdown/Dropdown.js +265 -108
  377. package/lib/components/ErrorBoundary/ErrorBoundary.js +27 -48
  378. package/lib/components/ErrorBoundary/ErrorBoundaryContext.js +3 -2
  379. package/lib/components/ExpandableSearch/ExpandableSearch.d.ts +14 -0
  380. package/lib/components/ExpandableSearch/ExpandableSearch.js +18 -24
  381. package/lib/components/FeatureFlags/index.js +25 -43
  382. package/lib/components/FileUploader/FileUploader.Skeleton.js +7 -8
  383. package/lib/components/FileUploader/FileUploader.js +119 -146
  384. package/lib/components/FileUploader/FileUploaderButton.js +35 -47
  385. package/lib/components/FileUploader/FileUploaderDropContainer.js +48 -52
  386. package/lib/components/FileUploader/FileUploaderItem.js +29 -29
  387. package/lib/components/FileUploader/Filename.js +12 -13
  388. package/lib/components/FluidComboBox/FluidComboBox.Skeleton.js +10 -11
  389. package/lib/components/FluidComboBox/FluidComboBox.js +10 -8
  390. package/lib/components/FluidDatePicker/FluidDatePicker.Skeleton.js +17 -17
  391. package/lib/components/FluidDatePicker/FluidDatePicker.js +19 -15
  392. package/lib/components/FluidDatePickerInput/FluidDatePickerInput.js +3 -3
  393. package/lib/components/FluidDropdown/FluidDropdown.Skeleton.js +10 -11
  394. package/lib/components/FluidDropdown/FluidDropdown.js +10 -8
  395. package/lib/components/FluidForm/FluidForm.js +8 -9
  396. package/lib/components/FluidForm/FormContext.js +1 -1
  397. package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +10 -11
  398. package/lib/components/FluidMultiSelect/FluidMultiSelect.js +11 -9
  399. package/lib/components/FluidSelect/FluidSelect.Skeleton.js +10 -11
  400. package/lib/components/FluidSelect/FluidSelect.js +8 -8
  401. package/lib/components/FluidTextArea/FluidTextArea.Skeleton.js +8 -9
  402. package/lib/components/FluidTextArea/FluidTextArea.js +6 -7
  403. package/lib/components/FluidTextInput/FluidTextInput.Skeleton.js +8 -9
  404. package/lib/components/FluidTextInput/FluidTextInput.js +9 -8
  405. package/lib/components/FluidTimePicker/FluidTimePicker.Skeleton.js +10 -9
  406. package/lib/components/FluidTimePicker/FluidTimePicker.js +30 -26
  407. package/lib/components/FluidTimePickerSelect/FluidTimePickerSelect.js +6 -6
  408. package/lib/components/Form/Form.js +8 -9
  409. package/lib/components/FormGroup/FormGroup.js +15 -16
  410. package/lib/components/FormItem/FormItem.js +7 -8
  411. package/lib/components/FormLabel/FormLabel.js +10 -9
  412. package/lib/components/Grid/CSSGrid.js +37 -38
  413. package/lib/components/Grid/Column.js +85 -78
  414. package/lib/components/Grid/ColumnHang.js +11 -13
  415. package/lib/components/Grid/FlexGrid.js +19 -21
  416. package/lib/components/Grid/Grid.js +2 -2
  417. package/lib/components/Grid/GridContext.js +12 -11
  418. package/lib/components/Grid/Row.js +16 -18
  419. package/lib/components/Heading/index.js +11 -13
  420. package/lib/components/Icon/Icon.Skeleton.js +9 -11
  421. package/lib/components/IconButton/index.js +18 -21
  422. package/lib/components/IdPrefix/index.js +4 -2
  423. package/lib/components/InlineCheckbox/InlineCheckbox.js +89 -36
  424. package/lib/components/InlineLoading/InlineLoading.js +22 -24
  425. package/lib/components/Layer/LayerContext.js +1 -1
  426. package/lib/components/Layer/index.js +16 -17
  427. package/lib/components/Layout/LayoutDirection.js +7 -9
  428. package/lib/components/Layout/LayoutDirectionContext.js +1 -1
  429. package/lib/components/Link/Link.js +24 -24
  430. package/lib/components/ListBox/ListBox.js +37 -30
  431. package/lib/components/ListBox/ListBoxField.js +8 -9
  432. package/lib/components/ListBox/ListBoxMenu.js +8 -9
  433. package/lib/components/ListBox/ListBoxMenuIcon.js +16 -14
  434. package/lib/components/ListBox/ListBoxMenuItem.js +22 -25
  435. package/lib/components/ListBox/ListBoxPropTypes.js +4 -4
  436. package/lib/components/ListBox/ListBoxSelection.js +30 -25
  437. package/lib/components/ListBox/index.js +1 -1
  438. package/lib/components/ListBox/next/ListBoxSelection.js +26 -23
  439. package/lib/components/ListBox/next/ListBoxTrigger.js +19 -18
  440. package/lib/components/ListItem/ListItem.js +8 -9
  441. package/lib/components/Loading/Loading.js +23 -23
  442. package/lib/components/Menu/Menu.js +66 -79
  443. package/lib/components/Menu/MenuContext.js +9 -12
  444. package/lib/components/Menu/MenuItem.js +103 -127
  445. package/lib/components/MenuButton/index.js +36 -40
  446. package/lib/components/Modal/Modal.js +280 -119
  447. package/lib/components/ModalWrapper/ModalWrapper.js +71 -95
  448. package/lib/components/MultiSelect/FilterableMultiSelect.js +298 -162
  449. package/lib/components/MultiSelect/MultiSelect.js +163 -175
  450. package/lib/components/MultiSelect/MultiSelectPropTypes.js +1 -1
  451. package/lib/components/MultiSelect/tools/itemToString.js +3 -4
  452. package/lib/components/MultiSelect/tools/sorting.js +15 -13
  453. package/lib/components/Notification/Notification.js +434 -162
  454. package/lib/components/NumberInput/NumberInput.Skeleton.js +9 -10
  455. package/lib/components/NumberInput/NumberInput.js +139 -138
  456. package/lib/components/OrderedList/OrderedList.js +16 -14
  457. package/lib/components/OverflowMenu/OverflowMenu.js +359 -226
  458. package/lib/components/OverflowMenu/index.js +1 -1
  459. package/lib/components/OverflowMenuItem/OverflowMenuItem.js +31 -36
  460. package/lib/components/OverflowMenuV2/index.js +25 -27
  461. package/lib/components/Pagination/Pagination.Skeleton.js +8 -9
  462. package/lib/components/Pagination/Pagination.js +97 -139
  463. package/lib/components/Pagination/experimental/PageSelector.js +17 -17
  464. package/lib/components/Pagination/experimental/Pagination.js +72 -93
  465. package/lib/components/PaginationNav/PaginationNav.js +97 -116
  466. package/lib/components/Popover/index.js +73 -79
  467. package/lib/components/PrimaryButton/PrimaryButton.js +3 -5
  468. package/lib/components/ProgressBar/ProgressBar.js +38 -36
  469. package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +14 -13
  470. package/lib/components/ProgressIndicator/ProgressIndicator.js +70 -70
  471. package/lib/components/RadioButton/RadioButton.Skeleton.js +8 -9
  472. package/lib/components/RadioButton/RadioButton.js +26 -26
  473. package/lib/components/RadioButtonGroup/RadioButtonGroup.js +54 -64
  474. package/lib/components/RadioTile/RadioTile.js +26 -24
  475. package/lib/components/Search/Search.Skeleton.js +15 -15
  476. package/lib/components/Search/Search.d.ts +83 -0
  477. package/lib/components/Search/Search.js +62 -69
  478. package/lib/components/Search/index.d.ts +11 -0
  479. package/lib/components/SecondaryButton/SecondaryButton.js +3 -5
  480. package/lib/components/Select/Select.Skeleton.js +11 -12
  481. package/lib/components/Select/Select.js +78 -72
  482. package/lib/components/SelectItem/SelectItem.js +16 -12
  483. package/lib/components/SelectItemGroup/SelectItemGroup.js +10 -11
  484. package/lib/components/SkeletonIcon/SkeletonIcon.js +10 -10
  485. package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +10 -10
  486. package/lib/components/SkeletonText/SkeletonText.js +28 -28
  487. package/lib/components/Slider/Slider.Skeleton.js +16 -17
  488. package/lib/components/Slider/Slider.js +305 -328
  489. package/lib/components/Slider/index.js +1 -1
  490. package/lib/components/Stack/Stack.js +18 -19
  491. package/lib/components/Stack/index.js +2 -2
  492. package/lib/components/StructuredList/StructuredList.Skeleton.js +24 -23
  493. package/lib/components/StructuredList/StructuredList.js +133 -105
  494. package/lib/components/Switch/IconSwitch.js +45 -51
  495. package/lib/components/Switch/Switch.js +33 -31
  496. package/lib/components/Tab/Tab.js +76 -82
  497. package/lib/components/Tab/index.js +1 -1
  498. package/lib/components/TabContent/TabContent.js +15 -17
  499. package/lib/components/Tabs/Tabs.Skeleton.js +13 -12
  500. package/lib/components/Tabs/Tabs.js +194 -205
  501. package/lib/components/Tabs/usePressable.js +27 -36
  502. package/lib/components/Tag/Tag.Skeleton.js +9 -8
  503. package/lib/components/Tag/Tag.js +33 -30
  504. package/lib/components/Text/Text.js +19 -19
  505. package/lib/components/Text/TextDirection.js +8 -7
  506. package/lib/components/Text/TextDirectionContext.js +1 -1
  507. package/lib/components/Text/index.js +1 -1
  508. package/lib/components/TextArea/TextArea.Skeleton.js +10 -11
  509. package/lib/components/TextArea/TextArea.js +88 -82
  510. package/lib/components/TextInput/ControlledPasswordInput.js +78 -72
  511. package/lib/components/TextInput/PasswordInput.js +100 -90
  512. package/lib/components/TextInput/TextInput.Skeleton.js +10 -11
  513. package/lib/components/TextInput/TextInput.js +104 -92
  514. package/lib/components/TextInput/util.js +28 -30
  515. package/lib/components/Theme/index.js +24 -19
  516. package/lib/components/Tile/Tile.js +134 -175
  517. package/lib/components/TileGroup/TileGroup.js +54 -69
  518. package/lib/components/TileGroup/index.js +1 -1
  519. package/lib/components/TimePicker/TimePicker.js +59 -66
  520. package/lib/components/TimePickerSelect/TimePickerSelect.js +19 -17
  521. package/lib/components/TimePickerSelect/index.js +1 -1
  522. package/lib/components/Toggle/Toggle.Skeleton.js +68 -57
  523. package/lib/components/Toggle/Toggle.js +43 -47
  524. package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +60 -54
  525. package/lib/components/Toggletip/index.js +51 -47
  526. package/lib/components/Tooltip/DefinitionTooltip.js +23 -30
  527. package/lib/components/Tooltip/Tooltip.js +34 -49
  528. package/lib/components/TreeView/TreeNode.js +93 -73
  529. package/lib/components/TreeView/TreeView.js +71 -82
  530. package/lib/components/UIShell/Content.js +12 -14
  531. package/lib/components/UIShell/Header.js +15 -11
  532. package/lib/components/UIShell/HeaderContainer.js +8 -14
  533. package/lib/components/UIShell/HeaderGlobalAction.js +25 -18
  534. package/lib/components/UIShell/HeaderGlobalBar.js +1 -3
  535. package/lib/components/UIShell/HeaderMenu.js +113 -128
  536. package/lib/components/UIShell/HeaderMenuButton.js +30 -21
  537. package/lib/components/UIShell/HeaderMenuItem.js +27 -19
  538. package/lib/components/UIShell/HeaderName.js +18 -13
  539. package/lib/components/UIShell/HeaderNavigation.js +18 -14
  540. package/lib/components/UIShell/HeaderPanel.js +22 -16
  541. package/lib/components/UIShell/HeaderSideNavItems.js +11 -9
  542. package/lib/components/UIShell/Link.js +11 -11
  543. package/lib/components/UIShell/SideNav.js +65 -61
  544. package/lib/components/UIShell/SideNavDetails.js +10 -11
  545. package/lib/components/UIShell/SideNavDivider.js +5 -3
  546. package/lib/components/UIShell/SideNavFooter.js +13 -12
  547. package/lib/components/UIShell/SideNavHeader.js +9 -6
  548. package/lib/components/UIShell/SideNavIcon.js +11 -8
  549. package/lib/components/UIShell/SideNavItem.js +11 -9
  550. package/lib/components/UIShell/SideNavItems.js +14 -11
  551. package/lib/components/UIShell/SideNavLink.js +18 -16
  552. package/lib/components/UIShell/SideNavLinkText.js +7 -8
  553. package/lib/components/UIShell/SideNavMenu.js +29 -35
  554. package/lib/components/UIShell/SideNavMenuItem.js +13 -13
  555. package/lib/components/UIShell/SideNavSwitcher.js +19 -19
  556. package/lib/components/UIShell/SkipToContent.js +9 -10
  557. package/lib/components/UIShell/Switcher.js +19 -10
  558. package/lib/components/UIShell/SwitcherDivider.js +9 -8
  559. package/lib/components/UIShell/SwitcherItem.js +25 -18
  560. package/lib/components/UIShell/_utils.js +1 -1
  561. package/lib/components/UnorderedList/UnorderedList.js +13 -13
  562. package/lib/index.js +14 -14
  563. package/lib/internal/ClickListener.js +49 -65
  564. package/lib/internal/FloatingMenu.js +192 -199
  565. package/lib/internal/OptimizedResize.js +9 -8
  566. package/lib/internal/Selection.js +91 -110
  567. package/lib/internal/createClassWrapper.js +2 -2
  568. package/lib/internal/deprecateFieldOnObject.js +5 -3
  569. package/lib/internal/environment.js +1 -1
  570. package/lib/internal/focus/index.js +1 -1
  571. package/lib/internal/keyboard/keys.js +11 -11
  572. package/lib/internal/keyboard/match.js +7 -6
  573. package/lib/internal/keyboard/navigation.js +15 -5
  574. package/lib/internal/useAnnouncer.js +2 -2
  575. package/lib/internal/useAttachedMenu.js +12 -20
  576. package/lib/internal/useControllableState.js +11 -16
  577. package/lib/internal/useDelayedState.js +9 -18
  578. package/lib/internal/useEffectOnce.js +4 -4
  579. package/lib/internal/useEvent.js +4 -4
  580. package/lib/internal/useId.js +14 -18
  581. package/lib/internal/useIdPrefix.js +1 -1
  582. package/lib/internal/useIsomorphicEffect.js +1 -1
  583. package/lib/internal/useMergedRefs.js +3 -3
  584. package/lib/internal/useNoInteractiveChildren.js +8 -19
  585. package/lib/internal/useNormalizedInputProps.js +16 -14
  586. package/lib/internal/usePrefix.js +1 -1
  587. package/lib/internal/useSavedCallback.js +3 -3
  588. package/lib/internal/warning.js +4 -4
  589. package/lib/internal/wrapFocus.js +16 -21
  590. package/lib/prop-types/AriaPropTypes.js +1 -1
  591. package/lib/prop-types/deprecate.js +6 -5
  592. package/lib/prop-types/isRequiredOneOf.js +15 -28
  593. package/lib/prop-types/requiredIfGivenPropIsTruthy.js +2 -2
  594. package/lib/prop-types/types.js +1 -1
  595. package/lib/tools/array.js +1 -1
  596. package/lib/tools/events.js +21 -14
  597. package/lib/tools/mergeRefs.js +3 -3
  598. package/lib/tools/setupGetInstanceId.js +1 -1
  599. package/lib/tools/uniqueId.js +3 -3
  600. package/lib/tools/wrapComponent.js +14 -13
  601. package/package.json +6 -6
@@ -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
  };