@carbon/react 1.83.0 → 1.84.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 (524) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +909 -874
  2. package/README.md +1 -1
  3. package/es/components/AILabel/index.js +27 -30
  4. package/es/components/AISkeleton/AISkeletonIcon.js +4 -5
  5. package/es/components/AISkeleton/AISkeletonPlaceholder.js +4 -5
  6. package/es/components/AISkeleton/AISkeletonText.js +4 -5
  7. package/es/components/Accordion/Accordion.Skeleton.js +9 -10
  8. package/es/components/Accordion/Accordion.js +10 -11
  9. package/es/components/Accordion/AccordionItem.js +13 -14
  10. package/es/components/Accordion/AccordionProvider.js +4 -5
  11. package/es/components/AspectRatio/AspectRatio.js +7 -8
  12. package/es/components/BadgeIndicator/index.js +5 -6
  13. package/es/components/Breadcrumb/Breadcrumb.Skeleton.js +4 -5
  14. package/es/components/Button/Button.Skeleton.js +7 -8
  15. package/es/components/Button/ButtonBase.js +23 -24
  16. package/es/components/ChatButton/ChatButton.Skeleton.js +5 -6
  17. package/es/components/ChatButton/ChatButton.js +11 -12
  18. package/es/components/Checkbox/Checkbox.Skeleton.js +4 -5
  19. package/es/components/Checkbox/Checkbox.js +19 -20
  20. package/es/components/CheckboxGroup/CheckboxGroup.js +16 -17
  21. package/es/components/ClassPrefix/index.js +4 -5
  22. package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +5 -6
  23. package/es/components/CodeSnippet/CodeSnippet.js +25 -26
  24. package/es/components/ComboBox/ComboBox.js +24 -30
  25. package/es/components/ComboBox/tools/filter.js +9 -12
  26. package/es/components/ComboButton/index.js +16 -18
  27. package/es/components/ComposedModal/ComposedModal.js +50 -36
  28. package/es/components/ComposedModal/ModalFooter.js +37 -42
  29. package/es/components/ComposedModal/ModalHeader.js +14 -15
  30. package/es/components/ContainedList/ContainedList.js +10 -11
  31. package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +9 -10
  32. package/es/components/ContentSwitcher/ContentSwitcher.d.ts +9 -29
  33. package/es/components/ContentSwitcher/ContentSwitcher.js +96 -128
  34. package/es/components/ContentSwitcher/index.d.ts +3 -4
  35. package/es/components/ContextMenu/useContextMenu.js +1 -2
  36. package/es/components/Copy/Copy.js +11 -12
  37. package/es/components/CopyButton/CopyButton.js +10 -11
  38. package/es/components/DataTable/DataTable.js +45 -53
  39. package/es/components/DataTable/Table.js +15 -18
  40. package/es/components/DataTable/TableBatchAction.js +8 -11
  41. package/es/components/DataTable/TableBatchActions.js +18 -20
  42. package/es/components/DataTable/TableBody.js +8 -11
  43. package/es/components/DataTable/TableContainer.js +9 -10
  44. package/es/components/DataTable/TableDecoratorRow.js +4 -5
  45. package/es/components/DataTable/TableExpandHeader.js +14 -15
  46. package/es/components/DataTable/TableExpandRow.js +13 -14
  47. package/es/components/DataTable/TableExpandedRow.js +6 -7
  48. package/es/components/DataTable/TableHeader.js +15 -16
  49. package/es/components/DataTable/TableSelectAll.js +11 -12
  50. package/es/components/DataTable/TableSelectRow.js +12 -13
  51. package/es/components/DataTable/TableSlugRow.js +4 -5
  52. package/es/components/DataTable/TableToolbar.js +7 -8
  53. package/es/components/DataTable/TableToolbarMenu.js +8 -9
  54. package/es/components/DataTable/TableToolbarSearch.js +22 -24
  55. package/es/components/DataTable/state/sorting.js +3 -4
  56. package/es/components/DataTable/tools/filter.js +10 -12
  57. package/es/components/DataTable/tools/normalize.js +6 -8
  58. package/es/components/DataTable/tools/sorting.js +24 -30
  59. package/es/components/DataTableSkeleton/DataTableSkeleton.js +11 -12
  60. package/es/components/DatePicker/DatePicker.Skeleton.js +7 -8
  61. package/es/components/DatePicker/DatePicker.js +88 -65
  62. package/es/components/DatePickerInput/DatePickerInput.js +5 -6
  63. package/es/components/Dialog/index.d.ts +193 -8
  64. package/es/components/Dialog/index.js +454 -35
  65. package/es/components/Dropdown/Dropdown.Skeleton.js +6 -7
  66. package/es/components/Dropdown/Dropdown.js +40 -43
  67. package/es/components/ErrorBoundary/ErrorBoundary.js +2 -2
  68. package/es/components/ExpandableSearch/ExpandableSearch.js +9 -10
  69. package/es/components/FeatureFlags/index.js +11 -12
  70. package/es/components/FileUploader/FileUploader.Skeleton.js +4 -5
  71. package/es/components/FileUploader/FileUploader.js +22 -24
  72. package/es/components/FileUploader/FileUploaderButton.js +16 -17
  73. package/es/components/FileUploader/FileUploaderDropContainer.js +15 -16
  74. package/es/components/FileUploader/FileUploaderItem.js +13 -14
  75. package/es/components/FileUploader/Filename.js +9 -10
  76. package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +4 -5
  77. package/es/components/FluidComboBox/FluidComboBox.js +5 -6
  78. package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.js +5 -6
  79. package/es/components/FluidDatePicker/FluidDatePicker.js +10 -11
  80. package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +4 -5
  81. package/es/components/FluidDropdown/FluidDropdown.js +5 -6
  82. package/es/components/FluidForm/FluidForm.js +5 -6
  83. package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +4 -5
  84. package/es/components/FluidMultiSelect/FluidMultiSelect.js +6 -7
  85. package/es/components/FluidNumberInput/FluidNumberInput.Skeleton.js +4 -5
  86. package/es/components/FluidNumberInput/FluidNumberInput.d.ts +40 -1
  87. package/es/components/FluidNumberInput/FluidNumberInput.js +38 -5
  88. package/es/components/FluidSearch/FluidSearch.Skeleton.js +4 -5
  89. package/es/components/FluidSearch/FluidSearch.js +4 -5
  90. package/es/components/FluidSelect/FluidSelect.Skeleton.js +4 -5
  91. package/es/components/FluidSelect/FluidSelect.js +5 -6
  92. package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +4 -5
  93. package/es/components/FluidTextArea/FluidTextArea.js +4 -5
  94. package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +4 -5
  95. package/es/components/FluidTextInput/FluidTextInput.js +5 -6
  96. package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +5 -6
  97. package/es/components/FluidTimePicker/FluidTimePicker.js +11 -12
  98. package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.js +5 -6
  99. package/es/components/Form/Form.js +5 -6
  100. package/es/components/FormGroup/FormGroup.js +11 -12
  101. package/es/components/FormItem/FormItem.js +5 -6
  102. package/es/components/FormLabel/FormLabel.js +6 -7
  103. package/es/components/Grid/CSSGrid.js +17 -19
  104. package/es/components/Grid/Column.js +28 -27
  105. package/es/components/Grid/ColumnHang.js +6 -7
  106. package/es/components/Grid/FlexGrid.js +9 -10
  107. package/es/components/Grid/GridContext.js +5 -6
  108. package/es/components/Grid/Row.js +8 -9
  109. package/es/components/Heading/index.js +5 -6
  110. package/es/components/Icon/Icon.Skeleton.js +4 -5
  111. package/es/components/IconButton/index.js +20 -21
  112. package/es/components/IconIndicator/index.js +7 -8
  113. package/es/components/IdPrefix/index.js +4 -5
  114. package/es/components/InlineLoading/InlineLoading.js +9 -10
  115. package/es/components/Layer/index.js +8 -9
  116. package/es/components/Layout/index.js +21 -26
  117. package/es/components/LayoutDirection/LayoutDirection.js +6 -7
  118. package/es/components/Link/Link.d.ts +1 -1
  119. package/es/components/Link/Link.js +14 -15
  120. package/es/components/ListBox/ListBoxField.js +6 -7
  121. package/es/components/ListBox/ListBoxMenu.js +5 -6
  122. package/es/components/ListBox/ListBoxMenuIcon.js +4 -5
  123. package/es/components/ListBox/ListBoxMenuItem.js +8 -10
  124. package/es/components/ListBox/ListBoxSelection.js +8 -9
  125. package/es/components/ListBox/next/ListBoxSelection.js +9 -10
  126. package/es/components/ListBox/next/ListBoxTrigger.js +5 -6
  127. package/es/components/ListItem/ListItem.js +5 -6
  128. package/es/components/Loading/Loading.js +8 -9
  129. package/es/components/Menu/Menu.js +23 -24
  130. package/es/components/Menu/MenuItem.js +39 -44
  131. package/es/components/MenuButton/index.js +16 -18
  132. package/es/components/Modal/Modal.js +74 -65
  133. package/es/components/ModalWrapper/ModalWrapper.js +2 -2
  134. package/es/components/MultiSelect/FilterableMultiSelect.js +67 -48
  135. package/es/components/MultiSelect/MultiSelect.js +43 -45
  136. package/es/components/MultiSelect/tools/sorting.js +11 -15
  137. package/es/components/Notification/Notification.js +96 -105
  138. package/es/components/NumberInput/NumberFormatPropTypes.d.ts +29 -0
  139. package/es/components/NumberInput/NumberFormatPropTypes.js +40 -0
  140. package/es/components/NumberInput/NumberInput.Skeleton.js +6 -7
  141. package/es/components/NumberInput/NumberInput.d.ts +39 -3
  142. package/es/components/NumberInput/NumberInput.js +174 -44
  143. package/es/components/OrderedList/OrderedList.js +7 -8
  144. package/es/components/OverflowMenu/OverflowMenu.d.ts +1 -1
  145. package/es/components/OverflowMenu/OverflowMenu.js +39 -46
  146. package/es/components/OverflowMenu/next/index.js +12 -13
  147. package/es/components/PageHeader/PageHeader.d.ts +39 -14
  148. package/es/components/PageHeader/PageHeader.js +187 -81
  149. package/es/components/PageHeader/index.d.ts +2 -2
  150. package/es/components/PageHeader/index.js +1 -1
  151. package/es/components/Pagination/Pagination.Skeleton.js +4 -5
  152. package/es/components/Pagination/Pagination.js +24 -25
  153. package/es/components/Pagination/experimental/PageSelector.js +8 -9
  154. package/es/components/Pagination/experimental/Pagination.js +20 -21
  155. package/es/components/PaginationNav/PaginationNav.js +33 -38
  156. package/es/components/Popover/index.js +26 -28
  157. package/es/components/ProgressBar/ProgressBar.js +11 -12
  158. package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +5 -6
  159. package/es/components/ProgressIndicator/ProgressIndicator.js +29 -32
  160. package/es/components/RadioTile/RadioTile.js +17 -18
  161. package/es/components/Search/Search.Skeleton.js +5 -6
  162. package/es/components/Search/Search.js +26 -29
  163. package/es/components/Select/Select.Skeleton.js +5 -6
  164. package/es/components/Select/Select.js +24 -25
  165. package/es/components/SelectItem/SelectItem.js +8 -9
  166. package/es/components/SelectItemGroup/SelectItemGroup.js +7 -8
  167. package/es/components/ShapeIndicator/index.js +7 -8
  168. package/es/components/SkeletonIcon/SkeletonIcon.js +4 -5
  169. package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +4 -5
  170. package/es/components/SkeletonText/SkeletonText.js +8 -9
  171. package/es/components/Slider/Slider.Skeleton.js +8 -9
  172. package/es/components/Slider/Slider.js +75 -83
  173. package/es/components/Slider/SliderHandles.js +6 -6
  174. package/es/components/StructuredList/StructuredList.Skeleton.js +5 -6
  175. package/es/components/Tabs/Tabs.Skeleton.js +5 -6
  176. package/es/components/Tabs/Tabs.js +83 -98
  177. package/es/components/Tabs/usePressable.js +7 -8
  178. package/es/components/Tag/DismissibleTag.js +16 -17
  179. package/es/components/Tag/OperationalTag.js +10 -11
  180. package/es/components/Tag/SelectableTag.js +13 -14
  181. package/es/components/Tag/Tag.Skeleton.js +5 -6
  182. package/es/components/Tag/Tag.js +19 -20
  183. package/es/components/Text/Text.js +6 -7
  184. package/es/components/Text/TextDirection.js +5 -6
  185. package/es/components/TextArea/TextArea.js +7 -7
  186. package/es/components/TextInput/ControlledPasswordInput.js +24 -25
  187. package/es/components/TextInput/PasswordInput.js +26 -27
  188. package/es/components/TextInput/TextInput.Skeleton.js +5 -6
  189. package/es/components/TextInput/TextInput.js +27 -28
  190. package/es/components/TextInput/util.js +14 -17
  191. package/es/components/Theme/index.js +10 -12
  192. package/es/components/Tile/Tile.js +68 -74
  193. package/es/components/TileGroup/TileGroup.d.ts +4 -4
  194. package/es/components/TileGroup/TileGroup.js +45 -53
  195. package/es/components/TileGroup/index.d.ts +3 -3
  196. package/es/components/Toggle/Toggle.Skeleton.js +4 -5
  197. package/es/components/Toggle/Toggle.js +17 -18
  198. package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +6 -7
  199. package/es/components/Toggletip/index.js +33 -39
  200. package/es/components/Tooltip/DefinitionTooltip.js +13 -14
  201. package/es/components/Tooltip/Tooltip.js +15 -16
  202. package/es/components/TreeView/TreeNode.js +20 -21
  203. package/es/components/TreeView/TreeView.js +14 -16
  204. package/es/components/UIShell/Content.js +6 -7
  205. package/es/components/UIShell/Header.js +5 -6
  206. package/es/components/UIShell/HeaderContainer.js +5 -6
  207. package/es/components/UIShell/HeaderGlobalAction.js +12 -13
  208. package/es/components/UIShell/HeaderMenu.d.ts +10 -112
  209. package/es/components/UIShell/HeaderMenu.js +154 -201
  210. package/es/components/UIShell/HeaderMenuButton.js +10 -11
  211. package/es/components/UIShell/HeaderMenuItem.js +12 -12
  212. package/es/components/UIShell/HeaderName.js +6 -7
  213. package/es/components/UIShell/HeaderNavigation.js +7 -8
  214. package/es/components/UIShell/HeaderPanel.js +9 -10
  215. package/es/components/UIShell/HeaderSideNavItems.js +5 -6
  216. package/es/components/UIShell/Link.js +8 -9
  217. package/es/components/UIShell/SideNav.js +23 -25
  218. package/es/components/UIShell/SideNavDetails.js +6 -7
  219. package/es/components/UIShell/SideNavDivider.js +3 -4
  220. package/es/components/UIShell/SideNavFooter.js +6 -7
  221. package/es/components/UIShell/SideNavHeader.js +5 -6
  222. package/es/components/UIShell/SideNavIcon.js +5 -6
  223. package/es/components/UIShell/SideNavItem.js +5 -6
  224. package/es/components/UIShell/SideNavItems.js +5 -6
  225. package/es/components/UIShell/SideNavLink.js +10 -11
  226. package/es/components/UIShell/SideNavLinkText.js +5 -6
  227. package/es/components/UIShell/SideNavMenu.js +11 -12
  228. package/es/components/UIShell/SkipToContent.js +7 -8
  229. package/es/components/UIShell/Switcher.js +4 -5
  230. package/es/components/UIShell/SwitcherDivider.js +4 -5
  231. package/es/components/UnorderedList/UnorderedList.js +6 -7
  232. package/es/index.js +3 -3
  233. package/es/internal/FloatingMenu.js +26 -28
  234. package/es/internal/Selection.js +15 -17
  235. package/es/internal/getAnnouncement.d.ts +8 -0
  236. package/es/internal/getAnnouncement.js +22 -0
  237. package/es/internal/keyboard/match.js +6 -7
  238. package/es/internal/useControllableState.d.ts +1 -1
  239. package/es/internal/useControllableState.js +8 -9
  240. package/es/internal/useDelayedState.js +1 -2
  241. package/es/internal/useDocumentLang.d.ts +12 -0
  242. package/es/internal/useId.js +2 -4
  243. package/es/internal/useMatchMedia.js +1 -2
  244. package/es/internal/useMergedRefs.d.ts +1 -1
  245. package/es/internal/useNoInteractiveChildren.js +2 -4
  246. package/es/internal/useNormalizedInputProps.js +9 -10
  247. package/es/internal/useOverflowItems.d.ts +29 -0
  248. package/es/internal/useOverflowItems.js +122 -0
  249. package/es/internal/useResizeObserver.js +4 -5
  250. package/es/internal/useSavedCallback.js +1 -3
  251. package/es/internal/wrapFocus.js +20 -29
  252. package/es/prop-types/deprecate.js +1 -4
  253. package/es/prop-types/deprecateValuesWithin.js +1 -4
  254. package/es/prop-types/isRequiredOneOf.js +1 -4
  255. package/es/prop-types/requiredIfGivenPropIsTruthy.js +1 -4
  256. package/es/tools/events.js +1 -4
  257. package/es/tools/mergeRefs.js +9 -14
  258. package/es/tools/uniqueId.js +1 -2
  259. package/es/tools/wrapComponent.js +9 -11
  260. package/lib/components/AILabel/index.js +27 -30
  261. package/lib/components/AISkeleton/AISkeletonIcon.js +4 -5
  262. package/lib/components/AISkeleton/AISkeletonPlaceholder.js +4 -5
  263. package/lib/components/AISkeleton/AISkeletonText.js +4 -5
  264. package/lib/components/Accordion/Accordion.Skeleton.js +9 -10
  265. package/lib/components/Accordion/Accordion.js +10 -11
  266. package/lib/components/Accordion/AccordionItem.js +13 -14
  267. package/lib/components/Accordion/AccordionProvider.js +4 -5
  268. package/lib/components/AspectRatio/AspectRatio.js +7 -8
  269. package/lib/components/BadgeIndicator/index.js +5 -6
  270. package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +4 -5
  271. package/lib/components/Button/Button.Skeleton.js +7 -8
  272. package/lib/components/Button/ButtonBase.js +23 -24
  273. package/lib/components/ChatButton/ChatButton.Skeleton.js +5 -6
  274. package/lib/components/ChatButton/ChatButton.js +11 -12
  275. package/lib/components/Checkbox/Checkbox.Skeleton.js +4 -5
  276. package/lib/components/Checkbox/Checkbox.js +19 -20
  277. package/lib/components/CheckboxGroup/CheckboxGroup.js +16 -17
  278. package/lib/components/ClassPrefix/index.js +4 -5
  279. package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +5 -6
  280. package/lib/components/CodeSnippet/CodeSnippet.js +25 -26
  281. package/lib/components/ComboBox/ComboBox.js +24 -30
  282. package/lib/components/ComboBox/tools/filter.js +9 -12
  283. package/lib/components/ComboButton/index.js +16 -18
  284. package/lib/components/ComposedModal/ComposedModal.js +50 -36
  285. package/lib/components/ComposedModal/ModalFooter.js +37 -42
  286. package/lib/components/ComposedModal/ModalHeader.js +14 -15
  287. package/lib/components/ContainedList/ContainedList.js +10 -11
  288. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +9 -10
  289. package/lib/components/ContentSwitcher/ContentSwitcher.d.ts +9 -29
  290. package/lib/components/ContentSwitcher/ContentSwitcher.js +94 -126
  291. package/lib/components/ContentSwitcher/index.d.ts +3 -4
  292. package/lib/components/ContextMenu/useContextMenu.js +1 -2
  293. package/lib/components/Copy/Copy.js +11 -12
  294. package/lib/components/CopyButton/CopyButton.js +10 -11
  295. package/lib/components/DataTable/DataTable.js +45 -53
  296. package/lib/components/DataTable/Table.js +15 -18
  297. package/lib/components/DataTable/TableBatchAction.js +8 -11
  298. package/lib/components/DataTable/TableBatchActions.js +18 -20
  299. package/lib/components/DataTable/TableBody.js +8 -11
  300. package/lib/components/DataTable/TableContainer.js +9 -10
  301. package/lib/components/DataTable/TableDecoratorRow.js +4 -5
  302. package/lib/components/DataTable/TableExpandHeader.js +14 -15
  303. package/lib/components/DataTable/TableExpandRow.js +13 -14
  304. package/lib/components/DataTable/TableExpandedRow.js +6 -7
  305. package/lib/components/DataTable/TableHeader.js +15 -16
  306. package/lib/components/DataTable/TableSelectAll.js +11 -12
  307. package/lib/components/DataTable/TableSelectRow.js +12 -13
  308. package/lib/components/DataTable/TableSlugRow.js +4 -5
  309. package/lib/components/DataTable/TableToolbar.js +7 -8
  310. package/lib/components/DataTable/TableToolbarMenu.js +8 -9
  311. package/lib/components/DataTable/TableToolbarSearch.js +22 -24
  312. package/lib/components/DataTable/state/sorting.js +3 -4
  313. package/lib/components/DataTable/tools/filter.js +10 -12
  314. package/lib/components/DataTable/tools/normalize.js +6 -8
  315. package/lib/components/DataTable/tools/sorting.js +24 -30
  316. package/lib/components/DataTableSkeleton/DataTableSkeleton.js +11 -12
  317. package/lib/components/DatePicker/DatePicker.Skeleton.js +7 -8
  318. package/lib/components/DatePicker/DatePicker.js +87 -64
  319. package/lib/components/DatePickerInput/DatePickerInput.js +5 -6
  320. package/lib/components/Dialog/index.d.ts +193 -8
  321. package/lib/components/Dialog/index.js +457 -33
  322. package/lib/components/Dropdown/Dropdown.Skeleton.js +6 -7
  323. package/lib/components/Dropdown/Dropdown.js +40 -43
  324. package/lib/components/ErrorBoundary/ErrorBoundary.js +2 -2
  325. package/lib/components/ExpandableSearch/ExpandableSearch.js +9 -10
  326. package/lib/components/FeatureFlags/index.js +11 -12
  327. package/lib/components/FileUploader/FileUploader.Skeleton.js +4 -5
  328. package/lib/components/FileUploader/FileUploader.js +22 -24
  329. package/lib/components/FileUploader/FileUploaderButton.js +16 -17
  330. package/lib/components/FileUploader/FileUploaderDropContainer.js +15 -16
  331. package/lib/components/FileUploader/FileUploaderItem.js +13 -14
  332. package/lib/components/FileUploader/Filename.js +9 -10
  333. package/lib/components/FluidComboBox/FluidComboBox.Skeleton.js +4 -5
  334. package/lib/components/FluidComboBox/FluidComboBox.js +5 -6
  335. package/lib/components/FluidDatePicker/FluidDatePicker.Skeleton.js +5 -6
  336. package/lib/components/FluidDatePicker/FluidDatePicker.js +10 -11
  337. package/lib/components/FluidDropdown/FluidDropdown.Skeleton.js +4 -5
  338. package/lib/components/FluidDropdown/FluidDropdown.js +5 -6
  339. package/lib/components/FluidForm/FluidForm.js +5 -6
  340. package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +4 -5
  341. package/lib/components/FluidMultiSelect/FluidMultiSelect.js +6 -7
  342. package/lib/components/FluidNumberInput/FluidNumberInput.Skeleton.js +4 -5
  343. package/lib/components/FluidNumberInput/FluidNumberInput.d.ts +40 -1
  344. package/lib/components/FluidNumberInput/FluidNumberInput.js +38 -5
  345. package/lib/components/FluidSearch/FluidSearch.Skeleton.js +4 -5
  346. package/lib/components/FluidSearch/FluidSearch.js +4 -5
  347. package/lib/components/FluidSelect/FluidSelect.Skeleton.js +4 -5
  348. package/lib/components/FluidSelect/FluidSelect.js +5 -6
  349. package/lib/components/FluidTextArea/FluidTextArea.Skeleton.js +4 -5
  350. package/lib/components/FluidTextArea/FluidTextArea.js +4 -5
  351. package/lib/components/FluidTextInput/FluidTextInput.Skeleton.js +4 -5
  352. package/lib/components/FluidTextInput/FluidTextInput.js +5 -6
  353. package/lib/components/FluidTimePicker/FluidTimePicker.Skeleton.js +5 -6
  354. package/lib/components/FluidTimePicker/FluidTimePicker.js +11 -12
  355. package/lib/components/FluidTimePickerSelect/FluidTimePickerSelect.js +5 -6
  356. package/lib/components/Form/Form.js +5 -6
  357. package/lib/components/FormGroup/FormGroup.js +11 -12
  358. package/lib/components/FormItem/FormItem.js +5 -6
  359. package/lib/components/FormLabel/FormLabel.js +6 -7
  360. package/lib/components/Grid/CSSGrid.js +17 -19
  361. package/lib/components/Grid/Column.js +28 -27
  362. package/lib/components/Grid/ColumnHang.js +6 -7
  363. package/lib/components/Grid/FlexGrid.js +9 -10
  364. package/lib/components/Grid/GridContext.js +5 -6
  365. package/lib/components/Grid/Row.js +8 -9
  366. package/lib/components/Heading/index.js +5 -6
  367. package/lib/components/Icon/Icon.Skeleton.js +4 -5
  368. package/lib/components/IconButton/index.js +20 -21
  369. package/lib/components/IconIndicator/index.js +7 -8
  370. package/lib/components/IdPrefix/index.js +4 -5
  371. package/lib/components/InlineLoading/InlineLoading.js +9 -10
  372. package/lib/components/Layer/index.js +8 -9
  373. package/lib/components/Layout/index.js +21 -26
  374. package/lib/components/LayoutDirection/LayoutDirection.js +6 -7
  375. package/lib/components/Link/Link.d.ts +1 -1
  376. package/lib/components/Link/Link.js +14 -15
  377. package/lib/components/ListBox/ListBoxField.js +6 -7
  378. package/lib/components/ListBox/ListBoxMenu.js +5 -6
  379. package/lib/components/ListBox/ListBoxMenuIcon.js +4 -5
  380. package/lib/components/ListBox/ListBoxMenuItem.js +8 -10
  381. package/lib/components/ListBox/ListBoxSelection.js +8 -9
  382. package/lib/components/ListBox/next/ListBoxSelection.js +9 -10
  383. package/lib/components/ListBox/next/ListBoxTrigger.js +5 -6
  384. package/lib/components/ListItem/ListItem.js +5 -6
  385. package/lib/components/Loading/Loading.js +8 -9
  386. package/lib/components/Menu/Menu.js +23 -24
  387. package/lib/components/Menu/MenuItem.js +39 -44
  388. package/lib/components/MenuButton/index.js +16 -18
  389. package/lib/components/Modal/Modal.js +74 -65
  390. package/lib/components/ModalWrapper/ModalWrapper.js +2 -2
  391. package/lib/components/MultiSelect/FilterableMultiSelect.js +66 -47
  392. package/lib/components/MultiSelect/MultiSelect.js +43 -45
  393. package/lib/components/MultiSelect/tools/sorting.js +11 -15
  394. package/lib/components/Notification/Notification.js +96 -105
  395. package/lib/components/NumberInput/NumberFormatPropTypes.d.ts +29 -0
  396. package/lib/components/NumberInput/NumberFormatPropTypes.js +48 -0
  397. package/lib/components/NumberInput/NumberInput.Skeleton.js +6 -7
  398. package/lib/components/NumberInput/NumberInput.d.ts +39 -3
  399. package/lib/components/NumberInput/NumberInput.js +173 -43
  400. package/lib/components/OrderedList/OrderedList.js +7 -8
  401. package/lib/components/OverflowMenu/OverflowMenu.d.ts +1 -1
  402. package/lib/components/OverflowMenu/OverflowMenu.js +39 -46
  403. package/lib/components/OverflowMenu/next/index.js +12 -13
  404. package/lib/components/PageHeader/PageHeader.d.ts +39 -14
  405. package/lib/components/PageHeader/PageHeader.js +185 -81
  406. package/lib/components/PageHeader/index.d.ts +2 -2
  407. package/lib/components/PageHeader/index.js +0 -2
  408. package/lib/components/Pagination/Pagination.Skeleton.js +4 -5
  409. package/lib/components/Pagination/Pagination.js +24 -25
  410. package/lib/components/Pagination/experimental/PageSelector.js +8 -9
  411. package/lib/components/Pagination/experimental/Pagination.js +20 -21
  412. package/lib/components/PaginationNav/PaginationNav.js +33 -38
  413. package/lib/components/Popover/index.js +26 -28
  414. package/lib/components/ProgressBar/ProgressBar.js +11 -12
  415. package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +5 -6
  416. package/lib/components/ProgressIndicator/ProgressIndicator.js +29 -32
  417. package/lib/components/RadioTile/RadioTile.js +17 -18
  418. package/lib/components/Search/Search.Skeleton.js +5 -6
  419. package/lib/components/Search/Search.js +26 -29
  420. package/lib/components/Select/Select.Skeleton.js +5 -6
  421. package/lib/components/Select/Select.js +24 -25
  422. package/lib/components/SelectItem/SelectItem.js +8 -9
  423. package/lib/components/SelectItemGroup/SelectItemGroup.js +7 -8
  424. package/lib/components/ShapeIndicator/index.js +7 -8
  425. package/lib/components/SkeletonIcon/SkeletonIcon.js +4 -5
  426. package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +4 -5
  427. package/lib/components/SkeletonText/SkeletonText.js +8 -9
  428. package/lib/components/Slider/Slider.Skeleton.js +8 -9
  429. package/lib/components/Slider/Slider.js +75 -83
  430. package/lib/components/Slider/SliderHandles.js +6 -6
  431. package/lib/components/StructuredList/StructuredList.Skeleton.js +5 -6
  432. package/lib/components/Tabs/Tabs.Skeleton.js +5 -6
  433. package/lib/components/Tabs/Tabs.js +83 -98
  434. package/lib/components/Tabs/usePressable.js +7 -8
  435. package/lib/components/Tag/DismissibleTag.js +16 -17
  436. package/lib/components/Tag/OperationalTag.js +10 -11
  437. package/lib/components/Tag/SelectableTag.js +13 -14
  438. package/lib/components/Tag/Tag.Skeleton.js +5 -6
  439. package/lib/components/Tag/Tag.js +19 -20
  440. package/lib/components/Text/Text.js +6 -7
  441. package/lib/components/Text/TextDirection.js +5 -6
  442. package/lib/components/TextArea/TextArea.js +7 -7
  443. package/lib/components/TextInput/ControlledPasswordInput.js +24 -25
  444. package/lib/components/TextInput/PasswordInput.js +26 -27
  445. package/lib/components/TextInput/TextInput.Skeleton.js +5 -6
  446. package/lib/components/TextInput/TextInput.js +27 -28
  447. package/lib/components/TextInput/util.js +14 -17
  448. package/lib/components/Theme/index.js +10 -12
  449. package/lib/components/Tile/Tile.js +68 -74
  450. package/lib/components/TileGroup/TileGroup.d.ts +4 -4
  451. package/lib/components/TileGroup/TileGroup.js +44 -52
  452. package/lib/components/TileGroup/index.d.ts +3 -3
  453. package/lib/components/Toggle/Toggle.Skeleton.js +4 -5
  454. package/lib/components/Toggle/Toggle.js +17 -18
  455. package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +6 -7
  456. package/lib/components/Toggletip/index.js +33 -39
  457. package/lib/components/Tooltip/DefinitionTooltip.js +13 -14
  458. package/lib/components/Tooltip/Tooltip.js +15 -16
  459. package/lib/components/TreeView/TreeNode.js +20 -21
  460. package/lib/components/TreeView/TreeView.js +14 -16
  461. package/lib/components/UIShell/Content.js +6 -7
  462. package/lib/components/UIShell/Header.js +5 -6
  463. package/lib/components/UIShell/HeaderContainer.js +5 -6
  464. package/lib/components/UIShell/HeaderGlobalAction.js +12 -13
  465. package/lib/components/UIShell/HeaderMenu.d.ts +10 -112
  466. package/lib/components/UIShell/HeaderMenu.js +152 -199
  467. package/lib/components/UIShell/HeaderMenuButton.js +10 -11
  468. package/lib/components/UIShell/HeaderMenuItem.js +12 -12
  469. package/lib/components/UIShell/HeaderName.js +6 -7
  470. package/lib/components/UIShell/HeaderNavigation.js +7 -8
  471. package/lib/components/UIShell/HeaderPanel.js +9 -10
  472. package/lib/components/UIShell/HeaderSideNavItems.js +5 -6
  473. package/lib/components/UIShell/Link.js +8 -9
  474. package/lib/components/UIShell/SideNav.js +23 -25
  475. package/lib/components/UIShell/SideNavDetails.js +6 -7
  476. package/lib/components/UIShell/SideNavDivider.js +3 -4
  477. package/lib/components/UIShell/SideNavFooter.js +6 -7
  478. package/lib/components/UIShell/SideNavHeader.js +5 -6
  479. package/lib/components/UIShell/SideNavIcon.js +5 -6
  480. package/lib/components/UIShell/SideNavItem.js +5 -6
  481. package/lib/components/UIShell/SideNavItems.js +5 -6
  482. package/lib/components/UIShell/SideNavLink.js +10 -11
  483. package/lib/components/UIShell/SideNavLinkText.js +5 -6
  484. package/lib/components/UIShell/SideNavMenu.js +11 -12
  485. package/lib/components/UIShell/SkipToContent.js +7 -8
  486. package/lib/components/UIShell/Switcher.js +4 -5
  487. package/lib/components/UIShell/SwitcherDivider.js +4 -5
  488. package/lib/components/UnorderedList/UnorderedList.js +6 -7
  489. package/lib/index.js +36 -36
  490. package/lib/internal/FloatingMenu.js +26 -28
  491. package/lib/internal/Selection.js +15 -17
  492. package/lib/internal/getAnnouncement.d.ts +8 -0
  493. package/lib/internal/getAnnouncement.js +26 -0
  494. package/lib/internal/keyboard/match.js +6 -7
  495. package/lib/internal/useControllableState.d.ts +1 -1
  496. package/lib/internal/useControllableState.js +8 -9
  497. package/lib/internal/useDelayedState.js +1 -2
  498. package/lib/internal/useDocumentLang.d.ts +12 -0
  499. package/lib/internal/useId.js +2 -4
  500. package/lib/internal/useMatchMedia.js +1 -2
  501. package/lib/internal/useMergedRefs.d.ts +1 -1
  502. package/lib/internal/useNoInteractiveChildren.js +2 -4
  503. package/lib/internal/useNormalizedInputProps.js +9 -10
  504. package/lib/internal/useOverflowItems.d.ts +29 -0
  505. package/lib/internal/useOverflowItems.js +126 -0
  506. package/lib/internal/useResizeObserver.js +4 -5
  507. package/lib/internal/useSavedCallback.js +1 -3
  508. package/lib/internal/wrapFocus.js +20 -29
  509. package/lib/prop-types/deprecate.js +1 -4
  510. package/lib/prop-types/deprecateValuesWithin.js +1 -4
  511. package/lib/prop-types/isRequiredOneOf.js +1 -4
  512. package/lib/prop-types/requiredIfGivenPropIsTruthy.js +1 -4
  513. package/lib/tools/events.js +1 -4
  514. package/lib/tools/mergeRefs.js +9 -14
  515. package/lib/tools/uniqueId.js +1 -2
  516. package/lib/tools/wrapComponent.js +9 -11
  517. package/package.json +21 -19
  518. package/telemetry.yml +25 -1
  519. package/es/components/ContentSwitcher/index.js +0 -13
  520. package/es/feature-flags.d.ts +0 -7
  521. package/es/internal/useAnnouncer.js +0 -21
  522. package/lib/components/ContentSwitcher/index.js +0 -18
  523. package/lib/feature-flags.d.ts +0 -7
  524. package/lib/internal/useAnnouncer.js +0 -25
