@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
@@ -47,113 +47,102 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
47
47
  var throttle__default = /*#__PURE__*/_interopDefaultLegacy(throttle);
48
48
  var FeatureFlags__namespace = /*#__PURE__*/_interopNamespace(FeatureFlags);
49
49
 
50
- var _excluded = ["ariaLabelInput", "className", "hideTextInput", "id", "min", "minLabel", "max", "maxLabel", "formatLabel", "labelText", "step", "stepMultiplier", "inputType", "required", "disabled", "name", "light", "readOnly"];
51
-
52
- var defaultFormatLabel = function defaultFormatLabel(value, label) {
53
- return typeof label === 'function' ? label(value) : "".concat(value).concat(label);
50
+ const defaultFormatLabel = (value, label) => {
51
+ return typeof label === 'function' ? label(value) : `${value}${label}`;
54
52
  };
55
53
  /**
56
54
  * Minimum time between processed "drag" events.
57
55
  */
58
56
 
59
57
 
60
- var EVENT_THROTTLE = 16; // ms
58
+ const EVENT_THROTTLE = 16; // ms
61
59
 
62
60
  /**
63
61
  * Event types that trigger "drags".
64
62
  */
65
63
 
66
- var DRAG_EVENT_TYPES = new Set(['mousemove', 'touchmove']);
64
+ const DRAG_EVENT_TYPES = new Set(['mousemove', 'touchmove']);
67
65
  /**
68
66
  * Event types that trigger a "drag" to stop.
69
67
  */
70
68
 
71
- var DRAG_STOP_EVENT_TYPES = new Set(['mouseup', 'touchend', 'touchcancel']);
72
-
73
- var Slider = /*#__PURE__*/function (_PureComponent) {
74
- _rollupPluginBabelHelpers.inherits(Slider, _PureComponent);
75
-
76
- var _super = _rollupPluginBabelHelpers.createSuper(Slider);
77
-
78
- function Slider(props) {
79
- var _this;
80
-
81
- _rollupPluginBabelHelpers.classCallCheck(this, Slider);
82
-
83
- _this = _super.call(this, props);
69
+ const DRAG_STOP_EVENT_TYPES = new Set(['mouseup', 'touchend', 'touchcancel']);
70
+ class Slider extends React.PureComponent {
71
+ constructor(props) {
72
+ super(props);
84
73
 
85
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "state", {
86
- value: _this.props.value,
74
+ _rollupPluginBabelHelpers.defineProperty(this, "state", {
75
+ value: this.props.value,
87
76
  left: 0,
88
77
  needsOnRelease: false,
89
78
  isValid: true
90
79
  });
91
80
 
92
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "thumbRef", void 0);
81
+ _rollupPluginBabelHelpers.defineProperty(this, "thumbRef", void 0);
93
82
 
94
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "filledTrackRef", void 0);
83
+ _rollupPluginBabelHelpers.defineProperty(this, "filledTrackRef", void 0);
95
84
 
96
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "element", null);
85
+ _rollupPluginBabelHelpers.defineProperty(this, "element", null);
97
86
 
98
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "inputId", '');
87
+ _rollupPluginBabelHelpers.defineProperty(this, "inputId", '');
99
88
 
100
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "track", void 0);
89
+ _rollupPluginBabelHelpers.defineProperty(this, "track", void 0);
101
90
 
102
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "onDragStart", function (evt) {
91
+ _rollupPluginBabelHelpers.defineProperty(this, "onDragStart", evt => {
103
92
  // Do nothing if component is disabled
104
- if (_this.props.disabled || _this.props.readOnly) {
93
+ if (this.props.disabled || this.props.readOnly) {
105
94
  return;
106
95
  } // Register drag stop handlers
107
96
 
108
97
 
109
- DRAG_STOP_EVENT_TYPES.forEach(function (element) {
98
+ DRAG_STOP_EVENT_TYPES.forEach(element => {
110
99
  var _this$element;
111
100
 
112
- (_this$element = _this.element) === null || _this$element === void 0 ? void 0 : _this$element.ownerDocument.addEventListener(element, _this.onDragStop);
101
+ (_this$element = this.element) === null || _this$element === void 0 ? void 0 : _this$element.ownerDocument.addEventListener(element, this.onDragStop);
113
102
  }); // Register drag handlers
114
103
 
115
- DRAG_EVENT_TYPES.forEach(function (element) {
104
+ DRAG_EVENT_TYPES.forEach(element => {
116
105
  var _this$element2;
117
106
 
118
- (_this$element2 = _this.element) === null || _this$element2 === void 0 ? void 0 : _this$element2.ownerDocument.addEventListener(element, _this.onDrag);
107
+ (_this$element2 = this.element) === null || _this$element2 === void 0 ? void 0 : _this$element2.ownerDocument.addEventListener(element, this.onDrag);
119
108
  }); // Perform first recalculation since we probably didn't click exactly in the
120
109
  // middle of the thumb
121
110
 
122
- _this.onDrag(evt);
111
+ this.onDrag(evt);
123
112
  });
124
113
 
125
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "onDragStop", function () {
114
+ _rollupPluginBabelHelpers.defineProperty(this, "onDragStop", () => {
126
115
  // Do nothing if component is disabled
127
- if (_this.props.disabled || _this.props.readOnly) {
116
+ if (this.props.disabled || this.props.readOnly) {
128
117
  return;
129
118
  } // Remove drag stop handlers
130
119
 
131
120
 
132
- DRAG_STOP_EVENT_TYPES.forEach(function (element) {
121
+ DRAG_STOP_EVENT_TYPES.forEach(element => {
133
122
  var _this$element3;
134
123
 
135
- (_this$element3 = _this.element) === null || _this$element3 === void 0 ? void 0 : _this$element3.ownerDocument.removeEventListener(element, _this.onDragStop);
124
+ (_this$element3 = this.element) === null || _this$element3 === void 0 ? void 0 : _this$element3.ownerDocument.removeEventListener(element, this.onDragStop);
136
125
  }); // Remove drag handlers
137
126
 
138
- DRAG_EVENT_TYPES.forEach(function (element) {
127
+ DRAG_EVENT_TYPES.forEach(element => {
139
128
  var _this$element4;
140
129
 
141
- (_this$element4 = _this.element) === null || _this$element4 === void 0 ? void 0 : _this$element4.ownerDocument.removeEventListener(element, _this.onDrag);
130
+ (_this$element4 = this.element) === null || _this$element4 === void 0 ? void 0 : _this$element4.ownerDocument.removeEventListener(element, this.onDrag);
142
131
  }); // Set needsOnRelease flag so event fires on next update
143
132
 
144
- _this.setState({
133
+ this.setState({
145
134
  needsOnRelease: true,
146
135
  isValid: true
147
136
  });
148
137
  });
149
138
 
150
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "_onDrag", function (evt) {
139
+ _rollupPluginBabelHelpers.defineProperty(this, "_onDrag", evt => {
151
140
  // Do nothing if component is disabled or we have no event
152
- if (_this.props.disabled || _this.props.readOnly || !evt) {
141
+ if (this.props.disabled || this.props.readOnly || !evt) {
153
142
  return;
154
143
  }
155
144
 
156
- var clientX;
145
+ let clientX;
157
146
 
158
147
  if ('clientX' in evt) {
159
148
  clientX = evt.clientX;
@@ -164,42 +153,36 @@ var Slider = /*#__PURE__*/function (_PureComponent) {
164
153
  return;
165
154
  }
166
155
 
167
- var _this$calcValue = _this.calcValue({
168
- clientX: clientX
169
- }),
170
- value = _this$calcValue.value,
171
- left = _this$calcValue.left;
172
-
173
- _this.setState({
174
- value: value,
175
- left: left,
156
+ const {
157
+ value,
158
+ left
159
+ } = this.calcValue({
160
+ clientX
161
+ });
162
+ this.setState({
163
+ value,
164
+ left,
176
165
  isValid: true
177
166
  });
178
167
  });
179
168
 
180
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "onDrag", throttle__default["default"](_this._onDrag, EVENT_THROTTLE, {
169
+ _rollupPluginBabelHelpers.defineProperty(this, "onDrag", throttle__default["default"](this._onDrag, EVENT_THROTTLE, {
181
170
  leading: true,
182
171
  trailing: false
183
172
  }));
184
173
 
185
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "onKeyDown", function (evt) {
186
- var _this$props$step3, _this$props$step4, _this$props$step5, _this$props$step6;
187
-
174
+ _rollupPluginBabelHelpers.defineProperty(this, "onKeyDown", evt => {
188
175
  // Do nothing if component is disabled or we don't have a valid event
189
- if (_this.props.disabled || _this.props.readOnly || !('which' in evt)) {
176
+ if (this.props.disabled || this.props.readOnly || !('which' in evt)) {
190
177
  return;
191
178
  }
192
179
 
193
- var delta = 0;
180
+ let delta = 0;
194
181
 
195
182
  if (match.matches(evt.which, [keys.ArrowDown, keys.ArrowLeft])) {
196
- var _this$props$step;
197
-
198
- delta = -((_this$props$step = _this.props.step) !== null && _this$props$step !== void 0 ? _this$props$step : Slider.defaultProps.step);
183
+ delta = -(this.props.step ?? Slider.defaultProps.step);
199
184
  } else if (match.matches(evt.which, [keys.ArrowUp, keys.ArrowRight])) {
200
- var _this$props$step2;
201
-
202
- delta = (_this$props$step2 = _this.props.step) !== null && _this$props$step2 !== void 0 ? _this$props$step2 : Slider.defaultProps.step;
185
+ delta = this.props.step ?? Slider.defaultProps.step;
203
186
  } else {
204
187
  // Ignore keys we don't want to handle
205
188
  return;
@@ -207,30 +190,29 @@ var Slider = /*#__PURE__*/function (_PureComponent) {
207
190
 
208
191
 
209
192
  if (evt.shiftKey) {
210
- var stepMultiplier = _this.props.stepMultiplier;
211
- delta *= stepMultiplier !== null && stepMultiplier !== void 0 ? stepMultiplier : Slider.defaultProps.stepMultiplier;
193
+ const stepMultiplier = this.props.stepMultiplier;
194
+ delta *= stepMultiplier ?? Slider.defaultProps.stepMultiplier;
212
195
  }
213
196
 
214
- Math.floor(_this.state.value / ((_this$props$step3 = _this.props.step) !== null && _this$props$step3 !== void 0 ? _this$props$step3 : Slider.defaultProps.step)) * ((_this$props$step4 = _this.props.step) !== null && _this$props$step4 !== void 0 ? _this$props$step4 : Slider.defaultProps.step);
215
-
216
- var _this$calcValue2 = _this.calcValue({
197
+ Math.floor(this.state.value / (this.props.step ?? Slider.defaultProps.step)) * (this.props.step ?? Slider.defaultProps.step);
198
+ const {
199
+ value,
200
+ left
201
+ } = this.calcValue({
217
202
  // Ensures custom value from `<input>` won't cause skipping next stepping point with right arrow key,
218
203
  // e.g. Typing 51 in `<input>`, moving focus onto the thumb and the hitting right arrow key should yield 52 instead of 54
219
- value: (delta > 0 ? Math.floor(_this.state.value / ((_this$props$step5 = _this.props.step) !== null && _this$props$step5 !== void 0 ? _this$props$step5 : Slider.defaultProps.step)) * ((_this$props$step6 = _this.props.step) !== null && _this$props$step6 !== void 0 ? _this$props$step6 : Slider.defaultProps.step) : _this.state.value) + delta
220
- }),
221
- value = _this$calcValue2.value,
222
- left = _this$calcValue2.left;
223
-
224
- _this.setState({
225
- value: value,
226
- left: left,
204
+ value: (delta > 0 ? Math.floor(this.state.value / (this.props.step ?? Slider.defaultProps.step)) * (this.props.step ?? Slider.defaultProps.step) : this.state.value) + delta
205
+ });
206
+ this.setState({
207
+ value,
208
+ left,
227
209
  isValid: true
228
210
  });
229
211
  });
230
212
 
231
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "onChange", function (evt) {
213
+ _rollupPluginBabelHelpers.defineProperty(this, "onChange", evt => {
232
214
  // Do nothing if component is disabled
233
- if (_this.props.disabled || _this.props.readOnly) {
215
+ if (this.props.disabled || this.props.readOnly) {
234
216
  return;
235
217
  } // Do nothing if we have no valid event, target, or value
236
218
 
@@ -239,28 +221,28 @@ var Slider = /*#__PURE__*/function (_PureComponent) {
239
221
  return;
240
222
  }
241
223
 
242
- var targetValue = Number.parseFloat(evt.target.value); // Avoid calling calcValue for invalid numbers, but still update the state
224
+ const targetValue = Number.parseFloat(evt.target.value); // Avoid calling calcValue for invalid numbers, but still update the state
243
225
 
244
226
  if (isNaN(targetValue)) {
245
- _this.setState({
227
+ this.setState({
246
228
  value: evt.target.value
247
229
  });
248
230
  } else {
249
- var _this$calcValue3 = _this.calcValue({
231
+ const {
232
+ value,
233
+ left
234
+ } = this.calcValue({
250
235
  value: targetValue,
251
236
  useRawValue: true
252
- }),
253
- _value = _this$calcValue3.value,
254
- left = _this$calcValue3.left;
255
-
256
- _this.setState({
257
- value: _value,
258
- left: left
237
+ });
238
+ this.setState({
239
+ value,
240
+ left
259
241
  });
260
242
  }
261
243
  });
262
244
 
263
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "onBlur", function (evt) {
245
+ _rollupPluginBabelHelpers.defineProperty(this, "onBlur", evt => {
264
246
  var _this$props$onBlur, _this$props;
265
247
 
266
248
  // Do nothing if we have no valid event, target, or value
@@ -269,29 +251,30 @@ var Slider = /*#__PURE__*/function (_PureComponent) {
269
251
  } // determine validity of input change after clicking out of input
270
252
 
271
253
 
272
- var validity = evt.target.checkValidity();
273
- var value = evt.target.value;
274
-
275
- _this.setState({
254
+ const validity = evt.target.checkValidity();
255
+ const {
256
+ value
257
+ } = evt.target;
258
+ this.setState({
276
259
  isValid: validity
277
260
  });
278
-
279
- (_this$props$onBlur = (_this$props = _this.props).onBlur) === null || _this$props$onBlur === void 0 ? void 0 : _this$props$onBlur.call(_this$props, {
280
- value: value
261
+ (_this$props$onBlur = (_this$props = this.props).onBlur) === null || _this$props$onBlur === void 0 ? void 0 : _this$props$onBlur.call(_this$props, {
262
+ value
281
263
  });
282
264
  });
283
265
 
284
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "calcValue", function (_ref) {
285
- var _this$element5, _this$element5$getBou, _this$props$step7, _this$props$step8;
266
+ _rollupPluginBabelHelpers.defineProperty(this, "calcValue", _ref => {
267
+ var _this$element5, _this$element5$getBou;
286
268
 
287
- var clientX = _ref.clientX,
288
- value = _ref.value,
289
- _ref$useRawValue = _ref.useRawValue,
290
- useRawValue = _ref$useRawValue === void 0 ? false : _ref$useRawValue;
291
- var range = _this.props.max - _this.props.min;
292
- var boundingRect = (_this$element5 = _this.element) === null || _this$element5 === void 0 ? void 0 : (_this$element5$getBou = _this$element5.getBoundingClientRect) === null || _this$element5$getBou === void 0 ? void 0 : _this$element5$getBou.call(_this$element5);
293
- var totalSteps = range / ((_this$props$step7 = _this.props.step) !== null && _this$props$step7 !== void 0 ? _this$props$step7 : Slider.defaultProps.step);
294
- var width = boundingRect ? boundingRect.right - boundingRect.left : 0; // Enforce a minimum width of at least 1 for calculations
269
+ let {
270
+ clientX,
271
+ value,
272
+ useRawValue = false
273
+ } = _ref;
274
+ const range = this.props.max - this.props.min;
275
+ const boundingRect = (_this$element5 = this.element) === null || _this$element5 === void 0 ? void 0 : (_this$element5$getBou = _this$element5.getBoundingClientRect) === null || _this$element5$getBou === void 0 ? void 0 : _this$element5$getBou.call(_this$element5);
276
+ const totalSteps = range / (this.props.step ?? Slider.defaultProps.step);
277
+ let width = boundingRect ? boundingRect.right - boundingRect.left : 0; // Enforce a minimum width of at least 1 for calculations
295
278
 
296
279
  if (width <= 0) {
297
280
  width = 1;
@@ -299,274 +282,268 @@ var Slider = /*#__PURE__*/function (_PureComponent) {
299
282
  // use the provided value or state's value to calculate it instead.
300
283
 
301
284
 
302
- var leftPercent;
285
+ let leftPercent;
303
286
 
304
287
  if (clientX != null) {
305
- var _boundingRect$left;
306
-
307
- var leftOffset = clientX - ((_boundingRect$left = boundingRect === null || boundingRect === void 0 ? void 0 : boundingRect.left) !== null && _boundingRect$left !== void 0 ? _boundingRect$left : 0);
288
+ const leftOffset = clientX - ((boundingRect === null || boundingRect === void 0 ? void 0 : boundingRect.left) ?? 0);
308
289
  leftPercent = leftOffset / width;
309
290
  } else {
310
291
  if (value == null) {
311
- value = _this.state.value;
292
+ value = this.state.value;
312
293
  } // prevent NaN calculation if the range is 0
313
294
 
314
295
 
315
- leftPercent = range === 0 ? 0 : (value - _this.props.min) / range;
296
+ leftPercent = range === 0 ? 0 : (value - this.props.min) / range;
316
297
  }
317
298
 
318
299
  if (useRawValue) {
319
300
  // Adjusts only for min/max of thumb position
320
301
  return {
321
- value: value,
302
+ value,
322
303
  left: Math.min(1, Math.max(0, leftPercent)) * 100
323
304
  };
324
305
  }
325
306
 
326
- var steppedValue = Math.round(leftPercent * totalSteps) * ((_this$props$step8 = _this.props.step) !== null && _this$props$step8 !== void 0 ? _this$props$step8 : Slider.defaultProps.step);
327
-
328
- var steppedPercent = _this.clamp(steppedValue / range, 0, 1);
329
-
330
- steppedValue = _this.clamp(steppedValue + _this.props.min, _this.props.min, _this.props.max);
307
+ let steppedValue = Math.round(leftPercent * totalSteps) * (this.props.step ?? Slider.defaultProps.step);
308
+ const steppedPercent = this.clamp(steppedValue / range, 0, 1);
309
+ steppedValue = this.clamp(steppedValue + this.props.min, this.props.min, this.props.max);
331
310
  return {
332
311
  value: steppedValue,
333
312
  left: steppedPercent * 100
334
313
  };
335
314
  });
336
315
 
337
- _this.thumbRef = /*#__PURE__*/React__default["default"].createRef();
338
- _this.filledTrackRef = /*#__PURE__*/React__default["default"].createRef();
339
- return _this;
316
+ this.thumbRef = /*#__PURE__*/React__default["default"].createRef();
317
+ this.filledTrackRef = /*#__PURE__*/React__default["default"].createRef();
340
318
  }
341
319
  /**
342
320
  * Sets up initial slider position and value in response to component mount.
343
321
  */
344
322
 
345
323
 
346
- _rollupPluginBabelHelpers.createClass(Slider, [{
347
- key: "componentDidMount",
348
- value: function componentDidMount() {
349
- if (this.element) {
350
- var _this$calcValue4 = this.calcValue({
351
- useRawValue: true
352
- }),
353
- _value2 = _this$calcValue4.value,
354
- left = _this$calcValue4.left;
355
-
356
- this.setState({
357
- value: _value2,
358
- left: left
359
- });
360
- }
324
+ componentDidMount() {
325
+ if (this.element) {
326
+ const {
327
+ value,
328
+ left
329
+ } = this.calcValue({
330
+ useRawValue: true
331
+ });
332
+ this.setState({
333
+ value,
334
+ left
335
+ });
361
336
  }
362
- /**
363
- * Handles firing of `onChange` and `onRelease` callbacks to parent in
364
- * response to state changes.
365
- *
366
- * @param {*} prevProps prevProps
367
- * @param {*} prevState The previous Slider state, used to see if callbacks
368
- * should be called.
369
- */
370
-
371
- }, {
372
- key: "componentDidUpdate",
373
- value: function componentDidUpdate(prevProps, prevState) {
374
- // Fire onChange event handler if present, if there's a usable value, and
375
- // if the value is different from the last one
376
- if (this.thumbRef.current) {
377
- this.thumbRef.current.style.left = "".concat(this.state.left, "%");
378
- }
337
+ }
338
+ /**
339
+ * Handles firing of `onChange` and `onRelease` callbacks to parent in
340
+ * response to state changes.
341
+ *
342
+ * @param {*} prevProps prevProps
343
+ * @param {*} prevState The previous Slider state, used to see if callbacks
344
+ * should be called.
345
+ */
379
346
 
380
- if (this.filledTrackRef.current) {
381
- this.filledTrackRef.current.style.transform = "translate(0%, -50%) scaleX(".concat(this.state.left / 100, ")");
382
- }
383
347
 
384
- if (prevState.value !== this.state.value && typeof this.props.onChange === 'function') {
385
- this.props.onChange({
386
- value: this.state.value
387
- });
388
- } // Fire onRelease event handler if present and if needed
348
+ componentDidUpdate(prevProps, prevState) {
349
+ // Fire onChange event handler if present, if there's a usable value, and
350
+ // if the value is different from the last one
351
+ if (this.thumbRef.current) {
352
+ this.thumbRef.current.style.left = `${this.state.left}%`;
353
+ }
354
+
355
+ if (this.filledTrackRef.current) {
356
+ this.filledTrackRef.current.style.transform = `translate(0%, -50%) scaleX(${this.state.left / 100})`;
357
+ }
389
358
 
359
+ if (prevState.value !== this.state.value && typeof this.props.onChange === 'function') {
360
+ this.props.onChange({
361
+ value: this.state.value
362
+ });
363
+ } // Fire onRelease event handler if present and if needed
390
364
 
391
- if (this.state.needsOnRelease && typeof this.props.onRelease === 'function') {
392
- this.props.onRelease({
393
- value: this.state.value
394
- }); // Reset the flag
395
365
 
396
- this.setState({
397
- needsOnRelease: false
398
- });
399
- } // If value from props does not change, do nothing here.
400
- // Otherwise, do prop -> state sync without "value capping".
366
+ if (this.state.needsOnRelease && typeof this.props.onRelease === 'function') {
367
+ this.props.onRelease({
368
+ value: this.state.value
369
+ }); // Reset the flag
401
370
 
371
+ this.setState({
372
+ needsOnRelease: false
373
+ });
374
+ } // If value from props does not change, do nothing here.
375
+ // Otherwise, do prop -> state sync without "value capping".
402
376
 
403
- if (prevProps.value === this.props.value && prevProps.max === this.props.max && prevProps.min === this.props.min) {
404
- return;
405
- }
406
377
 
407
- this.setState(this.calcValue({
408
- value: this.props.value,
409
- useRawValue: true
410
- }));
411
- }
412
- /**
413
- * Synonymous to ECMA2017+ `Math.clamp`.
414
- *
415
- * @param {number} val
416
- * @param {number} min
417
- * @param {number} max
418
- *
419
- * @returns `val` if `max>=val>=min`; `min` if `val<min`; `max` if `val>max`.
420
- */
421
-
422
- }, {
423
- key: "clamp",
424
- value: function clamp(val, min, max) {
425
- return Math.max(min, Math.min(val, max));
378
+ if (prevProps.value === this.props.value && prevProps.max === this.props.max && prevProps.min === this.props.min) {
379
+ return;
426
380
  }
427
- /**
428
- * Sets up "drag" event handlers and calls `this.onDrag` in case dragging
429
- * started on somewhere other than the thumb without a corresponding "move"
430
- * event.
431
- *
432
- * @param {Event} evt The event.
433
- */
434
-
435
- }, {
436
- key: "render",
437
- value: function render() {
438
- var _this2 = this;
439
-
440
- var _this$props2 = this.props,
441
- ariaLabelInput = _this$props2.ariaLabelInput,
442
- className = _this$props2.className,
443
- hideTextInput = _this$props2.hideTextInput,
444
- _this$props2$id = _this$props2.id,
445
- id = _this$props2$id === void 0 ? this.inputId = this.inputId || "__carbon-slider_".concat(Math.random().toString(36).substr(2)) : _this$props2$id,
446
- min = _this$props2.min,
447
- minLabel = _this$props2.minLabel,
448
- max = _this$props2.max,
449
- maxLabel = _this$props2.maxLabel,
450
- _this$props2$formatLa = _this$props2.formatLabel,
451
- formatLabel = _this$props2$formatLa === void 0 ? defaultFormatLabel : _this$props2$formatLa,
452
- labelText = _this$props2.labelText,
453
- step = _this$props2.step;
454
- _this$props2.stepMultiplier;
455
- var inputType = _this$props2.inputType,
456
- required = _this$props2.required,
457
- disabled = _this$props2.disabled,
458
- name = _this$props2.name,
459
- light = _this$props2.light,
460
- readOnly = _this$props2.readOnly,
461
- other = _rollupPluginBabelHelpers.objectWithoutProperties(_this$props2, _excluded);
462
-
463
- delete other.onRelease;
464
- delete other.invalid;
465
- var _this$state = this.state,
466
- value = _this$state.value,
467
- isValid = _this$state.isValid;
468
- var scope = this.context;
469
- var enabled;
470
-
471
- if (scope.enabled) {
472
- enabled = scope.enabled('enable-v11-release');
473
- }
474
381
 
475
- return /*#__PURE__*/React__default["default"].createElement(usePrefix.PrefixContext.Consumer, null, function (prefix) {
476
- var _classNames4;
477
-
478
- var labelId = "".concat(id, "-label");
479
- var labelClasses = cx__default["default"]("".concat(prefix, "--label"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(prefix, "--label--disabled"), disabled));
480
- var sliderClasses = cx__default["default"]("".concat(prefix, "--slider"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(prefix, "--slider--disabled"), disabled), _rollupPluginBabelHelpers.defineProperty({}, "".concat(prefix, "--slider--readonly"), readOnly), [enabled ? null : className]);
481
- var inputClasses = cx__default["default"]("".concat(prefix, "--text-input"), "".concat(prefix, "--slider-text-input"), (_classNames4 = {}, _rollupPluginBabelHelpers.defineProperty(_classNames4, "".concat(prefix, "--text-input--light"), light), _rollupPluginBabelHelpers.defineProperty(_classNames4, "".concat(prefix, "--text-input--invalid"), isValid === false), _rollupPluginBabelHelpers.defineProperty(_classNames4, "".concat(prefix, "--slider-text-input--hidden"), hideTextInput), _classNames4));
482
- return /*#__PURE__*/React__default["default"].createElement("div", {
483
- className: enabled ? cx__default["default"]("".concat(prefix, "--form-item"), className) : "".concat(prefix, "--form-item")
484
- }, /*#__PURE__*/React__default["default"].createElement("label", {
485
- htmlFor: id,
486
- className: labelClasses,
487
- id: labelId
488
- }, labelText), /*#__PURE__*/React__default["default"].createElement("div", {
489
- className: "".concat(prefix, "--slider-container")
490
- }, /*#__PURE__*/React__default["default"].createElement("span", {
491
- className: "".concat(prefix, "--slider__range-label")
492
- }, formatLabel(min, minLabel)), /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
493
- className: sliderClasses,
494
- ref: function ref(node) {
495
- _this2.element = node;
496
- },
497
- onMouseDown: _this2.onDragStart,
498
- onTouchStart: _this2.onDragStart,
499
- onKeyDown: _this2.onKeyDown,
500
- role: "presentation",
501
- tabIndex: -1,
502
- "data-invalid": isValid ? null : true
503
- }, other), /*#__PURE__*/React__default["default"].createElement("div", {
504
- className: "".concat(prefix, "--slider__thumb"),
505
- role: "slider",
506
- id: id,
507
- tabIndex: !readOnly ? 0 : -1,
508
- "aria-valuemax": max,
509
- "aria-valuemin": min,
510
- "aria-valuenow": value,
511
- "aria-labelledby": labelId,
512
- ref: _this2.thumbRef
513
- }), /*#__PURE__*/React__default["default"].createElement("div", {
514
- className: "".concat(prefix, "--slider__track"),
515
- ref: function ref(node) {
516
- _this2.track = node;
517
- }
518
- }), /*#__PURE__*/React__default["default"].createElement("div", {
519
- className: "".concat(prefix, "--slider__filled-track"),
520
- ref: _this2.filledTrackRef
521
- })), /*#__PURE__*/React__default["default"].createElement("span", {
522
- className: "".concat(prefix, "--slider__range-label")
523
- }, formatLabel(max, maxLabel)), /*#__PURE__*/React__default["default"].createElement("input", {
524
- type: hideTextInput ? 'hidden' : inputType,
525
- id: "".concat(id, "-input-for-slider"),
526
- name: name,
527
- className: inputClasses,
528
- value: value,
529
- "aria-labelledby": !ariaLabelInput ? labelId : undefined,
530
- "aria-label": ariaLabelInput ? ariaLabelInput : undefined,
531
- disabled: disabled,
532
- required: required,
533
- min: min,
534
- max: max,
535
- step: step,
536
- onChange: _this2.onChange,
537
- onBlur: _this2.onBlur,
538
- onKeyUp: _this2.props.onInputKeyUp,
539
- "data-invalid": isValid ? null : true,
540
- "aria-invalid": isValid ? undefined : true,
541
- readOnly: readOnly
542
- })));
543
- });
382
+ this.setState(this.calcValue({
383
+ value: this.props.value,
384
+ useRawValue: true
385
+ }));
386
+ }
387
+ /**
388
+ * Synonymous to ECMA2017+ `Math.clamp`.
389
+ *
390
+ * @param {number} val
391
+ * @param {number} min
392
+ * @param {number} max
393
+ *
394
+ * @returns `val` if `max>=val>=min`; `min` if `val<min`; `max` if `val>max`.
395
+ */
396
+
397
+
398
+ clamp(val, min, max) {
399
+ return Math.max(min, Math.min(val, max));
400
+ }
401
+ /**
402
+ * Sets up "drag" event handlers and calls `this.onDrag` in case dragging
403
+ * started on somewhere other than the thumb without a corresponding "move"
404
+ * event.
405
+ *
406
+ * @param {Event} evt The event.
407
+ */
408
+
409
+
410
+ // syncs invalid state and prop
411
+ static getDerivedStateFromProps(props, state) {
412
+ const {
413
+ isValid
414
+ } = state; // will override state in favor of invalid prop
415
+
416
+ if (props.invalid === true && isValid === true) {
417
+ return {
418
+ isValid: false
419
+ };
544
420
  }
545
- }], [{
546
- key: "getDerivedStateFromProps",
547
- value: // syncs invalid state and prop
548
- function getDerivedStateFromProps(props, state) {
549
- var isValid = state.isValid; // will override state in favor of invalid prop
550
421
 
551
- if (props.invalid === true && isValid === true) {
552
- return {
553
- isValid: false
554
- };
555
- }
422
+ if (props.invalid === false && isValid === false) {
423
+ return {
424
+ isValid: true
425
+ };
426
+ } //if invalid prop is not provided, state will remain the same
556
427
 
557
- if (props.invalid === false && isValid === false) {
558
- return {
559
- isValid: true
560
- };
561
- } //if invalid prop is not provided, state will remain the same
562
428
 
429
+ return null;
430
+ }
563
431
 
564
- return null;
432
+ render() {
433
+ const {
434
+ ariaLabelInput,
435
+ className,
436
+ hideTextInput,
437
+ id = this.inputId = this.inputId || `__carbon-slider_${Math.random().toString(36).substr(2)}`,
438
+ min,
439
+ minLabel,
440
+ max,
441
+ maxLabel,
442
+ formatLabel = defaultFormatLabel,
443
+ labelText,
444
+ step,
445
+ stepMultiplier: _stepMultiplier,
446
+ inputType,
447
+ required,
448
+ disabled,
449
+ name,
450
+ light,
451
+ readOnly,
452
+ ...other
453
+ } = this.props;
454
+ delete other.onRelease;
455
+ delete other.invalid;
456
+ const {
457
+ value,
458
+ isValid
459
+ } = this.state;
460
+ const scope = this.context;
461
+ let enabled;
462
+
463
+ if (scope.enabled) {
464
+ enabled = scope.enabled('enable-v11-release');
565
465
  }
566
- }]);
567
466
 
568
- return Slider;
569
- }(React.PureComponent);
467
+ return /*#__PURE__*/React__default["default"].createElement(usePrefix.PrefixContext.Consumer, null, prefix => {
468
+ const labelId = `${id}-label`;
469
+ const labelClasses = cx__default["default"](`${prefix}--label`, {
470
+ [`${prefix}--label--disabled`]: disabled
471
+ });
472
+ const sliderClasses = cx__default["default"](`${prefix}--slider`, {
473
+ [`${prefix}--slider--disabled`]: disabled
474
+ }, {
475
+ [`${prefix}--slider--readonly`]: readOnly
476
+ }, [enabled ? null : className]);
477
+ const inputClasses = cx__default["default"](`${prefix}--text-input`, `${prefix}--slider-text-input`, {
478
+ [`${prefix}--text-input--light`]: light,
479
+ [`${prefix}--text-input--invalid`]: isValid === false,
480
+ [`${prefix}--slider-text-input--hidden`]: hideTextInput
481
+ });
482
+ return /*#__PURE__*/React__default["default"].createElement("div", {
483
+ className: enabled ? cx__default["default"](`${prefix}--form-item`, className) : `${prefix}--form-item`
484
+ }, /*#__PURE__*/React__default["default"].createElement("label", {
485
+ htmlFor: id,
486
+ className: labelClasses,
487
+ id: labelId
488
+ }, labelText), /*#__PURE__*/React__default["default"].createElement("div", {
489
+ className: `${prefix}--slider-container`
490
+ }, /*#__PURE__*/React__default["default"].createElement("span", {
491
+ className: `${prefix}--slider__range-label`
492
+ }, formatLabel(min, minLabel)), /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
493
+ className: sliderClasses,
494
+ ref: node => {
495
+ this.element = node;
496
+ },
497
+ onMouseDown: this.onDragStart,
498
+ onTouchStart: this.onDragStart,
499
+ onKeyDown: this.onKeyDown,
500
+ role: "presentation",
501
+ tabIndex: -1,
502
+ "data-invalid": isValid ? null : true
503
+ }, other), /*#__PURE__*/React__default["default"].createElement("div", {
504
+ className: `${prefix}--slider__thumb`,
505
+ role: "slider",
506
+ id: id,
507
+ tabIndex: !readOnly ? 0 : -1,
508
+ "aria-valuemax": max,
509
+ "aria-valuemin": min,
510
+ "aria-valuenow": value,
511
+ "aria-labelledby": labelId,
512
+ ref: this.thumbRef
513
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
514
+ className: `${prefix}--slider__track`,
515
+ ref: node => {
516
+ this.track = node;
517
+ }
518
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
519
+ className: `${prefix}--slider__filled-track`,
520
+ ref: this.filledTrackRef
521
+ })), /*#__PURE__*/React__default["default"].createElement("span", {
522
+ className: `${prefix}--slider__range-label`
523
+ }, formatLabel(max, maxLabel)), /*#__PURE__*/React__default["default"].createElement("input", {
524
+ type: hideTextInput ? 'hidden' : inputType,
525
+ id: `${id}-input-for-slider`,
526
+ name: name,
527
+ className: inputClasses,
528
+ value: value,
529
+ "aria-labelledby": !ariaLabelInput ? labelId : undefined,
530
+ "aria-label": ariaLabelInput ? ariaLabelInput : undefined,
531
+ disabled: disabled,
532
+ required: required,
533
+ min: min,
534
+ max: max,
535
+ step: step,
536
+ onChange: this.onChange,
537
+ onBlur: this.onBlur,
538
+ onKeyUp: this.props.onInputKeyUp,
539
+ "data-invalid": isValid ? null : true,
540
+ "aria-invalid": isValid ? undefined : true,
541
+ readOnly: readOnly
542
+ })));
543
+ });
544
+ }
545
+
546
+ }
570
547
 
571
548
  _rollupPluginBabelHelpers.defineProperty(Slider, "propTypes", {
572
549
  /**