@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,29 +5,30 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { objectWithoutProperties as _objectWithoutProperties, defineProperty as _defineProperty, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
8
+ import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import PropTypes from 'prop-types';
10
10
  import React__default from 'react';
11
11
  import cx from 'classnames';
12
12
  import { usePrefix } from '../../internal/usePrefix.js';
13
13
 
14
- var _excluded = ["small", "className"];
15
-
16
- var SearchSkeleton = function SearchSkeleton(_ref) {
17
- var _cx;
18
-
19
- var small = _ref.small,
20
- className = _ref.className,
21
- rest = _objectWithoutProperties(_ref, _excluded);
22
-
23
- var prefix = usePrefix();
24
- var searchClasses = cx(className, (_cx = {}, _defineProperty(_cx, "".concat(prefix, "--skeleton"), true), _defineProperty(_cx, "".concat(prefix, "--search--xl"), !small), _defineProperty(_cx, "".concat(prefix, "--search--sm"), small), _cx));
14
+ const SearchSkeleton = _ref => {
15
+ let {
16
+ small,
17
+ className,
18
+ ...rest
19
+ } = _ref;
20
+ const prefix = usePrefix();
21
+ const searchClasses = cx(className, {
22
+ [`${prefix}--skeleton`]: true,
23
+ [`${prefix}--search--xl`]: !small,
24
+ [`${prefix}--search--sm`]: small
25
+ });
25
26
  return /*#__PURE__*/React__default.createElement("div", _extends({
26
27
  className: searchClasses
27
28
  }, rest), /*#__PURE__*/React__default.createElement("span", {
28
- className: "".concat(prefix, "--label")
29
+ className: `${prefix}--label`
29
30
  }), /*#__PURE__*/React__default.createElement("div", {
30
- className: "".concat(prefix, "--search-input")
31
+ className: `${prefix}--search-input`
31
32
  }));
32
33
  };
33
34
 
@@ -45,6 +46,5 @@ SearchSkeleton.propTypes = {
45
46
  SearchSkeleton.defaultProps = {
46
47
  small: false
47
48
  };
48
- var SearchSkeleton$1 = SearchSkeleton;
49
49
 
50
- export { SearchSkeleton, SearchSkeleton$1 as default };
50
+ export { SearchSkeleton, SearchSkeleton as default };
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2023
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import React, { type HTMLAttributes, type ReactNode, type ComponentType, type FunctionComponent } from 'react';
8
+ type InputPropsBase = Omit<HTMLAttributes<HTMLInputElement>, 'onChange'>;
9
+ export interface SearchProps extends InputPropsBase {
10
+ /**
11
+ * Specify an optional value for the `autocomplete` property on the underlying
12
+ * `<input>`, defaults to "off"
13
+ */
14
+ autoComplete?: string;
15
+ /**
16
+ * Specify an optional className to be applied to the container node
17
+ */
18
+ className?: string;
19
+ /**
20
+ * Specify a label to be read by screen readers on the "close" button
21
+ */
22
+ closeButtonLabelText?: string;
23
+ /**
24
+ * Optionally provide the default value of the `<input>`
25
+ */
26
+ defaultValue?: string | number;
27
+ /**
28
+ * Specify whether the `<input>` should be disabled
29
+ */
30
+ disabled?: boolean;
31
+ /**
32
+ * Specify a custom `id` for the input
33
+ */
34
+ id?: string;
35
+ /**
36
+ * Provide the label text for the Search icon
37
+ */
38
+ labelText: ReactNode;
39
+ /**
40
+ * Optional callback called when the search value changes.
41
+ */
42
+ onChange?(e: {
43
+ target: HTMLInputElement;
44
+ type: 'change';
45
+ }): void;
46
+ /**
47
+ * Optional callback called when the search value is cleared.
48
+ */
49
+ onClear?(): void;
50
+ /**
51
+ * Optional callback called when the magnifier icon is clicked in ExpandableSearch.
52
+ */
53
+ onExpand?(): void;
54
+ /**
55
+ * Provide an optional placeholder text for the Search.
56
+ * Note: if the label and placeholder differ,
57
+ * VoiceOver on Mac will read both
58
+ */
59
+ placeholder?: string;
60
+ /**
61
+ * Rendered icon for the Search.
62
+ * Can be a React component class
63
+ */
64
+ renderIcon?: ComponentType | FunctionComponent;
65
+ /**
66
+ * Specify the role for the underlying `<input>`, defaults to `searchbox`
67
+ */
68
+ role?: string;
69
+ /**
70
+ * Specify the size of the Search
71
+ */
72
+ size?: 'sm' | 'md' | 'lg';
73
+ /**
74
+ * Optional prop to specify the type of the `<input>`
75
+ */
76
+ type?: string;
77
+ /**
78
+ * Specify the value of the `<input>`
79
+ */
80
+ value?: string | number;
81
+ }
82
+ declare const Search: React.ForwardRefExoticComponent<SearchProps & React.RefAttributes<HTMLInputElement>>;
83
+ export default Search;
@@ -5,8 +5,8 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, defineProperty as _defineProperty, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
- import { Close, Search as Search$2 } from '@carbon/icons-react';
8
+ import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
+ import { Close, Search as Search$1 } from '@carbon/icons-react';
10
10
  import cx from 'classnames';
11
11
  import PropTypes from 'prop-types';
12
12
  import React__default, { useContext, useRef, useState } from 'react';
@@ -22,62 +22,53 @@ import { match } from '../../internal/keyboard/match.js';
22
22
  import { Escape } from '../../internal/keyboard/keys.js';
23
23
 
24
24
  var _Close;
25
-
26
- var _excluded = ["autoComplete", "className", "closeButtonLabelText", "defaultValue", "disabled", "id", "labelText", "light", "onChange", "onClear", "onKeyDown", "onExpand", "placeholder", "renderIcon", "role", "size", "type", "value"];
27
- var Search = /*#__PURE__*/React__default.forwardRef(function Search(_ref, forwardRef) {
28
- var _cx, _cx2;
29
-
30
- var _ref$autoComplete = _ref.autoComplete,
31
- autoComplete = _ref$autoComplete === void 0 ? 'off' : _ref$autoComplete,
32
- className = _ref.className,
33
- _ref$closeButtonLabel = _ref.closeButtonLabelText,
34
- closeButtonLabelText = _ref$closeButtonLabel === void 0 ? 'Clear search input' : _ref$closeButtonLabel,
35
- defaultValue = _ref.defaultValue,
36
- disabled = _ref.disabled,
37
- id = _ref.id,
38
- labelText = _ref.labelText,
39
- light = _ref.light,
40
- _ref$onChange = _ref.onChange,
41
- onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange,
42
- _ref$onClear = _ref.onClear,
43
- onClear = _ref$onClear === void 0 ? function () {} : _ref$onClear,
44
- onKeyDown = _ref.onKeyDown,
45
- onExpand = _ref.onExpand,
46
- _ref$placeholder = _ref.placeholder,
47
- placeholder = _ref$placeholder === void 0 ? 'Search' : _ref$placeholder,
48
- renderIcon = _ref.renderIcon,
49
- _ref$role = _ref.role,
50
- role = _ref$role === void 0 ? 'searchbox' : _ref$role,
51
- _ref$size = _ref.size,
52
- size = _ref$size === void 0 ? 'md' : _ref$size,
53
- _ref$type = _ref.type,
54
- type = _ref$type === void 0 ? 'text' : _ref$type,
55
- value = _ref.value,
56
- rest = _objectWithoutProperties(_ref, _excluded);
57
-
58
- var prefix = usePrefix();
59
-
60
- var _useContext = useContext(FormContext),
61
- isFluid = _useContext.isFluid;
62
-
63
- var inputRef = useRef(null);
64
- var ref = useMergedRefs([forwardRef, inputRef]);
65
- var inputId = useId('search-input');
66
- var uniqueId = id || inputId;
67
- var searchId = "".concat(uniqueId, "-search");
68
-
69
- var _useState = useState(value || defaultValue || false),
70
- _useState2 = _slicedToArray(_useState, 2),
71
- hasContent = _useState2[0],
72
- setHasContent = _useState2[1];
73
-
74
- var _useState3 = useState(value),
75
- _useState4 = _slicedToArray(_useState3, 2),
76
- prevValue = _useState4[0],
77
- setPrevValue = _useState4[1];
78
-
79
- var searchClasses = cx((_cx = {}, _defineProperty(_cx, "".concat(prefix, "--search"), true), _defineProperty(_cx, "".concat(prefix, "--search--sm"), size === 'sm'), _defineProperty(_cx, "".concat(prefix, "--search--md"), size === 'md'), _defineProperty(_cx, "".concat(prefix, "--search--lg"), size === 'lg'), _defineProperty(_cx, "".concat(prefix, "--search--light"), light), _defineProperty(_cx, "".concat(prefix, "--search--disabled"), disabled), _defineProperty(_cx, "".concat(prefix, "--search--fluid"), isFluid), _defineProperty(_cx, className, className), _cx));
80
- var clearClasses = cx((_cx2 = {}, _defineProperty(_cx2, "".concat(prefix, "--search-close"), true), _defineProperty(_cx2, "".concat(prefix, "--search-close--hidden"), !hasContent), _cx2));
25
+ const Search = /*#__PURE__*/React__default.forwardRef(function Search(_ref, forwardRef) {
26
+ let {
27
+ autoComplete = 'off',
28
+ className,
29
+ closeButtonLabelText = 'Clear search input',
30
+ defaultValue,
31
+ disabled,
32
+ id,
33
+ labelText,
34
+ // @ts-expect-error: deprecated prop
35
+ light,
36
+ onChange = () => {},
37
+ onClear = () => {},
38
+ onKeyDown,
39
+ onExpand,
40
+ placeholder = 'Search',
41
+ renderIcon,
42
+ role = 'searchbox',
43
+ size = 'md',
44
+ type = 'text',
45
+ value,
46
+ ...rest
47
+ } = _ref;
48
+ const prefix = usePrefix();
49
+ const {
50
+ isFluid
51
+ } = useContext(FormContext);
52
+ const inputRef = useRef(null);
53
+ const ref = useMergedRefs([forwardRef, inputRef]);
54
+ const inputId = useId('search-input');
55
+ const uniqueId = id || inputId;
56
+ const searchId = `${uniqueId}-search`;
57
+ const [hasContent, setHasContent] = useState(value || defaultValue || false);
58
+ const [prevValue, setPrevValue] = useState(value);
59
+ const searchClasses = cx({
60
+ [`${prefix}--search`]: true,
61
+ [`${prefix}--search--sm`]: size === 'sm',
62
+ [`${prefix}--search--md`]: size === 'md',
63
+ [`${prefix}--search--lg`]: size === 'lg',
64
+ [`${prefix}--search--light`]: light,
65
+ [`${prefix}--search--disabled`]: disabled,
66
+ [`${prefix}--search--fluid`]: isFluid
67
+ }, className);
68
+ const clearClasses = cx({
69
+ [`${prefix}--search-close`]: true,
70
+ [`${prefix}--search-close--hidden`]: !hasContent
71
+ });
81
72
 
82
73
  if (value !== prevValue) {
83
74
  setHasContent(!!value);
@@ -85,14 +76,14 @@ var Search = /*#__PURE__*/React__default.forwardRef(function Search(_ref, forwar
85
76
  }
86
77
 
87
78
  function clearInput() {
88
- if (!value) {
79
+ if (!value && inputRef.current) {
89
80
  inputRef.current.value = '';
90
81
  }
91
82
 
92
- var inputTarget = Object.assign({}, inputRef.current, {
83
+ const inputTarget = Object.assign({}, inputRef.current, {
93
84
  value: ''
94
85
  });
95
- var clearedEvt = {
86
+ const clearedEvt = {
96
87
  target: inputTarget,
97
88
  type: 'change'
98
89
  };
@@ -119,18 +110,18 @@ var Search = /*#__PURE__*/React__default.forwardRef(function Search(_ref, forwar
119
110
  className: searchClasses
120
111
  }, /*#__PURE__*/React__default.createElement("div", {
121
112
  "aria-labelledby": uniqueId,
122
- role: onExpand ? 'button' : null,
123
- className: "".concat(prefix, "--search-magnifier"),
113
+ role: onExpand ? 'button' : undefined,
114
+ className: `${prefix}--search-magnifier`,
124
115
  onClick: onExpand
125
116
  }, /*#__PURE__*/React__default.createElement(CustomSearchIcon, {
126
117
  icon: renderIcon
127
118
  })), /*#__PURE__*/React__default.createElement("label", {
128
119
  id: searchId,
129
120
  htmlFor: uniqueId,
130
- className: "".concat(prefix, "--label")
121
+ className: `${prefix}--label`
131
122
  }, labelText), /*#__PURE__*/React__default.createElement("input", _extends({}, rest, {
132
123
  autoComplete: autoComplete,
133
- className: "".concat(prefix, "--search-input"),
124
+ className: `${prefix}--search-input`,
134
125
  defaultValue: defaultValue,
135
126
  disabled: disabled,
136
127
  role: role,
@@ -224,6 +215,7 @@ Search.propTypes = {
224
215
  * Rendered icon for the Search.
225
216
  * Can be a React component class
226
217
  */
218
+ // @ts-expect-error: PropTypes are not expressive enough to cover this case
227
219
  renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
228
220
 
229
221
  /**
@@ -248,17 +240,19 @@ Search.propTypes = {
248
240
  };
249
241
 
250
242
  function CustomSearchIcon(_ref2) {
251
- var Icon = _ref2.icon;
252
- var prefix = usePrefix();
243
+ let {
244
+ icon: Icon
245
+ } = _ref2;
246
+ const prefix = usePrefix();
253
247
 
254
248
  if (Icon) {
255
249
  return /*#__PURE__*/React__default.createElement(Icon, {
256
- className: "".concat(prefix, "--search-magnifier-icon")
250
+ className: `${prefix}--search-magnifier-icon`
257
251
  });
258
252
  }
259
253
 
260
- return /*#__PURE__*/React__default.createElement(Search$2, {
261
- className: "".concat(prefix, "--search-magnifier-icon")
254
+ return /*#__PURE__*/React__default.createElement(Search$1, {
255
+ className: `${prefix}--search-magnifier-icon`
262
256
  });
263
257
  }
264
258
 
@@ -268,6 +262,5 @@ CustomSearchIcon.propTypes = {
268
262
  */
269
263
  icon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
270
264
  };
271
- var Search$1 = Search;
272
265
 
273
- export { Search$1 as default };
266
+ export { Search as default };
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2023
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import Search from './Search';
8
+ export * from './Search';
9
+ export default Search;
10
+ export { Search };
11
+ export { default as SearchSkeleton } from './Search.Skeleton';
@@ -9,11 +9,9 @@ import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js
9
9
  import React__default from 'react';
10
10
  import Button from '../Button/Button.js';
11
11
 
12
- var SecondaryButton = function SecondaryButton(props) {
13
- return /*#__PURE__*/React__default.createElement(Button, _extends({
14
- kind: "secondary"
15
- }, props));
16
- };
12
+ const SecondaryButton = props => /*#__PURE__*/React__default.createElement(Button, _extends({
13
+ kind: "secondary"
14
+ }, props));
17
15
 
18
16
  var SecondaryButton$1 = SecondaryButton;
19
17
 
@@ -5,28 +5,27 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
8
+ import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import PropTypes from 'prop-types';
10
10
  import React__default from 'react';
11
11
  import cx from 'classnames';
12
12
  import { usePrefix } from '../../internal/usePrefix.js';
13
13
 
14
- var _excluded = ["hideLabel", "className"];
15
-
16
- var SelectSkeleton = function SelectSkeleton(_ref) {
17
- var hideLabel = _ref.hideLabel,
18
- className = _ref.className,
19
- rest = _objectWithoutProperties(_ref, _excluded);
20
-
21
- var prefix = usePrefix();
14
+ const SelectSkeleton = _ref => {
15
+ let {
16
+ hideLabel,
17
+ className,
18
+ ...rest
19
+ } = _ref;
20
+ const prefix = usePrefix();
22
21
  return /*#__PURE__*/React__default.createElement("div", _extends({
23
- className: cx("".concat(prefix, "--form-item"), className)
22
+ className: cx(`${prefix}--form-item`, className)
24
23
  }, rest), !hideLabel && /*#__PURE__*/React__default.createElement("span", {
25
- className: "".concat(prefix, "--label ").concat(prefix, "--skeleton")
24
+ className: `${prefix}--label ${prefix}--skeleton`
26
25
  }), /*#__PURE__*/React__default.createElement("div", {
27
- className: "".concat(prefix, "--select ").concat(prefix, "--skeleton")
26
+ className: `${prefix}--select ${prefix}--skeleton`
28
27
  }, /*#__PURE__*/React__default.createElement("div", {
29
- className: "".concat(prefix, "--select-input")
28
+ className: `${prefix}--select-input`
30
29
  })));
31
30
  };
32
31
 
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, defineProperty as _defineProperty, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
8
+ import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import PropTypes from 'prop-types';
10
10
  import React__default, { useContext, useState, useRef } from 'react';
11
11
  import cx from 'classnames';
@@ -17,56 +17,60 @@ import '../FluidForm/FluidForm.js';
17
17
  import { FormContext } from '../FluidForm/FormContext.js';
18
18
  import setupGetInstanceId from '../../tools/setupGetInstanceId.js';
19
19
 
20
- var _excluded = ["className", "id", "inline", "labelText", "disabled", "children", "noLabel", "hideLabel", "invalid", "invalidText", "helperText", "light", "readOnly", "size", "warn", "warnText"];
21
- var getInstanceId = setupGetInstanceId();
22
- var Select = /*#__PURE__*/React__default.forwardRef(function Select(_ref, ref) {
23
- var _classNames, _classNames2, _classNames3;
24
-
25
- var className = _ref.className,
26
- id = _ref.id,
27
- _ref$inline = _ref.inline,
28
- inline = _ref$inline === void 0 ? false : _ref$inline,
29
- labelText = _ref.labelText,
30
- _ref$disabled = _ref.disabled,
31
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
32
- children = _ref.children,
33
- _ref$noLabel = _ref.noLabel,
34
- noLabel = _ref$noLabel === void 0 ? false : _ref$noLabel,
35
- _ref$hideLabel = _ref.hideLabel,
36
- hideLabel = _ref$hideLabel === void 0 ? false : _ref$hideLabel,
37
- _ref$invalid = _ref.invalid,
38
- invalid = _ref$invalid === void 0 ? false : _ref$invalid,
39
- invalidText = _ref.invalidText,
40
- helperText = _ref.helperText,
41
- _ref$light = _ref.light,
42
- light = _ref$light === void 0 ? false : _ref$light,
43
- readOnly = _ref.readOnly,
44
- size = _ref.size,
45
- _ref$warn = _ref.warn,
46
- warn = _ref$warn === void 0 ? false : _ref$warn,
47
- warnText = _ref.warnText,
48
- other = _objectWithoutProperties(_ref, _excluded);
49
-
50
- var prefix = usePrefix();
51
- var enabled = useFeatureFlag('enable-v11-release');
52
-
53
- var _useContext = useContext(FormContext),
54
- isFluid = _useContext.isFluid;
55
-
56
- var _useState = useState(false),
57
- _useState2 = _slicedToArray(_useState, 2),
58
- isFocused = _useState2[0],
59
- setIsFocused = _useState2[1];
60
-
61
- var _useRef = useRef(getInstanceId()),
62
- selectInstanceId = _useRef.current;
63
-
64
- var selectClasses = cx((_classNames = {}, _defineProperty(_classNames, "".concat(prefix, "--select"), true), _defineProperty(_classNames, "".concat(prefix, "--select--inline"), inline), _defineProperty(_classNames, "".concat(prefix, "--select--light"), light), _defineProperty(_classNames, "".concat(prefix, "--select--invalid"), invalid), _defineProperty(_classNames, "".concat(prefix, "--select--disabled"), disabled), _defineProperty(_classNames, "".concat(prefix, "--select--readonly"), readOnly), _defineProperty(_classNames, "".concat(prefix, "--select--warning"), warn), _defineProperty(_classNames, "".concat(prefix, "--select--fluid--invalid"), isFluid && invalid), _defineProperty(_classNames, "".concat(prefix, "--select--fluid--focus"), isFluid && isFocused), _classNames), [enabled ? null : className]);
65
- var labelClasses = cx("".concat(prefix, "--label"), (_classNames2 = {}, _defineProperty(_classNames2, "".concat(prefix, "--visually-hidden"), hideLabel), _defineProperty(_classNames2, "".concat(prefix, "--label--disabled"), disabled), _classNames2));
66
- var inputClasses = cx((_classNames3 = {}, _defineProperty(_classNames3, "".concat(prefix, "--select-input"), true), _defineProperty(_classNames3, "".concat(prefix, "--select-input--").concat(size), size), _classNames3));
67
- var errorId = "".concat(id, "-error-msg");
68
-
69
- var errorText = function () {
20
+ const getInstanceId = setupGetInstanceId();
21
+ const Select = /*#__PURE__*/React__default.forwardRef(function Select(_ref, ref) {
22
+ let {
23
+ className,
24
+ id,
25
+ inline = false,
26
+ labelText,
27
+ disabled = false,
28
+ children,
29
+ // reserved for use with <Pagination> component
30
+ noLabel = false,
31
+ // eslint-disable-next-line no-unused-vars
32
+ hideLabel = false,
33
+ invalid = false,
34
+ invalidText,
35
+ helperText,
36
+ light = false,
37
+ readOnly,
38
+ size,
39
+ warn = false,
40
+ warnText,
41
+ ...other
42
+ } = _ref;
43
+ const prefix = usePrefix();
44
+ const enabled = useFeatureFlag('enable-v11-release');
45
+ const {
46
+ isFluid
47
+ } = useContext(FormContext);
48
+ const [isFocused, setIsFocused] = useState(false);
49
+ const {
50
+ current: selectInstanceId
51
+ } = useRef(getInstanceId());
52
+ const selectClasses = cx({
53
+ [`${prefix}--select`]: true,
54
+ [`${prefix}--select--inline`]: inline,
55
+ [`${prefix}--select--light`]: light,
56
+ [`${prefix}--select--invalid`]: invalid,
57
+ [`${prefix}--select--disabled`]: disabled,
58
+ [`${prefix}--select--readonly`]: readOnly,
59
+ [`${prefix}--select--warning`]: warn,
60
+ [`${prefix}--select--fluid--invalid`]: isFluid && invalid,
61
+ [`${prefix}--select--fluid--focus`]: isFluid && isFocused
62
+ }, [enabled ? null : className]);
63
+ const labelClasses = cx(`${prefix}--label`, {
64
+ [`${prefix}--visually-hidden`]: hideLabel,
65
+ [`${prefix}--label--disabled`]: disabled
66
+ });
67
+ const inputClasses = cx({
68
+ [`${prefix}--select-input`]: true,
69
+ [`${prefix}--select-input--${size}`]: size
70
+ });
71
+ const errorId = `${id}-error-msg`;
72
+
73
+ const errorText = (() => {
70
74
  if (invalid) {
71
75
  return invalidText;
72
76
  }
@@ -74,19 +78,21 @@ var Select = /*#__PURE__*/React__default.forwardRef(function Select(_ref, ref) {
74
78
  if (warn) {
75
79
  return warnText;
76
80
  }
77
- }();
81
+ })();
78
82
 
79
- var error = invalid || warn ? /*#__PURE__*/React__default.createElement("div", {
80
- className: "".concat(prefix, "--form-requirement"),
83
+ const error = invalid || warn ? /*#__PURE__*/React__default.createElement("div", {
84
+ className: `${prefix}--form-requirement`,
81
85
  id: errorId
82
86
  }, errorText) : null;
83
- var helperTextClasses = cx("".concat(prefix, "--form__helper-text"), _defineProperty({}, "".concat(prefix, "--form__helper-text--disabled"), disabled));
84
- var helperId = !helperText ? undefined : "select-helper-text-".concat(selectInstanceId);
85
- var helper = helperText ? /*#__PURE__*/React__default.createElement("div", {
87
+ const helperTextClasses = cx(`${prefix}--form__helper-text`, {
88
+ [`${prefix}--form__helper-text--disabled`]: disabled
89
+ });
90
+ const helperId = !helperText ? undefined : `select-helper-text-${selectInstanceId}`;
91
+ const helper = helperText ? /*#__PURE__*/React__default.createElement("div", {
86
92
  id: helperId,
87
93
  className: helperTextClasses
88
94
  }, helperText) : null;
89
- var ariaProps = {};
95
+ const ariaProps = {};
90
96
 
91
97
  if (invalid) {
92
98
  ariaProps['aria-describedby'] = errorId;
@@ -94,12 +100,12 @@ var Select = /*#__PURE__*/React__default.forwardRef(function Select(_ref, ref) {
94
100
  ariaProps['aria-describedby'] = helper ? helperId : undefined;
95
101
  }
96
102
 
97
- var handleFocus = function handleFocus(evt) {
103
+ const handleFocus = evt => {
98
104
  setIsFocused(evt.type === 'focus' ? true : false);
99
105
  };
100
106
 
101
- var readOnlyEventHandlers = {
102
- onMouseDown: function onMouseDown(evt) {
107
+ const readOnlyEventHandlers = {
108
+ onMouseDown: evt => {
103
109
  // NOTE: does not prevent click
104
110
  if (readOnly) {
105
111
  evt.preventDefault(); // focus on the element as per readonly input behavior
@@ -107,8 +113,8 @@ var Select = /*#__PURE__*/React__default.forwardRef(function Select(_ref, ref) {
107
113
  evt.target.focus();
108
114
  }
109
115
  },
110
- onKeyDown: function onKeyDown(evt) {
111
- var selectAccessKeys = ['ArrowDown', 'ArrowUp', ' ']; // This prevents the select from opening for the above keys
116
+ onKeyDown: evt => {
117
+ const selectAccessKeys = ['ArrowDown', 'ArrowUp', ' ']; // This prevents the select from opening for the above keys
112
118
 
113
119
  if (readOnly && selectAccessKeys.includes(evt.key)) {
114
120
  evt.preventDefault();
@@ -116,7 +122,7 @@ var Select = /*#__PURE__*/React__default.forwardRef(function Select(_ref, ref) {
116
122
  }
117
123
  };
118
124
 
119
- var input = function () {
125
+ const input = (() => {
120
126
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("select", _extends({}, other, ariaProps, {
121
127
  id: id,
122
128
  className: inputClasses,
@@ -126,33 +132,33 @@ var Select = /*#__PURE__*/React__default.forwardRef(function Select(_ref, ref) {
126
132
  }, readOnlyEventHandlers, {
127
133
  ref: ref
128
134
  }), children), /*#__PURE__*/React__default.createElement(ChevronDown, {
129
- className: "".concat(prefix, "--select__arrow")
135
+ className: `${prefix}--select__arrow`
130
136
  }), invalid && /*#__PURE__*/React__default.createElement(WarningFilled, {
131
- className: "".concat(prefix, "--select__invalid-icon")
137
+ className: `${prefix}--select__invalid-icon`
132
138
  }), !invalid && warn && /*#__PURE__*/React__default.createElement(WarningAltFilled, {
133
- className: "".concat(prefix, "--select__invalid-icon ").concat(prefix, "--select__invalid-icon--warning")
139
+ className: `${prefix}--select__invalid-icon ${prefix}--select__invalid-icon--warning`
134
140
  }));
135
- }();
141
+ })();
136
142
 
137
143
  return /*#__PURE__*/React__default.createElement("div", {
138
- className: enabled ? cx("".concat(prefix, "--form-item"), className) : "".concat(prefix, "--form-item")
144
+ className: enabled ? cx(`${prefix}--form-item`, className) : `${prefix}--form-item`
139
145
  }, /*#__PURE__*/React__default.createElement("div", {
140
146
  className: selectClasses
141
147
  }, !noLabel && /*#__PURE__*/React__default.createElement("label", {
142
148
  htmlFor: id,
143
149
  className: labelClasses
144
150
  }, labelText), inline && /*#__PURE__*/React__default.createElement("div", {
145
- className: "".concat(prefix, "--select-input--inline__wrapper")
151
+ className: `${prefix}--select-input--inline__wrapper`
146
152
  }, /*#__PURE__*/React__default.createElement("div", {
147
- className: "".concat(prefix, "--select-input__wrapper"),
153
+ className: `${prefix}--select-input__wrapper`,
148
154
  "data-invalid": invalid || null
149
155
  }, input), error), !inline && /*#__PURE__*/React__default.createElement("div", {
150
- className: "".concat(prefix, "--select-input__wrapper"),
156
+ className: `${prefix}--select-input__wrapper`,
151
157
  "data-invalid": invalid || null,
152
158
  onFocus: handleFocus,
153
159
  onBlur: handleFocus
154
160
  }, input, isFluid && /*#__PURE__*/React__default.createElement("hr", {
155
- className: "".concat(prefix, "--select__divider")
161
+ className: `${prefix}--select__divider`
156
162
  }), isFluid && error ? error : null), !inline && !isFluid && error ? error : helper));
157
163
  });
158
164
  Select.displayName = 'Select';