@carbon/react 1.83.0-rc.0 → 1.84.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 (635) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +895 -790
  2. package/README.md +1 -1
  3. package/es/components/AILabel/index.js +37 -40
  4. package/es/components/AISkeleton/AISkeletonIcon.js +6 -7
  5. package/es/components/AISkeleton/AISkeletonPlaceholder.js +6 -7
  6. package/es/components/AISkeleton/AISkeletonText.js +6 -7
  7. package/es/components/Accordion/Accordion.Skeleton.js +24 -25
  8. package/es/components/Accordion/Accordion.js +13 -14
  9. package/es/components/Accordion/AccordionItem.js +22 -23
  10. package/es/components/Accordion/AccordionProvider.js +6 -7
  11. package/es/components/AspectRatio/AspectRatio.js +9 -10
  12. package/es/components/BadgeIndicator/index.js +7 -8
  13. package/es/components/Breadcrumb/Breadcrumb.Skeleton.js +9 -10
  14. package/es/components/Breadcrumb/Breadcrumb.js +3 -3
  15. package/es/components/Breadcrumb/BreadcrumbItem.js +9 -9
  16. package/es/components/Button/Button.Skeleton.js +10 -11
  17. package/es/components/Button/Button.js +5 -5
  18. package/es/components/Button/ButtonBase.js +27 -28
  19. package/es/components/ButtonSet/ButtonSet.js +2 -2
  20. package/es/components/ChatButton/ChatButton.Skeleton.js +7 -8
  21. package/es/components/ChatButton/ChatButton.js +13 -14
  22. package/es/components/Checkbox/Checkbox.Skeleton.js +8 -9
  23. package/es/components/Checkbox/Checkbox.js +33 -34
  24. package/es/components/CheckboxGroup/CheckboxGroup.js +28 -29
  25. package/es/components/ClassPrefix/index.js +6 -7
  26. package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +12 -13
  27. package/es/components/CodeSnippet/CodeSnippet.js +41 -42
  28. package/es/components/ComboBox/ComboBox.js +42 -48
  29. package/es/components/ComboBox/tools/filter.js +9 -12
  30. package/es/components/ComboButton/index.js +22 -24
  31. package/es/components/ComposedModal/ComposedModal.js +49 -52
  32. package/es/components/ComposedModal/ModalFooter.js +42 -47
  33. package/es/components/ComposedModal/ModalHeader.js +21 -22
  34. package/es/components/ContainedList/ContainedList.js +17 -18
  35. package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +16 -17
  36. package/es/components/ContentSwitcher/ContentSwitcher.d.ts +17 -29
  37. package/es/components/ContentSwitcher/ContentSwitcher.js +100 -126
  38. package/es/components/ContentSwitcher/index.d.ts +3 -4
  39. package/es/components/ContextMenu/useContextMenu.js +1 -2
  40. package/es/components/Copy/Copy.js +13 -14
  41. package/es/components/CopyButton/CopyButton.js +14 -15
  42. package/es/components/DangerButton/DangerButton.js +2 -2
  43. package/es/components/DataTable/DataTable.d.ts +81 -283
  44. package/es/components/DataTable/DataTable.js +124 -172
  45. package/es/components/DataTable/Table.d.ts +2 -2
  46. package/es/components/DataTable/Table.js +19 -22
  47. package/es/components/DataTable/TableActionList.d.ts +1 -1
  48. package/es/components/DataTable/TableBatchAction.js +9 -12
  49. package/es/components/DataTable/TableBatchActions.js +27 -29
  50. package/es/components/DataTable/TableBody.d.ts +3 -3
  51. package/es/components/DataTable/TableBody.js +9 -12
  52. package/es/components/DataTable/TableCell.d.ts +3 -4
  53. package/es/components/DataTable/TableCell.js +2 -2
  54. package/es/components/DataTable/TableContainer.d.ts +2 -3
  55. package/es/components/DataTable/TableContainer.js +15 -16
  56. package/es/components/DataTable/TableDecoratorRow.js +8 -9
  57. package/es/components/DataTable/TableExpandHeader.d.ts +2 -3
  58. package/es/components/DataTable/TableExpandHeader.js +18 -19
  59. package/es/components/DataTable/TableExpandRow.js +20 -21
  60. package/es/components/DataTable/TableExpandedRow.d.ts +3 -3
  61. package/es/components/DataTable/TableExpandedRow.js +10 -11
  62. package/es/components/DataTable/TableHead.d.ts +1 -1
  63. package/es/components/DataTable/TableHeader.d.ts +4 -4
  64. package/es/components/DataTable/TableHeader.js +29 -30
  65. package/es/components/DataTable/TableRow.d.ts +3 -4
  66. package/es/components/DataTable/TableRow.js +4 -4
  67. package/es/components/DataTable/TableSelectAll.js +14 -15
  68. package/es/components/DataTable/TableSelectRow.js +16 -17
  69. package/es/components/DataTable/TableSlugRow.js +7 -8
  70. package/es/components/DataTable/TableToolbar.js +9 -10
  71. package/es/components/DataTable/TableToolbarAction.js +2 -2
  72. package/es/components/DataTable/TableToolbarContent.d.ts +1 -1
  73. package/es/components/DataTable/TableToolbarMenu.js +10 -11
  74. package/es/components/DataTable/TableToolbarSearch.js +24 -26
  75. package/es/components/DataTable/index.d.ts +1 -1
  76. package/es/components/DataTable/state/sorting.js +3 -4
  77. package/es/components/DataTable/tools/filter.js +10 -12
  78. package/es/components/DataTable/tools/normalize.js +6 -8
  79. package/es/components/DataTable/tools/sorting.js +24 -30
  80. package/es/components/DataTableSkeleton/DataTableSkeleton.js +26 -27
  81. package/es/components/DatePicker/DatePicker.Skeleton.js +15 -16
  82. package/es/components/DatePicker/DatePicker.js +104 -81
  83. package/es/components/DatePickerInput/DatePickerInput.d.ts +3 -4
  84. package/es/components/DatePickerInput/DatePickerInput.js +24 -25
  85. package/es/components/Dialog/index.d.ts +194 -10
  86. package/es/components/Dialog/index.js +458 -39
  87. package/es/components/Dropdown/Dropdown.Skeleton.d.ts +2 -3
  88. package/es/components/Dropdown/Dropdown.Skeleton.js +10 -11
  89. package/es/components/Dropdown/Dropdown.d.ts +3 -3
  90. package/es/components/Dropdown/Dropdown.js +57 -60
  91. package/es/components/ErrorBoundary/ErrorBoundary.js +4 -4
  92. package/es/components/ExpandableSearch/ExpandableSearch.js +11 -12
  93. package/es/components/FeatureFlags/index.js +13 -14
  94. package/es/components/FileUploader/FileUploader.Skeleton.d.ts +3 -3
  95. package/es/components/FileUploader/FileUploader.Skeleton.js +9 -10
  96. package/es/components/FileUploader/FileUploader.d.ts +2 -3
  97. package/es/components/FileUploader/FileUploader.js +33 -35
  98. package/es/components/FileUploader/FileUploaderButton.d.ts +2 -3
  99. package/es/components/FileUploader/FileUploaderButton.js +20 -21
  100. package/es/components/FileUploader/FileUploaderDropContainer.d.ts +2 -3
  101. package/es/components/FileUploader/FileUploaderDropContainer.js +20 -21
  102. package/es/components/FileUploader/FileUploaderItem.d.ts +2 -3
  103. package/es/components/FileUploader/FileUploaderItem.js +26 -27
  104. package/es/components/FileUploader/Filename.d.ts +3 -4
  105. package/es/components/FileUploader/Filename.js +16 -17
  106. package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +9 -10
  107. package/es/components/FluidComboBox/FluidComboBox.js +8 -9
  108. package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.js +16 -17
  109. package/es/components/FluidDatePicker/FluidDatePicker.js +13 -14
  110. package/es/components/FluidDatePickerInput/FluidDatePickerInput.js +3 -3
  111. package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +9 -10
  112. package/es/components/FluidDropdown/FluidDropdown.js +8 -9
  113. package/es/components/FluidForm/FluidForm.d.ts +3 -4
  114. package/es/components/FluidForm/FluidForm.js +8 -9
  115. package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +9 -10
  116. package/es/components/FluidMultiSelect/FluidMultiSelect.js +10 -11
  117. package/es/components/FluidNumberInput/FluidNumberInput.Skeleton.js +9 -10
  118. package/es/components/FluidNumberInput/FluidNumberInput.d.ts +40 -1
  119. package/es/components/FluidNumberInput/FluidNumberInput.js +41 -8
  120. package/es/components/FluidSearch/FluidSearch.Skeleton.js +9 -10
  121. package/es/components/FluidSearch/FluidSearch.js +7 -8
  122. package/es/components/FluidSelect/FluidSelect.Skeleton.js +9 -10
  123. package/es/components/FluidSelect/FluidSelect.js +8 -9
  124. package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +9 -10
  125. package/es/components/FluidTextArea/FluidTextArea.js +7 -8
  126. package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +9 -10
  127. package/es/components/FluidTextInput/FluidTextInput.js +9 -10
  128. package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +8 -9
  129. package/es/components/FluidTimePicker/FluidTimePicker.js +23 -24
  130. package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.js +7 -8
  131. package/es/components/Form/Form.js +7 -8
  132. package/es/components/FormGroup/FormGroup.d.ts +3 -4
  133. package/es/components/FormGroup/FormGroup.js +15 -16
  134. package/es/components/FormItem/FormItem.js +7 -8
  135. package/es/components/FormLabel/FormLabel.js +8 -9
  136. package/es/components/Grid/CSSGrid.js +23 -25
  137. package/es/components/Grid/Column.js +32 -31
  138. package/es/components/Grid/ColumnHang.js +8 -9
  139. package/es/components/Grid/FlexGrid.js +12 -13
  140. package/es/components/Grid/Grid.js +3 -3
  141. package/es/components/Grid/GridContext.d.ts +2 -2
  142. package/es/components/Grid/GridContext.js +6 -7
  143. package/es/components/Grid/Row.js +10 -11
  144. package/es/components/Heading/index.js +13 -14
  145. package/es/components/Icon/Icon.Skeleton.js +6 -7
  146. package/es/components/IconButton/index.js +30 -26
  147. package/es/components/IconIndicator/index.js +10 -11
  148. package/es/components/IdPrefix/index.js +6 -7
  149. package/es/components/InlineCheckbox/InlineCheckbox.js +6 -6
  150. package/es/components/InlineLoading/InlineLoading.js +19 -20
  151. package/es/components/Layer/LayerContext.js +2 -2
  152. package/es/components/Layer/index.d.ts +4 -0
  153. package/es/components/Layer/index.js +21 -15
  154. package/es/components/Layout/index.js +24 -29
  155. package/es/components/LayoutDirection/LayoutDirection.js +10 -11
  156. package/es/components/LayoutDirection/LayoutDirectionContext.js +2 -2
  157. package/es/components/Link/Link.d.ts +1 -1
  158. package/es/components/Link/Link.js +19 -20
  159. package/es/components/ListBox/ListBox.d.ts +2 -3
  160. package/es/components/ListBox/ListBox.js +5 -5
  161. package/es/components/ListBox/ListBoxField.d.ts +3 -4
  162. package/es/components/ListBox/ListBoxField.js +8 -9
  163. package/es/components/ListBox/ListBoxMenu.d.ts +2 -3
  164. package/es/components/ListBox/ListBoxMenu.js +7 -8
  165. package/es/components/ListBox/ListBoxMenuIcon.js +8 -9
  166. package/es/components/ListBox/ListBoxMenuItem.d.ts +2 -3
  167. package/es/components/ListBox/ListBoxMenuItem.js +11 -13
  168. package/es/components/ListBox/ListBoxSelection.js +14 -15
  169. package/es/components/ListBox/next/ListBoxSelection.js +16 -17
  170. package/es/components/ListBox/next/ListBoxTrigger.js +8 -9
  171. package/es/components/ListItem/ListItem.js +7 -8
  172. package/es/components/Loading/Loading.d.ts +3 -3
  173. package/es/components/Loading/Loading.js +14 -15
  174. package/es/components/Menu/Menu.js +26 -27
  175. package/es/components/Menu/MenuItem.js +55 -60
  176. package/es/components/MenuButton/index.js +20 -22
  177. package/es/components/Modal/Modal.d.ts +2 -3
  178. package/es/components/Modal/Modal.js +85 -93
  179. package/es/components/ModalWrapper/ModalWrapper.js +9 -9
  180. package/es/components/MultiSelect/FilterableMultiSelect.js +68 -74
  181. package/es/components/MultiSelect/MultiSelect.js +65 -67
  182. package/es/components/MultiSelect/tools/sorting.js +11 -15
  183. package/es/components/Notification/Notification.js +137 -146
  184. package/es/components/NumberInput/NumberFormatPropTypes.d.ts +29 -0
  185. package/es/components/NumberInput/NumberFormatPropTypes.js +40 -0
  186. package/es/components/NumberInput/NumberInput.Skeleton.js +10 -11
  187. package/es/components/NumberInput/NumberInput.d.ts +39 -3
  188. package/es/components/NumberInput/NumberInput.js +195 -65
  189. package/es/components/OrderedList/OrderedList.js +9 -10
  190. package/es/components/OverflowMenu/OverflowMenu.d.ts +1 -1
  191. package/es/components/OverflowMenu/OverflowMenu.js +42 -48
  192. package/es/components/OverflowMenu/index.js +3 -3
  193. package/es/components/OverflowMenu/next/index.js +17 -18
  194. package/es/components/OverflowMenuItem/OverflowMenuItem.js +4 -4
  195. package/es/components/OverflowMenuV2/index.js +3 -3
  196. package/es/components/PageHeader/PageHeader.d.ts +29 -5
  197. package/es/components/PageHeader/PageHeader.js +136 -90
  198. package/es/components/Pagination/Pagination.Skeleton.js +12 -13
  199. package/es/components/Pagination/Pagination.js +40 -41
  200. package/es/components/Pagination/experimental/PageSelector.js +11 -12
  201. package/es/components/Pagination/experimental/Pagination.js +34 -35
  202. package/es/components/PaginationNav/PaginationNav.js +63 -68
  203. package/es/components/Popover/index.js +40 -42
  204. package/es/components/PrimaryButton/PrimaryButton.js +2 -2
  205. package/es/components/ProgressBar/ProgressBar.js +24 -25
  206. package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +12 -13
  207. package/es/components/ProgressIndicator/ProgressIndicator.js +49 -52
  208. package/es/components/RadioButton/RadioButton.Skeleton.js +4 -4
  209. package/es/components/RadioButton/RadioButton.js +10 -10
  210. package/es/components/RadioButtonGroup/RadioButtonGroup.js +16 -16
  211. package/es/components/RadioTile/RadioTile.js +28 -29
  212. package/es/components/Search/Search.Skeleton.js +9 -10
  213. package/es/components/Search/Search.js +36 -38
  214. package/es/components/SecondaryButton/SecondaryButton.js +2 -2
  215. package/es/components/Select/Select.Skeleton.js +10 -11
  216. package/es/components/Select/Select.js +42 -43
  217. package/es/components/SelectItem/SelectItem.js +10 -11
  218. package/es/components/SelectItemGroup/SelectItemGroup.js +9 -10
  219. package/es/components/ShapeIndicator/index.js +13 -14
  220. package/es/components/SkeletonIcon/SkeletonIcon.d.ts +0 -4
  221. package/es/components/SkeletonIcon/SkeletonIcon.js +7 -12
  222. package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +6 -7
  223. package/es/components/SkeletonText/SkeletonText.js +12 -13
  224. package/es/components/Slider/Slider.Skeleton.js +25 -26
  225. package/es/components/Slider/Slider.js +99 -113
  226. package/es/components/Slider/SliderHandles.js +20 -20
  227. package/es/components/Stack/HStack.js +2 -2
  228. package/es/components/Stack/Stack.js +2 -2
  229. package/es/components/Stack/VStack.js +2 -2
  230. package/es/components/StructuredList/StructuredList.Skeleton.js +17 -18
  231. package/es/components/StructuredList/StructuredList.js +24 -24
  232. package/es/components/Switch/IconSwitch.js +3 -3
  233. package/es/components/Switch/Switch.js +4 -4
  234. package/es/components/TabContent/TabContent.js +2 -2
  235. package/es/components/Tabs/Tabs.Skeleton.js +12 -13
  236. package/es/components/Tabs/Tabs.js +141 -156
  237. package/es/components/Tabs/usePressable.js +7 -8
  238. package/es/components/Tag/DismissibleTag.js +26 -27
  239. package/es/components/Tag/OperationalTag.js +16 -17
  240. package/es/components/Tag/SelectableTag.js +19 -20
  241. package/es/components/Tag/Tag.Skeleton.js +7 -8
  242. package/es/components/Tag/Tag.js +33 -34
  243. package/es/components/Text/Text.js +9 -10
  244. package/es/components/Text/TextDirection.js +7 -8
  245. package/es/components/Text/createTextComponent.js +2 -2
  246. package/es/components/TextArea/TextArea.Skeleton.js +4 -4
  247. package/es/components/TextArea/TextArea.js +22 -22
  248. package/es/components/TextInput/ControlledPasswordInput.d.ts +2 -3
  249. package/es/components/TextInput/ControlledPasswordInput.js +36 -37
  250. package/es/components/TextInput/PasswordInput.js +40 -41
  251. package/es/components/TextInput/TextInput.Skeleton.js +9 -10
  252. package/es/components/TextInput/TextInput.js +43 -44
  253. package/es/components/TextInput/util.js +14 -17
  254. package/es/components/Theme/index.js +19 -21
  255. package/es/components/Tile/Tile.js +98 -104
  256. package/es/components/TileGroup/TileGroup.d.ts +3 -4
  257. package/es/components/TileGroup/TileGroup.js +8 -8
  258. package/es/components/TimePicker/TimePicker.d.ts +2 -3
  259. package/es/components/TimePicker/TimePicker.js +14 -14
  260. package/es/components/TimePickerSelect/TimePickerSelect.js +4 -4
  261. package/es/components/Toggle/Toggle.Skeleton.js +8 -9
  262. package/es/components/Toggle/Toggle.js +27 -28
  263. package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +14 -15
  264. package/es/components/Toggletip/index.js +43 -49
  265. package/es/components/Tooltip/DefinitionTooltip.js +17 -18
  266. package/es/components/Tooltip/Tooltip.d.ts +3 -0
  267. package/es/components/Tooltip/Tooltip.js +39 -28
  268. package/es/components/TreeView/TreeNode.js +64 -56
  269. package/es/components/TreeView/TreeView.js +44 -37
  270. package/es/components/UIShell/Content.js +8 -9
  271. package/es/components/UIShell/Header.js +7 -8
  272. package/es/components/UIShell/HeaderContainer.js +7 -8
  273. package/es/components/UIShell/HeaderGlobalAction.js +14 -15
  274. package/es/components/UIShell/HeaderGlobalBar.d.ts +1 -1
  275. package/es/components/UIShell/HeaderMenu.d.ts +10 -112
  276. package/es/components/UIShell/HeaderMenu.js +154 -201
  277. package/es/components/UIShell/HeaderMenuButton.js +14 -15
  278. package/es/components/UIShell/HeaderMenuItem.js +21 -20
  279. package/es/components/UIShell/HeaderName.js +9 -10
  280. package/es/components/UIShell/HeaderNavigation.js +10 -11
  281. package/es/components/UIShell/HeaderPanel.js +11 -12
  282. package/es/components/UIShell/HeaderSideNavItems.js +7 -8
  283. package/es/components/UIShell/Link.js +11 -12
  284. package/es/components/UIShell/SideNav.js +30 -32
  285. package/es/components/UIShell/SideNavDetails.js +9 -10
  286. package/es/components/UIShell/SideNavDivider.js +6 -7
  287. package/es/components/UIShell/SideNavFooter.js +13 -14
  288. package/es/components/UIShell/SideNavHeader.js +8 -9
  289. package/es/components/UIShell/SideNavIcon.js +7 -8
  290. package/es/components/UIShell/SideNavItem.js +7 -8
  291. package/es/components/UIShell/SideNavItems.js +10 -11
  292. package/es/components/UIShell/SideNavLink.js +15 -16
  293. package/es/components/UIShell/SideNavLinkText.js +7 -8
  294. package/es/components/UIShell/SideNavMenu.js +20 -21
  295. package/es/components/UIShell/SideNavMenuItem.js +5 -5
  296. package/es/components/UIShell/SideNavSwitcher.js +8 -8
  297. package/es/components/UIShell/SkipToContent.js +9 -10
  298. package/es/components/UIShell/Switcher.js +12 -13
  299. package/es/components/UIShell/SwitcherDivider.js +6 -7
  300. package/es/components/UIShell/SwitcherItem.js +3 -3
  301. package/es/components/UnorderedList/UnorderedList.js +8 -9
  302. package/es/index.js +25 -26
  303. package/es/internal/FloatingMenu.js +30 -32
  304. package/es/internal/Selection.js +15 -17
  305. package/{lib/feature-flags.d.ts → es/internal/__mocks__/mockHTMLElement.d.ts} +4 -2
  306. package/es/internal/createClassWrapper.js +2 -2
  307. package/es/internal/getAnnouncement.d.ts +8 -0
  308. package/es/internal/getAnnouncement.js +22 -0
  309. package/es/internal/keyboard/match.js +6 -7
  310. package/es/internal/useControllableState.d.ts +1 -1
  311. package/es/internal/useControllableState.js +8 -9
  312. package/es/internal/useDelayedState.js +1 -2
  313. package/es/internal/useDocumentLang.d.ts +12 -0
  314. package/es/internal/useId.js +4 -6
  315. package/es/internal/useIdPrefix.js +3 -3
  316. package/es/internal/useMatchMedia.js +1 -2
  317. package/es/internal/useMergedRefs.d.ts +1 -1
  318. package/es/internal/useNoInteractiveChildren.js +2 -4
  319. package/es/internal/useNormalizedInputProps.js +12 -13
  320. package/es/internal/usePrefix.js +3 -3
  321. package/es/internal/useResizeObserver.d.ts +14 -0
  322. package/es/internal/useResizeObserver.js +73 -0
  323. package/es/internal/useSavedCallback.js +1 -3
  324. package/es/internal/wrapFocus.js +23 -35
  325. package/es/prop-types/deprecate.js +1 -4
  326. package/es/prop-types/deprecateValuesWithin.js +1 -4
  327. package/es/prop-types/isRequiredOneOf.js +1 -4
  328. package/es/prop-types/requiredIfGivenPropIsTruthy.js +1 -4
  329. package/es/tools/events.js +1 -4
  330. package/es/tools/mergeRefs.js +9 -14
  331. package/es/tools/uniqueId.js +1 -2
  332. package/es/tools/wrapComponent.d.ts +3 -4
  333. package/es/tools/wrapComponent.js +11 -13
  334. package/es/types/common.d.ts +0 -2
  335. package/lib/components/AILabel/index.js +27 -30
  336. package/lib/components/AISkeleton/AISkeletonIcon.js +4 -5
  337. package/lib/components/AISkeleton/AISkeletonPlaceholder.js +4 -5
  338. package/lib/components/AISkeleton/AISkeletonText.js +4 -5
  339. package/lib/components/Accordion/Accordion.Skeleton.js +9 -10
  340. package/lib/components/Accordion/Accordion.js +10 -11
  341. package/lib/components/Accordion/AccordionItem.js +13 -14
  342. package/lib/components/Accordion/AccordionProvider.js +4 -5
  343. package/lib/components/AspectRatio/AspectRatio.js +7 -8
  344. package/lib/components/BadgeIndicator/index.js +5 -6
  345. package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +4 -5
  346. package/lib/components/Button/Button.Skeleton.js +7 -8
  347. package/lib/components/Button/ButtonBase.js +23 -24
  348. package/lib/components/ChatButton/ChatButton.Skeleton.js +5 -6
  349. package/lib/components/ChatButton/ChatButton.js +11 -12
  350. package/lib/components/Checkbox/Checkbox.Skeleton.js +4 -5
  351. package/lib/components/Checkbox/Checkbox.js +19 -20
  352. package/lib/components/CheckboxGroup/CheckboxGroup.js +16 -17
  353. package/lib/components/ClassPrefix/index.js +4 -5
  354. package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +5 -6
  355. package/lib/components/CodeSnippet/CodeSnippet.js +27 -29
  356. package/lib/components/ComboBox/ComboBox.js +24 -30
  357. package/lib/components/ComboBox/tools/filter.js +9 -12
  358. package/lib/components/ComboButton/index.js +16 -18
  359. package/lib/components/ComposedModal/ComposedModal.js +31 -34
  360. package/lib/components/ComposedModal/ModalFooter.js +37 -42
  361. package/lib/components/ComposedModal/ModalHeader.js +14 -15
  362. package/lib/components/ContainedList/ContainedList.js +10 -11
  363. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +9 -10
  364. package/lib/components/ContentSwitcher/ContentSwitcher.d.ts +17 -29
  365. package/lib/components/ContentSwitcher/ContentSwitcher.js +98 -124
  366. package/lib/components/ContentSwitcher/index.d.ts +3 -4
  367. package/lib/components/ContextMenu/useContextMenu.js +1 -2
  368. package/lib/components/Copy/Copy.js +11 -12
  369. package/lib/components/CopyButton/CopyButton.js +10 -11
  370. package/lib/components/DataTable/DataTable.d.ts +81 -283
  371. package/lib/components/DataTable/DataTable.js +123 -172
  372. package/lib/components/DataTable/Table.d.ts +2 -2
  373. package/lib/components/DataTable/Table.js +15 -18
  374. package/lib/components/DataTable/TableActionList.d.ts +1 -1
  375. package/lib/components/DataTable/TableBatchAction.js +8 -11
  376. package/lib/components/DataTable/TableBatchActions.js +18 -20
  377. package/lib/components/DataTable/TableBody.d.ts +3 -3
  378. package/lib/components/DataTable/TableBody.js +8 -11
  379. package/lib/components/DataTable/TableCell.d.ts +3 -4
  380. package/lib/components/DataTable/TableContainer.d.ts +2 -3
  381. package/lib/components/DataTable/TableContainer.js +9 -10
  382. package/lib/components/DataTable/TableDecoratorRow.js +4 -5
  383. package/lib/components/DataTable/TableExpandHeader.d.ts +2 -3
  384. package/lib/components/DataTable/TableExpandHeader.js +14 -15
  385. package/lib/components/DataTable/TableExpandRow.js +13 -14
  386. package/lib/components/DataTable/TableExpandedRow.d.ts +3 -3
  387. package/lib/components/DataTable/TableExpandedRow.js +6 -7
  388. package/lib/components/DataTable/TableHead.d.ts +1 -1
  389. package/lib/components/DataTable/TableHeader.d.ts +4 -4
  390. package/lib/components/DataTable/TableHeader.js +15 -16
  391. package/lib/components/DataTable/TableRow.d.ts +3 -4
  392. package/lib/components/DataTable/TableSelectAll.js +11 -12
  393. package/lib/components/DataTable/TableSelectRow.js +12 -13
  394. package/lib/components/DataTable/TableSlugRow.js +4 -5
  395. package/lib/components/DataTable/TableToolbar.js +7 -8
  396. package/lib/components/DataTable/TableToolbarContent.d.ts +1 -1
  397. package/lib/components/DataTable/TableToolbarMenu.js +8 -9
  398. package/lib/components/DataTable/TableToolbarSearch.js +22 -24
  399. package/lib/components/DataTable/index.d.ts +1 -1
  400. package/lib/components/DataTable/state/sorting.js +3 -4
  401. package/lib/components/DataTable/tools/filter.js +10 -12
  402. package/lib/components/DataTable/tools/normalize.js +6 -8
  403. package/lib/components/DataTable/tools/sorting.js +24 -30
  404. package/lib/components/DataTableSkeleton/DataTableSkeleton.js +11 -12
  405. package/lib/components/DatePicker/DatePicker.Skeleton.js +7 -8
  406. package/lib/components/DatePicker/DatePicker.js +87 -64
  407. package/lib/components/DatePickerInput/DatePickerInput.d.ts +3 -4
  408. package/lib/components/DatePickerInput/DatePickerInput.js +5 -6
  409. package/lib/components/Dialog/index.d.ts +194 -10
  410. package/lib/components/Dialog/index.js +457 -33
  411. package/lib/components/Dropdown/Dropdown.Skeleton.d.ts +2 -3
  412. package/lib/components/Dropdown/Dropdown.Skeleton.js +6 -7
  413. package/lib/components/Dropdown/Dropdown.d.ts +3 -3
  414. package/lib/components/Dropdown/Dropdown.js +40 -43
  415. package/lib/components/ErrorBoundary/ErrorBoundary.js +2 -2
  416. package/lib/components/ExpandableSearch/ExpandableSearch.js +9 -10
  417. package/lib/components/FeatureFlags/index.js +11 -12
  418. package/lib/components/FileUploader/FileUploader.Skeleton.d.ts +3 -3
  419. package/lib/components/FileUploader/FileUploader.Skeleton.js +4 -5
  420. package/lib/components/FileUploader/FileUploader.d.ts +2 -3
  421. package/lib/components/FileUploader/FileUploader.js +22 -24
  422. package/lib/components/FileUploader/FileUploaderButton.d.ts +2 -3
  423. package/lib/components/FileUploader/FileUploaderButton.js +16 -17
  424. package/lib/components/FileUploader/FileUploaderDropContainer.d.ts +2 -3
  425. package/lib/components/FileUploader/FileUploaderDropContainer.js +15 -16
  426. package/lib/components/FileUploader/FileUploaderItem.d.ts +2 -3
  427. package/lib/components/FileUploader/FileUploaderItem.js +13 -14
  428. package/lib/components/FileUploader/Filename.d.ts +3 -4
  429. package/lib/components/FileUploader/Filename.js +9 -10
  430. package/lib/components/FluidComboBox/FluidComboBox.Skeleton.js +4 -5
  431. package/lib/components/FluidComboBox/FluidComboBox.js +5 -6
  432. package/lib/components/FluidDatePicker/FluidDatePicker.Skeleton.js +5 -6
  433. package/lib/components/FluidDatePicker/FluidDatePicker.js +10 -11
  434. package/lib/components/FluidDropdown/FluidDropdown.Skeleton.js +4 -5
  435. package/lib/components/FluidDropdown/FluidDropdown.js +5 -6
  436. package/lib/components/FluidForm/FluidForm.d.ts +3 -4
  437. package/lib/components/FluidForm/FluidForm.js +5 -6
  438. package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +4 -5
  439. package/lib/components/FluidMultiSelect/FluidMultiSelect.js +6 -7
  440. package/lib/components/FluidNumberInput/FluidNumberInput.Skeleton.js +4 -5
  441. package/lib/components/FluidNumberInput/FluidNumberInput.d.ts +40 -1
  442. package/lib/components/FluidNumberInput/FluidNumberInput.js +38 -5
  443. package/lib/components/FluidSearch/FluidSearch.Skeleton.js +4 -5
  444. package/lib/components/FluidSearch/FluidSearch.js +4 -5
  445. package/lib/components/FluidSelect/FluidSelect.Skeleton.js +4 -5
  446. package/lib/components/FluidSelect/FluidSelect.js +5 -6
  447. package/lib/components/FluidTextArea/FluidTextArea.Skeleton.js +4 -5
  448. package/lib/components/FluidTextArea/FluidTextArea.js +4 -5
  449. package/lib/components/FluidTextInput/FluidTextInput.Skeleton.js +4 -5
  450. package/lib/components/FluidTextInput/FluidTextInput.js +5 -6
  451. package/lib/components/FluidTimePicker/FluidTimePicker.Skeleton.js +5 -6
  452. package/lib/components/FluidTimePicker/FluidTimePicker.js +11 -12
  453. package/lib/components/FluidTimePickerSelect/FluidTimePickerSelect.js +5 -6
  454. package/lib/components/Form/Form.js +5 -6
  455. package/lib/components/FormGroup/FormGroup.d.ts +3 -4
  456. package/lib/components/FormGroup/FormGroup.js +11 -12
  457. package/lib/components/FormItem/FormItem.js +5 -6
  458. package/lib/components/FormLabel/FormLabel.js +6 -7
  459. package/lib/components/Grid/CSSGrid.js +17 -19
  460. package/lib/components/Grid/Column.js +28 -27
  461. package/lib/components/Grid/ColumnHang.js +6 -7
  462. package/lib/components/Grid/FlexGrid.js +9 -10
  463. package/lib/components/Grid/GridContext.d.ts +2 -2
  464. package/lib/components/Grid/GridContext.js +10 -29
  465. package/lib/components/Grid/Row.js +8 -9
  466. package/lib/components/Heading/index.js +5 -6
  467. package/lib/components/Icon/Icon.Skeleton.js +4 -5
  468. package/lib/components/IconButton/index.js +26 -22
  469. package/lib/components/IconIndicator/index.js +7 -8
  470. package/lib/components/IdPrefix/index.js +4 -5
  471. package/lib/components/InlineLoading/InlineLoading.js +9 -10
  472. package/lib/components/Layer/index.d.ts +4 -0
  473. package/lib/components/Layer/index.js +16 -10
  474. package/lib/components/Layout/index.js +21 -26
  475. package/lib/components/LayoutDirection/LayoutDirection.js +6 -7
  476. package/lib/components/Link/Link.d.ts +1 -1
  477. package/lib/components/Link/Link.js +15 -16
  478. package/lib/components/ListBox/ListBox.d.ts +2 -3
  479. package/lib/components/ListBox/ListBoxField.d.ts +3 -4
  480. package/lib/components/ListBox/ListBoxField.js +6 -7
  481. package/lib/components/ListBox/ListBoxMenu.d.ts +2 -3
  482. package/lib/components/ListBox/ListBoxMenu.js +5 -6
  483. package/lib/components/ListBox/ListBoxMenuIcon.js +4 -5
  484. package/lib/components/ListBox/ListBoxMenuItem.d.ts +2 -3
  485. package/lib/components/ListBox/ListBoxMenuItem.js +8 -10
  486. package/lib/components/ListBox/ListBoxSelection.js +8 -9
  487. package/lib/components/ListBox/next/ListBoxSelection.js +9 -10
  488. package/lib/components/ListBox/next/ListBoxTrigger.js +5 -6
  489. package/lib/components/ListItem/ListItem.js +5 -6
  490. package/lib/components/Loading/Loading.d.ts +3 -3
  491. package/lib/components/Loading/Loading.js +8 -9
  492. package/lib/components/Menu/Menu.js +23 -24
  493. package/lib/components/Menu/MenuItem.js +39 -44
  494. package/lib/components/MenuButton/index.js +16 -18
  495. package/lib/components/Modal/Modal.d.ts +2 -3
  496. package/lib/components/Modal/Modal.js +55 -63
  497. package/lib/components/ModalWrapper/ModalWrapper.js +2 -2
  498. package/lib/components/MultiSelect/FilterableMultiSelect.js +46 -52
  499. package/lib/components/MultiSelect/MultiSelect.js +43 -45
  500. package/lib/components/MultiSelect/tools/sorting.js +11 -15
  501. package/lib/components/Notification/Notification.js +96 -105
  502. package/lib/components/NumberInput/NumberFormatPropTypes.d.ts +29 -0
  503. package/lib/components/NumberInput/NumberFormatPropTypes.js +48 -0
  504. package/lib/components/NumberInput/NumberInput.Skeleton.js +6 -7
  505. package/lib/components/NumberInput/NumberInput.d.ts +39 -3
  506. package/lib/components/NumberInput/NumberInput.js +173 -43
  507. package/lib/components/OrderedList/OrderedList.js +7 -8
  508. package/lib/components/OverflowMenu/OverflowMenu.d.ts +1 -1
  509. package/lib/components/OverflowMenu/OverflowMenu.js +35 -41
  510. package/lib/components/OverflowMenu/next/index.js +12 -13
  511. package/lib/components/PageHeader/PageHeader.d.ts +29 -5
  512. package/lib/components/PageHeader/PageHeader.js +119 -73
  513. package/lib/components/Pagination/Pagination.Skeleton.js +4 -5
  514. package/lib/components/Pagination/Pagination.js +24 -25
  515. package/lib/components/Pagination/experimental/PageSelector.js +8 -9
  516. package/lib/components/Pagination/experimental/Pagination.js +20 -21
  517. package/lib/components/PaginationNav/PaginationNav.js +33 -38
  518. package/lib/components/Popover/index.js +26 -28
  519. package/lib/components/ProgressBar/ProgressBar.js +11 -12
  520. package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +5 -6
  521. package/lib/components/ProgressIndicator/ProgressIndicator.js +29 -32
  522. package/lib/components/RadioTile/RadioTile.js +17 -18
  523. package/lib/components/Search/Search.Skeleton.js +5 -6
  524. package/lib/components/Search/Search.js +26 -28
  525. package/lib/components/Select/Select.Skeleton.js +5 -6
  526. package/lib/components/Select/Select.js +24 -25
  527. package/lib/components/SelectItem/SelectItem.js +8 -9
  528. package/lib/components/SelectItemGroup/SelectItemGroup.js +7 -8
  529. package/lib/components/ShapeIndicator/index.js +7 -8
  530. package/lib/components/SkeletonIcon/SkeletonIcon.d.ts +0 -4
  531. package/lib/components/SkeletonIcon/SkeletonIcon.js +5 -10
  532. package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +4 -5
  533. package/lib/components/SkeletonText/SkeletonText.js +8 -9
  534. package/lib/components/Slider/Slider.Skeleton.js +8 -9
  535. package/lib/components/Slider/Slider.js +69 -83
  536. package/lib/components/Slider/SliderHandles.js +6 -6
  537. package/lib/components/StructuredList/StructuredList.Skeleton.js +5 -6
  538. package/lib/components/Tabs/Tabs.Skeleton.js +5 -6
  539. package/lib/components/Tabs/Tabs.js +83 -98
  540. package/lib/components/Tabs/usePressable.js +7 -8
  541. package/lib/components/Tag/DismissibleTag.js +16 -17
  542. package/lib/components/Tag/OperationalTag.js +10 -11
  543. package/lib/components/Tag/SelectableTag.js +13 -14
  544. package/lib/components/Tag/Tag.Skeleton.js +5 -6
  545. package/lib/components/Tag/Tag.js +19 -20
  546. package/lib/components/Text/Text.js +6 -7
  547. package/lib/components/Text/TextDirection.js +5 -6
  548. package/lib/components/TextArea/TextArea.js +3 -3
  549. package/lib/components/TextInput/ControlledPasswordInput.d.ts +2 -3
  550. package/lib/components/TextInput/ControlledPasswordInput.js +24 -25
  551. package/lib/components/TextInput/PasswordInput.js +26 -27
  552. package/lib/components/TextInput/TextInput.Skeleton.js +5 -6
  553. package/lib/components/TextInput/TextInput.js +27 -28
  554. package/lib/components/TextInput/util.js +14 -17
  555. package/lib/components/Theme/index.js +10 -12
  556. package/lib/components/Tile/Tile.js +68 -74
  557. package/lib/components/TileGroup/TileGroup.d.ts +3 -4
  558. package/lib/components/TimePicker/TimePicker.d.ts +2 -3
  559. package/lib/components/Toggle/Toggle.Skeleton.js +4 -5
  560. package/lib/components/Toggle/Toggle.js +17 -18
  561. package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +6 -7
  562. package/lib/components/Toggletip/index.js +33 -39
  563. package/lib/components/Tooltip/DefinitionTooltip.js +13 -14
  564. package/lib/components/Tooltip/Tooltip.d.ts +3 -0
  565. package/lib/components/Tooltip/Tooltip.js +33 -22
  566. package/lib/components/TreeView/TreeNode.js +40 -32
  567. package/lib/components/TreeView/TreeView.js +41 -34
  568. package/lib/components/UIShell/Content.js +6 -7
  569. package/lib/components/UIShell/Header.js +5 -6
  570. package/lib/components/UIShell/HeaderContainer.js +5 -6
  571. package/lib/components/UIShell/HeaderGlobalAction.js +12 -13
  572. package/lib/components/UIShell/HeaderGlobalBar.d.ts +1 -1
  573. package/lib/components/UIShell/HeaderMenu.d.ts +10 -112
  574. package/lib/components/UIShell/HeaderMenu.js +152 -199
  575. package/lib/components/UIShell/HeaderMenuButton.js +10 -11
  576. package/lib/components/UIShell/HeaderMenuItem.js +17 -16
  577. package/lib/components/UIShell/HeaderName.js +6 -7
  578. package/lib/components/UIShell/HeaderNavigation.js +7 -8
  579. package/lib/components/UIShell/HeaderPanel.js +9 -10
  580. package/lib/components/UIShell/HeaderSideNavItems.js +5 -6
  581. package/lib/components/UIShell/Link.js +8 -9
  582. package/lib/components/UIShell/SideNav.js +23 -25
  583. package/lib/components/UIShell/SideNavDetails.js +6 -7
  584. package/lib/components/UIShell/SideNavDivider.js +3 -4
  585. package/lib/components/UIShell/SideNavFooter.js +6 -7
  586. package/lib/components/UIShell/SideNavHeader.js +5 -6
  587. package/lib/components/UIShell/SideNavIcon.js +5 -6
  588. package/lib/components/UIShell/SideNavItem.js +5 -6
  589. package/lib/components/UIShell/SideNavItems.js +5 -6
  590. package/lib/components/UIShell/SideNavLink.js +10 -11
  591. package/lib/components/UIShell/SideNavLinkText.js +5 -6
  592. package/lib/components/UIShell/SideNavMenu.js +11 -12
  593. package/lib/components/UIShell/SkipToContent.js +7 -8
  594. package/lib/components/UIShell/Switcher.js +4 -5
  595. package/lib/components/UIShell/SwitcherDivider.js +4 -5
  596. package/lib/components/UnorderedList/UnorderedList.js +6 -7
  597. package/lib/index.js +81 -82
  598. package/lib/internal/FloatingMenu.js +26 -28
  599. package/lib/internal/Selection.js +15 -17
  600. package/{es/feature-flags.d.ts → lib/internal/__mocks__/mockHTMLElement.d.ts} +4 -2
  601. package/lib/internal/getAnnouncement.d.ts +8 -0
  602. package/lib/internal/getAnnouncement.js +26 -0
  603. package/lib/internal/keyboard/match.js +6 -7
  604. package/lib/internal/useControllableState.d.ts +1 -1
  605. package/lib/internal/useControllableState.js +8 -9
  606. package/lib/internal/useDelayedState.js +1 -2
  607. package/lib/internal/useDocumentLang.d.ts +12 -0
  608. package/lib/internal/useId.js +2 -4
  609. package/lib/internal/useMatchMedia.js +1 -2
  610. package/lib/internal/useMergedRefs.d.ts +1 -1
  611. package/lib/internal/useNoInteractiveChildren.js +2 -4
  612. package/lib/internal/useNormalizedInputProps.js +9 -10
  613. package/lib/internal/useResizeObserver.d.ts +14 -0
  614. package/lib/internal/useResizeObserver.js +77 -0
  615. package/lib/internal/useSavedCallback.js +1 -3
  616. package/lib/internal/wrapFocus.js +23 -35
  617. package/lib/prop-types/deprecate.js +1 -4
  618. package/lib/prop-types/deprecateValuesWithin.js +1 -4
  619. package/lib/prop-types/isRequiredOneOf.js +1 -4
  620. package/lib/prop-types/requiredIfGivenPropIsTruthy.js +1 -4
  621. package/lib/tools/events.js +1 -4
  622. package/lib/tools/mergeRefs.js +9 -14
  623. package/lib/tools/uniqueId.js +1 -2
  624. package/lib/tools/wrapComponent.d.ts +3 -4
  625. package/lib/tools/wrapComponent.js +9 -11
  626. package/lib/types/common.d.ts +0 -2
  627. package/package.json +21 -20
  628. package/scss/components/content-switcher/_tokens.scss +9 -0
  629. package/telemetry.yml +27 -2
  630. package/es/components/ContentSwitcher/index.js +0 -13
  631. package/es/components/DataTable/index.js +0 -76
  632. package/es/internal/useAnnouncer.js +0 -21
  633. package/lib/components/ContentSwitcher/index.js +0 -18
  634. package/lib/components/DataTable/index.js +0 -82
  635. package/lib/internal/useAnnouncer.js +0 -25
