@carbon/react 1.29.1 → 1.30.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (580) hide show
  1. package/es/_virtual/_rollupPluginBabelHelpers.js +16 -5
  2. package/es/components/Accordion/Accordion.Skeleton.js +0 -7
  3. package/es/components/Accordion/Accordion.js +1 -8
  4. package/es/components/Accordion/AccordionItem.js +5 -19
  5. package/es/components/AspectRatio/AspectRatio.js +0 -5
  6. package/es/components/Breadcrumb/Breadcrumb.Skeleton.js +0 -3
  7. package/es/components/Breadcrumb/Breadcrumb.js +0 -3
  8. package/es/components/Breadcrumb/BreadcrumbItem.js +0 -7
  9. package/es/components/Button/Button.Skeleton.js +2 -7
  10. package/es/components/Button/Button.js +2 -36
  11. package/es/components/ButtonSet/ButtonSet.js +0 -2
  12. package/es/components/Checkbox/Checkbox.Skeleton.js +0 -1
  13. package/es/components/Checkbox/Checkbox.js +4 -20
  14. package/es/components/CheckboxGroup/CheckboxGroup.js +0 -11
  15. package/es/components/ClassPrefix/index.d.ts +26 -0
  16. package/es/components/ClassPrefix/index.js +0 -2
  17. package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +0 -5
  18. package/es/components/CodeSnippet/CodeSnippet.js +6 -45
  19. package/es/components/ComboBox/ComboBox.js +12 -79
  20. package/es/components/ComboBox/tools/filter.js +0 -1
  21. package/es/components/ComboButton/index.js +0 -14
  22. package/es/components/ComposedModal/ComposedModal.js +2 -32
  23. package/es/components/ComposedModal/ModalFooter.js +0 -21
  24. package/es/components/ComposedModal/ModalHeader.js +0 -12
  25. package/es/components/ContainedList/ContainedList.js +5 -32
  26. package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +0 -6
  27. package/es/components/ContentSwitcher/ContentSwitcher.js +11 -23
  28. package/es/components/ContextMenu/useContextMenu.js +1 -6
  29. package/es/components/Copy/Copy.js +8 -31
  30. package/es/components/CopyButton/CopyButton.js +0 -4
  31. package/es/components/DangerButton/DangerButton.js +0 -1
  32. package/es/components/DataTable/DataTable.js +171 -91
  33. package/es/components/DataTable/Table.js +0 -6
  34. package/es/components/DataTable/TableBatchAction.js +0 -4
  35. package/es/components/DataTable/TableBatchActions.js +0 -8
  36. package/es/components/DataTable/TableBody.js +0 -1
  37. package/es/components/DataTable/TableContainer.js +0 -5
  38. package/es/components/DataTable/TableExpandHeader.js +0 -7
  39. package/es/components/DataTable/TableExpandRow.js +0 -6
  40. package/es/components/DataTable/TableExpandedRow.js +0 -6
  41. package/es/components/DataTable/TableHeader.d.ts +1 -1
  42. package/es/components/DataTable/TableHeader.js +3 -19
  43. package/es/components/DataTable/TableRow.js +4 -5
  44. package/es/components/DataTable/TableSelectAll.js +0 -8
  45. package/es/components/DataTable/TableSelectRow.js +2 -10
  46. package/es/components/DataTable/TableToolbar.js +0 -3
  47. package/es/components/DataTable/TableToolbarMenu.d.ts +1 -1
  48. package/es/components/DataTable/TableToolbarMenu.js +3 -6
  49. package/es/components/DataTable/TableToolbarSearch.js +2 -30
  50. package/es/components/DataTable/state/getDerivedStateFromProps.js +0 -4
  51. package/es/components/DataTable/state/sorting.js +5 -8
  52. package/es/components/DataTable/tools/denormalize.js +2 -2
  53. package/es/components/DataTable/tools/filter.js +0 -2
  54. package/es/components/DataTable/tools/instanceId.js +0 -1
  55. package/es/components/DataTable/tools/normalize.js +10 -10
  56. package/es/components/DataTable/tools/sorting.js +5 -13
  57. package/es/components/DataTableSkeleton/DataTableSkeleton.js +5 -20
  58. package/es/components/DatePicker/DatePicker.Skeleton.js +0 -6
  59. package/es/components/DatePicker/DatePicker.js +152 -174
  60. package/es/components/DatePicker/plugins/appendToPlugin.js +3 -7
  61. package/es/components/DatePicker/plugins/fixEventsPlugin.js +14 -25
  62. package/es/components/DatePicker/plugins/rangePlugin.js +2 -7
  63. package/es/components/DatePickerInput/DatePickerInput.js +2 -28
  64. package/es/components/Dropdown/Dropdown.Skeleton.js +0 -2
  65. package/es/components/Dropdown/Dropdown.js +43 -52
  66. package/es/components/ErrorBoundary/ErrorBoundary.js +0 -10
  67. package/es/components/ErrorBoundary/ErrorBoundaryContext.js +0 -1
  68. package/es/components/ExpandableSearch/ExpandableSearch.js +1 -10
  69. package/es/components/FeatureFlags/index.js +8 -20
  70. package/es/components/FileUploader/FileUploader.Skeleton.js +0 -2
  71. package/es/components/FileUploader/FileUploader.js +3 -38
  72. package/es/components/FileUploader/FileUploaderButton.js +3 -24
  73. package/es/components/FileUploader/FileUploaderDropContainer.js +1 -28
  74. package/es/components/FileUploader/FileUploaderItem.js +1 -11
  75. package/es/components/FileUploader/Filename.js +0 -10
  76. package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +0 -1
  77. package/es/components/FluidComboBox/FluidComboBox.js +0 -18
  78. package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.js +0 -2
  79. package/es/components/FluidDatePicker/FluidDatePicker.js +0 -6
  80. package/es/components/FluidDatePickerInput/FluidDatePickerInput.js +2 -1
  81. package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +0 -1
  82. package/es/components/FluidDropdown/FluidDropdown.js +0 -18
  83. package/es/components/FluidForm/FluidForm.js +0 -2
  84. package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +0 -1
  85. package/es/components/FluidMultiSelect/FluidMultiSelect.js +0 -19
  86. package/es/components/FluidSelect/FluidSelect.Skeleton.js +0 -1
  87. package/es/components/FluidSelect/FluidSelect.js +0 -10
  88. package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +0 -1
  89. package/es/components/FluidTextArea/FluidTextArea.js +0 -20
  90. package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +0 -1
  91. package/es/components/FluidTextInput/FluidTextInput.js +0 -14
  92. package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +0 -3
  93. package/es/components/FluidTimePicker/FluidTimePicker.js +1 -11
  94. package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.js +0 -6
  95. package/es/components/Form/Form.d.ts +23 -0
  96. package/es/components/Form/Form.js +3 -6
  97. package/es/components/Form/index.d.ts +7 -0
  98. package/es/components/FormGroup/FormGroup.js +0 -7
  99. package/es/components/FormItem/FormItem.js +0 -2
  100. package/es/components/FormLabel/FormLabel.js +1 -7
  101. package/es/components/Grid/CSSGrid.js +2 -15
  102. package/es/components/Grid/Column.js +18 -59
  103. package/es/components/Grid/ColumnHang.js +2 -5
  104. package/es/components/Grid/FlexGrid.js +2 -8
  105. package/es/components/Grid/Grid.js +0 -8
  106. package/es/components/Grid/GridContext.js +1 -3
  107. package/es/components/Grid/Row.js +2 -7
  108. package/es/components/Heading/index.js +0 -4
  109. package/es/components/Icon/Icon.Skeleton.js +2 -2
  110. package/es/components/IconButton/index.js +0 -10
  111. package/es/components/IdPrefix/index.js +0 -2
  112. package/es/components/InlineCheckbox/InlineCheckbox.js +0 -14
  113. package/es/components/InlineLoading/InlineLoading.js +0 -12
  114. package/es/components/Layer/index.js +3 -6
  115. package/es/components/Layout/LayoutDirection.js +0 -3
  116. package/es/components/Layout/useLayoutDirection.js +0 -1
  117. package/es/components/Link/Link.js +3 -10
  118. package/es/components/ListBox/ListBox.js +2 -13
  119. package/es/components/ListBox/ListBoxField.js +0 -5
  120. package/es/components/ListBox/ListBoxMenuIcon.js +0 -4
  121. package/es/components/ListBox/ListBoxMenuItem.js +2 -6
  122. package/es/components/ListBox/ListBoxPropTypes.d.ts +2 -2
  123. package/es/components/ListBox/ListBoxSelection.js +1 -13
  124. package/es/components/ListBox/next/ListBoxSelection.js +1 -14
  125. package/es/components/ListBox/next/ListBoxTrigger.js +1 -3
  126. package/es/components/ListItem/ListItem.d.ts +23 -0
  127. package/es/components/ListItem/ListItem.js +4 -8
  128. package/es/components/ListItem/index.d.ts +7 -0
  129. package/es/components/Loading/Loading.js +0 -6
  130. package/es/components/Menu/Menu.js +22 -40
  131. package/es/components/Menu/MenuContext.js +4 -5
  132. package/es/components/Menu/MenuItem.js +5 -39
  133. package/es/components/MenuButton/index.js +0 -9
  134. package/es/components/Modal/Modal.js +0 -43
  135. package/es/components/ModalWrapper/ModalWrapper.js +2 -15
  136. package/es/components/MultiSelect/FilterableMultiSelect.js +2 -60
  137. package/es/components/MultiSelect/MultiSelect.js +22 -70
  138. package/es/components/MultiSelect/MultiSelectPropTypes.js +0 -1
  139. package/es/components/MultiSelect/index.js +0 -1
  140. package/es/components/MultiSelect/tools/itemToString.js +0 -2
  141. package/es/components/MultiSelect/tools/sorting.js +3 -4
  142. package/es/components/Notification/Notification.js +0 -78
  143. package/es/components/NumberInput/NumberInput.Skeleton.js +0 -2
  144. package/es/components/NumberInput/NumberInput.js +3 -60
  145. package/es/components/OrderedList/OrderedList.d.ts +39 -0
  146. package/es/components/OrderedList/OrderedList.js +7 -19
  147. package/es/components/{Form/index.js → OrderedList/index.d.ts} +1 -3
  148. package/es/components/OverflowMenu/OverflowMenu.js +65 -86
  149. package/es/components/OverflowMenuItem/OverflowMenuItem.js +6 -23
  150. package/es/components/OverflowMenuV2/index.js +0 -5
  151. package/es/components/Pagination/Pagination.Skeleton.js +0 -2
  152. package/es/components/Pagination/Pagination.js +11 -47
  153. package/es/components/Pagination/experimental/PageSelector.js +0 -10
  154. package/es/components/Pagination/experimental/Pagination.js +2 -48
  155. package/es/components/PaginationNav/PaginationNav.js +15 -59
  156. package/es/components/Popover/index.d.ts +14 -8
  157. package/es/components/Popover/index.js +44 -48
  158. package/es/components/PrimaryButton/PrimaryButton.js +0 -1
  159. package/es/components/ProgressBar/ProgressBar.js +0 -15
  160. package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +0 -4
  161. package/es/components/ProgressIndicator/ProgressIndicator.js +2 -40
  162. package/es/components/RadioButton/RadioButton.Skeleton.js +0 -1
  163. package/es/components/RadioButton/RadioButton.js +0 -13
  164. package/es/components/RadioButtonGroup/RadioButtonGroup.js +3 -23
  165. package/es/components/RadioTile/RadioTile.js +0 -12
  166. package/es/components/Search/Search.Skeleton.js +0 -2
  167. package/es/components/Search/Search.js +1 -28
  168. package/es/components/SecondaryButton/SecondaryButton.js +0 -1
  169. package/es/components/Select/Select.Skeleton.js +0 -2
  170. package/es/components/Select/Select.d.ts +1 -1
  171. package/es/components/Select/Select.js +6 -33
  172. package/es/components/SelectItem/SelectItem.js +0 -5
  173. package/es/components/SelectItemGroup/SelectItemGroup.d.ts +0 -1
  174. package/es/components/SelectItemGroup/SelectItemGroup.js +1 -7
  175. package/es/components/SkeletonIcon/SkeletonIcon.js +0 -2
  176. package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +0 -1
  177. package/es/components/SkeletonText/SkeletonText.js +0 -12
  178. package/es/components/Slider/Slider.Skeleton.js +0 -2
  179. package/es/components/Slider/Slider.d.ts +0 -1
  180. package/es/components/Slider/Slider.js +112 -135
  181. package/es/components/Stack/Stack.js +1 -8
  182. package/es/components/StructuredList/StructuredList.Skeleton.js +0 -5
  183. package/es/components/StructuredList/StructuredList.js +1 -25
  184. package/es/components/Switch/IconSwitch.js +0 -18
  185. package/es/components/Switch/Switch.js +0 -11
  186. package/es/components/TabContent/TabContent.js +2 -6
  187. package/es/components/Tabs/Tabs.Skeleton.js +0 -4
  188. package/es/components/Tabs/Tabs.js +135 -104
  189. package/es/components/Tabs/usePressable.js +18 -31
  190. package/es/components/Tag/Tag.Skeleton.js +0 -2
  191. package/es/components/Tag/Tag.js +0 -15
  192. package/es/components/Text/Text.js +5 -18
  193. package/es/components/Text/TextDirection.js +0 -3
  194. package/es/components/Text/TextDirectionContext.js +0 -1
  195. package/es/components/Text/createTextComponent.js +0 -3
  196. package/es/components/TextArea/TextArea.Skeleton.js +0 -2
  197. package/es/components/TextArea/TextArea.js +11 -33
  198. package/es/components/TextInput/ControlledPasswordInput.js +0 -20
  199. package/es/components/TextInput/PasswordInput.js +0 -25
  200. package/es/components/TextInput/TextInput.Skeleton.js +0 -2
  201. package/es/components/TextInput/TextInput.d.ts +1 -1
  202. package/es/components/TextInput/TextInput.js +5 -33
  203. package/es/components/TextInput/util.js +3 -5
  204. package/es/components/Theme/index.js +1 -6
  205. package/es/components/Tile/Tile.js +32 -59
  206. package/es/components/TileGroup/TileGroup.js +1 -22
  207. package/es/components/TimePicker/TimePicker.js +6 -32
  208. package/es/components/TimePickerSelect/TimePickerSelect.js +2 -5
  209. package/es/components/Toggle/Toggle.Skeleton.js +0 -8
  210. package/es/components/Toggle/Toggle.js +0 -16
  211. package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +0 -7
  212. package/es/components/Toggletip/index.d.ts +148 -0
  213. package/es/components/Toggletip/index.js +20 -44
  214. package/es/components/Tooltip/DefinitionTooltip.js +0 -11
  215. package/es/components/Tooltip/Tooltip.d.ts +1 -1
  216. package/es/components/Tooltip/Tooltip.js +4 -21
  217. package/es/components/TreeView/TreeNode.js +21 -66
  218. package/es/components/TreeView/TreeView.js +11 -67
  219. package/es/components/UIShell/Content.js +2 -4
  220. package/es/components/UIShell/Header.js +0 -2
  221. package/es/components/UIShell/HeaderContainer.d.ts +33 -0
  222. package/es/components/UIShell/HeaderContainer.js +13 -11
  223. package/es/components/UIShell/HeaderGlobalAction.js +0 -6
  224. package/es/components/UIShell/HeaderGlobalBar.js +0 -1
  225. package/es/components/UIShell/HeaderMenu.js +32 -31
  226. package/es/components/UIShell/HeaderMenuButton.js +2 -4
  227. package/es/components/UIShell/HeaderMenuItem.js +0 -8
  228. package/es/components/UIShell/HeaderName.js +0 -5
  229. package/es/components/UIShell/HeaderNavigation.js +0 -2
  230. package/es/components/UIShell/HeaderPanel.js +0 -2
  231. package/es/components/UIShell/HeaderSideNavItems.js +0 -2
  232. package/es/components/UIShell/Link.js +2 -3
  233. package/es/components/UIShell/SideNav.d.ts +3 -1
  234. package/es/components/UIShell/SideNav.js +44 -36
  235. package/es/components/UIShell/SideNavDetails.js +0 -3
  236. package/es/components/UIShell/SideNavDivider.js +0 -1
  237. package/es/components/UIShell/SideNavFooter.js +1 -4
  238. package/es/components/UIShell/SideNavHeader.js +0 -4
  239. package/es/components/UIShell/SideNavIcon.js +0 -3
  240. package/es/components/UIShell/SideNavItem.js +0 -3
  241. package/es/components/UIShell/SideNavItems.js +2 -6
  242. package/es/components/UIShell/SideNavLink.js +3 -7
  243. package/es/components/UIShell/SideNavLinkText.js +0 -2
  244. package/es/components/UIShell/SideNavMenu.js +0 -16
  245. package/es/components/UIShell/SideNavMenuItem.js +0 -2
  246. package/es/components/UIShell/SideNavSwitcher.js +2 -5
  247. package/es/components/UIShell/SkipToContent.d.ts +32 -0
  248. package/es/components/UIShell/SkipToContent.js +8 -15
  249. package/es/components/UIShell/Switcher.js +0 -2
  250. package/es/components/UIShell/SwitcherDivider.js +0 -1
  251. package/es/components/UIShell/SwitcherItem.js +0 -3
  252. package/es/components/UnorderedList/UnorderedList.d.ts +34 -0
  253. package/es/components/UnorderedList/UnorderedList.js +6 -16
  254. package/es/components/UnorderedList/index.d.ts +7 -0
  255. package/es/index.js +7 -8
  256. package/es/internal/ClickListener.js +3 -13
  257. package/es/internal/FloatingMenu.js +57 -63
  258. package/es/internal/OptimizedResize.js +6 -12
  259. package/es/internal/Selection.js +2 -25
  260. package/es/internal/createClassWrapper.js +0 -2
  261. package/es/internal/deprecateFieldOnObject.js +0 -4
  262. package/es/internal/focus/index.js +0 -1
  263. package/es/internal/keyboard/keys.js +2 -1
  264. package/es/internal/keyboard/match.js +1 -6
  265. package/es/internal/keyboard/navigation.js +8 -7
  266. package/es/internal/useAnnouncer.js +0 -1
  267. package/es/internal/useAttachedMenu.js +1 -9
  268. package/es/internal/useControllableState.js +6 -13
  269. package/es/internal/useDelayedState.js +2 -4
  270. package/es/internal/useEffectOnce.js +0 -1
  271. package/es/internal/useEvent.js +61 -3
  272. package/es/internal/useId.js +2 -5
  273. package/es/internal/useIsomorphicEffect.js +1 -0
  274. package/es/internal/useMergedRefs.js +2 -2
  275. package/es/internal/useNoInteractiveChildren.js +2 -13
  276. package/es/internal/useNormalizedInputProps.js +0 -3
  277. package/es/internal/useSavedCallback.js +0 -1
  278. package/es/internal/warning.js +0 -3
  279. package/es/internal/wrapFocus.js +1 -8
  280. package/es/prop-types/deprecate.js +2 -5
  281. package/es/prop-types/isRequiredOneOf.js +2 -5
  282. package/es/prop-types/requiredIfGivenPropIsTruthy.js +0 -2
  283. package/es/tools/array.js +0 -3
  284. package/es/tools/events.js +0 -3
  285. package/es/tools/mergeRefs.js +0 -2
  286. package/es/tools/wrapComponent.js +2 -5
  287. package/lib/_virtual/_rollupPluginBabelHelpers.js +17 -4
  288. package/lib/components/Accordion/Accordion.Skeleton.js +0 -7
  289. package/lib/components/Accordion/Accordion.js +1 -27
  290. package/lib/components/Accordion/AccordionItem.js +5 -19
  291. package/lib/components/AspectRatio/AspectRatio.js +0 -5
  292. package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +0 -3
  293. package/lib/components/Breadcrumb/Breadcrumb.js +0 -3
  294. package/lib/components/Breadcrumb/BreadcrumbItem.js +0 -7
  295. package/lib/components/Button/Button.Skeleton.js +2 -26
  296. package/lib/components/Button/Button.js +2 -36
  297. package/lib/components/ButtonSet/ButtonSet.js +0 -2
  298. package/lib/components/Checkbox/Checkbox.Skeleton.js +0 -1
  299. package/lib/components/Checkbox/Checkbox.js +4 -20
  300. package/lib/components/CheckboxGroup/CheckboxGroup.js +0 -11
  301. package/lib/components/ClassPrefix/index.d.ts +26 -0
  302. package/lib/components/ClassPrefix/index.js +0 -2
  303. package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +0 -5
  304. package/lib/components/CodeSnippet/CodeSnippet.js +6 -45
  305. package/lib/components/ComboBox/ComboBox.js +19 -86
  306. package/lib/components/ComboBox/tools/filter.js +0 -1
  307. package/lib/components/ComboButton/index.js +0 -14
  308. package/lib/components/ComposedModal/ComposedModal.js +2 -32
  309. package/lib/components/ComposedModal/ModalFooter.js +0 -21
  310. package/lib/components/ComposedModal/ModalHeader.js +0 -12
  311. package/lib/components/ContainedList/ContainedList.js +5 -32
  312. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +0 -6
  313. package/lib/components/ContentSwitcher/ContentSwitcher.js +11 -23
  314. package/lib/components/ContextMenu/useContextMenu.js +1 -6
  315. package/lib/components/Copy/Copy.js +8 -50
  316. package/lib/components/CopyButton/CopyButton.js +0 -4
  317. package/lib/components/DangerButton/DangerButton.js +0 -1
  318. package/lib/components/DataTable/DataTable.js +171 -91
  319. package/lib/components/DataTable/Table.js +0 -6
  320. package/lib/components/DataTable/TableBatchAction.js +0 -4
  321. package/lib/components/DataTable/TableBatchActions.js +0 -8
  322. package/lib/components/DataTable/TableBody.js +0 -1
  323. package/lib/components/DataTable/TableContainer.js +0 -5
  324. package/lib/components/DataTable/TableExpandHeader.js +0 -7
  325. package/lib/components/DataTable/TableExpandRow.js +0 -6
  326. package/lib/components/DataTable/TableExpandedRow.js +0 -6
  327. package/lib/components/DataTable/TableHeader.d.ts +1 -1
  328. package/lib/components/DataTable/TableHeader.js +3 -19
  329. package/lib/components/DataTable/TableRow.js +4 -5
  330. package/lib/components/DataTable/TableSelectAll.js +0 -8
  331. package/lib/components/DataTable/TableSelectRow.js +2 -10
  332. package/lib/components/DataTable/TableToolbar.js +0 -3
  333. package/lib/components/DataTable/TableToolbarMenu.d.ts +1 -1
  334. package/lib/components/DataTable/TableToolbarMenu.js +3 -6
  335. package/lib/components/DataTable/TableToolbarSearch.js +2 -30
  336. package/lib/components/DataTable/state/getDerivedStateFromProps.js +0 -4
  337. package/lib/components/DataTable/state/sorting.js +5 -8
  338. package/lib/components/DataTable/tools/denormalize.js +2 -2
  339. package/lib/components/DataTable/tools/filter.js +0 -2
  340. package/lib/components/DataTable/tools/instanceId.js +0 -1
  341. package/lib/components/DataTable/tools/normalize.js +10 -10
  342. package/lib/components/DataTable/tools/sorting.js +5 -13
  343. package/lib/components/DataTableSkeleton/DataTableSkeleton.js +5 -20
  344. package/lib/components/DatePicker/DatePicker.Skeleton.js +0 -6
  345. package/lib/components/DatePicker/DatePicker.js +152 -174
  346. package/lib/components/DatePicker/plugins/appendToPlugin.js +3 -7
  347. package/lib/components/DatePicker/plugins/fixEventsPlugin.js +14 -25
  348. package/lib/components/DatePicker/plugins/rangePlugin.js +2 -7
  349. package/lib/components/DatePickerInput/DatePickerInput.js +2 -28
  350. package/lib/components/Dropdown/Dropdown.Skeleton.js +0 -2
  351. package/lib/components/Dropdown/Dropdown.js +50 -59
  352. package/lib/components/ErrorBoundary/ErrorBoundary.js +0 -10
  353. package/lib/components/ErrorBoundary/ErrorBoundaryContext.js +0 -1
  354. package/lib/components/ExpandableSearch/ExpandableSearch.js +1 -10
  355. package/lib/components/FeatureFlags/index.js +8 -20
  356. package/lib/components/FileUploader/FileUploader.Skeleton.js +0 -2
  357. package/lib/components/FileUploader/FileUploader.js +3 -57
  358. package/lib/components/FileUploader/FileUploaderButton.js +3 -43
  359. package/lib/components/FileUploader/FileUploaderDropContainer.js +1 -28
  360. package/lib/components/FileUploader/FileUploaderItem.js +1 -30
  361. package/lib/components/FileUploader/Filename.js +0 -10
  362. package/lib/components/FluidComboBox/FluidComboBox.Skeleton.js +0 -1
  363. package/lib/components/FluidComboBox/FluidComboBox.js +0 -18
  364. package/lib/components/FluidDatePicker/FluidDatePicker.Skeleton.js +0 -2
  365. package/lib/components/FluidDatePicker/FluidDatePicker.js +0 -6
  366. package/lib/components/FluidDatePickerInput/FluidDatePickerInput.js +2 -1
  367. package/lib/components/FluidDropdown/FluidDropdown.Skeleton.js +0 -1
  368. package/lib/components/FluidDropdown/FluidDropdown.js +0 -18
  369. package/lib/components/FluidForm/FluidForm.js +0 -2
  370. package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +0 -1
  371. package/lib/components/FluidMultiSelect/FluidMultiSelect.js +0 -19
  372. package/lib/components/FluidSelect/FluidSelect.Skeleton.js +0 -1
  373. package/lib/components/FluidSelect/FluidSelect.js +0 -10
  374. package/lib/components/FluidTextArea/FluidTextArea.Skeleton.js +0 -1
  375. package/lib/components/FluidTextArea/FluidTextArea.js +0 -20
  376. package/lib/components/FluidTextInput/FluidTextInput.Skeleton.js +0 -1
  377. package/lib/components/FluidTextInput/FluidTextInput.js +0 -14
  378. package/lib/components/FluidTimePicker/FluidTimePicker.Skeleton.js +0 -3
  379. package/lib/components/FluidTimePicker/FluidTimePicker.js +1 -11
  380. package/lib/components/FluidTimePickerSelect/FluidTimePickerSelect.js +0 -6
  381. package/lib/components/Form/Form.d.ts +23 -0
  382. package/lib/components/Form/Form.js +3 -6
  383. package/lib/components/Form/index.d.ts +7 -0
  384. package/lib/components/FormGroup/FormGroup.js +0 -7
  385. package/lib/components/FormItem/FormItem.js +0 -2
  386. package/lib/components/FormLabel/FormLabel.js +1 -26
  387. package/lib/components/Grid/CSSGrid.js +2 -15
  388. package/lib/components/Grid/Column.js +18 -59
  389. package/lib/components/Grid/ColumnHang.js +2 -5
  390. package/lib/components/Grid/FlexGrid.js +2 -8
  391. package/lib/components/Grid/Grid.js +0 -8
  392. package/lib/components/Grid/GridContext.js +1 -3
  393. package/lib/components/Grid/Row.js +2 -7
  394. package/lib/components/Heading/index.js +0 -4
  395. package/lib/components/Icon/Icon.Skeleton.js +2 -2
  396. package/lib/components/IconButton/index.js +0 -10
  397. package/lib/components/IdPrefix/index.js +0 -2
  398. package/lib/components/InlineCheckbox/InlineCheckbox.js +0 -14
  399. package/lib/components/InlineLoading/InlineLoading.js +0 -12
  400. package/lib/components/Layer/index.js +3 -6
  401. package/lib/components/Layout/LayoutDirection.js +0 -3
  402. package/lib/components/Layout/useLayoutDirection.js +0 -1
  403. package/lib/components/Link/Link.js +3 -10
  404. package/lib/components/ListBox/ListBox.js +2 -13
  405. package/lib/components/ListBox/ListBoxField.js +0 -5
  406. package/lib/components/ListBox/ListBoxMenuIcon.js +0 -4
  407. package/lib/components/ListBox/ListBoxMenuItem.js +2 -6
  408. package/lib/components/ListBox/ListBoxPropTypes.d.ts +2 -2
  409. package/lib/components/ListBox/ListBoxSelection.js +1 -13
  410. package/lib/components/ListBox/next/ListBoxSelection.js +1 -14
  411. package/lib/components/ListBox/next/ListBoxTrigger.js +1 -3
  412. package/lib/components/ListItem/ListItem.d.ts +23 -0
  413. package/lib/components/ListItem/ListItem.js +4 -8
  414. package/lib/components/ListItem/index.d.ts +7 -0
  415. package/lib/components/Loading/Loading.js +0 -6
  416. package/lib/components/Menu/Menu.js +22 -40
  417. package/lib/components/Menu/MenuContext.js +4 -5
  418. package/lib/components/Menu/MenuItem.js +5 -39
  419. package/lib/components/MenuButton/index.js +0 -9
  420. package/lib/components/Modal/Modal.js +0 -43
  421. package/lib/components/ModalWrapper/ModalWrapper.js +2 -15
  422. package/lib/components/MultiSelect/FilterableMultiSelect.js +8 -66
  423. package/lib/components/MultiSelect/MultiSelect.js +30 -78
  424. package/lib/components/MultiSelect/MultiSelectPropTypes.js +0 -1
  425. package/lib/components/MultiSelect/index.js +0 -1
  426. package/lib/components/MultiSelect/tools/itemToString.js +0 -2
  427. package/lib/components/MultiSelect/tools/sorting.js +3 -4
  428. package/lib/components/Notification/Notification.js +0 -78
  429. package/lib/components/NumberInput/NumberInput.Skeleton.js +0 -2
  430. package/lib/components/NumberInput/NumberInput.js +3 -60
  431. package/lib/components/OrderedList/OrderedList.d.ts +39 -0
  432. package/lib/components/OrderedList/OrderedList.js +7 -19
  433. package/lib/components/OrderedList/index.d.ts +7 -0
  434. package/lib/components/OverflowMenu/OverflowMenu.js +65 -86
  435. package/lib/components/OverflowMenuItem/OverflowMenuItem.js +6 -23
  436. package/lib/components/OverflowMenuV2/index.js +0 -5
  437. package/lib/components/Pagination/Pagination.Skeleton.js +0 -2
  438. package/lib/components/Pagination/Pagination.js +11 -47
  439. package/lib/components/Pagination/experimental/PageSelector.js +0 -10
  440. package/lib/components/Pagination/experimental/Pagination.js +2 -67
  441. package/lib/components/PaginationNav/PaginationNav.js +15 -78
  442. package/lib/components/Popover/index.d.ts +14 -8
  443. package/lib/components/Popover/index.js +44 -48
  444. package/lib/components/PrimaryButton/PrimaryButton.js +0 -1
  445. package/lib/components/ProgressBar/ProgressBar.js +0 -15
  446. package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +0 -4
  447. package/lib/components/ProgressIndicator/ProgressIndicator.js +2 -40
  448. package/lib/components/RadioButton/RadioButton.Skeleton.js +0 -1
  449. package/lib/components/RadioButton/RadioButton.js +0 -13
  450. package/lib/components/RadioButtonGroup/RadioButtonGroup.js +3 -23
  451. package/lib/components/RadioTile/RadioTile.js +0 -12
  452. package/lib/components/Search/Search.Skeleton.js +0 -2
  453. package/lib/components/Search/Search.js +1 -28
  454. package/lib/components/SecondaryButton/SecondaryButton.js +0 -1
  455. package/lib/components/Select/Select.Skeleton.js +0 -2
  456. package/lib/components/Select/Select.d.ts +1 -1
  457. package/lib/components/Select/Select.js +6 -33
  458. package/lib/components/SelectItem/SelectItem.js +0 -5
  459. package/lib/components/SelectItemGroup/SelectItemGroup.d.ts +0 -1
  460. package/lib/components/SelectItemGroup/SelectItemGroup.js +1 -26
  461. package/lib/components/SkeletonIcon/SkeletonIcon.js +0 -2
  462. package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +0 -1
  463. package/lib/components/SkeletonText/SkeletonText.js +0 -12
  464. package/lib/components/Slider/Slider.Skeleton.js +0 -2
  465. package/lib/components/Slider/Slider.d.ts +0 -1
  466. package/lib/components/Slider/Slider.js +112 -154
  467. package/lib/components/Stack/Stack.js +1 -8
  468. package/lib/components/StructuredList/StructuredList.Skeleton.js +0 -5
  469. package/lib/components/StructuredList/StructuredList.js +1 -25
  470. package/lib/components/Switch/IconSwitch.js +0 -18
  471. package/lib/components/Switch/Switch.js +0 -11
  472. package/lib/components/TabContent/TabContent.js +2 -6
  473. package/lib/components/Tabs/Tabs.Skeleton.js +0 -4
  474. package/lib/components/Tabs/Tabs.js +133 -102
  475. package/lib/components/Tabs/usePressable.js +18 -31
  476. package/lib/components/Tag/Tag.Skeleton.js +0 -2
  477. package/lib/components/Tag/Tag.js +0 -15
  478. package/lib/components/Text/Text.js +5 -18
  479. package/lib/components/Text/TextDirection.js +0 -3
  480. package/lib/components/Text/TextDirectionContext.js +0 -1
  481. package/lib/components/Text/createTextComponent.js +0 -3
  482. package/lib/components/TextArea/TextArea.Skeleton.js +0 -2
  483. package/lib/components/TextArea/TextArea.js +10 -32
  484. package/lib/components/TextInput/ControlledPasswordInput.js +0 -20
  485. package/lib/components/TextInput/PasswordInput.js +0 -25
  486. package/lib/components/TextInput/TextInput.Skeleton.js +0 -2
  487. package/lib/components/TextInput/TextInput.d.ts +1 -1
  488. package/lib/components/TextInput/TextInput.js +5 -52
  489. package/lib/components/TextInput/util.js +3 -5
  490. package/lib/components/Theme/index.js +1 -6
  491. package/lib/components/Tile/Tile.js +31 -58
  492. package/lib/components/TileGroup/TileGroup.js +1 -22
  493. package/lib/components/TimePicker/TimePicker.js +6 -32
  494. package/lib/components/TimePickerSelect/TimePickerSelect.js +2 -5
  495. package/lib/components/Toggle/Toggle.Skeleton.js +0 -8
  496. package/lib/components/Toggle/Toggle.js +0 -16
  497. package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +0 -7
  498. package/lib/components/Toggletip/index.d.ts +148 -0
  499. package/lib/components/Toggletip/index.js +20 -44
  500. package/lib/components/Tooltip/DefinitionTooltip.js +0 -11
  501. package/lib/components/Tooltip/Tooltip.d.ts +1 -1
  502. package/lib/components/Tooltip/Tooltip.js +4 -21
  503. package/lib/components/TreeView/TreeNode.js +21 -66
  504. package/lib/components/TreeView/TreeView.js +11 -67
  505. package/lib/components/UIShell/Content.js +2 -4
  506. package/lib/components/UIShell/Header.js +0 -2
  507. package/lib/components/UIShell/HeaderContainer.d.ts +33 -0
  508. package/lib/components/UIShell/HeaderContainer.js +13 -11
  509. package/lib/components/UIShell/HeaderGlobalAction.js +0 -6
  510. package/lib/components/UIShell/HeaderGlobalBar.js +0 -1
  511. package/lib/components/UIShell/HeaderMenu.js +32 -31
  512. package/lib/components/UIShell/HeaderMenuButton.js +2 -4
  513. package/lib/components/UIShell/HeaderMenuItem.js +0 -8
  514. package/lib/components/UIShell/HeaderName.js +0 -5
  515. package/lib/components/UIShell/HeaderNavigation.js +0 -2
  516. package/lib/components/UIShell/HeaderPanel.js +0 -2
  517. package/lib/components/UIShell/HeaderSideNavItems.js +0 -2
  518. package/lib/components/UIShell/Link.js +2 -3
  519. package/lib/components/UIShell/SideNav.d.ts +3 -1
  520. package/lib/components/UIShell/SideNav.js +43 -35
  521. package/lib/components/UIShell/SideNavDetails.js +0 -3
  522. package/lib/components/UIShell/SideNavDivider.js +0 -1
  523. package/lib/components/UIShell/SideNavFooter.js +1 -4
  524. package/lib/components/UIShell/SideNavHeader.js +0 -4
  525. package/lib/components/UIShell/SideNavIcon.js +0 -3
  526. package/lib/components/UIShell/SideNavItem.js +0 -3
  527. package/lib/components/UIShell/SideNavItems.js +2 -6
  528. package/lib/components/UIShell/SideNavLink.js +3 -7
  529. package/lib/components/UIShell/SideNavLinkText.js +0 -2
  530. package/lib/components/UIShell/SideNavMenu.js +0 -16
  531. package/lib/components/UIShell/SideNavMenuItem.js +0 -2
  532. package/lib/components/UIShell/SideNavSwitcher.js +2 -5
  533. package/lib/components/UIShell/SkipToContent.d.ts +32 -0
  534. package/lib/components/UIShell/SkipToContent.js +8 -15
  535. package/lib/components/UIShell/Switcher.js +0 -2
  536. package/lib/components/UIShell/SwitcherDivider.js +0 -1
  537. package/lib/components/UIShell/SwitcherItem.js +0 -3
  538. package/lib/components/UnorderedList/UnorderedList.d.ts +34 -0
  539. package/lib/components/UnorderedList/UnorderedList.js +6 -16
  540. package/lib/components/UnorderedList/index.d.ts +7 -0
  541. package/lib/index.js +42 -43
  542. package/lib/internal/ClickListener.js +3 -13
  543. package/lib/internal/FloatingMenu.js +57 -63
  544. package/lib/internal/OptimizedResize.js +6 -12
  545. package/lib/internal/Selection.js +2 -25
  546. package/lib/internal/createClassWrapper.js +0 -2
  547. package/lib/internal/deprecateFieldOnObject.js +0 -4
  548. package/lib/internal/focus/index.js +0 -1
  549. package/lib/internal/keyboard/keys.js +2 -1
  550. package/lib/internal/keyboard/match.js +1 -6
  551. package/lib/internal/keyboard/navigation.js +8 -7
  552. package/lib/internal/useAnnouncer.js +0 -1
  553. package/lib/internal/useAttachedMenu.js +1 -9
  554. package/lib/internal/useControllableState.js +6 -13
  555. package/lib/internal/useDelayedState.js +2 -4
  556. package/lib/internal/useEffectOnce.js +0 -1
  557. package/lib/internal/useEvent.js +61 -2
  558. package/lib/internal/useId.js +2 -5
  559. package/lib/internal/useIsomorphicEffect.js +1 -0
  560. package/lib/internal/useMergedRefs.js +2 -2
  561. package/lib/internal/useNoInteractiveChildren.js +2 -13
  562. package/lib/internal/useNormalizedInputProps.js +0 -3
  563. package/lib/internal/useSavedCallback.js +0 -1
  564. package/lib/internal/warning.js +0 -3
  565. package/lib/internal/wrapFocus.js +1 -8
  566. package/lib/prop-types/deprecate.js +2 -5
  567. package/lib/prop-types/isRequiredOneOf.js +2 -5
  568. package/lib/prop-types/requiredIfGivenPropIsTruthy.js +0 -2
  569. package/lib/tools/array.js +0 -3
  570. package/lib/tools/events.js +0 -3
  571. package/lib/tools/mergeRefs.js +0 -2
  572. package/lib/tools/wrapComponent.js +2 -5
  573. package/package.json +9 -9
  574. package/es/components/Tab/Tab.js +0 -185
  575. package/es/components/Tab/index.js +0 -14
  576. package/es/components/TimePickerSelect/index.js +0 -13
  577. package/lib/components/Form/index.js +0 -17
  578. package/lib/components/Tab/Tab.js +0 -214
  579. package/lib/components/Tab/index.js +0 -39
  580. package/lib/components/TimePickerSelect/index.js +0 -38
