@carbon/react 1.27.0 → 1.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (601) hide show
  1. package/es/_virtual/_rollupPluginBabelHelpers.js +1 -313
  2. package/es/components/Accordion/Accordion.Skeleton.js +28 -30
  3. package/es/components/Accordion/Accordion.js +18 -21
  4. package/es/components/Accordion/AccordionItem.js +37 -49
  5. package/es/components/AspectRatio/AspectRatio.js +10 -12
  6. package/es/components/Breadcrumb/Breadcrumb.Skeleton.js +10 -11
  7. package/es/components/Breadcrumb/Breadcrumb.js +14 -13
  8. package/es/components/Breadcrumb/BreadcrumbItem.js +24 -22
  9. package/es/components/Button/Button.Skeleton.js +25 -23
  10. package/es/components/Button/Button.js +77 -72
  11. package/es/components/ButtonSet/ButtonSet.js +12 -10
  12. package/es/components/Checkbox/Checkbox.Skeleton.js +10 -11
  13. package/es/components/Checkbox/Checkbox.js +55 -52
  14. package/es/components/CheckboxGroup/CheckboxGroup.js +33 -31
  15. package/es/components/ClassPrefix/index.js +4 -2
  16. package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +15 -14
  17. package/es/components/CodeSnippet/CodeSnippet.js +199 -102
  18. package/es/components/ComboBox/ComboBox.js +349 -178
  19. package/es/components/ComboBox/tools/filter.js +6 -4
  20. package/es/components/ComboButton/index.js +38 -43
  21. package/es/components/ComposedModal/ComposedModal.js +187 -85
  22. package/es/components/ComposedModal/ModalFooter.js +54 -49
  23. package/es/components/ComposedModal/ModalHeader.js +39 -26
  24. package/es/components/ContainedList/ContainedList.js +66 -20
  25. package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +20 -18
  26. package/es/components/ContentSwitcher/ContentSwitcher.js +83 -98
  27. package/es/components/ContentSwitcher/index.js +1 -1
  28. package/es/components/ContextMenu/useContextMenu.js +12 -21
  29. package/es/components/Copy/Copy.js +24 -29
  30. package/es/components/CopyButton/CopyButton.js +10 -10
  31. package/es/components/DangerButton/DangerButton.js +3 -5
  32. package/es/components/DataTable/DataTable.js +333 -359
  33. package/es/components/DataTable/Table.js +29 -26
  34. package/es/components/DataTable/TableActionList.js +2 -4
  35. package/es/components/DataTable/TableBatchAction.js +2 -4
  36. package/es/components/DataTable/TableBatchActions.js +29 -30
  37. package/es/components/DataTable/TableBody.js +7 -8
  38. package/es/components/DataTable/TableCell.js +1 -1
  39. package/es/components/DataTable/TableContainer.js +23 -23
  40. package/es/components/DataTable/TableContext.js +1 -1
  41. package/es/components/DataTable/TableExpandHeader.js +19 -21
  42. package/es/components/DataTable/TableExpandRow.js +23 -23
  43. package/es/components/DataTable/TableExpandedRow.js +18 -23
  44. package/es/components/DataTable/TableHead.js +1 -1
  45. package/es/components/DataTable/TableHeader.js +45 -41
  46. package/es/components/DataTable/TableRow.js +7 -8
  47. package/es/components/DataTable/TableSelectAll.js +13 -11
  48. package/es/components/DataTable/TableSelectRow.js +29 -21
  49. package/es/components/DataTable/TableToolbar.js +19 -14
  50. package/es/components/DataTable/TableToolbarAction.js +6 -6
  51. package/es/components/DataTable/TableToolbarContent.js +2 -4
  52. package/es/components/DataTable/TableToolbarMenu.js +11 -12
  53. package/es/components/DataTable/TableToolbarSearch.js +52 -71
  54. package/es/components/DataTable/state/getDerivedStateFromProps.js +15 -15
  55. package/es/components/DataTable/state/sortStates.js +1 -1
  56. package/es/components/DataTable/state/sorting.js +28 -20
  57. package/es/components/DataTable/tools/cells.js +1 -3
  58. package/es/components/DataTable/tools/denormalize.js +4 -17
  59. package/es/components/DataTable/tools/filter.js +18 -16
  60. package/es/components/DataTable/tools/instanceId.js +2 -2
  61. package/es/components/DataTable/tools/normalize.js +28 -25
  62. package/es/components/DataTable/tools/sorting.js +28 -25
  63. package/es/components/DataTableSkeleton/DataTableSkeleton.js +36 -38
  64. package/es/components/DatePicker/DatePicker.Skeleton.d.ts +30 -0
  65. package/es/components/DatePicker/DatePicker.Skeleton.js +18 -20
  66. package/es/components/DatePicker/DatePicker.d.ts +131 -0
  67. package/es/components/DatePicker/DatePicker.js +215 -200
  68. package/es/components/DatePicker/index.d.ts +10 -0
  69. package/es/components/DatePicker/index.js +1 -0
  70. package/es/components/DatePicker/plugins/appendToPlugin.js +45 -43
  71. package/es/components/DatePicker/plugins/fixEventsPlugin.js +117 -107
  72. package/es/components/DatePicker/plugins/rangePlugin.js +19 -11
  73. package/es/components/DatePickerInput/DatePickerInput.d.ts +93 -0
  74. package/es/components/DatePickerInput/DatePickerInput.js +83 -74
  75. package/es/components/Dropdown/Dropdown.Skeleton.js +13 -12
  76. package/es/components/Dropdown/Dropdown.js +266 -109
  77. package/es/components/ErrorBoundary/ErrorBoundary.js +27 -48
  78. package/es/components/ErrorBoundary/ErrorBoundaryContext.js +3 -2
  79. package/es/components/ExpandableSearch/ExpandableSearch.d.ts +14 -0
  80. package/es/components/ExpandableSearch/ExpandableSearch.js +19 -25
  81. package/es/components/FeatureFlags/index.js +25 -43
  82. package/es/components/FileUploader/FileUploader.Skeleton.js +8 -9
  83. package/es/components/FileUploader/FileUploader.js +120 -147
  84. package/es/components/FileUploader/FileUploaderButton.js +36 -48
  85. package/es/components/FileUploader/FileUploaderDropContainer.js +49 -53
  86. package/es/components/FileUploader/FileUploaderItem.js +30 -30
  87. package/es/components/FileUploader/Filename.js +13 -14
  88. package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +11 -12
  89. package/es/components/FluidComboBox/FluidComboBox.js +11 -9
  90. package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.js +18 -18
  91. package/es/components/FluidDatePicker/FluidDatePicker.js +20 -16
  92. package/es/components/FluidDatePickerInput/FluidDatePickerInput.js +3 -3
  93. package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +11 -12
  94. package/es/components/FluidDropdown/FluidDropdown.js +11 -9
  95. package/es/components/FluidForm/FluidForm.js +9 -10
  96. package/es/components/FluidForm/FormContext.js +1 -1
  97. package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +11 -12
  98. package/es/components/FluidMultiSelect/FluidMultiSelect.js +12 -10
  99. package/es/components/FluidSelect/FluidSelect.Skeleton.js +11 -12
  100. package/es/components/FluidSelect/FluidSelect.js +9 -9
  101. package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +9 -10
  102. package/es/components/FluidTextArea/FluidTextArea.js +7 -8
  103. package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +9 -10
  104. package/es/components/FluidTextInput/FluidTextInput.js +10 -9
  105. package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +11 -10
  106. package/es/components/FluidTimePicker/FluidTimePicker.js +30 -26
  107. package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.js +7 -7
  108. package/es/components/Form/Form.js +9 -10
  109. package/es/components/FormGroup/FormGroup.js +16 -17
  110. package/es/components/FormItem/FormItem.js +8 -9
  111. package/es/components/FormLabel/FormLabel.js +11 -10
  112. package/es/components/Grid/CSSGrid.js +38 -39
  113. package/es/components/Grid/Column.js +86 -79
  114. package/es/components/Grid/ColumnHang.js +12 -14
  115. package/es/components/Grid/FlexGrid.js +19 -21
  116. package/es/components/Grid/Grid.js +2 -2
  117. package/es/components/Grid/GridContext.js +12 -11
  118. package/es/components/Grid/Row.js +16 -18
  119. package/es/components/Heading/index.js +11 -13
  120. package/es/components/Icon/Icon.Skeleton.js +10 -12
  121. package/es/components/IconButton/index.js +19 -22
  122. package/es/components/IdPrefix/index.js +4 -2
  123. package/es/components/InlineCheckbox/InlineCheckbox.js +89 -36
  124. package/es/components/InlineLoading/InlineLoading.js +23 -25
  125. package/es/components/Layer/LayerContext.js +1 -1
  126. package/es/components/Layer/index.js +17 -18
  127. package/es/components/Layout/LayoutDirection.js +8 -10
  128. package/es/components/Layout/LayoutDirectionContext.js +1 -1
  129. package/es/components/Link/Link.js +25 -25
  130. package/es/components/ListBox/ListBox.js +38 -31
  131. package/es/components/ListBox/ListBoxField.js +9 -10
  132. package/es/components/ListBox/ListBoxMenu.js +9 -10
  133. package/es/components/ListBox/ListBoxMenuIcon.js +16 -14
  134. package/es/components/ListBox/ListBoxMenuItem.js +23 -26
  135. package/es/components/ListBox/ListBoxPropTypes.js +4 -4
  136. package/es/components/ListBox/ListBoxSelection.js +30 -25
  137. package/es/components/ListBox/index.js +1 -1
  138. package/es/components/ListBox/next/ListBoxSelection.js +27 -24
  139. package/es/components/ListBox/next/ListBoxTrigger.js +20 -19
  140. package/es/components/ListItem/ListItem.js +9 -10
  141. package/es/components/Loading/Loading.js +24 -24
  142. package/es/components/Menu/Menu.js +67 -80
  143. package/es/components/Menu/MenuContext.js +9 -12
  144. package/es/components/Menu/MenuItem.js +104 -128
  145. package/es/components/MenuButton/index.js +37 -41
  146. package/es/components/Modal/Modal.js +281 -120
  147. package/es/components/ModalWrapper/ModalWrapper.js +72 -96
  148. package/es/components/MultiSelect/FilterableMultiSelect.js +299 -163
  149. package/es/components/MultiSelect/MultiSelect.js +162 -174
  150. package/es/components/MultiSelect/MultiSelectPropTypes.js +1 -1
  151. package/es/components/MultiSelect/tools/itemToString.js +3 -4
  152. package/es/components/MultiSelect/tools/sorting.js +15 -13
  153. package/es/components/Notification/Notification.js +436 -164
  154. package/es/components/NumberInput/NumberInput.Skeleton.js +10 -11
  155. package/es/components/NumberInput/NumberInput.js +140 -139
  156. package/es/components/OrderedList/OrderedList.js +17 -15
  157. package/es/components/OverflowMenu/OverflowMenu.js +360 -227
  158. package/es/components/OverflowMenu/index.js +1 -1
  159. package/es/components/OverflowMenuItem/OverflowMenuItem.js +32 -37
  160. package/es/components/OverflowMenuV2/index.js +26 -28
  161. package/es/components/Pagination/Pagination.Skeleton.js +9 -10
  162. package/es/components/Pagination/Pagination.js +98 -140
  163. package/es/components/Pagination/experimental/PageSelector.js +16 -16
  164. package/es/components/Pagination/experimental/Pagination.js +73 -94
  165. package/es/components/PaginationNav/PaginationNav.js +98 -117
  166. package/es/components/Popover/index.js +74 -80
  167. package/es/components/PrimaryButton/PrimaryButton.js +3 -5
  168. package/es/components/ProgressBar/ProgressBar.js +39 -37
  169. package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +15 -14
  170. package/es/components/ProgressIndicator/ProgressIndicator.js +71 -71
  171. package/es/components/RadioButton/RadioButton.Skeleton.js +9 -10
  172. package/es/components/RadioButton/RadioButton.js +27 -27
  173. package/es/components/RadioButtonGroup/RadioButtonGroup.js +55 -65
  174. package/es/components/RadioTile/RadioTile.js +27 -25
  175. package/es/components/Search/Search.Skeleton.js +16 -16
  176. package/es/components/Search/Search.d.ts +83 -0
  177. package/es/components/Search/Search.js +65 -72
  178. package/es/components/Search/index.d.ts +11 -0
  179. package/es/components/SecondaryButton/SecondaryButton.js +3 -5
  180. package/es/components/Select/Select.Skeleton.js +12 -13
  181. package/es/components/Select/Select.js +79 -73
  182. package/es/components/SelectItem/SelectItem.js +17 -13
  183. package/es/components/SelectItemGroup/SelectItemGroup.js +11 -12
  184. package/es/components/SkeletonIcon/SkeletonIcon.js +11 -11
  185. package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +11 -11
  186. package/es/components/SkeletonText/SkeletonText.js +29 -29
  187. package/es/components/Slider/Slider.Skeleton.js +17 -18
  188. package/es/components/Slider/Slider.js +306 -329
  189. package/es/components/Slider/index.js +1 -1
  190. package/es/components/Stack/Stack.js +19 -20
  191. package/es/components/Stack/index.js +2 -2
  192. package/es/components/StructuredList/StructuredList.Skeleton.js +25 -24
  193. package/es/components/StructuredList/StructuredList.js +134 -106
  194. package/es/components/Switch/IconSwitch.js +48 -54
  195. package/es/components/Switch/Switch.js +33 -31
  196. package/es/components/Tab/Tab.js +77 -83
  197. package/es/components/Tab/index.js +1 -1
  198. package/es/components/TabContent/TabContent.js +16 -18
  199. package/es/components/Tabs/Tabs.Skeleton.js +14 -13
  200. package/es/components/Tabs/Tabs.js +195 -206
  201. package/es/components/Tabs/usePressable.js +27 -36
  202. package/es/components/Tag/Tag.Skeleton.js +10 -9
  203. package/es/components/Tag/Tag.js +34 -31
  204. package/es/components/Text/Text.js +20 -20
  205. package/es/components/Text/TextDirection.js +8 -7
  206. package/es/components/Text/TextDirectionContext.js +1 -1
  207. package/es/components/Text/index.js +1 -1
  208. package/es/components/TextArea/TextArea.Skeleton.js +11 -12
  209. package/es/components/TextArea/TextArea.js +89 -83
  210. package/es/components/TextInput/ControlledPasswordInput.js +79 -73
  211. package/es/components/TextInput/PasswordInput.js +101 -91
  212. package/es/components/TextInput/TextInput.Skeleton.js +11 -12
  213. package/es/components/TextInput/TextInput.js +104 -92
  214. package/es/components/TextInput/util.js +26 -28
  215. package/es/components/Theme/index.js +25 -20
  216. package/es/components/Tile/Tile.js +135 -176
  217. package/es/components/TileGroup/TileGroup.js +55 -70
  218. package/es/components/TileGroup/index.js +1 -1
  219. package/es/components/TimePicker/TimePicker.js +60 -67
  220. package/es/components/TimePickerSelect/TimePickerSelect.js +20 -18
  221. package/es/components/TimePickerSelect/index.js +1 -1
  222. package/es/components/Toggle/Toggle.Skeleton.js +63 -52
  223. package/es/components/Toggle/Toggle.js +44 -48
  224. package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +56 -50
  225. package/es/components/Toggletip/index.js +52 -48
  226. package/es/components/Tooltip/DefinitionTooltip.js +24 -31
  227. package/es/components/Tooltip/Tooltip.js +35 -50
  228. package/es/components/TreeView/TreeNode.js +94 -74
  229. package/es/components/TreeView/TreeView.js +72 -83
  230. package/es/components/UIShell/Content.js +12 -14
  231. package/es/components/UIShell/Header.js +16 -12
  232. package/es/components/UIShell/HeaderContainer.js +8 -14
  233. package/es/components/UIShell/HeaderGlobalAction.js +26 -19
  234. package/es/components/UIShell/HeaderGlobalBar.js +1 -3
  235. package/es/components/UIShell/HeaderMenu.js +114 -129
  236. package/es/components/UIShell/HeaderMenuButton.js +31 -22
  237. package/es/components/UIShell/HeaderMenuItem.js +28 -20
  238. package/es/components/UIShell/HeaderName.js +19 -14
  239. package/es/components/UIShell/HeaderNavigation.js +19 -15
  240. package/es/components/UIShell/HeaderPanel.js +23 -17
  241. package/es/components/UIShell/HeaderSideNavItems.js +11 -9
  242. package/es/components/UIShell/Link.js +11 -11
  243. package/es/components/UIShell/SideNav.js +66 -62
  244. package/es/components/UIShell/SideNavDetails.js +11 -12
  245. package/es/components/UIShell/SideNavDivider.js +5 -3
  246. package/es/components/UIShell/SideNavFooter.js +13 -12
  247. package/es/components/UIShell/SideNavHeader.js +9 -6
  248. package/es/components/UIShell/SideNavIcon.js +11 -8
  249. package/es/components/UIShell/SideNavItem.js +11 -9
  250. package/es/components/UIShell/SideNavItems.js +14 -11
  251. package/es/components/UIShell/SideNavLink.js +19 -17
  252. package/es/components/UIShell/SideNavLinkText.js +8 -9
  253. package/es/components/UIShell/SideNavMenu.js +29 -35
  254. package/es/components/UIShell/SideNavMenuItem.js +14 -14
  255. package/es/components/UIShell/SideNavSwitcher.js +19 -19
  256. package/es/components/UIShell/SkipToContent.js +10 -11
  257. package/es/components/UIShell/Switcher.js +20 -11
  258. package/es/components/UIShell/SwitcherDivider.js +10 -9
  259. package/es/components/UIShell/SwitcherItem.js +26 -19
  260. package/es/components/UIShell/_utils.js +1 -1
  261. package/es/components/UnorderedList/UnorderedList.js +14 -14
  262. package/es/index.js +7 -7
  263. package/es/internal/ClickListener.js +49 -65
  264. package/es/internal/FloatingMenu.js +193 -200
  265. package/es/internal/OptimizedResize.js +9 -8
  266. package/es/internal/Selection.js +92 -111
  267. package/es/internal/createClassWrapper.js +2 -2
  268. package/es/internal/deprecateFieldOnObject.js +5 -3
  269. package/es/internal/environment.js +1 -1
  270. package/es/internal/focus/index.js +1 -1
  271. package/es/internal/keyboard/keys.js +11 -11
  272. package/es/internal/keyboard/match.js +7 -6
  273. package/es/internal/keyboard/navigation.js +15 -5
  274. package/es/internal/useAnnouncer.js +2 -2
  275. package/es/internal/useAttachedMenu.js +12 -20
  276. package/es/internal/useControllableState.js +11 -16
  277. package/es/internal/useDelayedState.js +9 -18
  278. package/es/internal/useEffectOnce.js +4 -4
  279. package/es/internal/useEvent.js +4 -4
  280. package/es/internal/useId.js +15 -19
  281. package/es/internal/useIdPrefix.js +1 -1
  282. package/es/internal/useIsomorphicEffect.js +1 -1
  283. package/es/internal/useMergedRefs.js +3 -3
  284. package/es/internal/useNoInteractiveChildren.js +8 -19
  285. package/es/internal/useNormalizedInputProps.js +16 -14
  286. package/es/internal/usePrefix.js +1 -1
  287. package/es/internal/useSavedCallback.js +3 -3
  288. package/es/internal/warning.js +4 -4
  289. package/es/internal/wrapFocus.js +16 -21
  290. package/es/prop-types/AriaPropTypes.js +1 -1
  291. package/es/prop-types/deprecate.js +6 -5
  292. package/es/prop-types/isRequiredOneOf.js +12 -25
  293. package/es/prop-types/requiredIfGivenPropIsTruthy.js +2 -2
  294. package/es/prop-types/types.js +1 -1
  295. package/es/tools/array.js +1 -1
  296. package/es/tools/events.js +21 -14
  297. package/es/tools/mergeRefs.js +3 -3
  298. package/es/tools/setupGetInstanceId.js +1 -1
  299. package/es/tools/uniqueId.js +3 -3
  300. package/es/tools/wrapComponent.js +14 -13
  301. package/lib/_virtual/_rollupPluginBabelHelpers.js +0 -336
  302. package/lib/components/Accordion/Accordion.Skeleton.js +27 -29
  303. package/lib/components/Accordion/Accordion.js +17 -20
  304. package/lib/components/Accordion/AccordionItem.js +36 -48
  305. package/lib/components/AspectRatio/AspectRatio.js +9 -11
  306. package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +9 -10
  307. package/lib/components/Breadcrumb/Breadcrumb.js +13 -12
  308. package/lib/components/Breadcrumb/BreadcrumbItem.js +23 -21
  309. package/lib/components/Button/Button.Skeleton.js +24 -22
  310. package/lib/components/Button/Button.js +76 -71
  311. package/lib/components/ButtonSet/ButtonSet.js +11 -9
  312. package/lib/components/Checkbox/Checkbox.Skeleton.js +9 -10
  313. package/lib/components/Checkbox/Checkbox.js +54 -51
  314. package/lib/components/CheckboxGroup/CheckboxGroup.js +32 -30
  315. package/lib/components/ClassPrefix/index.js +4 -2
  316. package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +14 -13
  317. package/lib/components/CodeSnippet/CodeSnippet.js +198 -101
  318. package/lib/components/ComboBox/ComboBox.js +348 -177
  319. package/lib/components/ComboBox/tools/filter.js +6 -4
  320. package/lib/components/ComboButton/index.js +37 -42
  321. package/lib/components/ComposedModal/ComposedModal.js +187 -85
  322. package/lib/components/ComposedModal/ModalFooter.js +53 -48
  323. package/lib/components/ComposedModal/ModalHeader.js +38 -25
  324. package/lib/components/ContainedList/ContainedList.js +66 -20
  325. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +20 -18
  326. package/lib/components/ContentSwitcher/ContentSwitcher.js +82 -97
  327. package/lib/components/ContentSwitcher/index.js +1 -1
  328. package/lib/components/ContextMenu/useContextMenu.js +12 -21
  329. package/lib/components/Copy/Copy.js +23 -28
  330. package/lib/components/CopyButton/CopyButton.js +9 -9
  331. package/lib/components/DangerButton/DangerButton.js +3 -5
  332. package/lib/components/DataTable/DataTable.js +331 -357
  333. package/lib/components/DataTable/Table.js +28 -25
  334. package/lib/components/DataTable/TableActionList.js +2 -4
  335. package/lib/components/DataTable/TableBatchAction.js +2 -4
  336. package/lib/components/DataTable/TableBatchActions.js +28 -29
  337. package/lib/components/DataTable/TableBody.js +6 -7
  338. package/lib/components/DataTable/TableCell.js +1 -1
  339. package/lib/components/DataTable/TableContainer.js +22 -22
  340. package/lib/components/DataTable/TableContext.js +1 -1
  341. package/lib/components/DataTable/TableExpandHeader.js +18 -20
  342. package/lib/components/DataTable/TableExpandRow.js +22 -22
  343. package/lib/components/DataTable/TableExpandedRow.js +17 -22
  344. package/lib/components/DataTable/TableHead.js +1 -1
  345. package/lib/components/DataTable/TableHeader.js +43 -39
  346. package/lib/components/DataTable/TableRow.js +7 -8
  347. package/lib/components/DataTable/TableSelectAll.js +13 -11
  348. package/lib/components/DataTable/TableSelectRow.js +28 -20
  349. package/lib/components/DataTable/TableToolbar.js +18 -13
  350. package/lib/components/DataTable/TableToolbarAction.js +5 -5
  351. package/lib/components/DataTable/TableToolbarContent.js +2 -4
  352. package/lib/components/DataTable/TableToolbarMenu.js +10 -11
  353. package/lib/components/DataTable/TableToolbarSearch.js +51 -70
  354. package/lib/components/DataTable/state/getDerivedStateFromProps.js +15 -15
  355. package/lib/components/DataTable/state/sortStates.js +1 -1
  356. package/lib/components/DataTable/state/sorting.js +28 -20
  357. package/lib/components/DataTable/tools/cells.js +1 -3
  358. package/lib/components/DataTable/tools/denormalize.js +4 -17
  359. package/lib/components/DataTable/tools/filter.js +18 -16
  360. package/lib/components/DataTable/tools/instanceId.js +2 -2
  361. package/lib/components/DataTable/tools/normalize.js +28 -25
  362. package/lib/components/DataTable/tools/sorting.js +27 -24
  363. package/lib/components/DataTableSkeleton/DataTableSkeleton.js +35 -37
  364. package/lib/components/DatePicker/DatePicker.Skeleton.d.ts +30 -0
  365. package/lib/components/DatePicker/DatePicker.Skeleton.js +17 -19
  366. package/lib/components/DatePicker/DatePicker.d.ts +131 -0
  367. package/lib/components/DatePicker/DatePicker.js +214 -199
  368. package/lib/components/DatePicker/index.d.ts +10 -0
  369. package/lib/components/DatePicker/index.js +2 -0
  370. package/lib/components/DatePicker/plugins/appendToPlugin.js +45 -43
  371. package/lib/components/DatePicker/plugins/fixEventsPlugin.js +117 -107
  372. package/lib/components/DatePicker/plugins/rangePlugin.js +19 -11
  373. package/lib/components/DatePickerInput/DatePickerInput.d.ts +93 -0
  374. package/lib/components/DatePickerInput/DatePickerInput.js +83 -74
  375. package/lib/components/Dropdown/Dropdown.Skeleton.js +12 -11
  376. package/lib/components/Dropdown/Dropdown.js +265 -108
  377. package/lib/components/ErrorBoundary/ErrorBoundary.js +27 -48
  378. package/lib/components/ErrorBoundary/ErrorBoundaryContext.js +3 -2
  379. package/lib/components/ExpandableSearch/ExpandableSearch.d.ts +14 -0
  380. package/lib/components/ExpandableSearch/ExpandableSearch.js +18 -24
  381. package/lib/components/FeatureFlags/index.js +25 -43
  382. package/lib/components/FileUploader/FileUploader.Skeleton.js +7 -8
  383. package/lib/components/FileUploader/FileUploader.js +119 -146
  384. package/lib/components/FileUploader/FileUploaderButton.js +35 -47
  385. package/lib/components/FileUploader/FileUploaderDropContainer.js +48 -52
  386. package/lib/components/FileUploader/FileUploaderItem.js +29 -29
  387. package/lib/components/FileUploader/Filename.js +12 -13
  388. package/lib/components/FluidComboBox/FluidComboBox.Skeleton.js +10 -11
  389. package/lib/components/FluidComboBox/FluidComboBox.js +10 -8
  390. package/lib/components/FluidDatePicker/FluidDatePicker.Skeleton.js +17 -17
  391. package/lib/components/FluidDatePicker/FluidDatePicker.js +19 -15
  392. package/lib/components/FluidDatePickerInput/FluidDatePickerInput.js +3 -3
  393. package/lib/components/FluidDropdown/FluidDropdown.Skeleton.js +10 -11
  394. package/lib/components/FluidDropdown/FluidDropdown.js +10 -8
  395. package/lib/components/FluidForm/FluidForm.js +8 -9
  396. package/lib/components/FluidForm/FormContext.js +1 -1
  397. package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +10 -11
  398. package/lib/components/FluidMultiSelect/FluidMultiSelect.js +11 -9
  399. package/lib/components/FluidSelect/FluidSelect.Skeleton.js +10 -11
  400. package/lib/components/FluidSelect/FluidSelect.js +8 -8
  401. package/lib/components/FluidTextArea/FluidTextArea.Skeleton.js +8 -9
  402. package/lib/components/FluidTextArea/FluidTextArea.js +6 -7
  403. package/lib/components/FluidTextInput/FluidTextInput.Skeleton.js +8 -9
  404. package/lib/components/FluidTextInput/FluidTextInput.js +9 -8
  405. package/lib/components/FluidTimePicker/FluidTimePicker.Skeleton.js +10 -9
  406. package/lib/components/FluidTimePicker/FluidTimePicker.js +30 -26
  407. package/lib/components/FluidTimePickerSelect/FluidTimePickerSelect.js +6 -6
  408. package/lib/components/Form/Form.js +8 -9
  409. package/lib/components/FormGroup/FormGroup.js +15 -16
  410. package/lib/components/FormItem/FormItem.js +7 -8
  411. package/lib/components/FormLabel/FormLabel.js +10 -9
  412. package/lib/components/Grid/CSSGrid.js +37 -38
  413. package/lib/components/Grid/Column.js +85 -78
  414. package/lib/components/Grid/ColumnHang.js +11 -13
  415. package/lib/components/Grid/FlexGrid.js +19 -21
  416. package/lib/components/Grid/Grid.js +2 -2
  417. package/lib/components/Grid/GridContext.js +12 -11
  418. package/lib/components/Grid/Row.js +16 -18
  419. package/lib/components/Heading/index.js +11 -13
  420. package/lib/components/Icon/Icon.Skeleton.js +9 -11
  421. package/lib/components/IconButton/index.js +18 -21
  422. package/lib/components/IdPrefix/index.js +4 -2
  423. package/lib/components/InlineCheckbox/InlineCheckbox.js +89 -36
  424. package/lib/components/InlineLoading/InlineLoading.js +22 -24
  425. package/lib/components/Layer/LayerContext.js +1 -1
  426. package/lib/components/Layer/index.js +16 -17
  427. package/lib/components/Layout/LayoutDirection.js +7 -9
  428. package/lib/components/Layout/LayoutDirectionContext.js +1 -1
  429. package/lib/components/Link/Link.js +24 -24
  430. package/lib/components/ListBox/ListBox.js +37 -30
  431. package/lib/components/ListBox/ListBoxField.js +8 -9
  432. package/lib/components/ListBox/ListBoxMenu.js +8 -9
  433. package/lib/components/ListBox/ListBoxMenuIcon.js +16 -14
  434. package/lib/components/ListBox/ListBoxMenuItem.js +22 -25
  435. package/lib/components/ListBox/ListBoxPropTypes.js +4 -4
  436. package/lib/components/ListBox/ListBoxSelection.js +30 -25
  437. package/lib/components/ListBox/index.js +1 -1
  438. package/lib/components/ListBox/next/ListBoxSelection.js +26 -23
  439. package/lib/components/ListBox/next/ListBoxTrigger.js +19 -18
  440. package/lib/components/ListItem/ListItem.js +8 -9
  441. package/lib/components/Loading/Loading.js +23 -23
  442. package/lib/components/Menu/Menu.js +66 -79
  443. package/lib/components/Menu/MenuContext.js +9 -12
  444. package/lib/components/Menu/MenuItem.js +103 -127
  445. package/lib/components/MenuButton/index.js +36 -40
  446. package/lib/components/Modal/Modal.js +280 -119
  447. package/lib/components/ModalWrapper/ModalWrapper.js +71 -95
  448. package/lib/components/MultiSelect/FilterableMultiSelect.js +298 -162
  449. package/lib/components/MultiSelect/MultiSelect.js +163 -175
  450. package/lib/components/MultiSelect/MultiSelectPropTypes.js +1 -1
  451. package/lib/components/MultiSelect/tools/itemToString.js +3 -4
  452. package/lib/components/MultiSelect/tools/sorting.js +15 -13
  453. package/lib/components/Notification/Notification.js +434 -162
  454. package/lib/components/NumberInput/NumberInput.Skeleton.js +9 -10
  455. package/lib/components/NumberInput/NumberInput.js +139 -138
  456. package/lib/components/OrderedList/OrderedList.js +16 -14
  457. package/lib/components/OverflowMenu/OverflowMenu.js +359 -226
  458. package/lib/components/OverflowMenu/index.js +1 -1
  459. package/lib/components/OverflowMenuItem/OverflowMenuItem.js +31 -36
  460. package/lib/components/OverflowMenuV2/index.js +25 -27
  461. package/lib/components/Pagination/Pagination.Skeleton.js +8 -9
  462. package/lib/components/Pagination/Pagination.js +97 -139
  463. package/lib/components/Pagination/experimental/PageSelector.js +17 -17
  464. package/lib/components/Pagination/experimental/Pagination.js +72 -93
  465. package/lib/components/PaginationNav/PaginationNav.js +97 -116
  466. package/lib/components/Popover/index.js +73 -79
  467. package/lib/components/PrimaryButton/PrimaryButton.js +3 -5
  468. package/lib/components/ProgressBar/ProgressBar.js +38 -36
  469. package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +14 -13
  470. package/lib/components/ProgressIndicator/ProgressIndicator.js +70 -70
  471. package/lib/components/RadioButton/RadioButton.Skeleton.js +8 -9
  472. package/lib/components/RadioButton/RadioButton.js +26 -26
  473. package/lib/components/RadioButtonGroup/RadioButtonGroup.js +54 -64
  474. package/lib/components/RadioTile/RadioTile.js +26 -24
  475. package/lib/components/Search/Search.Skeleton.js +15 -15
  476. package/lib/components/Search/Search.d.ts +83 -0
  477. package/lib/components/Search/Search.js +62 -69
  478. package/lib/components/Search/index.d.ts +11 -0
  479. package/lib/components/SecondaryButton/SecondaryButton.js +3 -5
  480. package/lib/components/Select/Select.Skeleton.js +11 -12
  481. package/lib/components/Select/Select.js +78 -72
  482. package/lib/components/SelectItem/SelectItem.js +16 -12
  483. package/lib/components/SelectItemGroup/SelectItemGroup.js +10 -11
  484. package/lib/components/SkeletonIcon/SkeletonIcon.js +10 -10
  485. package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +10 -10
  486. package/lib/components/SkeletonText/SkeletonText.js +28 -28
  487. package/lib/components/Slider/Slider.Skeleton.js +16 -17
  488. package/lib/components/Slider/Slider.js +305 -328
  489. package/lib/components/Slider/index.js +1 -1
  490. package/lib/components/Stack/Stack.js +18 -19
  491. package/lib/components/Stack/index.js +2 -2
  492. package/lib/components/StructuredList/StructuredList.Skeleton.js +24 -23
  493. package/lib/components/StructuredList/StructuredList.js +133 -105
  494. package/lib/components/Switch/IconSwitch.js +45 -51
  495. package/lib/components/Switch/Switch.js +33 -31
  496. package/lib/components/Tab/Tab.js +76 -82
  497. package/lib/components/Tab/index.js +1 -1
  498. package/lib/components/TabContent/TabContent.js +15 -17
  499. package/lib/components/Tabs/Tabs.Skeleton.js +13 -12
  500. package/lib/components/Tabs/Tabs.js +194 -205
  501. package/lib/components/Tabs/usePressable.js +27 -36
  502. package/lib/components/Tag/Tag.Skeleton.js +9 -8
  503. package/lib/components/Tag/Tag.js +33 -30
  504. package/lib/components/Text/Text.js +19 -19
  505. package/lib/components/Text/TextDirection.js +8 -7
  506. package/lib/components/Text/TextDirectionContext.js +1 -1
  507. package/lib/components/Text/index.js +1 -1
  508. package/lib/components/TextArea/TextArea.Skeleton.js +10 -11
  509. package/lib/components/TextArea/TextArea.js +88 -82
  510. package/lib/components/TextInput/ControlledPasswordInput.js +78 -72
  511. package/lib/components/TextInput/PasswordInput.js +100 -90
  512. package/lib/components/TextInput/TextInput.Skeleton.js +10 -11
  513. package/lib/components/TextInput/TextInput.js +104 -92
  514. package/lib/components/TextInput/util.js +28 -30
  515. package/lib/components/Theme/index.js +24 -19
  516. package/lib/components/Tile/Tile.js +134 -175
  517. package/lib/components/TileGroup/TileGroup.js +54 -69
  518. package/lib/components/TileGroup/index.js +1 -1
  519. package/lib/components/TimePicker/TimePicker.js +59 -66
  520. package/lib/components/TimePickerSelect/TimePickerSelect.js +19 -17
  521. package/lib/components/TimePickerSelect/index.js +1 -1
  522. package/lib/components/Toggle/Toggle.Skeleton.js +68 -57
  523. package/lib/components/Toggle/Toggle.js +43 -47
  524. package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +60 -54
  525. package/lib/components/Toggletip/index.js +51 -47
  526. package/lib/components/Tooltip/DefinitionTooltip.js +23 -30
  527. package/lib/components/Tooltip/Tooltip.js +34 -49
  528. package/lib/components/TreeView/TreeNode.js +93 -73
  529. package/lib/components/TreeView/TreeView.js +71 -82
  530. package/lib/components/UIShell/Content.js +12 -14
  531. package/lib/components/UIShell/Header.js +15 -11
  532. package/lib/components/UIShell/HeaderContainer.js +8 -14
  533. package/lib/components/UIShell/HeaderGlobalAction.js +25 -18
  534. package/lib/components/UIShell/HeaderGlobalBar.js +1 -3
  535. package/lib/components/UIShell/HeaderMenu.js +113 -128
  536. package/lib/components/UIShell/HeaderMenuButton.js +30 -21
  537. package/lib/components/UIShell/HeaderMenuItem.js +27 -19
  538. package/lib/components/UIShell/HeaderName.js +18 -13
  539. package/lib/components/UIShell/HeaderNavigation.js +18 -14
  540. package/lib/components/UIShell/HeaderPanel.js +22 -16
  541. package/lib/components/UIShell/HeaderSideNavItems.js +11 -9
  542. package/lib/components/UIShell/Link.js +11 -11
  543. package/lib/components/UIShell/SideNav.js +65 -61
  544. package/lib/components/UIShell/SideNavDetails.js +10 -11
  545. package/lib/components/UIShell/SideNavDivider.js +5 -3
  546. package/lib/components/UIShell/SideNavFooter.js +13 -12
  547. package/lib/components/UIShell/SideNavHeader.js +9 -6
  548. package/lib/components/UIShell/SideNavIcon.js +11 -8
  549. package/lib/components/UIShell/SideNavItem.js +11 -9
  550. package/lib/components/UIShell/SideNavItems.js +14 -11
  551. package/lib/components/UIShell/SideNavLink.js +18 -16
  552. package/lib/components/UIShell/SideNavLinkText.js +7 -8
  553. package/lib/components/UIShell/SideNavMenu.js +29 -35
  554. package/lib/components/UIShell/SideNavMenuItem.js +13 -13
  555. package/lib/components/UIShell/SideNavSwitcher.js +19 -19
  556. package/lib/components/UIShell/SkipToContent.js +9 -10
  557. package/lib/components/UIShell/Switcher.js +19 -10
  558. package/lib/components/UIShell/SwitcherDivider.js +9 -8
  559. package/lib/components/UIShell/SwitcherItem.js +25 -18
  560. package/lib/components/UIShell/_utils.js +1 -1
  561. package/lib/components/UnorderedList/UnorderedList.js +13 -13
  562. package/lib/index.js +14 -14
  563. package/lib/internal/ClickListener.js +49 -65
  564. package/lib/internal/FloatingMenu.js +192 -199
  565. package/lib/internal/OptimizedResize.js +9 -8
  566. package/lib/internal/Selection.js +91 -110
  567. package/lib/internal/createClassWrapper.js +2 -2
  568. package/lib/internal/deprecateFieldOnObject.js +5 -3
  569. package/lib/internal/environment.js +1 -1
  570. package/lib/internal/focus/index.js +1 -1
  571. package/lib/internal/keyboard/keys.js +11 -11
  572. package/lib/internal/keyboard/match.js +7 -6
  573. package/lib/internal/keyboard/navigation.js +15 -5
  574. package/lib/internal/useAnnouncer.js +2 -2
  575. package/lib/internal/useAttachedMenu.js +12 -20
  576. package/lib/internal/useControllableState.js +11 -16
  577. package/lib/internal/useDelayedState.js +9 -18
  578. package/lib/internal/useEffectOnce.js +4 -4
  579. package/lib/internal/useEvent.js +4 -4
  580. package/lib/internal/useId.js +14 -18
  581. package/lib/internal/useIdPrefix.js +1 -1
  582. package/lib/internal/useIsomorphicEffect.js +1 -1
  583. package/lib/internal/useMergedRefs.js +3 -3
  584. package/lib/internal/useNoInteractiveChildren.js +8 -19
  585. package/lib/internal/useNormalizedInputProps.js +16 -14
  586. package/lib/internal/usePrefix.js +1 -1
  587. package/lib/internal/useSavedCallback.js +3 -3
  588. package/lib/internal/warning.js +4 -4
  589. package/lib/internal/wrapFocus.js +16 -21
  590. package/lib/prop-types/AriaPropTypes.js +1 -1
  591. package/lib/prop-types/deprecate.js +6 -5
  592. package/lib/prop-types/isRequiredOneOf.js +15 -28
  593. package/lib/prop-types/requiredIfGivenPropIsTruthy.js +2 -2
  594. package/lib/prop-types/types.js +1 -1
  595. package/lib/tools/array.js +1 -1
  596. package/lib/tools/events.js +21 -14
  597. package/lib/tools/mergeRefs.js +3 -3
  598. package/lib/tools/setupGetInstanceId.js +1 -1
  599. package/lib/tools/uniqueId.js +3 -3
  600. package/lib/tools/wrapComponent.js +14 -13
  601. package/package.json +6 -6
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { 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, { useState, useRef, useCallback, useEffect } from 'react';
11
11
  import cx from 'classnames';
@@ -19,72 +19,47 @@ import copy from 'copy-to-clipboard';
19
19
  import deprecate from '../../prop-types/deprecate.js';
20
20
  import { usePrefix } from '../../internal/usePrefix.js';
21
21
 
22
- var _CodeSnippet$propType, _CodeSnippet$defaultP;
23
-
24
- var _excluded = ["className", "type", "children", "disabled", "feedback", "feedbackTimeout", "onClick", "aria-label", "ariaLabel", "copyText", "copyButtonDescription", "light", "showMoreText", "showLessText", "hideCopyButton", "wrapText", "maxCollapsedNumberOfRows", "maxExpandedNumberOfRows", "minCollapsedNumberOfRows", "minExpandedNumberOfRows"];
25
- var rowHeightInPixels = 16;
26
- var defaultMaxCollapsedNumberOfRows = 15;
27
- var defaultMaxExpandedNumberOfRows = 0;
28
- var defaultMinCollapsedNumberOfRows = 3;
29
- var defaultMinExpandedNumberOfRows = 16;
22
+ const rowHeightInPixels = 16;
23
+ const defaultMaxCollapsedNumberOfRows = 15;
24
+ const defaultMaxExpandedNumberOfRows = 0;
25
+ const defaultMinCollapsedNumberOfRows = 3;
26
+ const defaultMinExpandedNumberOfRows = 16;
30
27
 
31
28
  function CodeSnippet(_ref) {
32
- var _classNames;
33
-
34
- var className = _ref.className,
35
- type = _ref.type,
36
- children = _ref.children,
37
- disabled = _ref.disabled,
38
- feedback = _ref.feedback,
39
- feedbackTimeout = _ref.feedbackTimeout,
40
- onClick = _ref.onClick,
41
- ariaLabel = _ref['aria-label'],
42
- deprecatedAriaLabel = _ref.ariaLabel,
43
- copyText = _ref.copyText,
44
- copyButtonDescription = _ref.copyButtonDescription,
45
- light = _ref.light,
46
- showMoreText = _ref.showMoreText,
47
- showLessText = _ref.showLessText,
48
- hideCopyButton = _ref.hideCopyButton,
49
- wrapText = _ref.wrapText,
50
- _ref$maxCollapsedNumb = _ref.maxCollapsedNumberOfRows,
51
- maxCollapsedNumberOfRows = _ref$maxCollapsedNumb === void 0 ? defaultMaxCollapsedNumberOfRows : _ref$maxCollapsedNumb,
52
- _ref$maxExpandedNumbe = _ref.maxExpandedNumberOfRows,
53
- maxExpandedNumberOfRows = _ref$maxExpandedNumbe === void 0 ? defaultMaxExpandedNumberOfRows : _ref$maxExpandedNumbe,
54
- _ref$minCollapsedNumb = _ref.minCollapsedNumberOfRows,
55
- minCollapsedNumberOfRows = _ref$minCollapsedNumb === void 0 ? defaultMinCollapsedNumberOfRows : _ref$minCollapsedNumb,
56
- _ref$minExpandedNumbe = _ref.minExpandedNumberOfRows,
57
- minExpandedNumberOfRows = _ref$minExpandedNumbe === void 0 ? defaultMinExpandedNumberOfRows : _ref$minExpandedNumbe,
58
- rest = _objectWithoutProperties(_ref, _excluded);
59
-
60
- var _useState = useState(false),
61
- _useState2 = _slicedToArray(_useState, 2),
62
- expandedCode = _useState2[0],
63
- setExpandedCode = _useState2[1];
64
-
65
- var _useState3 = useState(false),
66
- _useState4 = _slicedToArray(_useState3, 2),
67
- shouldShowMoreLessBtn = _useState4[0],
68
- setShouldShowMoreLessBtn = _useState4[1];
69
-
70
- var _useRef = useRef(uniqueId()),
71
- uid = _useRef.current;
72
-
73
- var codeContentRef = useRef();
74
- var codeContainerRef = useRef();
75
- var innerCodeRef = useRef();
76
-
77
- var _useState5 = useState(false),
78
- _useState6 = _slicedToArray(_useState5, 2),
79
- hasLeftOverflow = _useState6[0],
80
- setHasLeftOverflow = _useState6[1];
81
-
82
- var _useState7 = useState(false),
83
- _useState8 = _slicedToArray(_useState7, 2),
84
- hasRightOverflow = _useState8[0],
85
- setHasRightOverflow = _useState8[1];
86
-
87
- var getCodeRef = useCallback(function () {
29
+ let {
30
+ className,
31
+ type,
32
+ children,
33
+ disabled,
34
+ feedback,
35
+ feedbackTimeout,
36
+ onClick,
37
+ ['aria-label']: ariaLabel,
38
+ ariaLabel: deprecatedAriaLabel,
39
+ copyText,
40
+ copyButtonDescription,
41
+ light,
42
+ showMoreText,
43
+ showLessText,
44
+ hideCopyButton,
45
+ wrapText,
46
+ maxCollapsedNumberOfRows = defaultMaxCollapsedNumberOfRows,
47
+ maxExpandedNumberOfRows = defaultMaxExpandedNumberOfRows,
48
+ minCollapsedNumberOfRows = defaultMinCollapsedNumberOfRows,
49
+ minExpandedNumberOfRows = defaultMinExpandedNumberOfRows,
50
+ ...rest
51
+ } = _ref;
52
+ const [expandedCode, setExpandedCode] = useState(false);
53
+ const [shouldShowMoreLessBtn, setShouldShowMoreLessBtn] = useState(false);
54
+ const {
55
+ current: uid
56
+ } = useRef(uniqueId());
57
+ const codeContentRef = useRef();
58
+ const codeContainerRef = useRef();
59
+ const innerCodeRef = useRef();
60
+ const [hasLeftOverflow, setHasLeftOverflow] = useState(false);
61
+ const [hasRightOverflow, setHasRightOverflow] = useState(false);
62
+ const getCodeRef = useCallback(() => {
88
63
  if (type === 'single') {
89
64
  return codeContainerRef;
90
65
  }
@@ -93,39 +68,41 @@ function CodeSnippet(_ref) {
93
68
  return codeContentRef;
94
69
  }
95
70
  }, [type]);
96
- var prefix = usePrefix();
97
- var getCodeRefDimensions = useCallback(function () {
98
- var _getCodeRef$current = getCodeRef().current,
99
- codeClientWidth = _getCodeRef$current.clientWidth,
100
- codeScrollLeft = _getCodeRef$current.scrollLeft,
101
- codeScrollWidth = _getCodeRef$current.scrollWidth;
71
+ const prefix = usePrefix();
72
+ const getCodeRefDimensions = useCallback(() => {
73
+ const {
74
+ clientWidth: codeClientWidth,
75
+ scrollLeft: codeScrollLeft,
76
+ scrollWidth: codeScrollWidth
77
+ } = getCodeRef().current;
102
78
  return {
103
79
  horizontalOverflow: codeScrollWidth > codeClientWidth,
104
- codeClientWidth: codeClientWidth,
105
- codeScrollWidth: codeScrollWidth,
106
- codeScrollLeft: codeScrollLeft
80
+ codeClientWidth,
81
+ codeScrollWidth,
82
+ codeScrollLeft
107
83
  };
108
84
  }, [getCodeRef]);
109
- var handleScroll = useCallback(function () {
85
+ const handleScroll = useCallback(() => {
110
86
  if (type === 'inline' || type === 'single' && !(codeContainerRef !== null && codeContainerRef !== void 0 && codeContainerRef.current) || type === 'multi' && !(codeContentRef !== null && codeContentRef !== void 0 && codeContentRef.current)) {
111
87
  return;
112
88
  }
113
89
 
114
- var _getCodeRefDimensions = getCodeRefDimensions(),
115
- horizontalOverflow = _getCodeRefDimensions.horizontalOverflow,
116
- codeClientWidth = _getCodeRefDimensions.codeClientWidth,
117
- codeScrollWidth = _getCodeRefDimensions.codeScrollWidth,
118
- codeScrollLeft = _getCodeRefDimensions.codeScrollLeft;
119
-
90
+ const {
91
+ horizontalOverflow,
92
+ codeClientWidth,
93
+ codeScrollWidth,
94
+ codeScrollLeft
95
+ } = getCodeRefDimensions();
120
96
  setHasLeftOverflow(horizontalOverflow && !!codeScrollLeft);
121
97
  setHasRightOverflow(horizontalOverflow && codeScrollLeft + codeClientWidth !== codeScrollWidth);
122
98
  }, [type, getCodeRefDimensions]);
123
99
  useResizeObserver({
124
100
  ref: getCodeRef(),
125
- onResize: function onResize() {
101
+ onResize: () => {
126
102
  if (codeContentRef !== null && codeContentRef !== void 0 && codeContentRef.current && type === 'multi') {
127
- var _codeContentRef$curre = codeContentRef.current.getBoundingClientRect(),
128
- height = _codeContentRef$curre.height;
103
+ const {
104
+ height
105
+ } = codeContentRef.current.getBoundingClientRect();
129
106
 
130
107
  if (maxCollapsedNumberOfRows > 0 && (maxExpandedNumberOfRows <= 0 || maxExpandedNumberOfRows > maxCollapsedNumberOfRows) && height > maxCollapsedNumberOfRows * rowHeightInPixels) {
131
108
  setShouldShowMoreLessBtn(true);
@@ -143,15 +120,15 @@ function CodeSnippet(_ref) {
143
120
  }
144
121
  }
145
122
  }, [type, maxCollapsedNumberOfRows, maxExpandedNumberOfRows, minExpandedNumberOfRows, rowHeightInPixels]);
146
- useEffect(function () {
123
+ useEffect(() => {
147
124
  handleScroll();
148
125
  }, [handleScroll]);
149
126
 
150
- var handleCopyClick = function handleCopyClick(evt) {
127
+ const handleCopyClick = evt => {
151
128
  if (copyText || innerCodeRef !== null && innerCodeRef !== void 0 && innerCodeRef.current) {
152
129
  var _innerCodeRef$current;
153
130
 
154
- copy(copyText !== null && copyText !== void 0 ? copyText : innerCodeRef === null || innerCodeRef === void 0 ? void 0 : (_innerCodeRef$current = innerCodeRef.current) === null || _innerCodeRef$current === void 0 ? void 0 : _innerCodeRef$current.innerText);
131
+ copy(copyText ?? (innerCodeRef === null || innerCodeRef === void 0 ? void 0 : (_innerCodeRef$current = innerCodeRef.current) === null || _innerCodeRef$current === void 0 ? void 0 : _innerCodeRef$current.innerText));
155
132
  }
156
133
 
157
134
  if (onClick) {
@@ -159,8 +136,16 @@ function CodeSnippet(_ref) {
159
136
  }
160
137
  };
161
138
 
162
- var codeSnippetClasses = cx(className, "".concat(prefix, "--snippet"), (_classNames = {}, _defineProperty(_classNames, "".concat(prefix, "--snippet--").concat(type), type), _defineProperty(_classNames, "".concat(prefix, "--snippet--disabled"), type !== 'inline' && disabled), _defineProperty(_classNames, "".concat(prefix, "--snippet--expand"), expandedCode), _defineProperty(_classNames, "".concat(prefix, "--snippet--light"), light), _defineProperty(_classNames, "".concat(prefix, "--snippet--no-copy"), hideCopyButton), _defineProperty(_classNames, "".concat(prefix, "--snippet--wraptext"), wrapText), _defineProperty(_classNames, "".concat(prefix, "--snippet--has-right-overflow"), type == 'multi' && hasRightOverflow), _classNames));
163
- var expandCodeBtnText = expandedCode ? showLessText : showMoreText;
139
+ const codeSnippetClasses = cx(className, `${prefix}--snippet`, {
140
+ [`${prefix}--snippet--${type}`]: type,
141
+ [`${prefix}--snippet--disabled`]: type !== 'inline' && disabled,
142
+ [`${prefix}--snippet--expand`]: expandedCode,
143
+ [`${prefix}--snippet--light`]: light,
144
+ [`${prefix}--snippet--no-copy`]: hideCopyButton,
145
+ [`${prefix}--snippet--wraptext`]: wrapText,
146
+ [`${prefix}--snippet--has-right-overflow`]: type == 'multi' && hasRightOverflow
147
+ });
148
+ const expandCodeBtnText = expandedCode ? showLessText : showMoreText;
164
149
 
165
150
  if (type === 'inline') {
166
151
  if (hideCopyButton) {
@@ -185,10 +170,10 @@ function CodeSnippet(_ref) {
185
170
  }, children));
186
171
  }
187
172
 
188
- var containerStyle = {};
173
+ let containerStyle = {};
189
174
 
190
175
  if (type === 'multi') {
191
- var styles = {};
176
+ const styles = {};
192
177
 
193
178
  if (expandedCode) {
194
179
  if (maxExpandedNumberOfRows > 0) {
@@ -219,7 +204,7 @@ function CodeSnippet(_ref) {
219
204
  ref: codeContainerRef,
220
205
  role: type === 'single' || type === 'multi' ? 'textbox' : null,
221
206
  tabIndex: (type === 'single' || type === 'multi') && !disabled ? 0 : null,
222
- className: "".concat(prefix, "--snippet-container"),
207
+ className: `${prefix}--snippet-container`,
223
208
  "aria-label": deprecatedAriaLabel || ariaLabel || 'code-snippet',
224
209
  "aria-readonly": type === 'single' || type === 'multi' ? true : null,
225
210
  "aria-multiline": type === 'multi' ? true : null,
@@ -230,9 +215,9 @@ function CodeSnippet(_ref) {
230
215
  }, /*#__PURE__*/React__default.createElement("code", {
231
216
  ref: innerCodeRef
232
217
  }, children))), hasLeftOverflow && /*#__PURE__*/React__default.createElement("div", {
233
- className: "".concat(prefix, "--snippet__overflow-indicator--left")
218
+ className: `${prefix}--snippet__overflow-indicator--left`
234
219
  }), hasRightOverflow && type !== 'multi' && /*#__PURE__*/React__default.createElement("div", {
235
- className: "".concat(prefix, "--snippet__overflow-indicator--right")
220
+ className: `${prefix}--snippet__overflow-indicator--right`
236
221
  }), !hideCopyButton && /*#__PURE__*/React__default.createElement(CopyButton, {
237
222
  disabled: disabled,
238
223
  onClick: handleCopyClick,
@@ -242,21 +227,133 @@ function CodeSnippet(_ref) {
242
227
  }), shouldShowMoreLessBtn && /*#__PURE__*/React__default.createElement(Button, {
243
228
  kind: "ghost",
244
229
  size: "sm",
245
- className: "".concat(prefix, "--snippet-btn--expand"),
230
+ className: `${prefix}--snippet-btn--expand`,
246
231
  disabled: disabled,
247
- onClick: function onClick() {
248
- return setExpandedCode(!expandedCode);
249
- }
232
+ onClick: () => setExpandedCode(!expandedCode)
250
233
  }, /*#__PURE__*/React__default.createElement("span", {
251
- className: "".concat(prefix, "--snippet-btn--text")
234
+ className: `${prefix}--snippet-btn--text`
252
235
  }, expandCodeBtnText), /*#__PURE__*/React__default.createElement(ChevronDown, {
253
- className: "".concat(prefix, "--icon-chevron--down ").concat(prefix, "--snippet__icon"),
236
+ className: `${prefix}--icon-chevron--down ${prefix}--snippet__icon`,
254
237
  name: "chevron--down",
255
238
  role: "img"
256
239
  })));
257
240
  }
258
241
 
259
- CodeSnippet.propTypes = (_CodeSnippet$propType = {}, _defineProperty(_CodeSnippet$propType, 'aria-label', PropTypes.string), _defineProperty(_CodeSnippet$propType, "ariaLabel", deprecate(PropTypes.string, 'This prop syntax has been deprecated. Please use the new `aria-label`.')), _defineProperty(_CodeSnippet$propType, "children", PropTypes.node), _defineProperty(_CodeSnippet$propType, "className", PropTypes.string), _defineProperty(_CodeSnippet$propType, "copyButtonDescription", PropTypes.string), _defineProperty(_CodeSnippet$propType, "copyText", PropTypes.string), _defineProperty(_CodeSnippet$propType, "disabled", PropTypes.bool), _defineProperty(_CodeSnippet$propType, "feedback", PropTypes.string), _defineProperty(_CodeSnippet$propType, "feedbackTimeout", PropTypes.number), _defineProperty(_CodeSnippet$propType, "hideCopyButton", PropTypes.bool), _defineProperty(_CodeSnippet$propType, "light", deprecate(PropTypes.bool, 'The `light` prop for `CodeSnippet` has ' + 'been deprecated in favor of the new `Layer` component. It will be removed in the next major release.')), _defineProperty(_CodeSnippet$propType, "maxCollapsedNumberOfRows", PropTypes.number), _defineProperty(_CodeSnippet$propType, "maxExpandedNumberOfRows", PropTypes.number), _defineProperty(_CodeSnippet$propType, "minCollapsedNumberOfRows", PropTypes.number), _defineProperty(_CodeSnippet$propType, "minExpandedNumberOfRows", PropTypes.number), _defineProperty(_CodeSnippet$propType, "onClick", PropTypes.func), _defineProperty(_CodeSnippet$propType, "showLessText", PropTypes.string), _defineProperty(_CodeSnippet$propType, "showMoreText", PropTypes.string), _defineProperty(_CodeSnippet$propType, "type", PropTypes.oneOf(['single', 'inline', 'multi'])), _defineProperty(_CodeSnippet$propType, "wrapText", PropTypes.bool), _CodeSnippet$propType);
260
- CodeSnippet.defaultProps = (_CodeSnippet$defaultP = {}, _defineProperty(_CodeSnippet$defaultP, 'aria-label', 'Copy to clipboard'), _defineProperty(_CodeSnippet$defaultP, "type", 'single'), _defineProperty(_CodeSnippet$defaultP, "showMoreText", 'Show more'), _defineProperty(_CodeSnippet$defaultP, "showLessText", 'Show less'), _defineProperty(_CodeSnippet$defaultP, "wrapText", false), _CodeSnippet$defaultP);
242
+ CodeSnippet.propTypes = {
243
+ /**
244
+ * Specify a label to be read by screen readers on the containing <textbox>
245
+ * node
246
+ */
247
+ ['aria-label']: PropTypes.string,
248
+
249
+ /**
250
+ * Deprecated, please use `aria-label` instead.
251
+ * Specify a label to be read by screen readers on the containing <textbox>
252
+ * node
253
+ */
254
+ ariaLabel: deprecate(PropTypes.string, 'This prop syntax has been deprecated. Please use the new `aria-label`.'),
255
+
256
+ /**
257
+ * Provide the content of your CodeSnippet as a node or string
258
+ */
259
+ children: PropTypes.node,
260
+
261
+ /**
262
+ * Specify an optional className to be applied to the container node
263
+ */
264
+ className: PropTypes.string,
265
+
266
+ /**
267
+ * Specify the description for the Copy Button
268
+ */
269
+ copyButtonDescription: PropTypes.string,
270
+
271
+ /**
272
+ * Optional text to copy. If not specified, the `children` node's `innerText`
273
+ * will be used as the copy value.
274
+ */
275
+ copyText: PropTypes.string,
276
+
277
+ /**
278
+ * Specify whether or not the CodeSnippet should be disabled
279
+ */
280
+ disabled: PropTypes.bool,
281
+
282
+ /**
283
+ * Specify the string displayed when the snippet is copied
284
+ */
285
+ feedback: PropTypes.string,
286
+
287
+ /**
288
+ * Specify the time it takes for the feedback message to timeout
289
+ */
290
+ feedbackTimeout: PropTypes.number,
291
+
292
+ /**
293
+ * Specify whether or not a copy button should be used/rendered.
294
+ */
295
+ hideCopyButton: PropTypes.bool,
296
+
297
+ /**
298
+ * Specify whether you are using the light variant of the Code Snippet,
299
+ * typically used for inline snippet to display an alternate color
300
+ */
301
+ light: deprecate(PropTypes.bool, 'The `light` prop for `CodeSnippet` has ' + 'been deprecated in favor of the new `Layer` component. It will be removed in the next major release.'),
302
+
303
+ /**
304
+ * Specify the maximum number of rows to be shown when in collapsed view
305
+ */
306
+ maxCollapsedNumberOfRows: PropTypes.number,
307
+
308
+ /**
309
+ * Specify the maximum number of rows to be shown when in expanded view
310
+ */
311
+ maxExpandedNumberOfRows: PropTypes.number,
312
+
313
+ /**
314
+ * Specify the minimum number of rows to be shown when in collapsed view
315
+ */
316
+ minCollapsedNumberOfRows: PropTypes.number,
317
+
318
+ /**
319
+ * Specify the minimum number of rows to be shown when in expanded view
320
+ */
321
+ minExpandedNumberOfRows: PropTypes.number,
322
+
323
+ /**
324
+ * An optional handler to listen to the `onClick` even fired by the Copy
325
+ * Button
326
+ */
327
+ onClick: PropTypes.func,
328
+
329
+ /**
330
+ * Specify a string that is displayed when the Code Snippet has been
331
+ * interacted with to show more lines
332
+ */
333
+ showLessText: PropTypes.string,
334
+
335
+ /**
336
+ * Specify a string that is displayed when the Code Snippet text is more
337
+ * than 15 lines
338
+ */
339
+ showMoreText: PropTypes.string,
340
+
341
+ /**
342
+ * Provide the type of Code Snippet
343
+ */
344
+ type: PropTypes.oneOf(['single', 'inline', 'multi']),
345
+
346
+ /**
347
+ * Specify whether or not to wrap the text.
348
+ */
349
+ wrapText: PropTypes.bool
350
+ };
351
+ CodeSnippet.defaultProps = {
352
+ ['aria-label']: 'Copy to clipboard',
353
+ type: 'single',
354
+ showMoreText: 'Show more',
355
+ showLessText: 'Show less',
356
+ wrapText: false
357
+ };
261
358
 
262
359
  export { CodeSnippet as default };