@@ -16,7 +16,7 @@ import carbonFlatpickrAppendToPlugin from './plugins/appendToPlugin.js';
16
16
  import carbonFlatpickrFixEventsPlugin from './plugins/fixEventsPlugin.js';
17
17
  import carbonFlatpickrRangePlugin from './plugins/rangePlugin.js';
18
18
  import deprecate from '../../prop-types/deprecate.js';
19
- import { Escape, ArrowDown, Enter, Tab } from '../../internal/keyboard/keys.js';
19
+ import { Escape, Tab, Enter } from '../../internal/keyboard/keys.js';
20
20
  import { match } from '../../internal/keyboard/match.js';
21
21
  import { usePrefix } from '../../internal/usePrefix.js';
22
22
  import { useSavedCallback } from '../../internal/useSavedCallback.js';
@@ -132,35 +132,34 @@ function updateClassNames(calendar, prefix) {
132
132
  });
133
133
  }
134
134
  }
135
- const DatePicker = /*#__PURE__*/React.forwardRef(function DatePicker(_ref, ref) {
136
- let {
137
- allowInput,
138
- appendTo,
139
- children,
140
- className,
141
- closeOnSelect = true,
142
- dateFormat = 'm/d/Y',
143
- datePickerType,
144
- disable,
145
- enable,
146
- inline,
147
- invalid,
148
- invalidText,
149
- warn,
150
- warnText,
151
- light = false,
152
- locale = 'en',
153
- maxDate,
154
- minDate,
155
- onChange,
156
- onClose,
157
- onOpen,
158
- readOnly = false,
159
- short = false,
160
- value,
161
- parseDate: parseDateProp,
162
- ...rest
163
- } = _ref;
135
+ const DatePicker = /*#__PURE__*/React.forwardRef(function DatePicker({
136
+ allowInput,
137
+ appendTo,
138
+ children,
139
+ className,
140
+ closeOnSelect = true,
141
+ dateFormat = 'm/d/Y',
142
+ datePickerType,
143
+ disable,
144
+ enable,
145
+ inline,
146
+ invalid,
147
+ invalidText,
148
+ warn,
149
+ warnText,
150
+ light = false,
151
+ locale = 'en',
152
+ maxDate,
153
+ minDate,
154
+ onChange,
155
+ onClose,
156
+ onOpen,
157
+ readOnly = false,
158
+ short = false,
159
+ value,
160
+ parseDate: parseDateProp,
161
+ ...rest
162
+ }, ref) {
164
163
  const prefix = usePrefix();
165
164
  const {
166
165
  isFluid
@@ -208,6 +207,7 @@ const DatePicker = /*#__PURE__*/React.forwardRef(function DatePicker(_ref, ref)
208
207
  }
209
208
  }, [calendarCloseEvent, handleCalendarClose]);
210
209
  const endInputField = useRef(null);
210
+ const lastFocusedField = useRef(null);
211
211
  const savedOnChange = useSavedCallback(onChange);
212
212
  const savedOnOpen = useSavedCallback(onOpen);
213
213
  const datePickerClasses = cx(`${prefix}--date-picker`, {
@@ -356,40 +356,68 @@ const DatePicker = /*#__PURE__*/React.forwardRef(function DatePicker(_ref, ref)
356
356
  noCalendar: readOnly,
357
357
  nextArrow: rightArrowHTML,
358
358
  prevArrow: leftArrowHTML,
359
- onChange: function () {
359
+ onChange: (...args) => {
360
360
  if (!readOnly) {
361
- savedOnChange(...arguments);
361
+ savedOnChange(...args);
362
362
  }
363
363
  },
364
364
  onReady: onHook,
365
365
  onMonthChange: onHook,
366
366
  onYearChange: onHook,
367
- onOpen: function () {
368
- onHook(...arguments);
369
- savedOnOpen(...arguments);
367
+ onOpen: (...args) => {
368
+ onHook(...args);
369
+ savedOnOpen(...args);
370
370
  },
371
371
  onValueUpdate: onHook
372
372
  };
373
373
  const calendar = flatpickr(start, flatpickerConfig);
374
374
  calendarRef.current = calendar;
375
- function handleArrowDown(event) {
375
+ const handleInputFieldKeyDown = event => {
376
+ const {
377
+ calendarContainer,
378
+ selectedDateElem: fpSelectedDateElem,
379
+ todayDateElem: fpTodayDateElem
380
+ } = calendar;
376
381
  if (match(event, Escape)) {
377
- calendar?.calendarContainer?.classList.remove('open');
382
+ calendarContainer.classList.remove('open');
378
383
  }
379
- if (match(event, ArrowDown)) {
380
- if (event.target == endInputField.current) {
381
- calendar?.calendarContainer?.classList.add('open');
384
+ if (match(event, Tab)) {
385
+ if (!event.shiftKey) {
386
+ event.preventDefault();
387
+ calendarContainer.classList.add('open');
388
+ const selectedDateElem = calendarContainer.querySelector('.selected') && fpSelectedDateElem;
389
+ const todayDateElem = calendarContainer.querySelector('.today') && fpTodayDateElem;
390
+ (selectedDateElem || todayDateElem || calendarContainer.querySelector('.flatpickr-day[tabindex]') || calendarContainer).focus();
391
+ if (event.target === startInputField.current) {
392
+ lastFocusedField.current = startInputField.current;
393
+ } else if (event.target === endInputField.current) {
394
+ lastFocusedField.current = endInputField.current;
395
+ }
396
+ } else if (calendarRef.current?.isOpen && event.target === startInputField.current) {
397
+ calendarRef.current.close();
398
+ onCalendarClose(calendarRef.current.selectedDates, '', calendarRef.current, event);
382
399
  }
383
- const {
384
- calendarContainer,
385
- selectedDateElem: fpSelectedDateElem,
386
- todayDateElem: fpTodayDateElem
387
- } = calendar;
388
- const selectedDateElem = calendarContainer.querySelector('.selected') && fpSelectedDateElem;
389
- const todayDateElem = calendarContainer.querySelector('.today') && fpTodayDateElem;
390
- (selectedDateElem || todayDateElem || calendarContainer.querySelector('.flatpickr-day[tabindex]') || calendarContainer).focus();
391
400
  }
392
- }
401
+ };
402
+ const handleCalendarKeyDown = event => {
403
+ if (!calendarRef.current || !startInputField.current) return;
404
+ const lastInputField = datePickerType == 'range' ? endInputField.current : startInputField.current;
405
+ if (match(event, Tab)) {
406
+ if (!event.shiftKey) {
407
+ if (lastFocusedField.current === lastInputField) {
408
+ lastInputField.focus();
409
+ calendarRef.current.close();
410
+ onCalendarClose(calendarRef.current.selectedDates, '', calendarRef.current, event);
411
+ } else {
412
+ event.preventDefault();
413
+ lastInputField.focus();
414
+ }
415
+ } else {
416
+ event.preventDefault();
417
+ (lastFocusedField.current || startInputField.current).focus();
418
+ }
419
+ }
420
+ };
393
421
  function handleOnChange(event) {
394
422
  const {
395
423
  target
@@ -413,7 +441,7 @@ const DatePicker = /*#__PURE__*/React.forwardRef(function DatePicker(_ref, ref)
413
441
  }
414
442
  }
415
443
  if (start) {
416
- start.addEventListener('keydown', handleArrowDown);
444
+ start.addEventListener('keydown', handleInputFieldKeyDown);
417
445
  start.addEventListener('change', handleOnChange);
418
446
  start.addEventListener('keypress', handleKeyPress);
419
447
  if (calendar && calendar.calendarContainer) {
@@ -426,10 +454,13 @@ const DatePicker = /*#__PURE__*/React.forwardRef(function DatePicker(_ref, ref)
426
454
  }
427
455
  }
428
456
  if (end) {
429
- end.addEventListener('keydown', handleArrowDown);
457
+ end.addEventListener('keydown', handleInputFieldKeyDown);
430
458
  end.addEventListener('change', handleOnChange);
431
459
  end.addEventListener('keypress', handleKeyPress);
432
460
  }
461
+ if (calendar.calendarContainer) {
462
+ calendar.calendarContainer.addEventListener('keydown', handleCalendarKeyDown);
463
+ }
433
464
 
434
465
  //component did unmount equivalent
435
466
  return () => {
@@ -450,14 +481,17 @@ const DatePicker = /*#__PURE__*/React.forwardRef(function DatePicker(_ref, ref)
450
481
  }
451
482
  }
452
483
  if (start) {
453
- start.removeEventListener('keydown', handleArrowDown);
484
+ start.removeEventListener('keydown', handleInputFieldKeyDown);
454
485
  start.removeEventListener('change', handleOnChange);
455
486
  start.removeEventListener('keypress', handleKeyPress);
456
487
  }
457
488
  if (end) {
458
- end.removeEventListener('keydown', handleArrowDown);
489
+ end.removeEventListener('keydown', handleInputFieldKeyDown);
459
490
  end.removeEventListener('change', handleOnChange);
460
- end.removeEventListener('change', handleKeyPress);
491
+ end.removeEventListener('keypress', handleKeyPress);
492
+ }
493
+ if (calendar.calendarContainer) {
494
+ calendar.calendarContainer.removeEventListener('keydown', handleCalendarKeyDown);
461
495
  }
462
496
  };
463
497
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -554,17 +588,6 @@ const DatePicker = /*#__PURE__*/React.forwardRef(function DatePicker(_ref, ref)
554
588
  }
555
589
  }, [value, prefix]); //eslint-disable-line react-hooks/exhaustive-deps
556
590
 
557
- useEffect(() => {
558
- if (!calendarRef.current || !startInputField.current) return;
559
- const handleKeyDown = event => {
560
- if (match(event, Tab) && !event.shiftKey && document.activeElement === endInputField.current && calendarRef.current?.isOpen) {
561
- calendarRef.current.close();
562
- onCalendarClose(calendarRef.current.selectedDates, '', calendarRef.current, event);
563
- }
564
- };
565
- document.addEventListener('keydown', handleKeyDown, true);
566
- return () => document.removeEventListener('keydown', handleKeyDown, true);
567
- }, [calendarRef, startInputField, endInputField, onCalendarClose]);
568
591
  let fluidError;
569
592
  if (isFluid) {
570
593
  if (invalid) {
@@ -227,12 +227,11 @@ DatePickerInput.propTypes = {
227
227
  */
228
228
  warnText: PropTypes.node
229
229
  };
230
- function DatePickerIcon(_ref) {
231
- let {
232
- datePickerType,
233
- invalid,
234
- warn
235
- } = _ref;
230
+ function DatePickerIcon({
231
+ datePickerType,
232
+ invalid,
233
+ warn
234
+ }) {
236
235
  const prefix = usePrefix();
237
236
  const {
238
237
  isFluid
@@ -5,7 +5,13 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import React, { type HTMLAttributes } from 'react';
8
- export interface DialogProps extends HTMLAttributes<HTMLDialogElement> {
8
+ import { InlineLoadingStatus } from '../InlineLoading/InlineLoading';
9
+ /**
10
+ * ----------
11
+ * Dialog
12
+ * ----------
13
+ */
14
+ interface DialogProps extends HTMLAttributes<HTMLDialogElement> {
9
15
  /**
10
16
  * Provide the contents of the Dialog
11
17
  */
@@ -42,26 +48,205 @@ export interface DialogProps extends HTMLAttributes<HTMLDialogElement> {
42
48
  * Specify whether the Dialog is currently open
43
49
  */
44
50
  open?: boolean;
51
+ /**
52
+ * Specify the role of the dialog for accessibility
53
+ * 'dialog' is the default, but 'alertdialog' can be used for important messages requiring user attention
54
+ */
55
+ role?: '' | 'alertdialog';
56
+ /**
57
+ * Specify a label for screen readers
58
+ */
59
+ ariaLabel?: string;
60
+ /**
61
+ * Specify the ID of an element that labels this dialog
62
+ */
63
+ ariaLabelledBy?: string;
64
+ /**
65
+ * Specify the ID of an element that describes this dialog
66
+ */
67
+ ariaDescribedBy?: string;
45
68
  }
46
- export declare const unstable__Dialog: React.ForwardRefExoticComponent<DialogProps & React.RefAttributes<unknown>>;
47
- export interface DialogHeaderProps extends HTMLAttributes<HTMLDivElement> {
69
+ declare const unstable__Dialog: React.ForwardRefExoticComponent<DialogProps & React.RefAttributes<unknown>>;
70
+ /**
71
+ * -------------
72
+ * DialogHeader
73
+ * -------------
74
+ */
75
+ interface DialogHeaderProps extends HTMLAttributes<HTMLDivElement> {
48
76
  /**
49
77
  * Provide the contents to be rendered inside of this component
50
78
  */
51
79
  children?: React.ReactNode;
52
80
  }
53
- export declare const DialogHeader: React.ForwardRefExoticComponent<DialogHeaderProps & React.RefAttributes<HTMLDivElement>>;
54
- export interface DialogControlsProps extends HTMLAttributes<HTMLDivElement> {
81
+ declare const DialogHeader: React.ForwardRefExoticComponent<DialogHeaderProps & React.RefAttributes<HTMLDivElement>>;
82
+ /**
83
+ * ---------------
84
+ * DialogControls
85
+ * ---------------
86
+ */
87
+ interface DialogControlsProps extends HTMLAttributes<HTMLDivElement> {
55
88
  /**
56
89
  * Provide the contents to be rendered inside of this component
57
90
  */
58
91
  children?: React.ReactNode;
59
92
  }
60
- export declare const DialogControls: React.ForwardRefExoticComponent<DialogControlsProps & React.RefAttributes<HTMLDivElement>>;
61
- export interface DialogCloseButtonProps extends HTMLAttributes<HTMLDivElement> {
93
+ declare const DialogControls: React.ForwardRefExoticComponent<DialogControlsProps & React.RefAttributes<HTMLDivElement>>;
94
+ /**
95
+ * -------------------
96
+ * DialogCloseButton
97
+ * -------------------
98
+ */
99
+ interface DialogCloseButtonProps extends HTMLAttributes<HTMLDivElement> {
62
100
  /**
63
101
  * Specify a click handler applied to the IconButton
64
102
  */
65
103
  onClick?: React.MouseEventHandler;
66
104
  }
67
- export declare const DialogCloseButton: React.ForwardRefExoticComponent<DialogCloseButtonProps & React.RefAttributes<HTMLDivElement>>;
105
+ declare const DialogCloseButton: React.ForwardRefExoticComponent<DialogCloseButtonProps & React.RefAttributes<HTMLDivElement>>;
106
+ /**
107
+ * ------------
108
+ * DialogTitle
109
+ * ------------
110
+ */
111
+ interface DialogTitleProps extends HTMLAttributes<HTMLHeadingElement> {
112
+ /**
113
+ * Provide the contents of the DialogTitle
114
+ */
115
+ children?: React.ReactNode;
116
+ /**
117
+ * Specify an optional className to be applied to the title node
118
+ */
119
+ className?: string;
120
+ /**
121
+ * Specify an optional id for the title element
122
+ */
123
+ id?: string;
124
+ }
125
+ declare const DialogTitle: React.ForwardRefExoticComponent<DialogTitleProps & React.RefAttributes<HTMLHeadingElement>>;
126
+ /**
127
+ * ---------------
128
+ * DialogSubtitle
129
+ * ---------------
130
+ */
131
+ interface DialogSubtitleProps extends HTMLAttributes<HTMLParagraphElement> {
132
+ /**
133
+ * Provide the contents of the DialogSubtitle
134
+ */
135
+ children?: React.ReactNode;
136
+ /**
137
+ * Specify an optional className to be applied to the subtitle node
138
+ */
139
+ className?: string;
140
+ /**
141
+ * Specify an optional id for the subtitle element
142
+ */
143
+ id?: string;
144
+ }
145
+ declare const DialogSubtitle: React.ForwardRefExoticComponent<DialogSubtitleProps & React.RefAttributes<HTMLParagraphElement>>;
146
+ /**
147
+ * -----------
148
+ * DialogBody
149
+ * -----------
150
+ */
151
+ interface DialogBodyProps extends HTMLAttributes<HTMLDivElement> {
152
+ /**
153
+ * Provide the contents of the DialogBody
154
+ */
155
+ children?: React.ReactNode;
156
+ /**
157
+ * Specify an optional className to be applied to the body node
158
+ */
159
+ className?: string;
160
+ /**
161
+ * Specify whether the content has overflow that should be scrollable
162
+ */
163
+ hasScrollingContent?: boolean;
164
+ }
165
+ declare const DialogBody: React.ForwardRefExoticComponent<DialogBodyProps & React.RefAttributes<HTMLDivElement>>;
166
+ /**
167
+ * -------------
168
+ * DialogFooter
169
+ * -------------
170
+ */
171
+ interface DialogFooterProps extends HTMLAttributes<HTMLDivElement> {
172
+ /**
173
+ * Provide the contents of the DialogFooter
174
+ */
175
+ children?: React.ReactNode;
176
+ /**
177
+ * Specify an optional className to be applied to the footer node
178
+ */
179
+ className?: string;
180
+ /**
181
+ * Specify a handler for closing dialog (secondary button)
182
+ */
183
+ onRequestClose?: React.ReactEventHandler<HTMLElement>;
184
+ /**
185
+ * Specify a handler for the secondary button.
186
+ * Useful if separate handler from `onRequestClose` is desirable
187
+ */
188
+ onSecondarySubmit?: React.ReactEventHandler<HTMLElement>;
189
+ /**
190
+ * Specify a handler for submitting dialog (primary button)
191
+ */
192
+ onRequestSubmit?: React.ReactEventHandler<HTMLElement>;
193
+ /**
194
+ * Specify the text for the primary button
195
+ */
196
+ primaryButtonText?: React.ReactNode;
197
+ /**
198
+ * Specify whether the Button should be disabled, or not
199
+ */
200
+ primaryButtonDisabled?: boolean;
201
+ /**
202
+ * Specify the text for the secondary button
203
+ */
204
+ secondaryButtonText?: React.ReactNode;
205
+ /**
206
+ * Specify an array of config objects for secondary buttons
207
+ */
208
+ secondaryButtons?: Array<{
209
+ buttonText: React.ReactNode;
210
+ onClick: React.MouseEventHandler<HTMLButtonElement>;
211
+ }>;
212
+ /**
213
+ * Specify whether the Dialog is for dangerous actions
214
+ */
215
+ danger?: boolean;
216
+ /**
217
+ * Specify loading status
218
+ */
219
+ loadingStatus?: InlineLoadingStatus;
220
+ /**
221
+ * Specify the description for the loading text
222
+ */
223
+ loadingDescription?: string;
224
+ /**
225
+ * Specify the description for the loading icon
226
+ */
227
+ loadingIconDescription?: string;
228
+ /**
229
+ * Specify an optional handler to be invoked when loading is
230
+ * successful
231
+ */
232
+ onLoadingSuccess?: () => void;
233
+ }
234
+ declare const DialogFooter: React.ForwardRefExoticComponent<DialogFooterProps & React.RefAttributes<HTMLDivElement>>;
235
+ /**
236
+ * -------
237
+ * Exports
238
+ * -------
239
+ */
240
+ type DialogComponentType = typeof unstable__Dialog & {
241
+ Root: typeof unstable__Dialog;
242
+ Header: typeof DialogHeader;
243
+ Controls: typeof DialogControls;
244
+ CloseButton: typeof DialogCloseButton;
245
+ Title: typeof DialogTitle;
246
+ Subtitle: typeof DialogSubtitle;
247
+ Body: typeof DialogBody;
248
+ Footer: typeof DialogFooter;
249
+ };
250
+ declare const Dialog: DialogComponentType;
251
+ export { Dialog, unstable__Dialog, DialogHeader, DialogControls, DialogCloseButton, DialogTitle, DialogSubtitle, DialogBody, DialogFooter, };
252
+ export type { DialogProps, DialogHeaderProps, DialogControlsProps, DialogCloseButtonProps, DialogTitleProps, DialogSubtitleProps, DialogBodyProps, DialogFooterProps, };