@@ -8,7 +8,6 @@
8
8
  import { defineProperty as _defineProperty, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import cx from 'classnames';
10
10
  import PropTypes from 'prop-types';
11
- import * as FeatureFlags from '@carbon/feature-flags';
12
11
  import React__default from 'react';
13
12
  import Filename from './Filename.js';
14
13
  import FileUploaderButton from './FileUploaderButton.js';
@@ -20,49 +19,39 @@ import { Enter, Space } from '../../internal/keyboard/keys.js';
20
19
  class FileUploader extends React__default.Component {
21
20
  constructor() {
22
21
  super(...arguments);
23
-
24
22
  _defineProperty(this, "state", {
25
23
  filenames: []
26
24
  });
27
-
28
25
  _defineProperty(this, "nodes", []);
29
-
30
26
  _defineProperty(this, "uploaderButton", /*#__PURE__*/React__default.createRef());
31
-
32
27
  _defineProperty(this, "handleChange", evt => {
33
28
  evt.stopPropagation();
34
29
  const filenames = Array.prototype.map.call(evt.target.files, file => file.name);
35
30
  this.setState({
36
31
  filenames: this.props.multiple ? this.state.filenames.concat(filenames) : filenames
37
32
  });
38
-
39
33
  if (this.props.onChange) {
40
34
  this.props.onChange(evt);
41
35
  }
42
36
  });
43
-
44
37
  _defineProperty(this, "handleClick", (evt, _ref) => {
45
38
  let {
46
39
  index,
47
40
  filenameStatus
48
41
  } = _ref;
49
-
50
42
  if (filenameStatus === 'edit') {
51
43
  evt.stopPropagation();
52
44
  const filteredArray = this.state.filenames.filter(filename => filename !== this.nodes[index].innerText.trim());
53
45
  this.setState({
54
46
  filenames: filteredArray
55
47
  });
56
-
57
48
  if (this.props.onDelete) {
58
49
  this.props.onDelete(evt);
59
50
  this.uploaderButton.current.focus();
60
51
  }
61
-
62
52
  this.props.onClick(evt);
63
53
  }
64
54
  });
65
-
66
55
  _defineProperty(this, "clearFiles", () => {
67
56
  // A clearFiles function that resets filenames and can be referenced using a ref by the parent.
68
57
  this.setState({
@@ -70,7 +59,6 @@ class FileUploader extends React__default.Component {
70
59
  });
71
60
  });
72
61
  }
73
-
74
62
  static getDerivedStateFromProps(_ref2, state) {
75
63
  let {
76
64
  filenameStatus
@@ -83,7 +71,6 @@ class FileUploader extends React__default.Component {
83
71
  prevFilenameStatus: filenameStatus
84
72
  };
85
73
  }
86
-
87
74
  render() {
88
75
  const {
89
76
  iconDescription,
@@ -107,18 +94,16 @@ class FileUploader extends React__default.Component {
107
94
  [`${prefix}--form-item`]: true,
108
95
  [className]: className
109
96
  });
110
-
111
97
  const getHelperLabelClasses = baseClass => cx(baseClass, {
112
98
  [`${prefix}--label-description--disabled`]: disabled
113
99
  });
114
-
115
100
  const selectedFileClasses = cx(`${prefix}--file__selected-file`, {
116
101
  [`${prefix}--file__selected-file--md`]: size === 'field' || size === 'md',
117
102
  [`${prefix}--file__selected-file--sm`]: size === 'small' || size === 'sm'
118
103
  });
119
104
  return /*#__PURE__*/React__default.createElement("div", _extends({
120
105
  className: classes
121
- }, other), FeatureFlags.enabled('enable-v11-release') && !labelTitle ? null : /*#__PURE__*/React__default.createElement("p", {
106
+ }, other), !labelTitle ? null : /*#__PURE__*/React__default.createElement("p", {
122
107
  className: getHelperLabelClasses(`${prefix}--file--label`)
123
108
  }, labelTitle), /*#__PURE__*/React__default.createElement("p", {
124
109
  className: getHelperLabelClasses(`${prefix}--label-description`)
@@ -139,7 +124,6 @@ class FileUploader extends React__default.Component {
139
124
  key: index,
140
125
  className: selectedFileClasses,
141
126
  ref: node => this.nodes[index] = node // eslint-disable-line
142
-
143
127
  }, other), /*#__PURE__*/React__default.createElement("p", {
144
128
  className: `${prefix}--file-filename`,
145
129
  id: name
@@ -163,96 +147,77 @@ class FileUploader extends React__default.Component {
163
147
  })
164
148
  }))))));
165
149
  }
