@carbon/react 1.27.0 → 1.28.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (591) hide show
  1. package/es/_virtual/_rollupPluginBabelHelpers.js +1 -313
  2. package/es/components/Accordion/Accordion.Skeleton.js +28 -30
  3. package/es/components/Accordion/Accordion.js +18 -21
  4. package/es/components/Accordion/AccordionItem.js +37 -49
  5. package/es/components/AspectRatio/AspectRatio.js +10 -12
  6. package/es/components/Breadcrumb/Breadcrumb.Skeleton.js +10 -11
  7. package/es/components/Breadcrumb/Breadcrumb.js +14 -13
  8. package/es/components/Breadcrumb/BreadcrumbItem.js +24 -22
  9. package/es/components/Button/Button.Skeleton.js +25 -23
  10. package/es/components/Button/Button.js +77 -72
  11. package/es/components/ButtonSet/ButtonSet.js +12 -10
  12. package/es/components/Checkbox/Checkbox.Skeleton.js +10 -11
  13. package/es/components/Checkbox/Checkbox.js +55 -52
  14. package/es/components/CheckboxGroup/CheckboxGroup.js +33 -31
  15. package/es/components/ClassPrefix/index.js +4 -2
  16. package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +15 -14
  17. package/es/components/CodeSnippet/CodeSnippet.js +199 -102
  18. package/es/components/ComboBox/ComboBox.js +349 -178
  19. package/es/components/ComboBox/tools/filter.js +6 -4
  20. package/es/components/ComboButton/index.js +38 -43
  21. package/es/components/ComposedModal/ComposedModal.js +187 -85
  22. package/es/components/ComposedModal/ModalFooter.js +54 -49
  23. package/es/components/ComposedModal/ModalHeader.js +39 -26
  24. package/es/components/ContainedList/ContainedList.js +18 -17
  25. package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +20 -18
  26. package/es/components/ContentSwitcher/ContentSwitcher.js +83 -98
  27. package/es/components/ContentSwitcher/index.js +1 -1
  28. package/es/components/ContextMenu/useContextMenu.js +12 -21
  29. package/es/components/Copy/Copy.js +24 -29
  30. package/es/components/CopyButton/CopyButton.js +10 -10
  31. package/es/components/DangerButton/DangerButton.js +3 -5
  32. package/es/components/DataTable/DataTable.js +334 -361
  33. package/es/components/DataTable/Table.js +29 -26
  34. package/es/components/DataTable/TableActionList.js +2 -4
  35. package/es/components/DataTable/TableBatchAction.js +2 -4
  36. package/es/components/DataTable/TableBatchActions.js +29 -30
  37. package/es/components/DataTable/TableBody.js +7 -8
  38. package/es/components/DataTable/TableCell.js +1 -1
  39. package/es/components/DataTable/TableContainer.js +23 -23
  40. package/es/components/DataTable/TableContext.js +1 -1
  41. package/es/components/DataTable/TableExpandHeader.js +19 -21
  42. package/es/components/DataTable/TableExpandRow.js +23 -23
  43. package/es/components/DataTable/TableExpandedRow.js +18 -23
  44. package/es/components/DataTable/TableHead.js +1 -1
  45. package/es/components/DataTable/TableHeader.js +45 -41
  46. package/es/components/DataTable/TableRow.js +7 -8
  47. package/es/components/DataTable/TableSelectAll.js +13 -11
  48. package/es/components/DataTable/TableSelectRow.js +29 -21
  49. package/es/components/DataTable/TableToolbar.js +19 -14
  50. package/es/components/DataTable/TableToolbarAction.js +6 -6
  51. package/es/components/DataTable/TableToolbarContent.js +2 -4
  52. package/es/components/DataTable/TableToolbarMenu.js +11 -12
  53. package/es/components/DataTable/TableToolbarSearch.js +52 -71
  54. package/es/components/DataTable/state/getDerivedStateFromProps.js +15 -15
  55. package/es/components/DataTable/state/sortStates.js +1 -1
  56. package/es/components/DataTable/state/sorting.js +28 -20
  57. package/es/components/DataTable/tools/cells.js +1 -3
  58. package/es/components/DataTable/tools/denormalize.js +4 -17
  59. package/es/components/DataTable/tools/filter.js +18 -16
  60. package/es/components/DataTable/tools/instanceId.js +2 -2
  61. package/es/components/DataTable/tools/normalize.js +28 -25
  62. package/es/components/DataTable/tools/sorting.js +28 -25
  63. package/es/components/DataTableSkeleton/DataTableSkeleton.js +36 -38
  64. package/es/components/DatePicker/DatePicker.Skeleton.js +17 -18
  65. package/es/components/DatePicker/DatePicker.js +206 -195
  66. package/es/components/DatePicker/plugins/appendToPlugin.js +45 -43
  67. package/es/components/DatePicker/plugins/fixEventsPlugin.js +117 -107
  68. package/es/components/DatePicker/plugins/rangePlugin.js +19 -11
  69. package/es/components/DatePickerInput/DatePickerInput.js +83 -74
  70. package/es/components/Dropdown/Dropdown.Skeleton.js +13 -12
  71. package/es/components/Dropdown/Dropdown.js +266 -109
  72. package/es/components/ErrorBoundary/ErrorBoundary.js +27 -48
  73. package/es/components/ErrorBoundary/ErrorBoundaryContext.js +3 -2
  74. package/es/components/ExpandableSearch/ExpandableSearch.d.ts +13 -0
  75. package/es/components/ExpandableSearch/ExpandableSearch.js +18 -25
  76. package/es/components/FeatureFlags/index.js +25 -43
  77. package/es/components/FileUploader/FileUploader.Skeleton.js +8 -9
  78. package/es/components/FileUploader/FileUploader.js +120 -147
  79. package/es/components/FileUploader/FileUploaderButton.js +36 -48
  80. package/es/components/FileUploader/FileUploaderDropContainer.js +49 -53
  81. package/es/components/FileUploader/FileUploaderItem.js +30 -30
  82. package/es/components/FileUploader/Filename.js +13 -14
  83. package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +11 -12
  84. package/es/components/FluidComboBox/FluidComboBox.js +11 -9
  85. package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.js +18 -18
  86. package/es/components/FluidDatePicker/FluidDatePicker.js +19 -16
  87. package/es/components/FluidDatePickerInput/FluidDatePickerInput.js +3 -3
  88. package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +11 -12
  89. package/es/components/FluidDropdown/FluidDropdown.js +11 -9
  90. package/es/components/FluidForm/FluidForm.js +9 -10
  91. package/es/components/FluidForm/FormContext.js +1 -1
  92. package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +11 -12
  93. package/es/components/FluidMultiSelect/FluidMultiSelect.js +12 -10
  94. package/es/components/FluidSelect/FluidSelect.Skeleton.js +11 -12
  95. package/es/components/FluidSelect/FluidSelect.js +9 -9
  96. package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +9 -10
  97. package/es/components/FluidTextArea/FluidTextArea.js +7 -8
  98. package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +9 -10
  99. package/es/components/FluidTextInput/FluidTextInput.js +10 -9
  100. package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +11 -10
  101. package/es/components/FluidTimePicker/FluidTimePicker.js +30 -26
  102. package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.js +7 -7
  103. package/es/components/Form/Form.js +9 -10
  104. package/es/components/FormGroup/FormGroup.js +16 -17
  105. package/es/components/FormItem/FormItem.js +8 -9
  106. package/es/components/FormLabel/FormLabel.js +11 -10
  107. package/es/components/Grid/CSSGrid.js +38 -39
  108. package/es/components/Grid/Column.js +86 -79
  109. package/es/components/Grid/ColumnHang.js +12 -14
  110. package/es/components/Grid/FlexGrid.js +19 -21
  111. package/es/components/Grid/Grid.js +2 -2
  112. package/es/components/Grid/GridContext.js +12 -11
  113. package/es/components/Grid/Row.js +16 -18
  114. package/es/components/Heading/index.js +11 -13
  115. package/es/components/Icon/Icon.Skeleton.js +10 -12
  116. package/es/components/IconButton/index.js +19 -22
  117. package/es/components/IdPrefix/index.js +4 -2
  118. package/es/components/InlineCheckbox/InlineCheckbox.js +89 -36
  119. package/es/components/InlineLoading/InlineLoading.js +23 -25
  120. package/es/components/Layer/LayerContext.js +1 -1
  121. package/es/components/Layer/index.js +17 -18
  122. package/es/components/Layout/LayoutDirection.js +8 -10
  123. package/es/components/Layout/LayoutDirectionContext.js +1 -1
  124. package/es/components/Link/Link.js +25 -25
  125. package/es/components/ListBox/ListBox.js +38 -31
  126. package/es/components/ListBox/ListBoxField.js +9 -10
  127. package/es/components/ListBox/ListBoxMenu.js +9 -10
  128. package/es/components/ListBox/ListBoxMenuIcon.js +16 -14
  129. package/es/components/ListBox/ListBoxMenuItem.js +23 -26
  130. package/es/components/ListBox/ListBoxPropTypes.js +4 -4
  131. package/es/components/ListBox/ListBoxSelection.js +30 -25
  132. package/es/components/ListBox/index.js +1 -1
  133. package/es/components/ListBox/next/ListBoxSelection.js +27 -24
  134. package/es/components/ListBox/next/ListBoxTrigger.js +20 -19
  135. package/es/components/ListItem/ListItem.js +9 -10
  136. package/es/components/Loading/Loading.js +24 -24
  137. package/es/components/Menu/Menu.js +67 -80
  138. package/es/components/Menu/MenuContext.js +9 -12
  139. package/es/components/Menu/MenuItem.js +104 -128
  140. package/es/components/MenuButton/index.js +37 -41
  141. package/es/components/Modal/Modal.js +281 -120
  142. package/es/components/ModalWrapper/ModalWrapper.js +72 -96
  143. package/es/components/MultiSelect/FilterableMultiSelect.js +299 -163
  144. package/es/components/MultiSelect/MultiSelect.js +162 -174
  145. package/es/components/MultiSelect/MultiSelectPropTypes.js +1 -1
  146. package/es/components/MultiSelect/tools/itemToString.js +3 -4
  147. package/es/components/MultiSelect/tools/sorting.js +15 -13
  148. package/es/components/Notification/Notification.js +436 -164
  149. package/es/components/NumberInput/NumberInput.Skeleton.js +10 -11
  150. package/es/components/NumberInput/NumberInput.js +140 -139
  151. package/es/components/OrderedList/OrderedList.js +17 -15
  152. package/es/components/OverflowMenu/OverflowMenu.js +359 -227
  153. package/es/components/OverflowMenu/index.js +1 -1
  154. package/es/components/OverflowMenuItem/OverflowMenuItem.js +32 -37
  155. package/es/components/OverflowMenuV2/index.js +26 -28
  156. package/es/components/Pagination/Pagination.Skeleton.js +9 -10
  157. package/es/components/Pagination/Pagination.js +98 -140
  158. package/es/components/Pagination/experimental/PageSelector.js +16 -16
  159. package/es/components/Pagination/experimental/Pagination.js +73 -94
  160. package/es/components/PaginationNav/PaginationNav.js +98 -117
  161. package/es/components/Popover/index.js +74 -80
  162. package/es/components/PrimaryButton/PrimaryButton.js +3 -5
  163. package/es/components/ProgressBar/ProgressBar.js +39 -37
  164. package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +15 -14
  165. package/es/components/ProgressIndicator/ProgressIndicator.js +71 -71
  166. package/es/components/RadioButton/RadioButton.Skeleton.js +9 -10
  167. package/es/components/RadioButton/RadioButton.js +27 -27
  168. package/es/components/RadioButtonGroup/RadioButtonGroup.js +55 -65
  169. package/es/components/RadioTile/RadioTile.js +27 -25
  170. package/es/components/Search/Search.Skeleton.js +16 -16
  171. package/es/components/Search/Search.d.ts +83 -0
  172. package/es/components/Search/Search.js +65 -72
  173. package/es/components/Search/index.d.ts +11 -0
  174. package/es/components/SecondaryButton/SecondaryButton.js +3 -5
  175. package/es/components/Select/Select.Skeleton.js +12 -13
  176. package/es/components/Select/Select.js +79 -73
  177. package/es/components/SelectItem/SelectItem.js +17 -13
  178. package/es/components/SelectItemGroup/SelectItemGroup.js +11 -12
  179. package/es/components/SkeletonIcon/SkeletonIcon.js +11 -11
  180. package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +11 -11
  181. package/es/components/SkeletonText/SkeletonText.js +29 -29
  182. package/es/components/Slider/Slider.Skeleton.js +17 -18
  183. package/es/components/Slider/Slider.js +306 -329
  184. package/es/components/Slider/index.js +1 -1
  185. package/es/components/Stack/Stack.js +19 -20
  186. package/es/components/Stack/index.js +2 -2
  187. package/es/components/StructuredList/StructuredList.Skeleton.js +25 -24
  188. package/es/components/StructuredList/StructuredList.js +134 -106
  189. package/es/components/Switch/IconSwitch.js +48 -54
  190. package/es/components/Switch/Switch.js +33 -31
  191. package/es/components/Tab/Tab.js +77 -83
  192. package/es/components/Tab/index.js +1 -1
  193. package/es/components/TabContent/TabContent.js +16 -18
  194. package/es/components/Tabs/Tabs.Skeleton.js +14 -13
  195. package/es/components/Tabs/Tabs.js +195 -206
  196. package/es/components/Tabs/usePressable.js +27 -36
  197. package/es/components/Tag/Tag.Skeleton.js +10 -9
  198. package/es/components/Tag/Tag.js +34 -31
  199. package/es/components/Text/Text.js +20 -20
  200. package/es/components/Text/TextDirection.js +8 -7
  201. package/es/components/Text/TextDirectionContext.js +1 -1
  202. package/es/components/Text/index.js +1 -1
  203. package/es/components/TextArea/TextArea.Skeleton.js +11 -12
  204. package/es/components/TextArea/TextArea.js +89 -83
  205. package/es/components/TextInput/ControlledPasswordInput.js +79 -73
  206. package/es/components/TextInput/PasswordInput.js +101 -91
  207. package/es/components/TextInput/TextInput.Skeleton.js +11 -12
  208. package/es/components/TextInput/TextInput.js +104 -92
  209. package/es/components/TextInput/util.js +26 -28
  210. package/es/components/Theme/index.js +25 -20
  211. package/es/components/Tile/Tile.js +135 -176
  212. package/es/components/TileGroup/TileGroup.js +55 -70
  213. package/es/components/TileGroup/index.js +1 -1
  214. package/es/components/TimePicker/TimePicker.js +60 -67
  215. package/es/components/TimePickerSelect/TimePickerSelect.js +20 -18
  216. package/es/components/TimePickerSelect/index.js +1 -1
  217. package/es/components/Toggle/Toggle.Skeleton.js +63 -52
  218. package/es/components/Toggle/Toggle.js +44 -48
  219. package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +56 -50
  220. package/es/components/Toggletip/index.js +52 -48
  221. package/es/components/Tooltip/DefinitionTooltip.js +24 -31
  222. package/es/components/Tooltip/Tooltip.js +35 -50
  223. package/es/components/TreeView/TreeNode.js +94 -74
  224. package/es/components/TreeView/TreeView.js +72 -83
  225. package/es/components/UIShell/Content.js +12 -14
  226. package/es/components/UIShell/Header.js +16 -12
  227. package/es/components/UIShell/HeaderContainer.js +8 -14
  228. package/es/components/UIShell/HeaderGlobalAction.js +26 -19
  229. package/es/components/UIShell/HeaderGlobalBar.js +1 -3
  230. package/es/components/UIShell/HeaderMenu.js +114 -129
  231. package/es/components/UIShell/HeaderMenuButton.js +31 -22
  232. package/es/components/UIShell/HeaderMenuItem.js +28 -20
  233. package/es/components/UIShell/HeaderName.js +19 -14
  234. package/es/components/UIShell/HeaderNavigation.js +19 -15
  235. package/es/components/UIShell/HeaderPanel.js +23 -17
  236. package/es/components/UIShell/HeaderSideNavItems.js +11 -9
  237. package/es/components/UIShell/Link.js +11 -11
  238. package/es/components/UIShell/SideNav.js +66 -62
  239. package/es/components/UIShell/SideNavDetails.js +11 -12
  240. package/es/components/UIShell/SideNavDivider.js +5 -3
  241. package/es/components/UIShell/SideNavFooter.js +12 -12
  242. package/es/components/UIShell/SideNavHeader.js +8 -6
  243. package/es/components/UIShell/SideNavIcon.js +11 -8
  244. package/es/components/UIShell/SideNavItem.js +11 -9
  245. package/es/components/UIShell/SideNavItems.js +13 -11
  246. package/es/components/UIShell/SideNavLink.js +19 -17
  247. package/es/components/UIShell/SideNavLinkText.js +8 -9
  248. package/es/components/UIShell/SideNavMenu.js +28 -35
  249. package/es/components/UIShell/SideNavMenuItem.js +14 -14
  250. package/es/components/UIShell/SideNavSwitcher.js +19 -19
  251. package/es/components/UIShell/SkipToContent.js +10 -11
  252. package/es/components/UIShell/Switcher.js +20 -11
  253. package/es/components/UIShell/SwitcherDivider.js +10 -9
  254. package/es/components/UIShell/SwitcherItem.js +26 -19
  255. package/es/components/UIShell/_utils.js +1 -1
  256. package/es/components/UnorderedList/UnorderedList.js +14 -14
  257. package/es/index.js +5 -5
  258. package/es/internal/ClickListener.js +49 -65
  259. package/es/internal/FloatingMenu.js +193 -200
  260. package/es/internal/OptimizedResize.js +9 -8
  261. package/es/internal/Selection.js +92 -111
  262. package/es/internal/createClassWrapper.js +2 -2
  263. package/es/internal/deprecateFieldOnObject.js +5 -3
  264. package/es/internal/environment.js +1 -1
  265. package/es/internal/focus/index.js +1 -1
  266. package/es/internal/keyboard/keys.js +11 -11
  267. package/es/internal/keyboard/match.js +7 -6
  268. package/es/internal/keyboard/navigation.js +15 -5
  269. package/es/internal/useAnnouncer.js +2 -2
  270. package/es/internal/useAttachedMenu.js +12 -20
  271. package/es/internal/useControllableState.js +11 -16
  272. package/es/internal/useDelayedState.js +9 -18
  273. package/es/internal/useEffectOnce.js +4 -4
  274. package/es/internal/useEvent.js +4 -4
  275. package/es/internal/useId.js +15 -19
  276. package/es/internal/useIdPrefix.js +1 -1
  277. package/es/internal/useIsomorphicEffect.js +1 -1
  278. package/es/internal/useMergedRefs.js +3 -3
  279. package/es/internal/useNoInteractiveChildren.js +8 -19
  280. package/es/internal/useNormalizedInputProps.js +16 -14
  281. package/es/internal/usePrefix.js +1 -1
  282. package/es/internal/useSavedCallback.js +3 -3
  283. package/es/internal/warning.js +4 -4
  284. package/es/internal/wrapFocus.js +16 -21
  285. package/es/prop-types/AriaPropTypes.js +1 -1
  286. package/es/prop-types/deprecate.js +6 -5
  287. package/es/prop-types/isRequiredOneOf.js +12 -25
  288. package/es/prop-types/requiredIfGivenPropIsTruthy.js +2 -2
  289. package/es/prop-types/types.js +1 -1
  290. package/es/tools/array.js +1 -1
  291. package/es/tools/events.js +21 -14
  292. package/es/tools/mergeRefs.js +3 -3
  293. package/es/tools/setupGetInstanceId.js +1 -1
  294. package/es/tools/uniqueId.js +3 -3
  295. package/es/tools/wrapComponent.js +14 -13
  296. package/lib/_virtual/_rollupPluginBabelHelpers.js +0 -336
  297. package/lib/components/Accordion/Accordion.Skeleton.js +27 -29
  298. package/lib/components/Accordion/Accordion.js +17 -20
  299. package/lib/components/Accordion/AccordionItem.js +36 -48
  300. package/lib/components/AspectRatio/AspectRatio.js +9 -11
  301. package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +9 -10
  302. package/lib/components/Breadcrumb/Breadcrumb.js +13 -12
  303. package/lib/components/Breadcrumb/BreadcrumbItem.js +23 -21
  304. package/lib/components/Button/Button.Skeleton.js +24 -22
  305. package/lib/components/Button/Button.js +76 -71
  306. package/lib/components/ButtonSet/ButtonSet.js +11 -9
  307. package/lib/components/Checkbox/Checkbox.Skeleton.js +9 -10
  308. package/lib/components/Checkbox/Checkbox.js +54 -51
  309. package/lib/components/CheckboxGroup/CheckboxGroup.js +32 -30
  310. package/lib/components/ClassPrefix/index.js +4 -2
  311. package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +14 -13
  312. package/lib/components/CodeSnippet/CodeSnippet.js +198 -101
  313. package/lib/components/ComboBox/ComboBox.js +348 -177
  314. package/lib/components/ComboBox/tools/filter.js +6 -4
  315. package/lib/components/ComboButton/index.js +37 -42
  316. package/lib/components/ComposedModal/ComposedModal.js +187 -85
  317. package/lib/components/ComposedModal/ModalFooter.js +53 -48
  318. package/lib/components/ComposedModal/ModalHeader.js +38 -25
  319. package/lib/components/ContainedList/ContainedList.js +18 -17
  320. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +20 -18
  321. package/lib/components/ContentSwitcher/ContentSwitcher.js +82 -97
  322. package/lib/components/ContentSwitcher/index.js +1 -1
  323. package/lib/components/ContextMenu/useContextMenu.js +12 -21
  324. package/lib/components/Copy/Copy.js +23 -28
  325. package/lib/components/CopyButton/CopyButton.js +9 -9
  326. package/lib/components/DangerButton/DangerButton.js +3 -5
  327. package/lib/components/DataTable/DataTable.js +332 -359
  328. package/lib/components/DataTable/Table.js +28 -25
  329. package/lib/components/DataTable/TableActionList.js +2 -4
  330. package/lib/components/DataTable/TableBatchAction.js +2 -4
  331. package/lib/components/DataTable/TableBatchActions.js +28 -29
  332. package/lib/components/DataTable/TableBody.js +6 -7
  333. package/lib/components/DataTable/TableCell.js +1 -1
  334. package/lib/components/DataTable/TableContainer.js +22 -22
  335. package/lib/components/DataTable/TableContext.js +1 -1
  336. package/lib/components/DataTable/TableExpandHeader.js +18 -20
  337. package/lib/components/DataTable/TableExpandRow.js +22 -22
  338. package/lib/components/DataTable/TableExpandedRow.js +17 -22
  339. package/lib/components/DataTable/TableHead.js +1 -1
  340. package/lib/components/DataTable/TableHeader.js +43 -39
  341. package/lib/components/DataTable/TableRow.js +7 -8
  342. package/lib/components/DataTable/TableSelectAll.js +13 -11
  343. package/lib/components/DataTable/TableSelectRow.js +28 -20
  344. package/lib/components/DataTable/TableToolbar.js +18 -13
  345. package/lib/components/DataTable/TableToolbarAction.js +5 -5
  346. package/lib/components/DataTable/TableToolbarContent.js +2 -4
  347. package/lib/components/DataTable/TableToolbarMenu.js +10 -11
  348. package/lib/components/DataTable/TableToolbarSearch.js +51 -70
  349. package/lib/components/DataTable/state/getDerivedStateFromProps.js +15 -15
  350. package/lib/components/DataTable/state/sortStates.js +1 -1
  351. package/lib/components/DataTable/state/sorting.js +28 -20
  352. package/lib/components/DataTable/tools/cells.js +1 -3
  353. package/lib/components/DataTable/tools/denormalize.js +4 -17
  354. package/lib/components/DataTable/tools/filter.js +18 -16
  355. package/lib/components/DataTable/tools/instanceId.js +2 -2
  356. package/lib/components/DataTable/tools/normalize.js +28 -25
  357. package/lib/components/DataTable/tools/sorting.js +27 -24
  358. package/lib/components/DataTableSkeleton/DataTableSkeleton.js +35 -37
  359. package/lib/components/DatePicker/DatePicker.Skeleton.js +16 -17
  360. package/lib/components/DatePicker/DatePicker.js +205 -194
  361. package/lib/components/DatePicker/plugins/appendToPlugin.js +45 -43
  362. package/lib/components/DatePicker/plugins/fixEventsPlugin.js +117 -107
  363. package/lib/components/DatePicker/plugins/rangePlugin.js +19 -11
  364. package/lib/components/DatePickerInput/DatePickerInput.js +83 -74
  365. package/lib/components/Dropdown/Dropdown.Skeleton.js +12 -11
  366. package/lib/components/Dropdown/Dropdown.js +265 -108
  367. package/lib/components/ErrorBoundary/ErrorBoundary.js +27 -48
  368. package/lib/components/ErrorBoundary/ErrorBoundaryContext.js +3 -2
  369. package/lib/components/ExpandableSearch/ExpandableSearch.d.ts +13 -0
  370. package/lib/components/ExpandableSearch/ExpandableSearch.js +17 -24
  371. package/lib/components/FeatureFlags/index.js +25 -43
  372. package/lib/components/FileUploader/FileUploader.Skeleton.js +7 -8
  373. package/lib/components/FileUploader/FileUploader.js +119 -146
  374. package/lib/components/FileUploader/FileUploaderButton.js +35 -47
  375. package/lib/components/FileUploader/FileUploaderDropContainer.js +48 -52
  376. package/lib/components/FileUploader/FileUploaderItem.js +29 -29
  377. package/lib/components/FileUploader/Filename.js +12 -13
  378. package/lib/components/FluidComboBox/FluidComboBox.Skeleton.js +10 -11
  379. package/lib/components/FluidComboBox/FluidComboBox.js +10 -8
  380. package/lib/components/FluidDatePicker/FluidDatePicker.Skeleton.js +17 -17
  381. package/lib/components/FluidDatePicker/FluidDatePicker.js +18 -15
  382. package/lib/components/FluidDatePickerInput/FluidDatePickerInput.js +3 -3
  383. package/lib/components/FluidDropdown/FluidDropdown.Skeleton.js +10 -11
  384. package/lib/components/FluidDropdown/FluidDropdown.js +10 -8
  385. package/lib/components/FluidForm/FluidForm.js +8 -9
  386. package/lib/components/FluidForm/FormContext.js +1 -1
  387. package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +10 -11
  388. package/lib/components/FluidMultiSelect/FluidMultiSelect.js +11 -9
  389. package/lib/components/FluidSelect/FluidSelect.Skeleton.js +10 -11
  390. package/lib/components/FluidSelect/FluidSelect.js +8 -8
  391. package/lib/components/FluidTextArea/FluidTextArea.Skeleton.js +8 -9
  392. package/lib/components/FluidTextArea/FluidTextArea.js +6 -7
  393. package/lib/components/FluidTextInput/FluidTextInput.Skeleton.js +8 -9
  394. package/lib/components/FluidTextInput/FluidTextInput.js +9 -8
  395. package/lib/components/FluidTimePicker/FluidTimePicker.Skeleton.js +10 -9
  396. package/lib/components/FluidTimePicker/FluidTimePicker.js +30 -26
  397. package/lib/components/FluidTimePickerSelect/FluidTimePickerSelect.js +6 -6
  398. package/lib/components/Form/Form.js +8 -9
  399. package/lib/components/FormGroup/FormGroup.js +15 -16
  400. package/lib/components/FormItem/FormItem.js +7 -8
  401. package/lib/components/FormLabel/FormLabel.js +10 -9
  402. package/lib/components/Grid/CSSGrid.js +37 -38
  403. package/lib/components/Grid/Column.js +85 -78
  404. package/lib/components/Grid/ColumnHang.js +11 -13
  405. package/lib/components/Grid/FlexGrid.js +19 -21
  406. package/lib/components/Grid/Grid.js +2 -2
  407. package/lib/components/Grid/GridContext.js +12 -11
  408. package/lib/components/Grid/Row.js +16 -18
  409. package/lib/components/Heading/index.js +11 -13
  410. package/lib/components/Icon/Icon.Skeleton.js +9 -11
  411. package/lib/components/IconButton/index.js +18 -21
  412. package/lib/components/IdPrefix/index.js +4 -2
  413. package/lib/components/InlineCheckbox/InlineCheckbox.js +89 -36
  414. package/lib/components/InlineLoading/InlineLoading.js +22 -24
  415. package/lib/components/Layer/LayerContext.js +1 -1
  416. package/lib/components/Layer/index.js +16 -17
  417. package/lib/components/Layout/LayoutDirection.js +7 -9
  418. package/lib/components/Layout/LayoutDirectionContext.js +1 -1
  419. package/lib/components/Link/Link.js +24 -24
  420. package/lib/components/ListBox/ListBox.js +37 -30
  421. package/lib/components/ListBox/ListBoxField.js +8 -9
  422. package/lib/components/ListBox/ListBoxMenu.js +8 -9
  423. package/lib/components/ListBox/ListBoxMenuIcon.js +16 -14
  424. package/lib/components/ListBox/ListBoxMenuItem.js +22 -25
  425. package/lib/components/ListBox/ListBoxPropTypes.js +4 -4
  426. package/lib/components/ListBox/ListBoxSelection.js +30 -25
  427. package/lib/components/ListBox/index.js +1 -1
  428. package/lib/components/ListBox/next/ListBoxSelection.js +26 -23
  429. package/lib/components/ListBox/next/ListBoxTrigger.js +19 -18
  430. package/lib/components/ListItem/ListItem.js +8 -9
  431. package/lib/components/Loading/Loading.js +23 -23
  432. package/lib/components/Menu/Menu.js +66 -79
  433. package/lib/components/Menu/MenuContext.js +9 -12
  434. package/lib/components/Menu/MenuItem.js +103 -127
  435. package/lib/components/MenuButton/index.js +36 -40
  436. package/lib/components/Modal/Modal.js +280 -119
  437. package/lib/components/ModalWrapper/ModalWrapper.js +71 -95
  438. package/lib/components/MultiSelect/FilterableMultiSelect.js +298 -162
  439. package/lib/components/MultiSelect/MultiSelect.js +163 -175
  440. package/lib/components/MultiSelect/MultiSelectPropTypes.js +1 -1
  441. package/lib/components/MultiSelect/tools/itemToString.js +3 -4
  442. package/lib/components/MultiSelect/tools/sorting.js +15 -13
  443. package/lib/components/Notification/Notification.js +434 -162
  444. package/lib/components/NumberInput/NumberInput.Skeleton.js +9 -10
  445. package/lib/components/NumberInput/NumberInput.js +139 -138
  446. package/lib/components/OrderedList/OrderedList.js +16 -14
  447. package/lib/components/OverflowMenu/OverflowMenu.js +358 -226
  448. package/lib/components/OverflowMenu/index.js +1 -1
  449. package/lib/components/OverflowMenuItem/OverflowMenuItem.js +31 -36
  450. package/lib/components/OverflowMenuV2/index.js +25 -27
  451. package/lib/components/Pagination/Pagination.Skeleton.js +8 -9
  452. package/lib/components/Pagination/Pagination.js +97 -139
  453. package/lib/components/Pagination/experimental/PageSelector.js +17 -17
  454. package/lib/components/Pagination/experimental/Pagination.js +72 -93
  455. package/lib/components/PaginationNav/PaginationNav.js +97 -116
  456. package/lib/components/Popover/index.js +73 -79
  457. package/lib/components/PrimaryButton/PrimaryButton.js +3 -5
  458. package/lib/components/ProgressBar/ProgressBar.js +38 -36
  459. package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +14 -13
  460. package/lib/components/ProgressIndicator/ProgressIndicator.js +70 -70
  461. package/lib/components/RadioButton/RadioButton.Skeleton.js +8 -9
  462. package/lib/components/RadioButton/RadioButton.js +26 -26
  463. package/lib/components/RadioButtonGroup/RadioButtonGroup.js +54 -64
  464. package/lib/components/RadioTile/RadioTile.js +26 -24
  465. package/lib/components/Search/Search.Skeleton.js +15 -15
  466. package/lib/components/Search/Search.d.ts +83 -0
  467. package/lib/components/Search/Search.js +62 -69
  468. package/lib/components/Search/index.d.ts +11 -0
  469. package/lib/components/SecondaryButton/SecondaryButton.js +3 -5
  470. package/lib/components/Select/Select.Skeleton.js +11 -12
  471. package/lib/components/Select/Select.js +78 -72
  472. package/lib/components/SelectItem/SelectItem.js +16 -12
  473. package/lib/components/SelectItemGroup/SelectItemGroup.js +10 -11
  474. package/lib/components/SkeletonIcon/SkeletonIcon.js +10 -10
  475. package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +10 -10
  476. package/lib/components/SkeletonText/SkeletonText.js +28 -28
  477. package/lib/components/Slider/Slider.Skeleton.js +16 -17
  478. package/lib/components/Slider/Slider.js +305 -328
  479. package/lib/components/Slider/index.js +1 -1
  480. package/lib/components/Stack/Stack.js +18 -19
  481. package/lib/components/Stack/index.js +2 -2
  482. package/lib/components/StructuredList/StructuredList.Skeleton.js +24 -23
  483. package/lib/components/StructuredList/StructuredList.js +133 -105
  484. package/lib/components/Switch/IconSwitch.js +45 -51
  485. package/lib/components/Switch/Switch.js +33 -31
  486. package/lib/components/Tab/Tab.js +76 -82
  487. package/lib/components/Tab/index.js +1 -1
  488. package/lib/components/TabContent/TabContent.js +15 -17
  489. package/lib/components/Tabs/Tabs.Skeleton.js +13 -12
  490. package/lib/components/Tabs/Tabs.js +194 -205
  491. package/lib/components/Tabs/usePressable.js +27 -36
  492. package/lib/components/Tag/Tag.Skeleton.js +9 -8
  493. package/lib/components/Tag/Tag.js +33 -30
  494. package/lib/components/Text/Text.js +19 -19
  495. package/lib/components/Text/TextDirection.js +8 -7
  496. package/lib/components/Text/TextDirectionContext.js +1 -1
  497. package/lib/components/Text/index.js +1 -1
  498. package/lib/components/TextArea/TextArea.Skeleton.js +10 -11
  499. package/lib/components/TextArea/TextArea.js +88 -82
  500. package/lib/components/TextInput/ControlledPasswordInput.js +78 -72
  501. package/lib/components/TextInput/PasswordInput.js +100 -90
  502. package/lib/components/TextInput/TextInput.Skeleton.js +10 -11
  503. package/lib/components/TextInput/TextInput.js +104 -92
  504. package/lib/components/TextInput/util.js +28 -30
  505. package/lib/components/Theme/index.js +24 -19
  506. package/lib/components/Tile/Tile.js +134 -175
  507. package/lib/components/TileGroup/TileGroup.js +54 -69
  508. package/lib/components/TileGroup/index.js +1 -1
  509. package/lib/components/TimePicker/TimePicker.js +59 -66
  510. package/lib/components/TimePickerSelect/TimePickerSelect.js +19 -17
  511. package/lib/components/TimePickerSelect/index.js +1 -1
  512. package/lib/components/Toggle/Toggle.Skeleton.js +68 -57
  513. package/lib/components/Toggle/Toggle.js +43 -47
  514. package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +60 -54
  515. package/lib/components/Toggletip/index.js +51 -47
  516. package/lib/components/Tooltip/DefinitionTooltip.js +23 -30
  517. package/lib/components/Tooltip/Tooltip.js +34 -49
  518. package/lib/components/TreeView/TreeNode.js +93 -73
  519. package/lib/components/TreeView/TreeView.js +71 -82
  520. package/lib/components/UIShell/Content.js +12 -14
  521. package/lib/components/UIShell/Header.js +15 -11
  522. package/lib/components/UIShell/HeaderContainer.js +8 -14
  523. package/lib/components/UIShell/HeaderGlobalAction.js +25 -18
  524. package/lib/components/UIShell/HeaderGlobalBar.js +1 -3
  525. package/lib/components/UIShell/HeaderMenu.js +113 -128
  526. package/lib/components/UIShell/HeaderMenuButton.js +30 -21
  527. package/lib/components/UIShell/HeaderMenuItem.js +27 -19
  528. package/lib/components/UIShell/HeaderName.js +18 -13
  529. package/lib/components/UIShell/HeaderNavigation.js +18 -14
  530. package/lib/components/UIShell/HeaderPanel.js +22 -16
  531. package/lib/components/UIShell/HeaderSideNavItems.js +11 -9
  532. package/lib/components/UIShell/Link.js +11 -11
  533. package/lib/components/UIShell/SideNav.js +65 -61
  534. package/lib/components/UIShell/SideNavDetails.js +10 -11
  535. package/lib/components/UIShell/SideNavDivider.js +5 -3
  536. package/lib/components/UIShell/SideNavFooter.js +12 -12
  537. package/lib/components/UIShell/SideNavHeader.js +8 -6
  538. package/lib/components/UIShell/SideNavIcon.js +11 -8
  539. package/lib/components/UIShell/SideNavItem.js +11 -9
  540. package/lib/components/UIShell/SideNavItems.js +13 -11
  541. package/lib/components/UIShell/SideNavLink.js +18 -16
  542. package/lib/components/UIShell/SideNavLinkText.js +7 -8
  543. package/lib/components/UIShell/SideNavMenu.js +28 -35
  544. package/lib/components/UIShell/SideNavMenuItem.js +13 -13
  545. package/lib/components/UIShell/SideNavSwitcher.js +19 -19
  546. package/lib/components/UIShell/SkipToContent.js +9 -10
  547. package/lib/components/UIShell/Switcher.js +19 -10
  548. package/lib/components/UIShell/SwitcherDivider.js +9 -8
  549. package/lib/components/UIShell/SwitcherItem.js +25 -18
  550. package/lib/components/UIShell/_utils.js +1 -1
  551. package/lib/components/UnorderedList/UnorderedList.js +13 -13
  552. package/lib/index.js +10 -10
  553. package/lib/internal/ClickListener.js +49 -65
  554. package/lib/internal/FloatingMenu.js +192 -199
  555. package/lib/internal/OptimizedResize.js +9 -8
  556. package/lib/internal/Selection.js +91 -110
  557. package/lib/internal/createClassWrapper.js +2 -2
  558. package/lib/internal/deprecateFieldOnObject.js +5 -3
  559. package/lib/internal/environment.js +1 -1
  560. package/lib/internal/focus/index.js +1 -1
  561. package/lib/internal/keyboard/keys.js +11 -11
  562. package/lib/internal/keyboard/match.js +7 -6
  563. package/lib/internal/keyboard/navigation.js +15 -5
  564. package/lib/internal/useAnnouncer.js +2 -2
  565. package/lib/internal/useAttachedMenu.js +12 -20
  566. package/lib/internal/useControllableState.js +11 -16
  567. package/lib/internal/useDelayedState.js +9 -18
  568. package/lib/internal/useEffectOnce.js +4 -4
  569. package/lib/internal/useEvent.js +4 -4
  570. package/lib/internal/useId.js +14 -18
  571. package/lib/internal/useIdPrefix.js +1 -1
  572. package/lib/internal/useIsomorphicEffect.js +1 -1
  573. package/lib/internal/useMergedRefs.js +3 -3
  574. package/lib/internal/useNoInteractiveChildren.js +8 -19
  575. package/lib/internal/useNormalizedInputProps.js +16 -14
  576. package/lib/internal/usePrefix.js +1 -1
  577. package/lib/internal/useSavedCallback.js +3 -3
  578. package/lib/internal/warning.js +4 -4
  579. package/lib/internal/wrapFocus.js +16 -21
  580. package/lib/prop-types/AriaPropTypes.js +1 -1
  581. package/lib/prop-types/deprecate.js +6 -5
  582. package/lib/prop-types/isRequiredOneOf.js +15 -28
  583. package/lib/prop-types/requiredIfGivenPropIsTruthy.js +2 -2
  584. package/lib/prop-types/types.js +1 -1
  585. package/lib/tools/array.js +1 -1
  586. package/lib/tools/events.js +21 -14
  587. package/lib/tools/mergeRefs.js +3 -3
  588. package/lib/tools/setupGetInstanceId.js +1 -1
  589. package/lib/tools/uniqueId.js +3 -3
  590. package/lib/tools/wrapComponent.js +14 -13
  591. package/package.json +6 -6