@@ -17,8 +17,7 @@ var sortStates = require('../state/sortStates.js');
17
17
  * type, the default sort algorithm will be used for those types. Otherwise, the
18
18
  * values will be converted to strings for comparison.
19
19
  */
20
- const compare = function (a, b) {
21
- let locale = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'en';
20
+ const compare = (a, b, locale = 'en') => {
22
21
  // prevent multiple null values in one column (sorting breaks)
23
22
  if (a === null) a = '';
24
23
  if (b === null) b = '';
@@ -41,8 +40,7 @@ const compare = function (a, b) {
41
40
  *
42
41
  * Note: Uses numeric comparison if strings are numeric.
43
42
  */
44
- const compareStrings = function (a, b) {
45
- let locale = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'en';
43
+ const compareStrings = (a, b, locale = 'en') => {
46
44
  const isNumeric = !isNaN(parseFloat(a)) && !isNaN(parseFloat(b));
47
45
  return a.localeCompare(b, locale, {
48
46
  numeric: isNumeric
@@ -51,38 +49,34 @@ const compareStrings = function (a, b) {
51
49
  /**
52
50
  * Sorts table rows based on the provided column key and direction.
53
51
  */
54
- const sortRows = _ref => {
55
- let {
56
- rowIds,
57
- cellsById,
58
- sortDirection,
52
+ const sortRows = ({
53
+ rowIds,
54
+ cellsById,
55
+ sortDirection,
56
+ key,
57
+ locale = 'en',
58
+ sortRow = defaultSortRow
59
+ }) => rowIds.slice().sort((a, b) => {
60
+ const cellA = cellsById[cells.getCellId(a, key)];
61
+ const cellB = cellsById[cells.getCellId(b, key)];
62
+ return sortRow(cellA?.value, cellB?.value, {
59
63
  key,
60
- locale = 'en',
61
- sortRow = defaultSortRow
62
- } = _ref;
63
- return rowIds.slice().sort((a, b) => {
64
- const cellA = cellsById[cells.getCellId(a, key)];
65
- const cellB = cellsById[cells.getCellId(b, key)];
66
- return sortRow(cellA?.value, cellB?.value, {
67
- key,
68
- sortDirection,
69
- sortStates: sortStates.sortStates,
70
- locale,
71
- compare,
72
- rowIds: [a, b]
73
- });
64
+ sortDirection,
65
+ sortStates: sortStates.sortStates,
66
+ locale,
67
+ compare,
68
+ rowIds: [a, b]
74
69
  });
75
- };
70
+ });
76
71
 
77
72
  /**
78
73
  * Sorts table rows based on the sort direction.
79
74
  */
80
- const defaultSortRow = (cellA, cellB, _ref2) => {
81
- let {
82
- sortDirection,
83
- sortStates,
84
- locale
85
- } = _ref2;
75
+ const defaultSortRow = (cellA, cellB, {
76
+ sortDirection,
77
+ sortStates,
78
+ locale
79
+ }) => {
86
80
  if (sortDirection === sortStates.ASC) {
87
81
  return compare(cellA, cellB, locale);
88
82
  }
@@ -22,18 +22,17 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
22
22
  var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
23
23
 
24
24
  var _span, _span2;
25
- const DataTableSkeleton = _ref => {
26
- let {
27
- headers,
28
- rowCount = 5,
29
- columnCount = 5,
30
- zebra = false,
31
- compact = false,
32
- className,
33
- showHeader = true,
34
- showToolbar = true,
35
- ...rest
36
- } = _ref;
25
+ const DataTableSkeleton = ({
26
+ headers,
27
+ rowCount = 5,
28
+ columnCount = 5,
29
+ zebra = false,
30
+ compact = false,
31
+ className,
32
+ showHeader = true,
33
+ showToolbar = true,
34
+ ...rest
35
+ }) => {
37
36
  const prefix = usePrefix.usePrefix();
38
37
  const dataTableSkeletonClasses = cx__default["default"](className, {
39
38
  [`${prefix}--skeleton`]: true,
@@ -21,14 +21,13 @@ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
21
21
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
22
22
  var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
23
23
 
24
- const DatePickerSkeleton = _ref => {
25
- let {
26
- range,
27
- id,
28
- hideLabel,
29
- className,
30
- ...rest
31
- } = _ref;
24
+ const DatePickerSkeleton = ({
25
+ range,
26
+ id,
27
+ hideLabel,
28
+ className,
29
+ ...rest
30
+ }) => {
32
31
  const prefix = usePrefix.usePrefix();
33
32
  const dateInput = /*#__PURE__*/React__default["default"].createElement("div", {
34
33
  className: `${prefix}--date-picker-container`
@@ -144,35 +144,34 @@ function updateClassNames(calendar, prefix) {
144
144
  });
145
145
  }
146
146
  }
147
- const DatePicker = /*#__PURE__*/React__default["default"].forwardRef(function DatePicker(_ref, ref) {
148
- let {
149
- allowInput,
150
- appendTo,
151
- children,
152
- className,
153
- closeOnSelect = true,
154
- dateFormat = 'm/d/Y',
155
- datePickerType,
156
- disable,
157
- enable,
158
- inline,
159
- invalid,
160
- invalidText,
161
- warn,
162
- warnText,
163
- light = false,
164
- locale = 'en',
165
- maxDate,
166
- minDate,
167
- onChange,
168
- onClose,
169
- onOpen,
170
- readOnly = false,
171
- short = false,
172
- value,
173
- parseDate: parseDateProp,
174
- ...rest
175
- } = _ref;
147
+ const DatePicker = /*#__PURE__*/React__default["default"].forwardRef(function DatePicker({
148
+ allowInput,
149
+ appendTo,
150
+ children,
151
+ className,
152
+ closeOnSelect = true,
153
+ dateFormat = 'm/d/Y',
154
+ datePickerType,
155
+ disable,
156
+ enable,
157
+ inline,
158
+ invalid,
159
+ invalidText,
160
+ warn,
161
+ warnText,
162
+ light = false,
163
+ locale = 'en',
164
+ maxDate,
165
+ minDate,
166
+ onChange,
167
+ onClose,
168
+ onOpen,
169
+ readOnly = false,
170
+ short = false,
171
+ value,
172
+ parseDate: parseDateProp,
173
+ ...rest
174
+ }, ref) {
176
175
  const prefix = usePrefix.usePrefix();
177
176
  const {
178
177
  isFluid
@@ -220,6 +219,7 @@ const DatePicker = /*#__PURE__*/React__default["default"].forwardRef(function Da
220
219
  }
221
220
  }, [calendarCloseEvent, handleCalendarClose]);
222
221
  const endInputField = React.useRef(null);
222
+ const lastFocusedField = React.useRef(null);
223
223
  const savedOnChange = useSavedCallback.useSavedCallback(onChange);
224
224
  const savedOnOpen = useSavedCallback.useSavedCallback(onOpen);
225
225
  const datePickerClasses = cx__default["default"](`${prefix}--date-picker`, {
@@ -368,40 +368,68 @@ const DatePicker = /*#__PURE__*/React__default["default"].forwardRef(function Da
368
368
  noCalendar: readOnly,
369
369
  nextArrow: rightArrowHTML,
370
370
  prevArrow: leftArrowHTML,
371
- onChange: function () {
371
+ onChange: (...args) => {
372
372
  if (!readOnly) {
373
- savedOnChange(...arguments);
373
+ savedOnChange(...args);
374
374
  }
375
375
  },
376
376
  onReady: onHook,
377
377
  onMonthChange: onHook,
378
378
  onYearChange: onHook,
379
- onOpen: function () {
380
- onHook(...arguments);
381
- savedOnOpen(...arguments);
379
+ onOpen: (...args) => {
380
+ onHook(...args);
381
+ savedOnOpen(...args);
382
382
  },
383
383
  onValueUpdate: onHook
384
384
  };
385
385
  const calendar = flatpickr__default["default"](start, flatpickerConfig);
386
386
  calendarRef.current = calendar;
387
- function handleArrowDown(event) {
387
+ const handleInputFieldKeyDown = event => {
388
+ const {
389
+ calendarContainer,
390
+ selectedDateElem: fpSelectedDateElem,
391
+ todayDateElem: fpTodayDateElem
392
+ } = calendar;
388
393
  if (match.match(event, keys.Escape)) {
389
- calendar?.calendarContainer?.classList.remove('open');
394
+ calendarContainer.classList.remove('open');
390
395
  }
391
- if (match.match(event, keys.ArrowDown)) {
392
- if (event.target == endInputField.current) {
393
- calendar?.calendarContainer?.classList.add('open');
396
+ if (match.match(event, keys.Tab)) {
397
+ if (!event.shiftKey) {
398
+ event.preventDefault();
399
+ calendarContainer.classList.add('open');
400
+ const selectedDateElem = calendarContainer.querySelector('.selected') && fpSelectedDateElem;
401
+ const todayDateElem = calendarContainer.querySelector('.today') && fpTodayDateElem;
402
+ (selectedDateElem || todayDateElem || calendarContainer.querySelector('.flatpickr-day[tabindex]') || calendarContainer).focus();
403
+ if (event.target === startInputField.current) {
404
+ lastFocusedField.current = startInputField.current;
405
+ } else if (event.target === endInputField.current) {
406
+ lastFocusedField.current = endInputField.current;
407
+ }
408
+ } else if (calendarRef.current?.isOpen && event.target === startInputField.current) {
409
+ calendarRef.current.close();
410
+ onCalendarClose(calendarRef.current.selectedDates, '', calendarRef.current, event);
394
411
  }
395
- const {
396
- calendarContainer,
397
- selectedDateElem: fpSelectedDateElem,
398
- todayDateElem: fpTodayDateElem
399
- } = calendar;
400
- const selectedDateElem = calendarContainer.querySelector('.selected') && fpSelectedDateElem;
401
- const todayDateElem = calendarContainer.querySelector('.today') && fpTodayDateElem;
402
- (selectedDateElem || todayDateElem || calendarContainer.querySelector('.flatpickr-day[tabindex]') || calendarContainer).focus();
403
412
  }
404
- }
413
+ };
414
+ const handleCalendarKeyDown = event => {
415
+ if (!calendarRef.current || !startInputField.current) return;
416
+ const lastInputField = datePickerType == 'range' ? endInputField.current : startInputField.current;
417
+ if (match.match(event, keys.Tab)) {
418
+ if (!event.shiftKey) {
419
+ if (lastFocusedField.current === lastInputField) {
420
+ lastInputField.focus();
421
+ calendarRef.current.close();
422
+ onCalendarClose(calendarRef.current.selectedDates, '', calendarRef.current, event);
423
+ } else {
424
+ event.preventDefault();
425
+ lastInputField.focus();
426
+ }
427
+ } else {
428
+ event.preventDefault();
429
+ (lastFocusedField.current || startInputField.current).focus();
430
+ }
431
+ }
432
+ };
405
433
  function handleOnChange(event) {
406
434
  const {
407
435
  target
@@ -425,7 +453,7 @@ const DatePicker = /*#__PURE__*/React__default["default"].forwardRef(function Da
425
453
  }
426
454
  }
427
455
  if (start) {
428
- start.addEventListener('keydown', handleArrowDown);
456
+ start.addEventListener('keydown', handleInputFieldKeyDown);
429
457
  start.addEventListener('change', handleOnChange);
430
458
  start.addEventListener('keypress', handleKeyPress);
431
459
  if (calendar && calendar.calendarContainer) {
@@ -438,10 +466,13 @@ const DatePicker = /*#__PURE__*/React__default["default"].forwardRef(function Da
438
466
  }
439
467
  }
440
468
  if (end) {
441
- end.addEventListener('keydown', handleArrowDown);
469
+ end.addEventListener('keydown', handleInputFieldKeyDown);
442
470
  end.addEventListener('change', handleOnChange);
443
471
  end.addEventListener('keypress', handleKeyPress);
444
472
  }
473
+ if (calendar.calendarContainer) {
474
+ calendar.calendarContainer.addEventListener('keydown', handleCalendarKeyDown);
475
+ }
445
476
 
446
477
  //component did unmount equivalent
447
478
  return () => {
@@ -462,14 +493,17 @@ const DatePicker = /*#__PURE__*/React__default["default"].forwardRef(function Da
462
493
  }
463
494
  }
464
495
  if (start) {
465
- start.removeEventListener('keydown', handleArrowDown);
496
+ start.removeEventListener('keydown', handleInputFieldKeyDown);
466
497
  start.removeEventListener('change', handleOnChange);
467
498
  start.removeEventListener('keypress', handleKeyPress);
468
499
  }
469
500
  if (end) {
470
- end.removeEventListener('keydown', handleArrowDown);
501
+ end.removeEventListener('keydown', handleInputFieldKeyDown);
471
502
  end.removeEventListener('change', handleOnChange);
472
- end.removeEventListener('change', handleKeyPress);
503
+ end.removeEventListener('keypress', handleKeyPress);
504
+ }
505
+ if (calendar.calendarContainer) {
506
+ calendar.calendarContainer.removeEventListener('keydown', handleCalendarKeyDown);
473
507
  }
474
508
  };
475
509
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -566,17 +600,6 @@ const DatePicker = /*#__PURE__*/React__default["default"].forwardRef(function Da
566
600
  }
567
601
  }, [value, prefix]); //eslint-disable-line react-hooks/exhaustive-deps
568
602
 
569
- React.useEffect(() => {
570
- if (!calendarRef.current || !startInputField.current) return;
571
- const handleKeyDown = event => {
572
- if (match.match(event, keys.Tab) && !event.shiftKey && document.activeElement === endInputField.current && calendarRef.current?.isOpen) {
573
- calendarRef.current.close();
574
- onCalendarClose(calendarRef.current.selectedDates, '', calendarRef.current, event);
575
- }
576
- };
577
- document.addEventListener('keydown', handleKeyDown, true);
578
- return () => document.removeEventListener('keydown', handleKeyDown, true);
579
- }, [calendarRef, startInputField, endInputField, onCalendarClose]);
580
603
  let fluidError;
581
604
  if (isFluid) {
582
605
  if (invalid) {
@@ -1,16 +1,15 @@
1
1
  /**
2
- * Copyright IBM Corp. 2016, 2023
2
+ * Copyright IBM Corp. 2016, 2025
3
3
  *
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import { ReactElementLike } from 'prop-types';
8
- import React, { ReactNode } from 'react';
9
- import { ReactAttr } from '../../types/common';
8
+ import React, { type HTMLAttributes, type ReactNode } from 'react';
10
9
  type ExcludedAttributes = 'value' | 'onChange' | 'locale' | 'children';
11
10
  export type ReactNodeLike = ReactElementLike | ReadonlyArray<ReactNode> | string | number | boolean | null | undefined;
12
11
  export type func = (...args: any[]) => any;
13
- export interface DatePickerInputProps extends Omit<ReactAttr<HTMLInputElement>, ExcludedAttributes> {
12
+ export interface DatePickerInputProps extends Omit<HTMLAttributes<HTMLInputElement>, ExcludedAttributes> {
14
13
  /**
15
14
  * The type of the date picker:
16
15
  *
@@ -237,12 +237,11 @@ DatePickerInput.propTypes = {
237
237
  */
238
238
  warnText: PropTypes__default["default"].node
239
239
  };
240
- function DatePickerIcon(_ref) {
241
- let {
242
- datePickerType,
243
- invalid,
244
- warn
245
- } = _ref;
240
+ function DatePickerIcon({
241
+ datePickerType,
242
+ invalid,
243
+ warn
244
+ }) {
246
245
  const prefix = usePrefix.usePrefix();
247
246
  const {
248
247
  isFluid
@@ -4,9 +4,14 @@
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
- import React from 'react';
8
- import { ReactAttr } from '../../types/common';
9
- export interface DialogProps extends ReactAttr<HTMLDialogElement> {
7
+ import React, { type HTMLAttributes } from 'react';
8
+ import { InlineLoadingStatus } from '../InlineLoading/InlineLoading';
9
+ /**
10
+ * ----------
11
+ * Dialog
12
+ * ----------
13
+ */
14
+ interface DialogProps extends HTMLAttributes<HTMLDialogElement> {
10
15
  /**
11
16
  * Provide the contents of the Dialog
12
17
  */
@@ -43,26 +48,205 @@ export interface DialogProps extends ReactAttr<HTMLDialogElement> {
43
48
  * Specify whether the Dialog is currently open
44
49
  */
45
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;
46
68
  }
47
- export declare const unstable__Dialog: React.ForwardRefExoticComponent<DialogProps & React.RefAttributes<unknown>>;
48
- export interface DialogHeaderProps extends ReactAttr<HTMLDivElement> {
69
+ declare const unstable__Dialog: React.ForwardRefExoticComponent<DialogProps & React.RefAttributes<unknown>>;
70
+ /**
71
+ * -------------
72
+ * DialogHeader
73
+ * -------------
74
+ */
75
+ interface DialogHeaderProps extends HTMLAttributes<HTMLDivElement> {
49
76
  /**
50
77
  * Provide the contents to be rendered inside of this component
51
78
  */
52
79
  children?: React.ReactNode;
53
80
  }
54
- export declare const DialogHeader: React.ForwardRefExoticComponent<DialogHeaderProps & React.RefAttributes<HTMLDivElement>>;
55
- export interface DialogControlsProps extends ReactAttr<HTMLDivElement> {
81
+ declare const DialogHeader: React.ForwardRefExoticComponent<DialogHeaderProps & React.RefAttributes<HTMLDivElement>>;
82
+ /**
83
+ * ---------------
84
+ * DialogControls
85
+ * ---------------
86
+ */
87
+ interface DialogControlsProps extends HTMLAttributes<HTMLDivElement> {
56
88
  /**
57
89
  * Provide the contents to be rendered inside of this component
58
90
  */
59
91
  children?: React.ReactNode;
60
92
  }
61
- export declare const DialogControls: React.ForwardRefExoticComponent<DialogControlsProps & React.RefAttributes<HTMLDivElement>>;
62
- export interface DialogCloseButtonProps extends ReactAttr<HTMLDivElement> {
93
+ declare const DialogControls: React.ForwardRefExoticComponent<DialogControlsProps & React.RefAttributes<HTMLDivElement>>;
94
+ /**
95
+ * -------------------
96
+ * DialogCloseButton
97
+ * -------------------
98
+ */
99
+ interface DialogCloseButtonProps extends HTMLAttributes<HTMLDivElement> {
63
100
  /**
64
101
  * Specify a click handler applied to the IconButton
65
102
  */
66
103
  onClick?: React.MouseEventHandler;
67
104
  }
68
- 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, };