166
-
167
150
  }
168
-
169
151
  _defineProperty(FileUploader, "propTypes", {
170
152
  /**
171
153
  * Specify the types of files that this input should be able to receive
172
154
  */
173
155
  accept: PropTypes.arrayOf(PropTypes.string),
174
-
175
156
  /**
176
157
  * Specify the type of the `<FileUploaderButton>`
177
158
  */
178
159
  buttonKind: PropTypes.oneOf(ButtonKinds),
179
-
180
160
  /**
181
161
  * Provide the label text to be read by screen readers when interacting with
182
162
  * the `<FileUploaderButton>`
183
163
  */
184
164
  buttonLabel: PropTypes.string,
185
-
186
165
  /**
187
166
  * Provide a custom className to be applied to the container node
188
167
  */
189
168
  className: PropTypes.string,
190
-
191
169
  /**
192
170
  * Specify whether file input is disabled
193
171
  */
194
172
  disabled: PropTypes.bool,
195
-
196
173
  /**
197
174
  * Specify the status of the File Upload
198
175
  */
199
176
  filenameStatus: PropTypes.oneOf(['edit', 'complete', 'uploading']).isRequired,
200
-
201
177
  /**
202
178
  * Provide a description for the complete/close icon that can be read by screen readers
203
179
  */
204
- iconDescription: FeatureFlags.enabled('enable-v11-release') ? PropTypes.string.isRequired : PropTypes.string,
205
-
180
+ iconDescription: PropTypes.string.isRequired,
206
181
  /**
207
182
  * Specify the description text of this `<FileUploader>`
208
183
  */
209
184
  labelDescription: PropTypes.string,
210
-
211
185
  /**
212
186
  * Specify the title text of this `<FileUploader>`
213
187
  */
214
188
  labelTitle: PropTypes.string,
215
-
216
189
  /**
217
190
  * Specify if the component should accept multiple files to upload
218
191
  */
219
192
  multiple: PropTypes.bool,
220
-
221
193
  /**
222
194
  * Provide a name for the underlying `<input>` node
223
195
  */
224
196
  name: PropTypes.string,
225
-
226
197
  /**
227
198
  * Provide an optional `onChange` hook that is called each time the input is
228
199
  * changed
229
200
  */
230
201
  onChange: PropTypes.func,
231
-
232
202
  /**
233
203
  * Provide an optional `onClick` hook that is called each time the
234
204
  * FileUploader is clicked
235
205
  */
236
206
  onClick: PropTypes.func,
237
-
238
207
  /**
239
208
  * Provide an optional `onDelete` hook that is called when an uploaded item
240
209
  * is removed
241
210
  */
242
211
  onDelete: PropTypes.func,
243
-
244
212
  /**
245
213
  * Specify the size of the FileUploaderButton, from a list of available
246
214
  * sizes.
247
215
  */
248
- size: FeatureFlags.enabled('enable-v11-release') ? PropTypes.oneOf(['sm', 'md', 'lg']) : PropTypes.oneOf(['default', 'field', 'small', 'sm', 'md', 'lg'])
216
+ size: PropTypes.oneOf(['sm', 'md', 'lg'])
249
217
  });