@@ -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;
@@ -32,62 +32,53 @@ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
32
32
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
33
33
 
34
34
  var _Close;
35
-
36
- var _excluded = ["autoComplete", "className", "closeButtonLabelText", "defaultValue", "disabled", "id", "labelText", "light", "onChange", "onClear", "onKeyDown", "onExpand", "placeholder", "renderIcon", "role", "size", "type", "value"];
37
- var Search = /*#__PURE__*/React__default["default"].forwardRef(function Search(_ref, forwardRef) {
38
- var _cx, _cx2;
39
-
40
- var _ref$autoComplete = _ref.autoComplete,
41
- autoComplete = _ref$autoComplete === void 0 ? 'off' : _ref$autoComplete,
42
- className = _ref.className,
43
- _ref$closeButtonLabel = _ref.closeButtonLabelText,
44
- closeButtonLabelText = _ref$closeButtonLabel === void 0 ? 'Clear search input' : _ref$closeButtonLabel,
45
- defaultValue = _ref.defaultValue,
46
- disabled = _ref.disabled,
47
- id = _ref.id,
48
- labelText = _ref.labelText,
49
- light = _ref.light,
50
- _ref$onChange = _ref.onChange,
51
- onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange,
52
- _ref$onClear = _ref.onClear,
53
- onClear = _ref$onClear === void 0 ? function () {} : _ref$onClear,
54
- onKeyDown = _ref.onKeyDown,
55
- onExpand = _ref.onExpand,
56
- _ref$placeholder = _ref.placeholder,
57
- placeholder = _ref$placeholder === void 0 ? 'Search' : _ref$placeholder,
58
- renderIcon = _ref.renderIcon,
59
- _ref$role = _ref.role,
60
- role = _ref$role === void 0 ? 'searchbox' : _ref$role,
61
- _ref$size = _ref.size,
62
- size = _ref$size === void 0 ? 'md' : _ref$size,
63
- _ref$type = _ref.type,
64
- type = _ref$type === void 0 ? 'text' : _ref$type,
65
- value = _ref.value,
66
- rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
67
-
68
- var prefix = usePrefix.usePrefix();
69
-
70
- var _useContext = React.useContext(FormContext.FormContext),
71
- isFluid = _useContext.isFluid;
72
-
73
- var inputRef = React.useRef(null);
74
- var ref = useMergedRefs.useMergedRefs([forwardRef, inputRef]);
75
- var inputId = useId.useId('search-input');
76
- var uniqueId = id || inputId;
77
- var searchId = "".concat(uniqueId, "-search");
78
-
79
- var _useState = React.useState(value || defaultValue || false),
80
- _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
81
- hasContent = _useState2[0],
82
- setHasContent = _useState2[1];
83
-
84
- var _useState3 = React.useState(value),
85
- _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
86
- prevValue = _useState4[0],
87
- setPrevValue = _useState4[1];
88
-
89
- var searchClasses = cx__default["default"]((_cx = {}, _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--search"), true), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--search--sm"), size === 'sm'), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--search--md"), size === 'md'), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--search--lg"), size === 'lg'), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--search--light"), light), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--search--disabled"), disabled), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--search--fluid"), isFluid), _rollupPluginBabelHelpers.defineProperty(_cx, className, className), _cx));
90
- var clearClasses = cx__default["default"]((_cx2 = {}, _rollupPluginBabelHelpers.defineProperty(_cx2, "".concat(prefix, "--search-close"), true), _rollupPluginBabelHelpers.defineProperty(_cx2, "".concat(prefix, "--search-close--hidden"), !hasContent), _cx2));
35
+ const Search = /*#__PURE__*/React__default["default"].forwardRef(function Search(_ref, forwardRef) {
36
+ let {
37
+ autoComplete = 'off',
38
+ className,
39
+ closeButtonLabelText = 'Clear search input',
40
+ defaultValue,
41
+ disabled,
42
+ id,
43
+ labelText,
44
+ // @ts-expect-error: deprecated prop
45
+ light,
46
+ onChange = () => {},
47
+ onClear = () => {},
48
+ onKeyDown,
49
+ onExpand,
50
+ placeholder = 'Search',
51
+ renderIcon,
52
+ role = 'searchbox',
53
+ size = 'md',
54
+ type = 'text',
55
+ value,
56
+ ...rest
57
+ } = _ref;
58
+ const prefix = usePrefix.usePrefix();
59
+ const {
60
+ isFluid
61
+ } = React.useContext(FormContext.FormContext);
62
+ const inputRef = React.useRef(null);
63
+ const ref = useMergedRefs.useMergedRefs([forwardRef, inputRef]);
64
+ const inputId = useId.useId('search-input');
65
+ const uniqueId = id || inputId;
66
+ const searchId = `${uniqueId}-search`;
67
+ const [hasContent, setHasContent] = React.useState(value || defaultValue || false);
68
+ const [prevValue, setPrevValue] = React.useState(value);
69
+ const searchClasses = cx__default["default"]({
70
+ [`${prefix}--search`]: true,
71
+ [`${prefix}--search--sm`]: size === 'sm',
72
+ [`${prefix}--search--md`]: size === 'md',
73
+ [`${prefix}--search--lg`]: size === 'lg',
74
+ [`${prefix}--search--light`]: light,
75
+ [`${prefix}--search--disabled`]: disabled,
76
+ [`${prefix}--search--fluid`]: isFluid
77
+ }, className);
78
+ const clearClasses = cx__default["default"]({
79
+ [`${prefix}--search-close`]: true,
80
+ [`${prefix}--search-close--hidden`]: !hasContent
81
+ });
91
82
 
92
83
  if (value !== prevValue) {
93
84
  setHasContent(!!value);
@@ -95,14 +86,14 @@ var Search = /*#__PURE__*/React__default["default"].forwardRef(function Search(_
95
86
  }
96
87
 
97
88
  function clearInput() {
98
- if (!value) {
89
+ if (!value && inputRef.current) {
99
90
  inputRef.current.value = '';
100
91
  }
101
92
 
102
- var inputTarget = Object.assign({}, inputRef.current, {
93
+ const inputTarget = Object.assign({}, inputRef.current, {
103
94
  value: ''
104
95
  });
105
- var clearedEvt = {
96
+ const clearedEvt = {
106
97
  target: inputTarget,
107
98
  type: 'change'
108
99
  };
@@ -129,18 +120,18 @@ var Search = /*#__PURE__*/React__default["default"].forwardRef(function Search(_
129
120
  className: searchClasses
130
121
  }, /*#__PURE__*/React__default["default"].createElement("div", {
131
122
  "aria-labelledby": uniqueId,
132
- role: onExpand ? 'button' : null,
133
- className: "".concat(prefix, "--search-magnifier"),
123
+ role: onExpand ? 'button' : undefined,
124
+ className: `${prefix}--search-magnifier`,
134
125
  onClick: onExpand
135
126
  }, /*#__PURE__*/React__default["default"].createElement(CustomSearchIcon, {
136
127
  icon: renderIcon
137
128
  })), /*#__PURE__*/React__default["default"].createElement("label", {
138
129
  id: searchId,
139
130
  htmlFor: uniqueId,
140
- className: "".concat(prefix, "--label")
131
+ className: `${prefix}--label`
141
132
  }, labelText), /*#__PURE__*/React__default["default"].createElement("input", _rollupPluginBabelHelpers["extends"]({}, rest, {
142
133
  autoComplete: autoComplete,
143
- className: "".concat(prefix, "--search-input"),
134
+ className: `${prefix}--search-input`,
144
135
  defaultValue: defaultValue,
145
136
  disabled: disabled,
146
137
  role: role,
@@ -234,6 +225,7 @@ Search.propTypes = {
234
225
  * Rendered icon for the Search.
235
226
  * Can be a React component class
236
227
  */
228
+ // @ts-expect-error: PropTypes are not expressive enough to cover this case
237
229
  renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object]),
238
230
 
239
231
  /**
@@ -258,17 +250,19 @@ Search.propTypes = {
258
250
  };
259
251
 
260
252
  function CustomSearchIcon(_ref2) {
261
- var Icon = _ref2.icon;
262
- var prefix = usePrefix.usePrefix();
253
+ let {
254
+ icon: Icon
255
+ } = _ref2;
256
+ const prefix = usePrefix.usePrefix();
263
257
 
264
258
  if (Icon) {
265
259
  return /*#__PURE__*/React__default["default"].createElement(Icon, {
266
- className: "".concat(prefix, "--search-magnifier-icon")
260
+ className: `${prefix}--search-magnifier-icon`
267
261
  });
268
262
  }
269
263
 
270
264
  return /*#__PURE__*/React__default["default"].createElement(iconsReact.Search, {
271
- className: "".concat(prefix, "--search-magnifier-icon")
265
+ className: `${prefix}--search-magnifier-icon`
272
266
  });
273
267
  }
274
268
 
@@ -278,6 +272,5 @@ CustomSearchIcon.propTypes = {
278
272
  */
279
273
  icon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object])
280
274
  };
281
- var Search$1 = Search;
282
275
 
283
- exports["default"] = Search$1;
276
+ exports["default"] = Search;
@@ -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';
@@ -17,11 +17,9 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
17
17
 
18
18
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
19
19
 
20
- var SecondaryButton = function SecondaryButton(props) {
21
- return /*#__PURE__*/React__default["default"].createElement(Button["default"], _rollupPluginBabelHelpers["extends"]({
22
- kind: "secondary"
23
- }, props));
24
- };
20
+ const SecondaryButton = props => /*#__PURE__*/React__default["default"].createElement(Button["default"], _rollupPluginBabelHelpers["extends"]({
21
+ kind: "secondary"
22
+ }, props));
25
23
 
26
24
  var SecondaryButton$1 = SecondaryButton;
27
25
 
@@ -21,22 +21,21 @@ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
21
21
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
22
22
  var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
23
23
 
24
- var _excluded = ["hideLabel", "className"];
25
-
26
- var SelectSkeleton = function SelectSkeleton(_ref) {
27
- var hideLabel = _ref.hideLabel,
28
- className = _ref.className,
29
- rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
30
-
31
- var prefix = usePrefix.usePrefix();
24
+ const SelectSkeleton = _ref => {
25
+ let {
26
+ hideLabel,
27
+ className,
28
+ ...rest
29
+ } = _ref;
30
+ const prefix = usePrefix.usePrefix();
32
31
  return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
33
- className: cx__default["default"]("".concat(prefix, "--form-item"), className)
32
+ className: cx__default["default"](`${prefix}--form-item`, className)
34
33
  }, rest), !hideLabel && /*#__PURE__*/React__default["default"].createElement("span", {
35
- className: "".concat(prefix, "--label ").concat(prefix, "--skeleton")
34
+ className: `${prefix}--label ${prefix}--skeleton`
36
35
  }), /*#__PURE__*/React__default["default"].createElement("div", {
37
- className: "".concat(prefix, "--select ").concat(prefix, "--skeleton")
36
+ className: `${prefix}--select ${prefix}--skeleton`
38
37
  }, /*#__PURE__*/React__default["default"].createElement("div", {
39
- className: "".concat(prefix, "--select-input")
38
+ className: `${prefix}--select-input`
40
39
  })));
41
40
  };
42
41
 
@@ -27,56 +27,60 @@ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
27
27
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
28
28
  var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
29
29
 
30
- var _excluded = ["className", "id", "inline", "labelText", "disabled", "children", "noLabel", "hideLabel", "invalid", "invalidText", "helperText", "light", "readOnly", "size", "warn", "warnText"];
31
- var getInstanceId = setupGetInstanceId["default"]();
32
- var Select = /*#__PURE__*/React__default["default"].forwardRef(function Select(_ref, ref) {
33
- var _classNames, _classNames2, _classNames3;
34
-
35
- var className = _ref.className,
36
- id = _ref.id,
37
- _ref$inline = _ref.inline,
38
- inline = _ref$inline === void 0 ? false : _ref$inline,
39
- labelText = _ref.labelText,
40
- _ref$disabled = _ref.disabled,
41
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
42
- children = _ref.children,
43
- _ref$noLabel = _ref.noLabel,
44
- noLabel = _ref$noLabel === void 0 ? false : _ref$noLabel,
45
- _ref$hideLabel = _ref.hideLabel,
46
- hideLabel = _ref$hideLabel === void 0 ? false : _ref$hideLabel,
47
- _ref$invalid = _ref.invalid,
48
- invalid = _ref$invalid === void 0 ? false : _ref$invalid,
49
- invalidText = _ref.invalidText,
50
- helperText = _ref.helperText,
51
- _ref$light = _ref.light,
52
- light = _ref$light === void 0 ? false : _ref$light,
53
- readOnly = _ref.readOnly,
54
- size = _ref.size,
55
- _ref$warn = _ref.warn,
56
- warn = _ref$warn === void 0 ? false : _ref$warn,
57
- warnText = _ref.warnText,
58
- other = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
59
-
60
- var prefix = usePrefix.usePrefix();
61
- var enabled = index.useFeatureFlag('enable-v11-release');
62
-
63
- var _useContext = React.useContext(FormContext.FormContext),
64
- isFluid = _useContext.isFluid;
65
-
66
- var _useState = React.useState(false),
67
- _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
68
- isFocused = _useState2[0],
69
- setIsFocused = _useState2[1];
70
-
71
- var _useRef = React.useRef(getInstanceId()),
72
- selectInstanceId = _useRef.current;
73
-
74
- var selectClasses = cx__default["default"]((_classNames = {}, _rollupPluginBabelHelpers.defineProperty(_classNames, "".concat(prefix, "--select"), true), _rollupPluginBabelHelpers.defineProperty(_classNames, "".concat(prefix, "--select--inline"), inline), _rollupPluginBabelHelpers.defineProperty(_classNames, "".concat(prefix, "--select--light"), light), _rollupPluginBabelHelpers.defineProperty(_classNames, "".concat(prefix, "--select--invalid"), invalid), _rollupPluginBabelHelpers.defineProperty(_classNames, "".concat(prefix, "--select--disabled"), disabled), _rollupPluginBabelHelpers.defineProperty(_classNames, "".concat(prefix, "--select--readonly"), readOnly), _rollupPluginBabelHelpers.defineProperty(_classNames, "".concat(prefix, "--select--warning"), warn), _rollupPluginBabelHelpers.defineProperty(_classNames, "".concat(prefix, "--select--fluid--invalid"), isFluid && invalid), _rollupPluginBabelHelpers.defineProperty(_classNames, "".concat(prefix, "--select--fluid--focus"), isFluid && isFocused), _classNames), [enabled ? null : className]);
75
- var labelClasses = cx__default["default"]("".concat(prefix, "--label"), (_classNames2 = {}, _rollupPluginBabelHelpers.defineProperty(_classNames2, "".concat(prefix, "--visually-hidden"), hideLabel), _rollupPluginBabelHelpers.defineProperty(_classNames2, "".concat(prefix, "--label--disabled"), disabled), _classNames2));
76
- var inputClasses = cx__default["default"]((_classNames3 = {}, _rollupPluginBabelHelpers.defineProperty(_classNames3, "".concat(prefix, "--select-input"), true), _rollupPluginBabelHelpers.defineProperty(_classNames3, "".concat(prefix, "--select-input--").concat(size), size), _classNames3));
77
- var errorId = "".concat(id, "-error-msg");
78
-
79
- var errorText = function () {
30
+ const getInstanceId = setupGetInstanceId["default"]();
31
+ const Select = /*#__PURE__*/React__default["default"].forwardRef(function Select(_ref, ref) {
32
+ let {
33
+ className,
34
+ id,
35
+ inline = false,
36
+ labelText,
37
+ disabled = false,
38
+ children,
39
+ // reserved for use with <Pagination> component
40
+ noLabel = false,
41
+ // eslint-disable-next-line no-unused-vars
42
+ hideLabel = false,
43
+ invalid = false,
44
+ invalidText,
45
+ helperText,
46
+ light = false,
47
+ readOnly,
48
+ size,
49
+ warn = false,
50
+ warnText,
51
+ ...other
52
+ } = _ref;
53
+ const prefix = usePrefix.usePrefix();
54
+ const enabled = index.useFeatureFlag('enable-v11-release');
55
+ const {
56
+ isFluid
57
+ } = React.useContext(FormContext.FormContext);
58
+ const [isFocused, setIsFocused] = React.useState(false);
59
+ const {
60
+ current: selectInstanceId
61
+ } = React.useRef(getInstanceId());
62
+ const selectClasses = cx__default["default"]({
63
+ [`${prefix}--select`]: true,
64
+ [`${prefix}--select--inline`]: inline,
65
+ [`${prefix}--select--light`]: light,
66
+ [`${prefix}--select--invalid`]: invalid,
67
+ [`${prefix}--select--disabled`]: disabled,
68
+ [`${prefix}--select--readonly`]: readOnly,
69
+ [`${prefix}--select--warning`]: warn,
70
+ [`${prefix}--select--fluid--invalid`]: isFluid && invalid,
71
+ [`${prefix}--select--fluid--focus`]: isFluid && isFocused
72
+ }, [enabled ? null : className]);
73
+ const labelClasses = cx__default["default"](`${prefix}--label`, {
74
+ [`${prefix}--visually-hidden`]: hideLabel,
75
+ [`${prefix}--label--disabled`]: disabled
76
+ });
77
+ const inputClasses = cx__default["default"]({
78
+ [`${prefix}--select-input`]: true,
79
+ [`${prefix}--select-input--${size}`]: size
80
+ });
81
+ const errorId = `${id}-error-msg`;
82
+
83
+ const errorText = (() => {
80
84
  if (invalid) {
81
85
  return invalidText;
82
86
  }
@@ -84,19 +88,21 @@ var Select = /*#__PURE__*/React__default["default"].forwardRef(function Select(_
84
88
  if (warn) {
85
89
  return warnText;
86
90
  }
87
- }();
91
+ })();
88
92
 
89
- var error = invalid || warn ? /*#__PURE__*/React__default["default"].createElement("div", {
90
- className: "".concat(prefix, "--form-requirement"),
93
+ const error = invalid || warn ? /*#__PURE__*/React__default["default"].createElement("div", {
94
+ className: `${prefix}--form-requirement`,
91
95
  id: errorId
92
96
  }, errorText) : null;
93
- var helperTextClasses = cx__default["default"]("".concat(prefix, "--form__helper-text"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(prefix, "--form__helper-text--disabled"), disabled));
94
- var helperId = !helperText ? undefined : "select-helper-text-".concat(selectInstanceId);
95
- var helper = helperText ? /*#__PURE__*/React__default["default"].createElement("div", {
97
+ const helperTextClasses = cx__default["default"](`${prefix}--form__helper-text`, {
98
+ [`${prefix}--form__helper-text--disabled`]: disabled
99
+ });
100
+ const helperId = !helperText ? undefined : `select-helper-text-${selectInstanceId}`;
101
+ const helper = helperText ? /*#__PURE__*/React__default["default"].createElement("div", {
96
102
  id: helperId,
97
103
  className: helperTextClasses
98
104
  }, helperText) : null;
99
- var ariaProps = {};
105
+ const ariaProps = {};
100
106
 
101
107
  if (invalid) {
102
108
  ariaProps['aria-describedby'] = errorId;
@@ -104,12 +110,12 @@ var Select = /*#__PURE__*/React__default["default"].forwardRef(function Select(_
104
110
  ariaProps['aria-describedby'] = helper ? helperId : undefined;
105
111
  }
106
112
 
107
- var handleFocus = function handleFocus(evt) {
113
+ const handleFocus = evt => {
108
114
  setIsFocused(evt.type === 'focus' ? true : false);
109
115
  };
110
116
 
111
- var readOnlyEventHandlers = {
112
- onMouseDown: function onMouseDown(evt) {
117
+ const readOnlyEventHandlers = {
118
+ onMouseDown: evt => {
113
119
  // NOTE: does not prevent click
114
120
  if (readOnly) {
115
121
  evt.preventDefault(); // focus on the element as per readonly input behavior
@@ -117,8 +123,8 @@ var Select = /*#__PURE__*/React__default["default"].forwardRef(function Select(_
117
123
  evt.target.focus();
118
124
  }
119
125
  },
120
- onKeyDown: function onKeyDown(evt) {
121
- var selectAccessKeys = ['ArrowDown', 'ArrowUp', ' ']; // This prevents the select from opening for the above keys
126
+ onKeyDown: evt => {
127
+ const selectAccessKeys = ['ArrowDown', 'ArrowUp', ' ']; // This prevents the select from opening for the above keys
122
128
 
123
129
  if (readOnly && selectAccessKeys.includes(evt.key)) {
124
130
  evt.preventDefault();
@@ -126,7 +132,7 @@ var Select = /*#__PURE__*/React__default["default"].forwardRef(function Select(_
126
132
  }
127
133
  };
128
134
 
129
- var input = function () {
135
+ const input = (() => {
130
136
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("select", _rollupPluginBabelHelpers["extends"]({}, other, ariaProps, {
131
137
  id: id,
132
138
  className: inputClasses,
@@ -136,33 +142,33 @@ var Select = /*#__PURE__*/React__default["default"].forwardRef(function Select(_
136
142
  }, readOnlyEventHandlers, {
137
143
  ref: ref
138
144
  }), children), /*#__PURE__*/React__default["default"].createElement(iconsReact.ChevronDown, {
139
- className: "".concat(prefix, "--select__arrow")
145
+ className: `${prefix}--select__arrow`
140
146
  }), invalid && /*#__PURE__*/React__default["default"].createElement(iconsReact.WarningFilled, {
141
- className: "".concat(prefix, "--select__invalid-icon")
147
+ className: `${prefix}--select__invalid-icon`
142
148
  }), !invalid && warn && /*#__PURE__*/React__default["default"].createElement(iconsReact.WarningAltFilled, {
143
- className: "".concat(prefix, "--select__invalid-icon ").concat(prefix, "--select__invalid-icon--warning")
149
+ className: `${prefix}--select__invalid-icon ${prefix}--select__invalid-icon--warning`
144
150
  }));
145
- }();
151
+ })();
146
152
 
147
153
  return /*#__PURE__*/React__default["default"].createElement("div", {
148
- className: enabled ? cx__default["default"]("".concat(prefix, "--form-item"), className) : "".concat(prefix, "--form-item")
154
+ className: enabled ? cx__default["default"](`${prefix}--form-item`, className) : `${prefix}--form-item`
149
155
  }, /*#__PURE__*/React__default["default"].createElement("div", {
150
156
  className: selectClasses
151
157
  }, !noLabel && /*#__PURE__*/React__default["default"].createElement("label", {
152
158
  htmlFor: id,
153
159
  className: labelClasses
154
160
  }, labelText), inline && /*#__PURE__*/React__default["default"].createElement("div", {
155
- className: "".concat(prefix, "--select-input--inline__wrapper")
161
+ className: `${prefix}--select-input--inline__wrapper`
156
162
  }, /*#__PURE__*/React__default["default"].createElement("div", {
157
- className: "".concat(prefix, "--select-input__wrapper"),
163
+ className: `${prefix}--select-input__wrapper`,
158
164
  "data-invalid": invalid || null
159
165
  }, input), error), !inline && /*#__PURE__*/React__default["default"].createElement("div", {
160
- className: "".concat(prefix, "--select-input__wrapper"),
166
+ className: `${prefix}--select-input__wrapper`,
161
167
  "data-invalid": invalid || null,
162
168
  onFocus: handleFocus,
163
169
  onBlur: handleFocus
164
170
  }, input, isFluid && /*#__PURE__*/React__default["default"].createElement("hr", {
165
- className: "".concat(prefix, "--select__divider")
171
+ className: `${prefix}--select__divider`
166
172
  }), isFluid && error ? error : null), !inline && !isFluid && error ? error : helper));
167
173
  });
168
174
  Select.displayName = 'Select';
@@ -21,18 +21,22 @@ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
21
21
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
22
22
  var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
23
23
 
24
- var _excluded = ["className", "value", "disabled", "hidden", "text"];
25
-
26
- var SelectItem = function SelectItem(_ref) {
27
- var className = _ref.className,
28
- value = _ref.value,
29
- disabled = _ref.disabled,
30
- hidden = _ref.hidden,
31
- text = _ref.text,
32
- other = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
33
-
34
- var prefix = usePrefix.usePrefix();
35
- var selectItemClasses = cx__default["default"](_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.defineProperty({}, "".concat(prefix, "--select-option"), true), className && _rollupPluginBabelHelpers.defineProperty({}, className, className)));
24
+ const SelectItem = _ref => {
25
+ let {
26
+ className,
27
+ value,
28
+ disabled,
29
+ hidden,
30
+ text,
31
+ ...other
32
+ } = _ref;
33
+ const prefix = usePrefix.usePrefix();
34
+ const selectItemClasses = cx__default["default"]({
35
+ [`${prefix}--select-option`]: true,
36
+ ...(className && {
37
+ [className]: className
38
+ })
39
+ });
36
40
  return /*#__PURE__*/React__default["default"].createElement("option", _rollupPluginBabelHelpers["extends"]({}, other, {
37
41
  className: selectItemClasses,
38
42
  value: value,
@@ -41,17 +41,16 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
41
41
  var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
42
42
  var FeatureFlags__namespace = /*#__PURE__*/_interopNamespace(FeatureFlags);
43
43
 
44
- var _excluded = ["children", "className", "disabled", "label"];
45
-
46
- var SelectItemGroup = function SelectItemGroup(_ref) {
47
- var children = _ref.children,
48
- className = _ref.className,
49
- disabled = _ref.disabled,
50
- label = _ref.label,
51
- other = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
52
-
53
- var prefix = usePrefix.usePrefix();
54
- var classNames = cx__default["default"]("".concat(prefix, "--select-optgroup"), className);
44
+ const SelectItemGroup = _ref => {
45
+ let {
46
+ children,
47
+ className,
48
+ disabled,
49
+ label,
50
+ ...other
51
+ } = _ref;
52
+ const prefix = usePrefix.usePrefix();
53
+ const classNames = cx__default["default"](`${prefix}--select-optgroup`, className);
55
54
  return /*#__PURE__*/React__default["default"].createElement("optgroup", _rollupPluginBabelHelpers["extends"]({
56
55
  className: classNames,
57
56
  label: label,