250
-
251
218
  _defineProperty(FileUploader, "contextType", PrefixContext);
252
-
253
219
  _defineProperty(FileUploader, "defaultProps", {
254
220
  disabled: false,
255
- iconDescription: FeatureFlags.enabled('enable-v11-release') ? undefined : 'Provide icon description',
256
221
  filenameStatus: 'uploading',
257
222
  buttonLabel: '',
258
223
  buttonKind: 'primary',
@@ -12,13 +12,11 @@ import React__default, { useState, useRef } from 'react';
12
12
  import { ButtonKinds } from '../../prop-types/types.js';
13
13
  import uniqueId from '../../tools/uniqueId.js';
14
14
  import { usePrefix } from '../../internal/usePrefix.js';
15
- import * as FeatureFlags from '@carbon/feature-flags';
16
15
  import deprecate from '../../prop-types/deprecate.js';
17
16
  import { matches } from '../../internal/keyboard/match.js';
18
17
  import { Enter, Space } from '../../internal/keyboard/keys.js';
19
18
 
20
19
  function noop() {}
21
-
22
20
  function FileUploaderButton(_ref) {
23
21
  let {
24
22
  accept,
@@ -49,30 +47,27 @@ function FileUploaderButton(_ref) {
49
47
  // V11: remove field, small
50
48
  [`${prefix}--btn--md`]: size === 'field' || size === 'md',
51
49
  [`${prefix}--btn--sm`]: size === 'small' || size === 'sm'
52
- }); // Adjust label text state based on changes to the labelText prop
50
+ });
53
51
 
52
+ // Adjust label text state based on changes to the labelText prop
54
53
  if (ownerLabelText !== prevOwnerLabelText) {
55
54
  setLabelText(ownerLabelText);
56
55
  setPrevOwnerLabelText(ownerLabelText);
57
56
  }
58
-
59
57
  function onClick(event) {
60
58
  event.target.value = null;
61
59
  inputNode.current.value = '';
62
60
  inputNode.current.click();
63
61
  }
64
-
65
62
  function onKeyDown(event) {
66
63
  if (matches(event, [Enter, Space])) {
67
64
  inputNode.current.value = '';
68
65
  inputNode.current.click();
69
66
  }
70
67
  }
71
-
72
68
  function handleOnChange(event) {
73
69
  const files = event.target.files;
74
70
  const length = event.target.files.length;
75
-
76
71
  if (files && !disableLabelChanges) {
77
72
  if (length > 1) {
78
73
  setLabelText(`${length} files`);
@@ -80,10 +75,8 @@ function FileUploaderButton(_ref) {
80
75
  setLabelText(files[0].name);
81
76
  }
82
77
  }
83
-
84
78
  onChange(event);
85
79
  }
86
-
87
80
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("button", _extends({
88
81
  type: "button",
89
82
  disabled: disabled,
@@ -107,78 +100,64 @@ function FileUploaderButton(_ref) {
107
100
  onChange: handleOnChange
108
101
  }));
109
102
  }
110
-
111
103
  FileUploaderButton.propTypes = {
112
104
  /**
113
105
  * Specify the types of files that this input should be able to receive
114
106
  */
115
107
  accept: PropTypes.arrayOf(PropTypes.string),
116
-
117
108
  /**
118
109
  * Specify the type of underlying button
119
110
  */
120
111
  buttonKind: PropTypes.oneOf(ButtonKinds),
121
-
122
112
  /**
123
113
  * Provide a custom className to be applied to the container node
124
114
  */
125
115
  className: PropTypes.string,
126
-
127
116
  /**
128
117
  * Specify whether you want to disable any updates to the FileUploaderButton
129
118
  * label
130
119
  */
131
120
  disableLabelChanges: PropTypes.bool,
132
-
133
121
  /**
134
122
  * Specify whether file input is disabled
135
123
  */
136
124
  disabled: PropTypes.bool,
137
-
138
125
  /**
139
126
  * Provide a unique id for the underlying `<input>` node
140
127
  */
141
128
  id: PropTypes.string,
142
-
143
129
  /**
144
130
  * Provide the label text to be read by screen readers when interacting with
145
131
  * this control
146
132
  */
147
133
  labelText: PropTypes.node,
148
-
149
134
  /**
150
135
  * Specify if the component should accept multiple files to upload
151
136
  */
152
137
  multiple: PropTypes.bool,
153
-
154
138
  /**
155
139
  * Provide a name for the underlying `<input>` node
156
140
  */
157
141
  name: PropTypes.string,
158
-
159
142
  /**
160
143
  * Provide an optional `onChange` hook that is called each time the `<input>`
161
144
  * value changes
162
145
  */
163
146
  onChange: PropTypes.func,
164
-
165
147
  /**
166
148
  * Provide an optional `onClick` hook that is called each time the button is
167
149
  * clicked
168
150
  */
169
151
  onClick: PropTypes.func,
170
-
171
152
  /**
172
153
  * Provide an accessibility role for the `<FileUploaderButton>`
173
154
  */
174
155
  role: PropTypes.string,
175
-
176
156
  /**
177
157
  * Specify the size of the FileUploaderButton, from a list of available
178
158
  * sizes.
179
159
  */
180
- size: FeatureFlags.enabled('enable-v11-release') ? PropTypes.oneOf(['sm', 'md', 'lg']) : PropTypes.oneOf(['default', 'field', 'small', 'sm', 'md', 'lg']),
181
-
160
+ size: PropTypes.oneOf(['sm', 'md', 'lg']),
182
161
  /**
183
162
  * Provide a custom tabIndex value for the `<FileUploaderButton>`
184
163
  */
@@ -43,18 +43,16 @@ function FileUploaderDropContainer(_ref) {
43
43
  [`${prefix}--file-browse-btn--disabled`]: disabled,
44
44
  [className]: className
45
45
  });
46
+
46
47
  /**
47
48
  * Filters the array of added files based on file type restrictions
48
49
  * @param {Event} event - Event object, used to get the list of files added
49
50
  */
50
-
51
51
  function validateFiles(event) {
52
52
  const transferredFiles = event.type === 'drop' ? [...event.dataTransfer.files] : [...event.target.files];
53
-
54
53
  if (!accept.length) {
55
54
  return transferredFiles;
56
55
  }
57
-
58
56
  const acceptedTypes = new Set(accept);
59
57
  return transferredFiles.reduce((acc, curr) => {
60
58
  const {
@@ -63,67 +61,54 @@ function FileUploaderDropContainer(_ref) {
63
61
  } = curr;
64
62
  const fileExtensionRegExp = new RegExp(pattern, 'i');
65
63
  const hasFileExtension = fileExtensionRegExp.test(name);
66
-
67
64
  if (!hasFileExtension) {
68
65
  return acc;
69
66
  }
70
-
71
67
  const [fileExtension] = name.match(fileExtensionRegExp);
72
-
73
68
  if (acceptedTypes.has(mimeType) || acceptedTypes.has(fileExtension.toLowerCase())) {
74
69
  return acc.concat([curr]);
75
70
  }
76
-
77
71
  curr.invalidFileType = true;
78
72
  return acc.concat([curr]);
79
73
  }, []);
80
74
  }
81
-
82
75
  function handleChange(event) {
83
76
  const addedFiles = validateFiles(event);
84
77
  return onAddFiles(event, {
85
78
  addedFiles
86
79
  });
87
80
  }
88
-
89
81
  const handleClick = () => {
90
82
  if (!disabled) {
91
83
  inputRef.current.click();
92
84
  }
93
85
  };
94
-
95
86
  return /*#__PURE__*/React__default.createElement("div", {
96
87
  className: `${prefix}--file`,
97
88
  onDragOver: evt => {
98
89
  evt.stopPropagation();
99
90
  evt.preventDefault();
100
-
101
91
  if (disabled) {
102
92
  return;
103
93
  }
104
-
105
94
  setActive(true);
106
95
  evt.dataTransfer.dropEffect = 'copy';
107
96
  },
108
97
  onDragLeave: evt => {
109
98
  evt.stopPropagation();
110
99
  evt.preventDefault();
111
-
112
100
  if (disabled) {
113
101
  return;
114
102
  }
115
-
116
103
  setActive(false);
117
104
  evt.dataTransfer.dropEffect = 'move';
118
105
  },
119
106
  onDrop: evt => {
120
107
  evt.stopPropagation();
121
108
  evt.preventDefault();
122
-
123
109
  if (disabled) {
124
110
  return;
125
111
  }
126
-
127
112
  setActive(false);
128
113
  handleChange(evt);
129
114
  }
@@ -157,66 +142,54 @@ function FileUploaderDropContainer(_ref) {
157
142
  }
158
143
  }));
159
144
  }
160
-
161
145
  FileUploaderDropContainer.propTypes = {
162
146
  /**
163
147
  * Specify the types of files that this input should be able to receive
164
148
  */
165
149
  accept: PropTypes.arrayOf(PropTypes.string),
166
-
167
150
  /**
168
151
  * Provide a custom className to be applied to the container node
169
152
  */
170
153
  className: PropTypes.string,
171
-
172
154
  /**
173
155
  * Specify whether file input is disabled
174
156
  */
175
157
  disabled: PropTypes.bool,
176
-
177
158
  /**
178
159
  * Provide a unique id for the underlying `<input>` node
179
160
  */
180
161
  id: PropTypes.string,
181
-
182
162
  /**
183
163
  * Provide the label text to be read by screen readers when interacting with
184
164
  * this control
185
165
  */
186
166
  labelText: PropTypes.string.isRequired,
187
-
188
167
  /**
189
168
  * Specify if the component should accept multiple files to upload
190
169
  */
191
170
  multiple: PropTypes.bool,
192
-
193
171
  /**
194
172
  * Provide a name for the underlying `<input>` node
195
173
  */
196
174
  name: PropTypes.string,
197
-
198
175
  /**
199
176
  * Event handler that is called after files are added to the uploader
200
177
  * The event handler signature looks like `onAddFiles(evt, { addedFiles })`
201
178
  */
202
179
  onAddFiles: PropTypes.func,
203
-
204
180
  /**
205
181
  * Provide an optional function to be called when the button element
206
182
  * is clicked
207
183
  */
208
184
  onClick: PropTypes.func,
209
-
210
185
  /**
211
186
  * Provide a custom regex pattern for the acceptedTypes
212
187
  */
213
188
  pattern: PropTypes.string,
214
-
215
189
  /**
216
190
  * Provide an accessibility role for the `<FileUploaderButton>`
217
191
  */
218
192
  role: deprecate(PropTypes.number, 'The `role` prop for `FileUploaderButton` has ' + 'been deprecated since it now renders a button element by default, and has an implicit role of button.'),
219
-
220
193
  /**
221
194
  * Provide a custom tabIndex value for the `<FileUploaderButton>`
222
195
  */
@@ -12,7 +12,6 @@ import React__default, { useRef } from 'react';
12
12
  import Filename from './Filename.js';
13
13
  import uniqueId from '../../tools/uniqueId.js';
14
14
  import { usePrefix } from '../../internal/usePrefix.js';
15
- import * as FeatureFlags from '@carbon/feature-flags';
16
15
  import { matches } from '../../internal/keyboard/match.js';
17
16
  import { Enter, Space } from '../../internal/keyboard/keys.js';
18
17
 
@@ -76,50 +75,41 @@ function FileUploaderItem(_ref) {
76
75
  className: `${prefix}--form-requirement__supplement`
77
76
  }, errorBody)));
78
77
  }
79
-
80
78
  FileUploaderItem.propTypes = {
81
79
  /**
82
80
  * Error message body for an invalid file upload
83
81
  */
84
82
  errorBody: PropTypes.string,
85
-
86
83
  /**
87
84
  * Error message subject for an invalid file upload
88
85
  */
89
86
  errorSubject: PropTypes.string,
90
-
91
87
  /**
92
88
  * Description of status icon (displayed in native tooltip)
93
89
  */
94
90
  iconDescription: PropTypes.string,
95
-
96
91
  /**
97
92
  * Specify if the currently uploaded file is invalid
98
93
  */
99
94
  invalid: PropTypes.bool,
100
-
101
95
  /**
102
96
  * Name of the uploaded file
103
97
  */
104
98
  name: PropTypes.string,
105
-
106
99
  /**
107
100
  * Event handler that is called after removing a file from the file uploader
108
101
  * The event handler signature looks like `onDelete(evt, { uuid })`
109
102
  */
110
103
  onDelete: PropTypes.func,
111
-
112
104
  /**
113
105
  * Specify the size of the FileUploaderButton, from a list of available
114
106
  * sizes.
115
107
  */
116
- size: FeatureFlags.enabled('enable-v11-release') ? PropTypes.oneOf(['sm', 'md', 'lg']) : PropTypes.oneOf(['default', 'field', 'small', 'sm', 'md', 'lg']),
117
-
108
+ size: PropTypes.oneOf(['sm', 'md', 'lg']),
118
109
  /**
119
110
  * Status of the file upload
120
111
  */
121
112
  status: PropTypes.oneOf(['uploading', 'edit', 'complete']),
122
-
123
113
  /**
124
114
  * Unique identifier for the file object
125
115
  */
@@ -13,7 +13,6 @@ import Loading from '../Loading/Loading.js';
13
13
  import { usePrefix } from '../../internal/usePrefix.js';
14
14
 
15
15
  var _Close;
16
-
17
16
  function Filename(_ref) {
18
17
  let {
19
18
  iconDescription,
@@ -23,7 +22,6 @@ function Filename(_ref) {
23
22
  ...rest
24
23
  } = _ref;
25
24
  const prefix = usePrefix();
26
-
27
25
  switch (status) {
28
26
  case 'uploading':
29
27
  return /*#__PURE__*/React__default.createElement(Loading, {
@@ -31,7 +29,6 @@ function Filename(_ref) {
31
29
  small: true,
32
30
  withOverlay: false
33
31
  });
34
-
35
32
  case 'edit':
36
33
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, invalid && /*#__PURE__*/React__default.createElement(WarningFilled, {
37
34
  className: `${prefix}--file-invalid`
@@ -40,7 +37,6 @@ function Filename(_ref) {
40
37
  className: `${prefix}--file-close`,
41
38
  type: "button"
42
39
  }, rest), _Close || (_Close = /*#__PURE__*/React__default.createElement(Close, null))));
43
-
44
40
  case 'complete':
45
41
  return /*#__PURE__*/React__default.createElement(CheckmarkFilled, _extends({
46
42
  "aria-label": iconDescription,
@@ -48,33 +44,27 @@ function Filename(_ref) {
48
44
  }, rest, {
49
45
  tabIndex: null
50
46
  }), iconDescription && /*#__PURE__*/React__default.createElement("title", null, iconDescription));
51
-
52
47
  default:
53
48
  return null;
54
49
  }
55
50
  }
56
-
57
51
  Filename.propTypes = {
58
52
  /**
59
53
  * Provide a description of the SVG icon to denote file upload status
60
54
  */
61
55
  iconDescription: PropTypes.string,
62
-
63
56
  /**
64
57
  * Specify if the file is invalid
65
58
  */
66
59
  invalid: PropTypes.bool,
67
-
68
60
  /**
69
61
  * Name of the uploaded file
70
62
  */
71
63
  name: PropTypes.string,
72
-
73
64
  /**
74
65
  * Status of the file upload
75
66
  */
76
67
  status: PropTypes.oneOf(['edit', 'complete', 'uploading']),
77
-
78
68
  /**
79
69
  * Provide a custom tabIndex value for the `<Filename>`
80
70
  */
@@ -28,7 +28,6 @@ const FluidComboBoxSkeleton = _ref => {
28
28
  className: `${prefix}--list-box__field`
29
29
  })));
30
30
  };
31
-
32
31
  FluidComboBoxSkeleton.propTypes = {
33
32
  /**
34
33
  * Specify an optional className to add.