@carbon/react 1.103.0 → 1.104.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 (769) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +956 -956
  2. package/es/_virtual/_rolldown/runtime.js +25 -0
  3. package/es/components/AILabel/index.d.ts +29 -2
  4. package/es/components/AILabel/index.js +114 -169
  5. package/es/components/AISkeleton/AISkeletonIcon.js +23 -27
  6. package/es/components/AISkeleton/AISkeletonPlaceholder.js +19 -27
  7. package/es/components/AISkeleton/AISkeletonText.js +26 -39
  8. package/es/components/Accordion/Accordion.Skeleton.js +55 -79
  9. package/es/components/Accordion/Accordion.js +43 -61
  10. package/es/components/Accordion/AccordionItem.js +102 -156
  11. package/es/components/Accordion/AccordionProvider.js +18 -15
  12. package/es/components/AspectRatio/AspectRatio.js +41 -47
  13. package/es/components/BadgeIndicator/index.js +28 -33
  14. package/es/components/Breadcrumb/Breadcrumb.Skeleton.js +39 -50
  15. package/es/components/Breadcrumb/Breadcrumb.js +39 -51
  16. package/es/components/Breadcrumb/BreadcrumbItem.js +80 -83
  17. package/es/components/Button/Button.Skeleton.js +49 -58
  18. package/es/components/Button/Button.d.ts +1 -1
  19. package/es/components/Button/Button.js +146 -240
  20. package/es/components/Button/ButtonBase.js +82 -104
  21. package/es/components/Button/index.js +13 -6
  22. package/es/components/ButtonSet/ButtonSet.js +74 -98
  23. package/es/components/ButtonSet/index.js +12 -4
  24. package/es/components/ChatButton/ChatButton.Skeleton.js +27 -27
  25. package/es/components/ChatButton/ChatButton.js +64 -79
  26. package/es/components/Checkbox/Checkbox.Skeleton.js +26 -25
  27. package/es/components/Checkbox/Checkbox.js +116 -195
  28. package/es/components/Checkbox/index.js +13 -5
  29. package/es/components/CheckboxGroup/CheckboxGroup.js +100 -148
  30. package/es/components/ClassPrefix/index.js +21 -17
  31. package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +45 -42
  32. package/es/components/CodeSnippet/CodeSnippet.js +210 -299
  33. package/es/components/ComboBox/ComboBox.js +621 -970
  34. package/es/components/ComboBox/index.js +12 -4
  35. package/es/components/ComboButton/index.js +172 -208
  36. package/es/components/ComposedModal/ComposedModal.js +311 -450
  37. package/es/components/ComposedModal/ComposedModalPresence.js +47 -42
  38. package/es/components/ComposedModal/ModalFooter.js +127 -207
  39. package/es/components/ComposedModal/ModalHeader.js +71 -101
  40. package/es/components/ComposedModal/useComposedModalState.js +21 -15
  41. package/es/components/ContainedList/ContainedList.js +67 -102
  42. package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +49 -67
  43. package/es/components/ContainedList/ContainedListItem/index.js +12 -4
  44. package/es/components/ContainedList/index.js +15 -12
  45. package/es/components/ContentSwitcher/ContentSwitcher.js +108 -140
  46. package/es/components/ContextMenu/useContextMenu.js +41 -36
  47. package/es/components/Copy/Copy.js +97 -117
  48. package/es/components/Copy/index.js +12 -4
  49. package/es/components/CopyButton/CopyButton.js +81 -94
  50. package/es/components/CopyButton/index.js +12 -4
  51. package/es/components/DangerButton/DangerButton.js +11 -9
  52. package/es/components/DataTable/DataTable.d.ts +11 -11
  53. package/es/components/DataTable/DataTable.js +448 -630
  54. package/es/components/DataTable/Table.js +111 -156
  55. package/es/components/DataTable/TableActionList.js +14 -6
  56. package/es/components/DataTable/TableBatchAction.js +25 -34
  57. package/es/components/DataTable/TableBatchActions.js +78 -113
  58. package/es/components/DataTable/TableBody.js +26 -19
  59. package/es/components/DataTable/TableCell.js +31 -46
  60. package/es/components/DataTable/TableContainer.js +75 -82
  61. package/es/components/DataTable/TableContext.js +14 -6
  62. package/es/components/DataTable/TableDecoratorRow.js +30 -36
  63. package/es/components/DataTable/TableExpandHeader.js +53 -90
  64. package/es/components/DataTable/TableExpandRow.js +82 -119
  65. package/es/components/DataTable/TableExpandedRow.js +45 -51
  66. package/es/components/DataTable/TableHead.js +7 -5
  67. package/es/components/DataTable/TableHeader.js +138 -181
  68. package/es/components/DataTable/TableRow.d.ts +1 -1
  69. package/es/components/DataTable/TableRow.js +42 -76
  70. package/es/components/DataTable/TableSelectAll.js +42 -70
  71. package/es/components/DataTable/TableSelectRow.js +63 -98
  72. package/es/components/DataTable/TableSlugRow.js +35 -43
  73. package/es/components/DataTable/TableToolbar.js +33 -45
  74. package/es/components/DataTable/TableToolbarAction.js +25 -20
  75. package/es/components/DataTable/TableToolbarContent.js +14 -6
  76. package/es/components/DataTable/TableToolbarMenu.js +35 -46
  77. package/es/components/DataTable/TableToolbarSearch.js +97 -187
  78. package/es/components/DataTable/state/getDerivedStateFromProps.js +38 -43
  79. package/es/components/DataTable/state/sortStates.js +11 -9
  80. package/es/components/DataTable/state/sorting.js +53 -72
  81. package/es/components/DataTable/tools/cells.js +15 -7
  82. package/es/components/DataTable/tools/denormalize.js +27 -19
  83. package/es/components/DataTable/tools/filter.js +21 -22
  84. package/es/components/DataTable/tools/normalize.js +57 -72
  85. package/es/components/DataTable/tools/sorting.js +50 -71
  86. package/es/components/DataTableSkeleton/DataTableSkeleton.js +66 -94
  87. package/es/components/DatePicker/DatePicker.Skeleton.js +44 -51
  88. package/es/components/DatePicker/DatePicker.js +485 -752
  89. package/es/components/DatePicker/DatePickerLocales.js +75 -126
  90. package/es/components/DatePicker/index.js +13 -5
  91. package/es/components/DatePicker/plugins/appendToPlugin.js +31 -45
  92. package/es/components/DatePicker/plugins/fixEventsPlugin.js +127 -171
  93. package/es/components/DatePicker/plugins/rangePlugin.js +40 -48
  94. package/es/components/DatePicker/utils.js +11 -3
  95. package/es/components/DatePickerInput/DatePickerInput.js +179 -289
  96. package/es/components/DatePickerInput/index.js +12 -4
  97. package/es/components/Dialog/Dialog.js +303 -574
  98. package/es/components/Dialog/index.js +18 -2
  99. package/es/components/Dropdown/Dropdown.Skeleton.js +26 -38
  100. package/es/components/Dropdown/Dropdown.js +344 -535
  101. package/es/components/Dropdown/index.js +13 -5
  102. package/es/components/ErrorBoundary/ErrorBoundary.js +36 -58
  103. package/es/components/ErrorBoundary/ErrorBoundaryContext.js +14 -9
  104. package/es/components/ExpandableSearch/ExpandableSearch.js +60 -69
  105. package/es/components/ExpandableSearch/index.js +12 -4
  106. package/es/components/FeatureFlags/index.d.ts +11 -2
  107. package/es/components/FeatureFlags/index.js +79 -77
  108. package/es/components/FileUploader/FileUploader.Skeleton.js +35 -30
  109. package/es/components/FileUploader/FileUploader.js +269 -343
  110. package/es/components/FileUploader/FileUploaderButton.js +110 -160
  111. package/es/components/FileUploader/FileUploaderDropContainer.js +144 -221
  112. package/es/components/FileUploader/FileUploaderItem.js +138 -157
  113. package/es/components/FileUploader/Filename.d.ts +1 -1
  114. package/es/components/FileUploader/Filename.js +53 -72
  115. package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +26 -28
  116. package/es/components/FluidComboBox/FluidComboBox.js +54 -105
  117. package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.js +56 -53
  118. package/es/components/FluidDatePicker/FluidDatePicker.js +46 -68
  119. package/es/components/FluidDatePickerInput/FluidDatePickerInput.js +23 -16
  120. package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +26 -28
  121. package/es/components/FluidDropdown/FluidDropdown.js +55 -111
  122. package/es/components/FluidForm/FluidForm.js +29 -31
  123. package/es/components/FluidForm/FormContext.js +12 -6
  124. package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +26 -28
  125. package/es/components/FluidMultiSelect/FluidMultiSelect.js +67 -197
  126. package/es/components/FluidNumberInput/FluidNumberInput.Skeleton.js +27 -30
  127. package/es/components/FluidNumberInput/FluidNumberInput.js +63 -147
  128. package/es/components/FluidSearch/FluidSearch.Skeleton.js +27 -30
  129. package/es/components/FluidSearch/FluidSearch.js +41 -84
  130. package/es/components/FluidSelect/FluidSelect.Skeleton.js +26 -28
  131. package/es/components/FluidSelect/FluidSelect.js +40 -76
  132. package/es/components/FluidSelect/index.js +13 -5
  133. package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +27 -30
  134. package/es/components/FluidTextArea/FluidTextArea.js +48 -112
  135. package/es/components/FluidTextInput/FluidPasswordInput.js +44 -99
  136. package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +27 -30
  137. package/es/components/FluidTextInput/FluidTextInput.js +49 -104
  138. package/es/components/FluidTextInput/index.js +14 -6
  139. package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +30 -33
  140. package/es/components/FluidTimePicker/FluidTimePicker.js +68 -115
  141. package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.js +28 -47
  142. package/es/components/Form/Form.js +23 -25
  143. package/es/components/FormGroup/FormGroup.js +45 -67
  144. package/es/components/FormItem/FormItem.js +23 -25
  145. package/es/components/FormLabel/FormLabel.js +28 -34
  146. package/es/components/Grid/CSSGrid.d.ts +1 -1
  147. package/es/components/Grid/CSSGrid.js +85 -127
  148. package/es/components/Grid/Column.js +192 -324
  149. package/es/components/Grid/ColumnHang.js +28 -36
  150. package/es/components/Grid/FlexGrid.js +40 -60
  151. package/es/components/Grid/Grid.js +29 -42
  152. package/es/components/Grid/GridContext.js +36 -42
  153. package/es/components/Grid/Row.js +31 -49
  154. package/es/components/Heading/index.js +36 -51
  155. package/es/components/Icon/Icon.Skeleton.js +21 -21
  156. package/es/components/IconButton/index.js +117 -178
  157. package/es/components/IconIndicator/index.d.ts +1 -1
  158. package/es/components/IconIndicator/index.js +59 -60
  159. package/es/components/IdPrefix/index.js +21 -17
  160. package/es/components/InlineCheckbox/InlineCheckbox.js +69 -113
  161. package/es/components/InlineCheckbox/index.js +12 -4
  162. package/es/components/InlineLoading/InlineLoading.js +83 -100
  163. package/es/components/InlineLoading/index.js +12 -4
  164. package/es/components/Layer/LayerContext.js +12 -4
  165. package/es/components/Layer/LayerLevel.js +20 -4
  166. package/es/components/Layer/index.js +54 -66
  167. package/es/components/Layout/index.js +77 -109
  168. package/es/components/LayoutDirection/LayoutDirection.d.ts +1 -1
  169. package/es/components/LayoutDirection/LayoutDirection.js +33 -37
  170. package/es/components/LayoutDirection/LayoutDirectionContext.js +12 -6
  171. package/es/components/LayoutDirection/useLayoutDirection.js +15 -7
  172. package/es/components/Link/Link.js +63 -108
  173. package/es/components/Link/index.js +12 -4
  174. package/es/components/ListBox/ListBox.js +78 -126
  175. package/es/components/ListBox/ListBoxField.js +24 -43
  176. package/es/components/ListBox/ListBoxMenu.js +36 -42
  177. package/es/components/ListBox/ListBoxMenuIcon.js +39 -40
  178. package/es/components/ListBox/ListBoxMenuItem.js +67 -88
  179. package/es/components/ListBox/ListBoxPropTypes.js +17 -5
  180. package/es/components/ListBox/ListBoxSelection.js +71 -96
  181. package/es/components/ListBox/index.js +16 -14
  182. package/es/components/ListBox/next/ListBoxSelection.js +79 -117
  183. package/es/components/ListBox/next/ListBoxTrigger.js +44 -48
  184. package/es/components/ListItem/ListItem.js +25 -28
  185. package/es/components/Loading/Loading.js +64 -73
  186. package/es/components/Loading/index.js +12 -4
  187. package/es/components/Menu/Menu.js +220 -363
  188. package/es/components/Menu/MenuContext.d.ts +1 -1
  189. package/es/components/Menu/MenuContext.js +41 -38
  190. package/es/components/Menu/MenuItem.js +282 -413
  191. package/es/components/MenuButton/index.js +134 -195
  192. package/es/components/Modal/Modal.js +500 -660
  193. package/es/components/Modal/ModalPresence.js +39 -37
  194. package/es/components/Modal/index.js +13 -5
  195. package/es/components/ModalWrapper/ModalWrapper.d.ts +2 -2
  196. package/es/components/ModalWrapper/ModalWrapper.js +106 -130
  197. package/es/components/MultiSelect/FilterableMultiSelect.js +605 -918
  198. package/es/components/MultiSelect/MultiSelect.js +454 -716
  199. package/es/components/MultiSelect/MultiSelectPropTypes.js +13 -30
  200. package/es/components/MultiSelect/filter.js +14 -9
  201. package/es/components/MultiSelect/tools/sorting.js +21 -34
  202. package/es/components/Notification/Notification.js +508 -785
  203. package/es/components/NumberInput/NumberFormatPropTypes.js +69 -30
  204. package/es/components/NumberInput/NumberInput.Skeleton.js +29 -33
  205. package/es/components/NumberInput/NumberInput.js +567 -947
  206. package/es/components/OrderedList/OrderedList.js +31 -44
  207. package/es/components/OverflowMenu/OverflowMenu.js +335 -450
  208. package/es/components/OverflowMenu/index.js +25 -16
  209. package/es/components/OverflowMenu/next/index.js +154 -186
  210. package/es/components/OverflowMenuItem/OverflowMenuItem.js +100 -160
  211. package/es/components/OverflowMenuItem/index.js +12 -4
  212. package/es/components/OverflowMenuV2/index.js +15 -13
  213. package/es/components/PageHeader/PageHeader.js +297 -442
  214. package/es/components/PageHeader/index.js +24 -2
  215. package/es/components/Pagination/Pagination.Skeleton.js +34 -35
  216. package/es/components/Pagination/Pagination.d.ts +1 -1
  217. package/es/components/Pagination/Pagination.js +251 -356
  218. package/es/components/Pagination/experimental/PageSelector.js +38 -54
  219. package/es/components/Pagination/experimental/Pagination-story.d.ts +114 -0
  220. package/es/components/Pagination/experimental/Pagination.js +144 -196
  221. package/es/components/PaginationNav/PaginationNav.js +320 -426
  222. package/es/components/Popover/index.js +318 -437
  223. package/es/components/PrimaryButton/PrimaryButton.js +11 -9
  224. package/es/components/ProgressBar/ProgressBar.js +117 -143
  225. package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +42 -38
  226. package/es/components/ProgressIndicator/ProgressIndicator.js +146 -243
  227. package/es/components/RadioButton/RadioButton.Skeleton.js +23 -25
  228. package/es/components/RadioButton/RadioButton.js +101 -174
  229. package/es/components/RadioButton/index.js +12 -4
  230. package/es/components/RadioButtonGroup/RadioButtonGroup.js +135 -207
  231. package/es/components/RadioTile/RadioTile.js +104 -168
  232. package/es/components/RadioTile/index.js +12 -4
  233. package/es/components/Search/Search.Skeleton.js +28 -33
  234. package/es/components/Search/Search.js +182 -278
  235. package/es/components/Search/index.js +13 -5
  236. package/es/components/Search/utils.js +11 -3
  237. package/es/components/SecondaryButton/SecondaryButton.js +11 -9
  238. package/es/components/Select/Select.Skeleton.js +27 -30
  239. package/es/components/Select/Select.js +178 -257
  240. package/es/components/Select/index.js +13 -5
  241. package/es/components/SelectItem/SelectItem.js +33 -48
  242. package/es/components/SelectItem/index.js +12 -4
  243. package/es/components/SelectItemGroup/SelectItemGroup.js +27 -37
  244. package/es/components/ShapeIndicator/index.d.ts +1 -1
  245. package/es/components/ShapeIndicator/index.js +74 -80
  246. package/es/components/SkeletonIcon/SkeletonIcon.js +21 -24
  247. package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +15 -24
  248. package/es/components/SkeletonText/SkeletonText.js +67 -81
  249. package/es/components/SkeletonText/index.js +12 -4
  250. package/es/components/Slider/Slider.Skeleton.js +68 -91
  251. package/es/components/Slider/Slider.js +864 -1315
  252. package/es/components/Slider/SliderHandles.js +73 -66
  253. package/es/components/Stack/HStack.js +19 -11
  254. package/es/components/Stack/Stack.js +56 -80
  255. package/es/components/Stack/VStack.js +19 -11
  256. package/es/components/StructuredList/StructuredList.Skeleton.js +55 -48
  257. package/es/components/StructuredList/StructuredList.js +178 -317
  258. package/es/components/Switch/IconSwitch.js +99 -145
  259. package/es/components/Switch/Switch.js +66 -99
  260. package/es/components/TabContent/TabContent.js +28 -34
  261. package/es/components/Tabs/Tabs.Skeleton.js +41 -36
  262. package/es/components/Tabs/Tabs.js +732 -1149
  263. package/es/components/Tabs/usePressable.js +97 -112
  264. package/es/components/Tag/DismissibleTag.js +119 -156
  265. package/es/components/Tag/OperationalTag.js +91 -111
  266. package/es/components/Tag/SelectableTag.js +94 -129
  267. package/es/components/Tag/Tag.Skeleton.js +26 -30
  268. package/es/components/Tag/Tag.js +152 -200
  269. package/es/components/Tag/isEllipsisActive.js +13 -8
  270. package/es/components/Text/Text.js +66 -79
  271. package/es/components/Text/TextDirection.js +36 -37
  272. package/es/components/Text/TextDirectionContext.js +14 -8
  273. package/es/components/Text/createTextComponent.js +21 -20
  274. package/es/components/TextArea/TextArea.Skeleton.js +25 -29
  275. package/es/components/TextArea/TextArea.js +315 -422
  276. package/es/components/TextArea/index.js +13 -5
  277. package/es/components/TextInput/ControlledPasswordInput.js +133 -198
  278. package/es/components/TextInput/PasswordInput.js +196 -303
  279. package/es/components/TextInput/TextInput.Skeleton.js +24 -28
  280. package/es/components/TextInput/TextInput.js +219 -317
  281. package/es/components/TextInput/index.js +13 -5
  282. package/es/components/TextInput/util.js +21 -25
  283. package/es/components/Theme/index.js +79 -95
  284. package/es/components/Tile/Tile.js +394 -593
  285. package/es/components/TileGroup/TileGroup.js +70 -111
  286. package/es/components/TimePicker/TimePicker.d.ts +1 -1
  287. package/es/components/TimePicker/TimePicker.js +148 -247
  288. package/es/components/TimePickerSelect/TimePickerSelect.js +43 -58
  289. package/es/components/Toggle/Toggle.Skeleton.js +24 -22
  290. package/es/components/Toggle/Toggle.js +102 -171
  291. package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +46 -51
  292. package/es/components/Toggletip/index.d.ts +2 -2
  293. package/es/components/Toggletip/index.js +170 -256
  294. package/es/components/Tooltip/DefinitionTooltip.js +98 -138
  295. package/es/components/Tooltip/Tooltip.js +188 -263
  296. package/es/components/TreeView/TreeContext.js +13 -5
  297. package/es/components/TreeView/TreeNode.js +361 -500
  298. package/es/components/TreeView/TreeView.js +164 -237
  299. package/es/components/UIShell/Content.js +23 -30
  300. package/es/components/UIShell/Header.js +25 -29
  301. package/es/components/UIShell/HeaderContainer.js +31 -40
  302. package/es/components/UIShell/HeaderGlobalAction.js +65 -90
  303. package/es/components/UIShell/HeaderGlobalBar.js +16 -9
  304. package/es/components/UIShell/HeaderMenu.js +141 -215
  305. package/es/components/UIShell/HeaderMenuButton.js +43 -66
  306. package/es/components/UIShell/HeaderMenuItem.js +49 -76
  307. package/es/components/UIShell/HeaderName.js +32 -44
  308. package/es/components/UIShell/HeaderNavigation.js +32 -37
  309. package/es/components/UIShell/HeaderPanel.js +74 -97
  310. package/es/components/UIShell/HeaderSideNavItems.js +27 -33
  311. package/es/components/UIShell/Link.js +29 -50
  312. package/es/components/UIShell/SideNav.js +132 -241
  313. package/es/components/UIShell/SideNavContext.js +21 -15
  314. package/es/components/UIShell/SideNavDetails.js +29 -34
  315. package/es/components/UIShell/SideNavDivider.js +21 -21
  316. package/es/components/UIShell/SideNavFooter.js +43 -52
  317. package/es/components/UIShell/SideNavHeader.js +26 -35
  318. package/es/components/UIShell/SideNavIcon.js +28 -33
  319. package/es/components/UIShell/SideNavItem.js +28 -33
  320. package/es/components/UIShell/SideNavItems.js +31 -40
  321. package/es/components/UIShell/SideNavLink.js +52 -79
  322. package/es/components/UIShell/SideNavLinkText.js +24 -25
  323. package/es/components/UIShell/SideNavMenu.js +102 -143
  324. package/es/components/UIShell/SideNavMenuItem.js +40 -52
  325. package/es/components/UIShell/SideNavSwitcher.js +59 -68
  326. package/es/components/UIShell/SkipToContent.js +28 -36
  327. package/es/components/UIShell/Switcher.js +69 -99
  328. package/es/components/UIShell/SwitcherDivider.js +16 -24
  329. package/es/components/UIShell/SwitcherItem.js +74 -114
  330. package/es/components/UnorderedList/UnorderedList.js +28 -37
  331. package/es/feature-flags.js +19 -10
  332. package/es/index.js +249 -242
  333. package/es/internal/FloatingMenu.js +246 -292
  334. package/es/internal/OptimizedResize.js +35 -46
  335. package/es/internal/Selection.js +99 -132
  336. package/es/internal/clamp.js +12 -4
  337. package/es/internal/defaultItemToString.js +15 -9
  338. package/es/internal/deprecateFieldOnObject.js +22 -14
  339. package/es/internal/environment.js +15 -7
  340. package/es/internal/getAnnouncement.js +16 -13
  341. package/es/internal/keyboard/keys.js +48 -48
  342. package/es/internal/keyboard/match.js +25 -42
  343. package/es/internal/keyboard/navigation.js +22 -27
  344. package/es/internal/noopFn.js +10 -2
  345. package/es/internal/useAttachedMenu.js +43 -51
  346. package/es/internal/useControllableState.js +43 -48
  347. package/es/internal/useDelayedState.js +30 -35
  348. package/es/internal/useEvent.js +39 -35
  349. package/es/internal/useId.js +51 -87
  350. package/es/internal/useIdPrefix.js +13 -5
  351. package/es/internal/useIsomorphicEffect.js +12 -4
  352. package/es/internal/useMatchMedia.js +29 -21
  353. package/es/internal/useMergedRefs.js +26 -22
  354. package/es/internal/useNoInteractiveChildren.js +70 -99
  355. package/es/internal/useNormalizedInputProps.js +47 -51
  356. package/es/internal/useOutsideClick.js +21 -24
  357. package/es/internal/useOverflowItems.js +89 -90
  358. package/es/internal/usePrefix.js +13 -5
  359. package/es/internal/usePresence.js +51 -54
  360. package/es/internal/usePresenceContext.js +35 -35
  361. package/es/internal/usePreviousValue.js +26 -18
  362. package/es/internal/useResizeObserver.js +57 -66
  363. package/es/internal/useSavedCallback.js +24 -17
  364. package/es/internal/utils.js +17 -9
  365. package/es/internal/warning.js +17 -22
  366. package/es/internal/wrapFocus.js +77 -98
  367. package/es/prop-types/AriaPropTypes.js +14 -6
  368. package/es/prop-types/deprecate.js +30 -27
  369. package/es/prop-types/deprecateComponent.js +17 -8
  370. package/es/prop-types/deprecateValuesWithin.js +18 -21
  371. package/es/prop-types/isRequiredOneOf.js +21 -24
  372. package/es/prop-types/requiredIfGivenPropIsTruthy.js +14 -14
  373. package/es/tools/events.js +17 -21
  374. package/es/tools/mapPopoverAlign.js +19 -18
  375. package/es/tools/mergeRefs.js +14 -17
  376. package/es/tools/setupGetInstanceId.js +16 -8
  377. package/es/tools/toggleClass.js +17 -9
  378. package/es/tools/wrapComponent.js +34 -39
  379. package/icons/index.d.ts +2 -1
  380. package/icons/index.esm.js +2 -2
  381. package/icons/index.js +7 -10
  382. package/lib/_virtual/_rolldown/runtime.js +50 -0
  383. package/lib/components/AILabel/index.d.ts +29 -2
  384. package/lib/components/AILabel/index.js +118 -171
  385. package/lib/components/AISkeleton/AISkeletonIcon.js +27 -31
  386. package/lib/components/AISkeleton/AISkeletonPlaceholder.js +29 -31
  387. package/lib/components/AISkeleton/AISkeletonText.js +30 -43
  388. package/lib/components/Accordion/Accordion.Skeleton.js +59 -84
  389. package/lib/components/Accordion/Accordion.js +47 -65
  390. package/lib/components/Accordion/AccordionItem.js +106 -160
  391. package/lib/components/Accordion/AccordionProvider.js +20 -17
  392. package/lib/components/AspectRatio/AspectRatio.js +45 -51
  393. package/lib/components/BadgeIndicator/index.js +33 -39
  394. package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +43 -55
  395. package/lib/components/Breadcrumb/Breadcrumb.js +43 -55
  396. package/lib/components/Breadcrumb/BreadcrumbItem.js +84 -87
  397. package/lib/components/Button/Button.Skeleton.js +53 -63
  398. package/lib/components/Button/Button.d.ts +1 -1
  399. package/lib/components/Button/Button.js +149 -244
  400. package/lib/components/Button/ButtonBase.js +85 -108
  401. package/lib/components/Button/index.js +13 -15
  402. package/lib/components/ButtonSet/ButtonSet.js +78 -102
  403. package/lib/components/ButtonSet/index.js +12 -9
  404. package/lib/components/ChatButton/ChatButton.Skeleton.js +31 -31
  405. package/lib/components/ChatButton/ChatButton.js +68 -83
  406. package/lib/components/Checkbox/Checkbox.Skeleton.js +30 -30
  407. package/lib/components/Checkbox/Checkbox.js +119 -198
  408. package/lib/components/Checkbox/index.js +13 -11
  409. package/lib/components/CheckboxGroup/CheckboxGroup.js +104 -152
  410. package/lib/components/ClassPrefix/index.js +24 -19
  411. package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +49 -47
  412. package/lib/components/CodeSnippet/CodeSnippet.js +215 -303
  413. package/lib/components/ComboBox/ComboBox.js +626 -974
  414. package/lib/components/ComboBox/index.js +12 -9
  415. package/lib/components/ComboButton/index.js +176 -210
  416. package/lib/components/ComposedModal/ComposedModal.js +315 -454
  417. package/lib/components/ComposedModal/ComposedModalPresence.js +49 -44
  418. package/lib/components/ComposedModal/ModalFooter.js +131 -209
  419. package/lib/components/ComposedModal/ModalHeader.js +75 -103
  420. package/lib/components/ComposedModal/useComposedModalState.js +22 -17
  421. package/lib/components/ContainedList/ContainedList.js +77 -106
  422. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +59 -71
  423. package/lib/components/ContainedList/ContainedListItem/index.js +12 -9
  424. package/lib/components/ContainedList/index.js +18 -15
  425. package/lib/components/ContentSwitcher/ContentSwitcher.js +112 -142
  426. package/lib/components/ContextMenu/useContextMenu.js +42 -40
  427. package/lib/components/Copy/Copy.js +101 -121
  428. package/lib/components/Copy/index.js +12 -9
  429. package/lib/components/CopyButton/CopyButton.js +85 -98
  430. package/lib/components/CopyButton/index.js +12 -9
  431. package/lib/components/DangerButton/DangerButton.js +19 -13
  432. package/lib/components/DataTable/DataTable.d.ts +11 -11
  433. package/lib/components/DataTable/DataTable.js +474 -655
  434. package/lib/components/DataTable/Table.js +115 -161
  435. package/lib/components/DataTable/TableActionList.js +15 -11
  436. package/lib/components/DataTable/TableBatchAction.js +28 -38
  437. package/lib/components/DataTable/TableBatchActions.js +82 -117
  438. package/lib/components/DataTable/TableBody.js +29 -23
  439. package/lib/components/DataTable/TableCell.js +35 -50
  440. package/lib/components/DataTable/TableContainer.js +79 -86
  441. package/lib/components/DataTable/TableContext.js +15 -8
  442. package/lib/components/DataTable/TableDecoratorRow.js +34 -40
  443. package/lib/components/DataTable/TableExpandHeader.js +57 -94
  444. package/lib/components/DataTable/TableExpandRow.js +86 -123
  445. package/lib/components/DataTable/TableExpandedRow.js +49 -55
  446. package/lib/components/DataTable/TableHead.js +8 -10
  447. package/lib/components/DataTable/TableHeader.js +142 -185
  448. package/lib/components/DataTable/TableRow.d.ts +1 -1
  449. package/lib/components/DataTable/TableRow.js +46 -80
  450. package/lib/components/DataTable/TableSelectAll.js +46 -74
  451. package/lib/components/DataTable/TableSelectRow.js +67 -102
  452. package/lib/components/DataTable/TableSlugRow.js +39 -47
  453. package/lib/components/DataTable/TableToolbar.js +37 -49
  454. package/lib/components/DataTable/TableToolbarAction.js +28 -24
  455. package/lib/components/DataTable/TableToolbarContent.js +15 -11
  456. package/lib/components/DataTable/TableToolbarMenu.js +39 -50
  457. package/lib/components/DataTable/TableToolbarSearch.js +101 -191
  458. package/lib/components/DataTable/state/getDerivedStateFromProps.js +38 -47
  459. package/lib/components/DataTable/state/sortStates.js +11 -10
  460. package/lib/components/DataTable/state/sorting.js +54 -76
  461. package/lib/components/DataTable/tools/cells.js +15 -8
  462. package/lib/components/DataTable/tools/denormalize.js +27 -22
  463. package/lib/components/DataTable/tools/filter.js +21 -23
  464. package/lib/components/DataTable/tools/normalize.js +57 -76
  465. package/lib/components/DataTable/tools/sorting.js +50 -75
  466. package/lib/components/DataTableSkeleton/DataTableSkeleton.js +70 -98
  467. package/lib/components/DatePicker/DatePicker.Skeleton.js +48 -56
  468. package/lib/components/DatePicker/DatePicker.js +491 -756
  469. package/lib/components/DatePicker/DatePickerLocales.js +75 -127
  470. package/lib/components/DatePicker/index.js +13 -11
  471. package/lib/components/DatePicker/plugins/appendToPlugin.js +31 -46
  472. package/lib/components/DatePicker/plugins/fixEventsPlugin.js +127 -175
  473. package/lib/components/DatePicker/plugins/rangePlugin.js +42 -50
  474. package/lib/components/DatePicker/utils.js +11 -4
  475. package/lib/components/DatePickerInput/DatePickerInput.js +183 -293
  476. package/lib/components/DatePickerInput/index.js +12 -9
  477. package/lib/components/Dialog/Dialog.js +307 -576
  478. package/lib/components/Dialog/index.js +21 -13
  479. package/lib/components/Dropdown/Dropdown.Skeleton.js +30 -43
  480. package/lib/components/Dropdown/Dropdown.js +348 -539
  481. package/lib/components/Dropdown/index.js +13 -11
  482. package/lib/components/ErrorBoundary/ErrorBoundary.js +39 -62
  483. package/lib/components/ErrorBoundary/ErrorBoundaryContext.js +15 -11
  484. package/lib/components/ExpandableSearch/ExpandableSearch.js +63 -73
  485. package/lib/components/ExpandableSearch/index.js +12 -9
  486. package/lib/components/FeatureFlags/index.d.ts +11 -2
  487. package/lib/components/FeatureFlags/index.js +82 -79
  488. package/lib/components/FileUploader/FileUploader.Skeleton.js +39 -35
  489. package/lib/components/FileUploader/FileUploader.js +273 -347
  490. package/lib/components/FileUploader/FileUploaderButton.js +114 -164
  491. package/lib/components/FileUploader/FileUploaderDropContainer.js +148 -225
  492. package/lib/components/FileUploader/FileUploaderItem.js +142 -161
  493. package/lib/components/FileUploader/Filename.d.ts +1 -1
  494. package/lib/components/FileUploader/Filename.js +56 -76
  495. package/lib/components/FluidComboBox/FluidComboBox.Skeleton.js +30 -32
  496. package/lib/components/FluidComboBox/FluidComboBox.js +58 -109
  497. package/lib/components/FluidDatePicker/FluidDatePicker.Skeleton.js +60 -57
  498. package/lib/components/FluidDatePicker/FluidDatePicker.js +50 -72
  499. package/lib/components/FluidDatePickerInput/FluidDatePickerInput.js +25 -20
  500. package/lib/components/FluidDropdown/FluidDropdown.Skeleton.js +30 -32
  501. package/lib/components/FluidDropdown/FluidDropdown.js +59 -115
  502. package/lib/components/FluidForm/FluidForm.js +33 -35
  503. package/lib/components/FluidForm/FormContext.js +13 -8
  504. package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +30 -32
  505. package/lib/components/FluidMultiSelect/FluidMultiSelect.js +71 -201
  506. package/lib/components/FluidNumberInput/FluidNumberInput.Skeleton.js +31 -34
  507. package/lib/components/FluidNumberInput/FluidNumberInput.js +67 -151
  508. package/lib/components/FluidSearch/FluidSearch.Skeleton.js +31 -34
  509. package/lib/components/FluidSearch/FluidSearch.js +45 -88
  510. package/lib/components/FluidSelect/FluidSelect.Skeleton.js +30 -32
  511. package/lib/components/FluidSelect/FluidSelect.js +44 -80
  512. package/lib/components/FluidSelect/index.js +13 -11
  513. package/lib/components/FluidTextArea/FluidTextArea.Skeleton.js +31 -34
  514. package/lib/components/FluidTextArea/FluidTextArea.js +52 -116
  515. package/lib/components/FluidTextInput/FluidPasswordInput.js +48 -103
  516. package/lib/components/FluidTextInput/FluidTextInput.Skeleton.js +31 -34
  517. package/lib/components/FluidTextInput/FluidTextInput.js +53 -108
  518. package/lib/components/FluidTextInput/index.js +14 -13
  519. package/lib/components/FluidTimePicker/FluidTimePicker.Skeleton.js +34 -37
  520. package/lib/components/FluidTimePicker/FluidTimePicker.js +72 -119
  521. package/lib/components/FluidTimePickerSelect/FluidTimePickerSelect.js +31 -51
  522. package/lib/components/Form/Form.js +27 -29
  523. package/lib/components/FormGroup/FormGroup.js +49 -71
  524. package/lib/components/FormItem/FormItem.js +27 -29
  525. package/lib/components/FormLabel/FormLabel.js +32 -38
  526. package/lib/components/Grid/CSSGrid.d.ts +1 -1
  527. package/lib/components/Grid/CSSGrid.js +89 -129
  528. package/lib/components/Grid/Column.js +196 -328
  529. package/lib/components/Grid/ColumnHang.js +32 -38
  530. package/lib/components/Grid/FlexGrid.js +44 -62
  531. package/lib/components/Grid/Grid.js +32 -44
  532. package/lib/components/Grid/GridContext.js +39 -44
  533. package/lib/components/Grid/Row.js +35 -53
  534. package/lib/components/Heading/index.js +39 -53
  535. package/lib/components/Icon/Icon.Skeleton.js +25 -23
  536. package/lib/components/IconButton/index.js +121 -180
  537. package/lib/components/IconIndicator/index.d.ts +1 -1
  538. package/lib/components/IconIndicator/index.js +63 -63
  539. package/lib/components/IdPrefix/index.js +24 -19
  540. package/lib/components/InlineCheckbox/InlineCheckbox.js +72 -117
  541. package/lib/components/InlineCheckbox/index.js +12 -9
  542. package/lib/components/InlineLoading/InlineLoading.js +87 -104
  543. package/lib/components/InlineLoading/index.js +12 -9
  544. package/lib/components/Layer/LayerContext.js +14 -6
  545. package/lib/components/Layer/LayerLevel.js +20 -6
  546. package/lib/components/Layer/index.js +58 -68
  547. package/lib/components/Layout/index.js +81 -111
  548. package/lib/components/LayoutDirection/LayoutDirection.d.ts +1 -1
  549. package/lib/components/LayoutDirection/LayoutDirection.js +36 -40
  550. package/lib/components/LayoutDirection/LayoutDirectionContext.js +14 -8
  551. package/lib/components/LayoutDirection/useLayoutDirection.js +16 -9
  552. package/lib/components/Link/Link.js +67 -112
  553. package/lib/components/Link/index.js +12 -9
  554. package/lib/components/ListBox/ListBox.js +82 -130
  555. package/lib/components/ListBox/ListBoxField.js +33 -47
  556. package/lib/components/ListBox/ListBoxMenu.js +39 -46
  557. package/lib/components/ListBox/ListBoxMenuIcon.js +43 -44
  558. package/lib/components/ListBox/ListBoxMenuItem.js +71 -92
  559. package/lib/components/ListBox/ListBoxPropTypes.js +21 -9
  560. package/lib/components/ListBox/ListBoxSelection.js +75 -100
  561. package/lib/components/ListBox/index.js +17 -21
  562. package/lib/components/ListBox/next/ListBoxSelection.js +83 -121
  563. package/lib/components/ListBox/next/ListBoxTrigger.js +48 -52
  564. package/lib/components/ListItem/ListItem.js +29 -32
  565. package/lib/components/Loading/Loading.js +68 -77
  566. package/lib/components/Loading/index.js +12 -9
  567. package/lib/components/Menu/Menu.js +224 -365
  568. package/lib/components/Menu/MenuContext.d.ts +1 -1
  569. package/lib/components/Menu/MenuContext.js +42 -40
  570. package/lib/components/Menu/MenuItem.js +286 -415
  571. package/lib/components/MenuButton/index.js +138 -197
  572. package/lib/components/Modal/Modal.js +504 -665
  573. package/lib/components/Modal/ModalPresence.js +41 -39
  574. package/lib/components/Modal/index.js +13 -10
  575. package/lib/components/ModalWrapper/ModalWrapper.d.ts +2 -2
  576. package/lib/components/ModalWrapper/ModalWrapper.js +112 -134
  577. package/lib/components/MultiSelect/FilterableMultiSelect.js +611 -920
  578. package/lib/components/MultiSelect/MultiSelect.js +459 -718
  579. package/lib/components/MultiSelect/MultiSelectPropTypes.js +15 -32
  580. package/lib/components/MultiSelect/filter.js +14 -10
  581. package/lib/components/MultiSelect/tools/sorting.js +21 -35
  582. package/lib/components/Notification/Notification.js +514 -787
  583. package/lib/components/NumberInput/NumberFormatPropTypes.js +72 -33
  584. package/lib/components/NumberInput/NumberInput.Skeleton.js +33 -37
  585. package/lib/components/NumberInput/NumberInput.js +571 -950
  586. package/lib/components/OrderedList/OrderedList.js +35 -48
  587. package/lib/components/OverflowMenu/OverflowMenu.js +341 -454
  588. package/lib/components/OverflowMenu/index.js +27 -21
  589. package/lib/components/OverflowMenu/next/index.js +158 -188
  590. package/lib/components/OverflowMenuItem/OverflowMenuItem.js +104 -164
  591. package/lib/components/OverflowMenuItem/index.js +12 -9
  592. package/lib/components/OverflowMenuV2/index.js +25 -15
  593. package/lib/components/PageHeader/PageHeader.js +301 -444
  594. package/lib/components/PageHeader/index.js +27 -19
  595. package/lib/components/Pagination/Pagination.Skeleton.js +38 -37
  596. package/lib/components/Pagination/Pagination.d.ts +1 -1
  597. package/lib/components/Pagination/Pagination.js +256 -360
  598. package/lib/components/Pagination/experimental/PageSelector.js +48 -58
  599. package/lib/components/Pagination/experimental/Pagination-story.d.ts +114 -0
  600. package/lib/components/Pagination/experimental/Pagination.js +148 -200
  601. package/lib/components/PaginationNav/PaginationNav.js +324 -430
  602. package/lib/components/Popover/index.js +323 -440
  603. package/lib/components/PrimaryButton/PrimaryButton.js +19 -13
  604. package/lib/components/ProgressBar/ProgressBar.js +121 -147
  605. package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +46 -43
  606. package/lib/components/ProgressIndicator/ProgressIndicator.js +150 -245
  607. package/lib/components/RadioButton/RadioButton.Skeleton.js +27 -27
  608. package/lib/components/RadioButton/RadioButton.js +105 -178
  609. package/lib/components/RadioButton/index.js +12 -9
  610. package/lib/components/RadioButtonGroup/RadioButtonGroup.js +139 -211
  611. package/lib/components/RadioTile/RadioTile.js +108 -172
  612. package/lib/components/RadioTile/index.js +12 -9
  613. package/lib/components/Search/Search.Skeleton.js +32 -38
  614. package/lib/components/Search/Search.js +185 -281
  615. package/lib/components/Search/index.js +13 -11
  616. package/lib/components/Search/utils.js +11 -4
  617. package/lib/components/SecondaryButton/SecondaryButton.js +19 -13
  618. package/lib/components/Select/Select.Skeleton.js +31 -35
  619. package/lib/components/Select/Select.js +182 -261
  620. package/lib/components/Select/index.js +13 -11
  621. package/lib/components/SelectItem/SelectItem.js +37 -52
  622. package/lib/components/SelectItem/index.js +12 -9
  623. package/lib/components/SelectItemGroup/SelectItemGroup.js +31 -41
  624. package/lib/components/ShapeIndicator/index.d.ts +1 -1
  625. package/lib/components/ShapeIndicator/index.js +78 -83
  626. package/lib/components/SkeletonIcon/SkeletonIcon.js +25 -28
  627. package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +25 -28
  628. package/lib/components/SkeletonText/SkeletonText.js +71 -85
  629. package/lib/components/SkeletonText/index.js +12 -9
  630. package/lib/components/Slider/Slider.Skeleton.js +72 -95
  631. package/lib/components/Slider/Slider.js +868 -1319
  632. package/lib/components/Slider/SliderHandles.js +75 -68
  633. package/lib/components/Stack/HStack.js +22 -14
  634. package/lib/components/Stack/Stack.js +60 -82
  635. package/lib/components/Stack/VStack.js +22 -14
  636. package/lib/components/StructuredList/StructuredList.Skeleton.js +59 -52
  637. package/lib/components/StructuredList/StructuredList.js +182 -319
  638. package/lib/components/Switch/IconSwitch.js +103 -149
  639. package/lib/components/Switch/Switch.js +70 -103
  640. package/lib/components/TabContent/TabContent.js +32 -38
  641. package/lib/components/Tabs/Tabs.Skeleton.js +45 -41
  642. package/lib/components/Tabs/Tabs.js +738 -1153
  643. package/lib/components/Tabs/usePressable.js +98 -114
  644. package/lib/components/Tag/DismissibleTag.js +123 -160
  645. package/lib/components/Tag/OperationalTag.js +95 -115
  646. package/lib/components/Tag/SelectableTag.js +98 -133
  647. package/lib/components/Tag/Tag.Skeleton.js +30 -32
  648. package/lib/components/Tag/Tag.js +156 -204
  649. package/lib/components/Tag/isEllipsisActive.js +13 -9
  650. package/lib/components/Text/Text.js +69 -81
  651. package/lib/components/Text/TextDirection.js +39 -39
  652. package/lib/components/Text/TextDirectionContext.js +15 -10
  653. package/lib/components/Text/createTextComponent.js +29 -22
  654. package/lib/components/TextArea/TextArea.Skeleton.js +29 -34
  655. package/lib/components/TextArea/TextArea.js +319 -426
  656. package/lib/components/TextArea/index.js +13 -11
  657. package/lib/components/TextInput/ControlledPasswordInput.js +137 -202
  658. package/lib/components/TextInput/PasswordInput.js +200 -307
  659. package/lib/components/TextInput/TextInput.Skeleton.js +28 -33
  660. package/lib/components/TextInput/TextInput.js +223 -321
  661. package/lib/components/TextInput/index.js +13 -11
  662. package/lib/components/TextInput/util.js +21 -26
  663. package/lib/components/Theme/index.js +83 -97
  664. package/lib/components/Tile/Tile.js +398 -595
  665. package/lib/components/TileGroup/TileGroup.js +73 -113
  666. package/lib/components/TimePicker/TimePicker.d.ts +1 -1
  667. package/lib/components/TimePicker/TimePicker.js +152 -251
  668. package/lib/components/TimePickerSelect/TimePickerSelect.js +47 -62
  669. package/lib/components/Toggle/Toggle.Skeleton.js +28 -24
  670. package/lib/components/Toggle/Toggle.js +106 -176
  671. package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +50 -53
  672. package/lib/components/Toggletip/index.d.ts +2 -2
  673. package/lib/components/Toggletip/index.js +174 -258
  674. package/lib/components/Tooltip/DefinitionTooltip.js +102 -140
  675. package/lib/components/Tooltip/Tooltip.js +192 -265
  676. package/lib/components/TreeView/TreeContext.js +14 -7
  677. package/lib/components/TreeView/TreeNode.js +365 -504
  678. package/lib/components/TreeView/TreeView.js +169 -242
  679. package/lib/components/UIShell/Content.js +27 -34
  680. package/lib/components/UIShell/Header.js +29 -33
  681. package/lib/components/UIShell/HeaderContainer.js +34 -44
  682. package/lib/components/UIShell/HeaderGlobalAction.js +69 -94
  683. package/lib/components/UIShell/HeaderGlobalBar.js +17 -14
  684. package/lib/components/UIShell/HeaderMenu.js +146 -221
  685. package/lib/components/UIShell/HeaderMenuButton.js +47 -70
  686. package/lib/components/UIShell/HeaderMenuItem.js +53 -80
  687. package/lib/components/UIShell/HeaderName.js +36 -48
  688. package/lib/components/UIShell/HeaderNavigation.js +36 -41
  689. package/lib/components/UIShell/HeaderPanel.js +78 -101
  690. package/lib/components/UIShell/HeaderSideNavItems.js +31 -37
  691. package/lib/components/UIShell/Link.js +32 -54
  692. package/lib/components/UIShell/SideNav.js +136 -245
  693. package/lib/components/UIShell/SideNavContext.js +23 -17
  694. package/lib/components/UIShell/SideNavDetails.js +33 -38
  695. package/lib/components/UIShell/SideNavDivider.js +25 -25
  696. package/lib/components/UIShell/SideNavFooter.js +47 -56
  697. package/lib/components/UIShell/SideNavHeader.js +30 -39
  698. package/lib/components/UIShell/SideNavIcon.js +32 -37
  699. package/lib/components/UIShell/SideNavItem.js +32 -37
  700. package/lib/components/UIShell/SideNavItems.js +35 -44
  701. package/lib/components/UIShell/SideNavLink.js +56 -83
  702. package/lib/components/UIShell/SideNavLinkText.js +28 -29
  703. package/lib/components/UIShell/SideNavMenu.js +106 -148
  704. package/lib/components/UIShell/SideNavMenuItem.js +44 -56
  705. package/lib/components/UIShell/SideNavSwitcher.js +63 -72
  706. package/lib/components/UIShell/SkipToContent.js +32 -40
  707. package/lib/components/UIShell/Switcher.js +73 -103
  708. package/lib/components/UIShell/SwitcherDivider.js +26 -28
  709. package/lib/components/UIShell/SwitcherItem.js +78 -118
  710. package/lib/components/UnorderedList/UnorderedList.js +32 -41
  711. package/lib/feature-flags.js +21 -13
  712. package/lib/index.js +622 -602
  713. package/lib/internal/FloatingMenu.js +249 -296
  714. package/lib/internal/OptimizedResize.js +35 -47
  715. package/lib/internal/Selection.js +102 -134
  716. package/lib/internal/clamp.js +12 -5
  717. package/lib/internal/defaultItemToString.js +15 -10
  718. package/lib/internal/deprecateFieldOnObject.js +23 -16
  719. package/lib/internal/environment.js +15 -8
  720. package/lib/internal/getAnnouncement.js +16 -14
  721. package/lib/internal/keyboard/keys.js +48 -49
  722. package/lib/internal/keyboard/match.js +25 -43
  723. package/lib/internal/keyboard/navigation.js +22 -29
  724. package/lib/internal/noopFn.js +10 -3
  725. package/lib/internal/useAttachedMenu.js +44 -53
  726. package/lib/internal/useControllableState.js +44 -50
  727. package/lib/internal/useDelayedState.js +31 -37
  728. package/lib/internal/useEvent.js +40 -37
  729. package/lib/internal/useId.js +54 -91
  730. package/lib/internal/useIdPrefix.js +15 -7
  731. package/lib/internal/useIsomorphicEffect.js +13 -8
  732. package/lib/internal/useMatchMedia.js +30 -23
  733. package/lib/internal/useMergedRefs.js +27 -24
  734. package/lib/internal/useNoInteractiveChildren.js +73 -101
  735. package/lib/internal/useNormalizedInputProps.js +55 -53
  736. package/lib/internal/useOutsideClick.js +22 -26
  737. package/lib/internal/useOverflowItems.js +90 -94
  738. package/lib/internal/usePrefix.js +15 -7
  739. package/lib/internal/usePresence.js +52 -56
  740. package/lib/internal/usePresenceContext.js +36 -37
  741. package/lib/internal/usePreviousValue.js +27 -20
  742. package/lib/internal/useResizeObserver.js +58 -68
  743. package/lib/internal/useSavedCallback.js +25 -19
  744. package/lib/internal/utils.js +18 -11
  745. package/lib/internal/warning.js +24 -23
  746. package/lib/internal/wrapFocus.js +78 -100
  747. package/lib/prop-types/AriaPropTypes.js +17 -9
  748. package/lib/prop-types/deprecate.js +30 -29
  749. package/lib/prop-types/deprecateComponent.js +17 -10
  750. package/lib/prop-types/deprecateValuesWithin.js +18 -23
  751. package/lib/prop-types/isRequiredOneOf.js +21 -25
  752. package/lib/prop-types/requiredIfGivenPropIsTruthy.js +14 -15
  753. package/lib/tools/events.js +17 -22
  754. package/lib/tools/mapPopoverAlign.js +19 -19
  755. package/lib/tools/mergeRefs.js +14 -18
  756. package/lib/tools/setupGetInstanceId.js +16 -9
  757. package/lib/tools/toggleClass.js +17 -10
  758. package/lib/tools/wrapComponent.js +38 -43
  759. package/package.json +10 -16
  760. package/es/_virtual/_rollupPluginBabelHelpers.js +0 -40
  761. package/es/components/DataTable/stories/examples/TableToolbarFilter.d.ts +0 -54
  762. package/es/node_modules/es-toolkit/dist/compat/function/debounce.js +0 -55
  763. package/es/node_modules/es-toolkit/dist/compat/function/throttle.js +0 -23
  764. package/es/node_modules/es-toolkit/dist/function/debounce.js +0 -70
  765. package/lib/_virtual/_rollupPluginBabelHelpers.js +0 -45
  766. package/lib/components/DataTable/stories/examples/TableToolbarFilter.d.ts +0 -54
  767. package/lib/node_modules/es-toolkit/dist/compat/function/debounce.js +0 -57
  768. package/lib/node_modules/es-toolkit/dist/compat/function/throttle.js +0 -25
  769. package/lib/node_modules/es-toolkit/dist/function/debounce.js +0 -72
@@ -1,605 +1,336 @@
1
1
  /**
2
- * Copyright IBM Corp. 2016, 2023
2
+ * Copyright IBM Corp. 2016, 2026
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
 
8
- 'use strict';
9
-
10
- var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
11
- var PropTypes = require('prop-types');
12
- var React = require('react');
13
- var useIsomorphicEffect = require('../../internal/useIsomorphicEffect.js');
14
- var usePrefix = require('../../internal/usePrefix.js');
15
- var cx = require('classnames');
16
- var iconsReact = require('@carbon/icons-react');
17
- var index = require('../IconButton/index.js');
18
- var noopFn = require('../../internal/noopFn.js');
19
- var Text = require('../Text/Text.js');
20
- require('../Text/TextDirection.js');
21
- var index$1 = require('../Layer/index.js');
22
- var ButtonSet = require('../ButtonSet/ButtonSet.js');
23
- var Button = require('../Button/Button.js');
24
- require('../Button/Button.Skeleton.js');
25
- var useId = require('../../internal/useId.js');
26
- var InlineLoading = require('../InlineLoading/InlineLoading.js');
27
- var debounce = require('../../node_modules/es-toolkit/dist/compat/function/debounce.js');
28
-
29
- const DialogContext = /*#__PURE__*/React.createContext({});
8
+ const require_runtime = require('../../_virtual/_rolldown/runtime.js');
9
+ const require_usePrefix = require('../../internal/usePrefix.js');
10
+ const require_Text = require('../Text/Text.js');
11
+ const require_useIsomorphicEffect = require('../../internal/useIsomorphicEffect.js');
12
+ const require_useId = require('../../internal/useId.js');
13
+ const require_noopFn = require('../../internal/noopFn.js');
14
+ const require_index = require('../IconButton/index.js');
15
+ const require_index$1 = require('../Button/index.js');
16
+ const require_index$2 = require('../ButtonSet/index.js');
17
+ const require_index$3 = require('../Layer/index.js');
18
+ const require_InlineLoading = require('../InlineLoading/InlineLoading.js');
19
+ let classnames = require("classnames");
20
+ classnames = require_runtime.__toESM(classnames);
21
+ let react = require("react");
22
+ react = require_runtime.__toESM(react);
23
+ let prop_types = require("prop-types");
24
+ prop_types = require_runtime.__toESM(prop_types);
25
+ let react_jsx_runtime = require("react/jsx-runtime");
26
+ let _carbon_icons_react = require("@carbon/icons-react");
27
+ let es_toolkit_compat = require("es-toolkit/compat");
30
28
 
29
+ //#region src/components/Dialog/Dialog.tsx
31
30
  /**
32
- * ----------
33
- * Dialog
34
- * ----------
35
- */
36
-
37
- const Dialog = /*#__PURE__*/React.forwardRef(({
38
- children,
39
- className,
40
- focusAfterCloseRef,
41
- modal,
42
- onCancel = noopFn.noopFn,
43
- onClick = noopFn.noopFn,
44
- onClose = noopFn.noopFn,
45
- onRequestClose = noopFn.noopFn,
46
- open = false,
47
- role,
48
- ariaLabel,
49
- ariaLabelledBy,
50
- ariaDescribedBy,
51
- ...rest
52
- }, forwardRef) => {
53
- const prefix = usePrefix.usePrefix();
54
- const dialogId = useId.useId();
55
- const titleId = `${prefix}--dialog-header__heading--${dialogId}`;
56
- const subtitleId = `${prefix}--dialog-header__label--${dialogId}`;
57
-
58
- // This component needs access to a ref, placed on the dialog, to call the
59
- // various imperative dialog functions (show(), close(), etc.).
60
- // If the parent component has not passed a ref for forwardRef, forwardRef
61
- // will be null. A "backup" ref is needed to ensure the dialog's instance
62
- // methods can always be called within this component.
63
- const backupRef = React.useRef(null);
64
- const ref = forwardRef ?? backupRef;
65
-
66
- // Clicks on the backdrop of an open modal dialog should request the consuming component to close
67
- // the dialog. Clicks elsewhere, or on non-modal dialogs should not request
68
- // to close the dialog.
69
- function handleModalBackdropClick(e) {
70
- if (open && modal && e.target === ref.current) {
71
- onRequestClose(e);
72
- }
73
- }
74
- function handleClick(e) {
75
- handleModalBackdropClick(e);
76
-
77
- // onClick should always be called, no matter if the target is a modal
78
- // dialog, modal dialog backdrop, or non-modal dialog.
79
- onClick(e);
80
- }
81
- React.useEffect(() => {
82
- if (ref.current) {
83
- if (open) {
84
- if (modal) {
85
- // Display the dialog as a modal, over the top of any other dialogs
86
- // that might be present. Everything outside the dialog are inert
87
- // with interactions outside the dialog being blocked.
88
- ref.current.showModal();
89
- } else {
90
- // Display the dialog modelessly, i.e. still allowing interaction
91
- // with content outside of the dialog.
92
- ref.current.show();
93
- }
94
- } else {
95
- ref.current.close();
96
- }
97
- }
98
- // eslint-disable-next-line react-hooks/exhaustive-deps -- https://github.com/carbon-design-system/carbon/issues/20452
99
- }, [modal, open]);
100
- React.useEffect(() => {
101
- if (!open && focusAfterCloseRef) {
102
- // use setTimeout to ensure focus is set after all other default focus behavior
103
- const moveFocus = setTimeout(() => {
104
- focusAfterCloseRef.current?.focus();
105
- });
106
-
107
- //component did unmount equivalent
108
- return () => {
109
- clearTimeout(moveFocus);
110
- };
111
- }
112
- }, [open, focusAfterCloseRef]);
113
- const containerClasses = cx(`${prefix}--dialog-container`);
114
- const contextValue = {
115
- dialogId,
116
- titleId,
117
- subtitleId,
118
- isOpen: open
119
- };
120
- React.useEffect(() => {
121
- if (ref.current && open && !ariaLabel && !ariaLabelledBy) {
122
- const title = ref.current.querySelector(`.${prefix}--dialog-header__heading`);
123
-
124
- // Set aria-labelledby to the title's ID if it exists
125
- if (title && title.id) {
126
- ref.current.setAttribute('aria-labelledby', title.id);
127
- }
128
- }
129
- // eslint-disable-next-line react-hooks/exhaustive-deps -- https://github.com/carbon-design-system/carbon/issues/20452
130
- }, [open, ariaLabel, ariaLabelledBy, prefix]);
131
- return /*#__PURE__*/React.createElement(DialogContext.Provider, {
132
- value: contextValue
133
- }, /*#__PURE__*/React.createElement("dialog", _rollupPluginBabelHelpers.extends({}, rest, {
134
- className: cx(`${prefix}--dialog`, {
135
- [`${prefix}--dialog--modal`]: modal
136
- }, className),
137
- ref: ref,
138
- onCancel: onCancel,
139
- onClick: handleClick,
140
- onClose: onClose,
141
- role: role,
142
- "aria-label": ariaLabel,
143
- "aria-labelledby": !ariaLabel ? ariaLabelledBy || titleId : undefined,
144
- "aria-describedby": ariaDescribedBy
145
- }), /*#__PURE__*/React.createElement("div", {
146
- className: containerClasses
147
- }, children)));
31
+ * Copyright IBM Corp. 2025, 2026
32
+ *
33
+ * This source code is licensed under the Apache-2.0 license found in the
34
+ * LICENSE file in the root directory of this source tree.
35
+ */
36
+ const DialogContext = (0, react.createContext)({});
37
+ const Dialog = react.default.forwardRef(({ children, className, focusAfterCloseRef, modal, onCancel = require_noopFn.noopFn, onClick = require_noopFn.noopFn, onClose = require_noopFn.noopFn, onRequestClose = require_noopFn.noopFn, open = false, role, ariaLabel, ariaLabelledBy, ariaDescribedBy, ...rest }, forwardRef) => {
38
+ const prefix = require_usePrefix.usePrefix();
39
+ const dialogId = require_useId.useId();
40
+ const titleId = `${prefix}--dialog-header__heading--${dialogId}`;
41
+ const subtitleId = `${prefix}--dialog-header__label--${dialogId}`;
42
+ const backupRef = (0, react.useRef)(null);
43
+ const ref = forwardRef ?? backupRef;
44
+ function handleModalBackdropClick(e) {
45
+ if (open && modal && e.target === ref.current) onRequestClose(e);
46
+ }
47
+ function handleClick(e) {
48
+ handleModalBackdropClick(e);
49
+ onClick(e);
50
+ }
51
+ (0, react.useEffect)(() => {
52
+ if (ref.current) if (open) if (modal) ref.current.showModal();
53
+ else ref.current.show();
54
+ else ref.current.close();
55
+ }, [modal, open]);
56
+ (0, react.useEffect)(() => {
57
+ if (!open && focusAfterCloseRef) {
58
+ const moveFocus = setTimeout(() => {
59
+ focusAfterCloseRef.current?.focus();
60
+ });
61
+ return () => {
62
+ clearTimeout(moveFocus);
63
+ };
64
+ }
65
+ }, [open, focusAfterCloseRef]);
66
+ const containerClasses = (0, classnames.default)(`${prefix}--dialog-container`);
67
+ const contextValue = {
68
+ dialogId,
69
+ titleId,
70
+ subtitleId,
71
+ isOpen: open
72
+ };
73
+ (0, react.useEffect)(() => {
74
+ if (ref.current && open && !ariaLabel && !ariaLabelledBy) {
75
+ const title = ref.current.querySelector(`.${prefix}--dialog-header__heading`);
76
+ if (title && title.id) ref.current.setAttribute("aria-labelledby", title.id);
77
+ }
78
+ }, [
79
+ open,
80
+ ariaLabel,
81
+ ariaLabelledBy,
82
+ prefix
83
+ ]);
84
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DialogContext.Provider, {
85
+ value: contextValue,
86
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("dialog", {
87
+ ...rest,
88
+ className: (0, classnames.default)(`${prefix}--dialog`, { [`${prefix}--dialog--modal`]: modal }, className),
89
+ ref,
90
+ onCancel,
91
+ onClick: handleClick,
92
+ onClose,
93
+ role,
94
+ "aria-label": ariaLabel,
95
+ "aria-labelledby": !ariaLabel ? ariaLabelledBy || titleId : void 0,
96
+ "aria-describedby": ariaDescribedBy,
97
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
98
+ className: containerClasses,
99
+ children
100
+ })
101
+ })
102
+ });
148
103
  });
149
- Dialog.displayName = 'Dialog';
104
+ Dialog.displayName = "Dialog";
150
105
  Dialog.propTypes = {
151
- /**
152
- * Provide children to be rendered inside of the Dialog
153
- */
154
- children: PropTypes.node,
155
- /**
156
- * Specify an optional className to be applied to the modal root node
157
- */
158
- className: PropTypes.string,
159
- /**
160
- * Provide a ref to return focus to once the dialog is closed.
161
- */
162
- focusAfterCloseRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
163
- current: PropTypes.any
164
- })]),
165
- /**
166
- * Modal specifies whether the Dialog is modal or non-modal. This cannot be
167
- * changed while open=true
168
- */
169
- modal: PropTypes.bool,
170
- /**
171
- * Specify a handler for closing Dialog.
172
- * The handler should care of closing Dialog, e.g. changing `open` prop.
173
- */
174
- onRequestClose: PropTypes.func,
175
- /**
176
- * open initial state
177
- */
178
- open: PropTypes.bool,
179
- /**
180
- * Specify the role of the dialog for accessibility
181
- */
182
- role: PropTypes.oneOf(['dialog', 'alertdialog']),
183
- /**
184
- * Specify a label for screen readers
185
- */
186
- 'aria-label': PropTypes.string,
187
- /**
188
- * Specify the ID of an element that labels this dialog
189
- */
190
- 'aria-labelledby': PropTypes.string,
191
- /**
192
- * Specify the ID of an element that describes this dialog
193
- */
194
- ariaDescribedBy: PropTypes.string
106
+ children: prop_types.default.node,
107
+ className: prop_types.default.string,
108
+ focusAfterCloseRef: prop_types.default.oneOfType([prop_types.default.func, prop_types.default.shape({ current: prop_types.default.any })]),
109
+ modal: prop_types.default.bool,
110
+ onRequestClose: prop_types.default.func,
111
+ open: prop_types.default.bool,
112
+ role: prop_types.default.oneOf(["dialog", "alertdialog"]),
113
+ "aria-label": prop_types.default.string,
114
+ "aria-labelledby": prop_types.default.string,
115
+ ariaDescribedBy: prop_types.default.string
195
116
  };
196
-
197
- /**
198
- * -------------
199
- * DialogHeader
200
- * -------------
201
- */
202
-
203
- const DialogHeader = /*#__PURE__*/React.forwardRef(({
204
- children,
205
- ...rest
206
- }, ref) => {
207
- const prefix = usePrefix.usePrefix();
208
- return /*#__PURE__*/React.createElement("div", _rollupPluginBabelHelpers.extends({
209
- className: `${prefix}--dialog__header`,
210
- ref: ref
211
- }, rest), children);
117
+ const DialogHeader = react.default.forwardRef(({ children, ...rest }, ref) => {
118
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
119
+ className: `${require_usePrefix.usePrefix()}--dialog__header`,
120
+ ref,
121
+ ...rest,
122
+ children
123
+ });
212
124
  });
213
- DialogHeader.displayName = 'DialogHeader';
214
- DialogHeader.propTypes = {
215
- /**
216
- * Provide the contents to be rendered inside of this component
217
- */
218
- children: PropTypes.node
219
- };
220
-
221
- /**
222
- * ---------------
223
- * DialogControls
224
- * ---------------
225
- */
226
-
227
- const DialogControls = /*#__PURE__*/React.forwardRef(({
228
- children,
229
- ...rest
230
- }, ref) => {
231
- const prefix = usePrefix.usePrefix();
232
- return (
233
- /*#__PURE__*/
234
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452
235
- // @ts-ignore
236
- React.createElement("div", _rollupPluginBabelHelpers.extends({
237
- className: `${prefix}--dialog__header-controls`,
238
- ref: ref
239
- }, rest), children)
240
- );
125
+ DialogHeader.displayName = "DialogHeader";
126
+ DialogHeader.propTypes = { children: prop_types.default.node };
127
+ const DialogControls = react.default.forwardRef(({ children, ...rest }, ref) => {
128
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
129
+ className: `${require_usePrefix.usePrefix()}--dialog__header-controls`,
130
+ ref,
131
+ ...rest,
132
+ children
133
+ });
241
134
  });
242
- DialogControls.displayName = 'DialogControls';
243
- DialogControls.propTypes = {
244
- /**
245
- * Provide children to be rendered inside of this component
246
- */
247
- children: PropTypes.node
248
- };
249
-
250
- /**
251
- * -------------------
252
- * DialogCloseButton
253
- * -------------------
254
- */
255
-
256
- const DialogCloseButton = /*#__PURE__*/React.forwardRef(({
257
- onClick,
258
- ...rest
259
- }, ref) => {
260
- const prefix = usePrefix.usePrefix();
261
- return (
262
- /*#__PURE__*/
263
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452
264
- // @ts-ignore
265
- React.createElement(index.IconButton, _rollupPluginBabelHelpers.extends({
266
- kind: "ghost",
267
- className: `${prefix}--dialog__close`,
268
- label: "Close",
269
- title: "Close",
270
- "aria-label": "Close",
271
- align: "left",
272
- onClick: onClick,
273
- ref: ref
274
- }, rest), /*#__PURE__*/React.createElement(iconsReact.Close, {
275
- size: 20,
276
- "aria-hidden": "true",
277
- tabIndex: -1,
278
- className: `${prefix}--icon__close`
279
- }))
280
- );
135
+ DialogControls.displayName = "DialogControls";
136
+ DialogControls.propTypes = { children: prop_types.default.node };
137
+ const DialogCloseButton = react.default.forwardRef(({ onClick, ...rest }, ref) => {
138
+ const prefix = require_usePrefix.usePrefix();
139
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.IconButton, {
140
+ kind: "ghost",
141
+ className: `${prefix}--dialog__close`,
142
+ label: "Close",
143
+ title: "Close",
144
+ "aria-label": "Close",
145
+ align: "left",
146
+ onClick,
147
+ ref,
148
+ ...rest,
149
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_carbon_icons_react.Close, {
150
+ size: 20,
151
+ "aria-hidden": "true",
152
+ tabIndex: -1,
153
+ className: `${prefix}--icon__close`
154
+ })
155
+ });
281
156
  });
282
- DialogCloseButton.displayName = 'DialogCloseButton';
283
- DialogCloseButton.propTypes = {
284
- /**
285
- * Specify a click handler applied to the IconButton
286
- */
287
- onClick: PropTypes.func
288
- };
289
-
290
- /**
291
- * ------------
292
- * DialogTitle
293
- * ------------
294
- */
295
-
296
- const DialogTitle = /*#__PURE__*/React.forwardRef(({
297
- children,
298
- className,
299
- id,
300
- ...rest
301
- }, ref) => {
302
- const prefix = usePrefix.usePrefix();
303
- const {
304
- titleId
305
- } = React.useContext(DialogContext);
306
- const headingId = id || titleId;
307
- return /*#__PURE__*/React.createElement(Text.Text, _rollupPluginBabelHelpers.extends({
308
- as: "h2",
309
- id: headingId,
310
- className: cx(`${prefix}--dialog-header__heading`, className),
311
- ref: ref
312
- }, rest), children);
157
+ DialogCloseButton.displayName = "DialogCloseButton";
158
+ DialogCloseButton.propTypes = { onClick: prop_types.default.func };
159
+ const DialogTitle = react.default.forwardRef(({ children, className, id, ...rest }, ref) => {
160
+ const prefix = require_usePrefix.usePrefix();
161
+ const { titleId } = (0, react.useContext)(DialogContext);
162
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Text.Text, {
163
+ as: "h2",
164
+ id: id || titleId,
165
+ className: (0, classnames.default)(`${prefix}--dialog-header__heading`, className),
166
+ ref,
167
+ ...rest,
168
+ children
169
+ });
313
170
  });
314
- DialogTitle.displayName = 'DialogTitle';
171
+ DialogTitle.displayName = "DialogTitle";
315
172
  DialogTitle.propTypes = {
316
- /**
317
- * Provide the contents to be rendered inside of this component
318
- */
319
- children: PropTypes.node,
320
- /**
321
- * Specify an optional className to be applied to the title node
322
- */
323
- className: PropTypes.string,
324
- /**
325
- * Specify an optional id for the title element
326
- */
327
- id: PropTypes.string
173
+ children: prop_types.default.node,
174
+ className: prop_types.default.string,
175
+ id: prop_types.default.string
328
176
  };
329
-
330
- /**
331
- * ---------------
332
- * DialogSubtitle
333
- * ---------------
334
- */
335
-
336
- const DialogSubtitle = /*#__PURE__*/React.forwardRef(({
337
- children,
338
- className,
339
- id,
340
- ...rest
341
- }, ref) => {
342
- const prefix = usePrefix.usePrefix();
343
- const {
344
- subtitleId
345
- } = React.useContext(DialogContext);
346
- const labelId = id || subtitleId;
347
- return /*#__PURE__*/React.createElement(Text.Text, _rollupPluginBabelHelpers.extends({
348
- as: "h2",
349
- id: labelId,
350
- className: cx(`${prefix}--dialog-header__label`, className),
351
- ref: ref
352
- }, rest), children);
177
+ const DialogSubtitle = react.default.forwardRef(({ children, className, id, ...rest }, ref) => {
178
+ const prefix = require_usePrefix.usePrefix();
179
+ const { subtitleId } = (0, react.useContext)(DialogContext);
180
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Text.Text, {
181
+ as: "h2",
182
+ id: id || subtitleId,
183
+ className: (0, classnames.default)(`${prefix}--dialog-header__label`, className),
184
+ ref,
185
+ ...rest,
186
+ children
187
+ });
353
188
  });
354
- DialogSubtitle.displayName = 'DialogSubtitle';
189
+ DialogSubtitle.displayName = "DialogSubtitle";
355
190
  DialogSubtitle.propTypes = {
356
- /**
357
- * Provide the contents to be rendered inside of this component
358
- */
359
- children: PropTypes.node,
360
- /**
361
- * Specify an optional className to be applied to the subtitle node
362
- */
363
- className: PropTypes.string,
364
- /**
365
- * Specify an optional id for the subtitle element
366
- */
367
- id: PropTypes.string
191
+ children: prop_types.default.node,
192
+ className: prop_types.default.string,
193
+ id: prop_types.default.string
368
194
  };
369
-
370
- /**
371
- * -----------
372
- * DialogBody
373
- * -----------
374
- */
375
-
376
- const DialogBody = /*#__PURE__*/React.forwardRef(({
377
- children,
378
- className,
379
- hasScrollingContent,
380
- ...rest
381
- }, ref) => {
382
- const prefix = usePrefix.usePrefix();
383
- const contentRef = React.useRef(null);
384
- const [isScrollable, setIsScrollable] = React.useState(false);
385
- const dialogId = useId.useId();
386
- const dialogBodyId = `${prefix}--dialog-body--${dialogId}`;
387
- useIsomorphicEffect.default(() => {
388
- if (contentRef.current) {
389
- setIsScrollable(contentRef.current.scrollHeight > contentRef.current.clientHeight);
390
- }
391
- function handler() {
392
- if (contentRef.current) {
393
- setIsScrollable(contentRef.current.scrollHeight > contentRef.current.clientHeight);
394
- }
395
- }
396
- const debouncedHandler = debounce.debounce(handler, 200);
397
- window.addEventListener('resize', debouncedHandler);
398
- return () => {
399
- debouncedHandler.cancel();
400
- window.removeEventListener('resize', debouncedHandler);
401
- };
402
- }, []);
403
- const contentClasses = cx(`${prefix}--dialog-content`, {
404
- [`${prefix}--dialog-scroll-content`]: hasScrollingContent || isScrollable
405
- }, className);
406
- const hasScrollingContentProps = hasScrollingContent || isScrollable ? {
407
- tabIndex: 0,
408
- role: 'region'
409
- } : {};
410
- const combinedRef = el => {
411
- if (typeof ref === 'function') {
412
- ref(el);
413
- } else if (ref) {
414
- ref.current = el;
415
- }
416
- contentRef.current = el;
417
- };
418
- return /*#__PURE__*/React.createElement(index$1.Layer, _rollupPluginBabelHelpers.extends({
419
- ref: combinedRef,
420
- id: dialogBodyId,
421
- className: contentClasses
422
- }, hasScrollingContentProps, rest), children);
195
+ const DialogBody = react.default.forwardRef(({ children, className, hasScrollingContent, ...rest }, ref) => {
196
+ const prefix = require_usePrefix.usePrefix();
197
+ const contentRef = (0, react.useRef)(null);
198
+ const [isScrollable, setIsScrollable] = (0, react.useState)(false);
199
+ const dialogBodyId = `${prefix}--dialog-body--${require_useId.useId()}`;
200
+ require_useIsomorphicEffect.default(() => {
201
+ if (contentRef.current) setIsScrollable(contentRef.current.scrollHeight > contentRef.current.clientHeight);
202
+ function handler() {
203
+ if (contentRef.current) setIsScrollable(contentRef.current.scrollHeight > contentRef.current.clientHeight);
204
+ }
205
+ const debouncedHandler = (0, es_toolkit_compat.debounce)(handler, 200);
206
+ window.addEventListener("resize", debouncedHandler);
207
+ return () => {
208
+ debouncedHandler.cancel();
209
+ window.removeEventListener("resize", debouncedHandler);
210
+ };
211
+ }, []);
212
+ const contentClasses = (0, classnames.default)(`${prefix}--dialog-content`, { [`${prefix}--dialog-scroll-content`]: hasScrollingContent || isScrollable }, className);
213
+ const hasScrollingContentProps = hasScrollingContent || isScrollable ? {
214
+ tabIndex: 0,
215
+ role: "region"
216
+ } : {};
217
+ const combinedRef = (el) => {
218
+ if (typeof ref === "function") ref(el);
219
+ else if (ref) ref.current = el;
220
+ contentRef.current = el;
221
+ };
222
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$3.Layer, {
223
+ ref: combinedRef,
224
+ id: dialogBodyId,
225
+ className: contentClasses,
226
+ ...hasScrollingContentProps,
227
+ ...rest,
228
+ children
229
+ });
423
230
  });
424
- DialogBody.displayName = 'DialogBody';
231
+ DialogBody.displayName = "DialogBody";
425
232
  DialogBody.propTypes = {
426
- /**
427
- * Provide the contents to be rendered inside of this component
428
- */
429
- children: PropTypes.node,
430
- /**
431
- * Specify an optional className to be applied to the body node
432
- */
433
- className: PropTypes.string,
434
- /**
435
- * Specify whether the content has overflow that should be scrollable
436
- */
437
- hasScrollingContent: PropTypes.bool
233
+ children: prop_types.default.node,
234
+ className: prop_types.default.string,
235
+ hasScrollingContent: prop_types.default.bool
438
236
  };
439
-
440
- /**
441
- * -------------
442
- * DialogFooter
443
- * -------------
444
- */
445
-
446
- const DialogFooter = /*#__PURE__*/React.forwardRef(({
447
- children,
448
- className,
449
- onRequestClose = noopFn.noopFn,
450
- onSecondarySubmit,
451
- onRequestSubmit = noopFn.noopFn,
452
- primaryButtonText = 'Save',
453
- primaryButtonDisabled = false,
454
- secondaryButtonText = 'Cancel',
455
- secondaryButtons,
456
- loadingStatus = 'inactive',
457
- loadingDescription,
458
- loadingIconDescription,
459
- onLoadingSuccess = noopFn.noopFn,
460
- danger = false,
461
- ...rest
462
- }, ref) => {
463
- const prefix = usePrefix.usePrefix();
464
- const button = React.useRef(null);
465
- const {
466
- isOpen
467
- } = React.useContext(DialogContext);
468
- const [secondaryButtonRef, setSecondaryButtonRef] = React.useState(null);
469
- React.useEffect(() => {
470
- if (danger && secondaryButtonRef) {
471
- const focusFrame = requestAnimationFrame(() => {
472
- secondaryButtonRef.focus();
473
- });
474
- return () => cancelAnimationFrame(focusFrame);
475
- }
476
- }, [danger, secondaryButtonRef, isOpen]);
477
- const classes = cx(`${prefix}--dialog-footer`, className, {
478
- [`${prefix}--dialog-footer--three-button`]: Array.isArray(secondaryButtons) && secondaryButtons.length === 2
479
- });
480
- const loadingActive = loadingStatus !== 'inactive';
481
- const primaryButtonClass = cx({
482
- [`${prefix}--btn--loading`]: loadingStatus !== 'inactive'
483
- });
484
- const onSecondaryButtonClick = onSecondarySubmit ? onSecondarySubmit : onRequestClose;
485
- if (children) {
486
- return /*#__PURE__*/React.createElement(ButtonSet.default, _rollupPluginBabelHelpers.extends({
487
- className: classes,
488
- ref: ref
489
- }, rest), children);
490
- }
491
- return /*#__PURE__*/React.createElement(ButtonSet.default, _rollupPluginBabelHelpers.extends({
492
- className: classes,
493
- "aria-busy": loadingActive,
494
- ref: ref
495
- }, rest), Array.isArray(secondaryButtons) && secondaryButtons.length <= 2 ? secondaryButtons.map(({
496
- buttonText,
497
- onClick: onButtonClick
498
- }, i) => /*#__PURE__*/React.createElement(Button.default, {
499
- key: `${buttonText}-${i}`
500
- // eslint-disable-next-line jsx-a11y/no-autofocus -- https://github.com/carbon-design-system/carbon/issues/20452
501
- ,
502
- autoFocus: danger,
503
- kind: "secondary",
504
- ref: i === 0 && danger ? setSecondaryButtonRef : undefined,
505
- onClick: onButtonClick
506
- }, buttonText)) : secondaryButtonText && /*#__PURE__*/React.createElement(Button.default, {
507
- ref: danger ? setSecondaryButtonRef : undefined,
508
- disabled: loadingActive,
509
- kind: "secondary"
510
- // eslint-disable-next-line jsx-a11y/no-autofocus -- https://github.com/carbon-design-system/carbon/issues/20452
511
- ,
512
- autoFocus: danger,
513
- onClick: onSecondaryButtonClick
514
- }, secondaryButtonText), /*#__PURE__*/React.createElement(Button.default, {
515
- className: primaryButtonClass,
516
- kind: danger ? 'danger' : 'primary',
517
- disabled: loadingActive || primaryButtonDisabled,
518
- onClick: onRequestSubmit,
519
- ref: button
520
- }, loadingStatus === 'inactive' ? primaryButtonText : /*#__PURE__*/React.createElement(InlineLoading.default, {
521
- status: loadingStatus,
522
- description: loadingDescription,
523
- iconDescription: loadingIconDescription,
524
- className: `${prefix}--inline-loading--btn`,
525
- onSuccess: onLoadingSuccess
526
- })));
237
+ const DialogFooter = react.default.forwardRef(({ children, className, onRequestClose = require_noopFn.noopFn, onSecondarySubmit, onRequestSubmit = require_noopFn.noopFn, primaryButtonText = "Save", primaryButtonDisabled = false, secondaryButtonText = "Cancel", secondaryButtons, loadingStatus = "inactive", loadingDescription, loadingIconDescription, onLoadingSuccess = require_noopFn.noopFn, danger = false, ...rest }, ref) => {
238
+ const prefix = require_usePrefix.usePrefix();
239
+ const button = (0, react.useRef)(null);
240
+ const { isOpen } = (0, react.useContext)(DialogContext);
241
+ const [secondaryButtonRef, setSecondaryButtonRef] = (0, react.useState)(null);
242
+ (0, react.useEffect)(() => {
243
+ if (danger && secondaryButtonRef) {
244
+ const focusFrame = requestAnimationFrame(() => {
245
+ secondaryButtonRef.focus();
246
+ });
247
+ return () => cancelAnimationFrame(focusFrame);
248
+ }
249
+ }, [
250
+ danger,
251
+ secondaryButtonRef,
252
+ isOpen
253
+ ]);
254
+ const classes = (0, classnames.default)(`${prefix}--dialog-footer`, className, { [`${prefix}--dialog-footer--three-button`]: Array.isArray(secondaryButtons) && secondaryButtons.length === 2 });
255
+ const loadingActive = loadingStatus !== "inactive";
256
+ const primaryButtonClass = (0, classnames.default)({ [`${prefix}--btn--loading`]: loadingStatus !== "inactive" });
257
+ const onSecondaryButtonClick = onSecondarySubmit ? onSecondarySubmit : onRequestClose;
258
+ if (children) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$2.default, {
259
+ className: classes,
260
+ ref,
261
+ ...rest,
262
+ children
263
+ });
264
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_index$2.default, {
265
+ className: classes,
266
+ "aria-busy": loadingActive,
267
+ ref,
268
+ ...rest,
269
+ children: [Array.isArray(secondaryButtons) && secondaryButtons.length <= 2 ? secondaryButtons.map(({ buttonText, onClick: onButtonClick }, i) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.default, {
270
+ autoFocus: danger,
271
+ kind: "secondary",
272
+ ref: i === 0 && danger ? setSecondaryButtonRef : void 0,
273
+ onClick: onButtonClick,
274
+ children: buttonText
275
+ }, `${buttonText}-${i}`)) : secondaryButtonText && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.default, {
276
+ ref: danger ? setSecondaryButtonRef : void 0,
277
+ disabled: loadingActive,
278
+ kind: "secondary",
279
+ autoFocus: danger,
280
+ onClick: onSecondaryButtonClick,
281
+ children: secondaryButtonText
282
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.default, {
283
+ className: primaryButtonClass,
284
+ kind: danger ? "danger" : "primary",
285
+ disabled: loadingActive || primaryButtonDisabled,
286
+ onClick: onRequestSubmit,
287
+ ref: button,
288
+ children: loadingStatus === "inactive" ? primaryButtonText : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_InlineLoading.default, {
289
+ status: loadingStatus,
290
+ description: loadingDescription,
291
+ iconDescription: loadingIconDescription,
292
+ className: `${prefix}--inline-loading--btn`,
293
+ onSuccess: onLoadingSuccess
294
+ })
295
+ })]
296
+ });
527
297
  });
528
- DialogFooter.displayName = 'DialogFooter';
298
+ DialogFooter.displayName = "DialogFooter";
529
299
  DialogFooter.propTypes = {
530
- /**
531
- * Provide the contents to be rendered inside of this component
532
- */
533
- children: PropTypes.node,
534
- /**
535
- * Specify an optional className to be applied to the footer node
536
- */
537
- className: PropTypes.string,
538
- /**
539
- * Specify a handler for closing dialog.
540
- */
541
- onRequestClose: PropTypes.func,
542
- /**
543
- * Specify a handler for the secondary button.
544
- */
545
- onSecondarySubmit: PropTypes.func,
546
- /**
547
- * Specify a handler for submitting dialog.
548
- */
549
- onRequestSubmit: PropTypes.func,
550
- /**
551
- * Specify the text for the primary button
552
- */
553
- primaryButtonText: PropTypes.node,
554
- /**
555
- * Specify whether the Button should be disabled, or not
556
- */
557
- primaryButtonDisabled: PropTypes.bool,
558
- /**
559
- * Specify the text for the secondary button
560
- */
561
- secondaryButtonText: PropTypes.node,
562
- /**
563
- * Specify an array of config objects for secondary buttons
564
- */
565
- secondaryButtons: (props, propName, componentName) => {
566
- if (props.secondaryButtons) {
567
- if (!Array.isArray(props.secondaryButtons) || props.secondaryButtons.length !== 2) {
568
- return new Error(`${propName} needs to be an array of two button config objects`);
569
- }
570
- const shape = {
571
- buttonText: PropTypes.node,
572
- onClick: PropTypes.func
573
- };
574
- props[propName].forEach(secondaryButton => {
575
- PropTypes.checkPropTypes(shape, secondaryButton, propName, componentName);
576
- });
577
- }
578
- return null;
579
- },
580
- /**
581
- * Specify whether the Dialog is for dangerous actions
582
- */
583
- danger: PropTypes.bool,
584
- /**
585
- * Specify loading status
586
- */
587
- loadingStatus: PropTypes.oneOf(['inactive', 'active', 'finished', 'error']),
588
- /**
589
- * Specify the description for the loading text
590
- */
591
- loadingDescription: PropTypes.string,
592
- /**
593
- * Specify the description for the loading icon
594
- */
595
- loadingIconDescription: PropTypes.string,
596
- /**
597
- * Provide an optional handler to be invoked when loading is
598
- * successful
599
- */
600
- onLoadingSuccess: PropTypes.func
300
+ children: prop_types.default.node,
301
+ className: prop_types.default.string,
302
+ onRequestClose: prop_types.default.func,
303
+ onSecondarySubmit: prop_types.default.func,
304
+ onRequestSubmit: prop_types.default.func,
305
+ primaryButtonText: prop_types.default.node,
306
+ primaryButtonDisabled: prop_types.default.bool,
307
+ secondaryButtonText: prop_types.default.node,
308
+ secondaryButtons: (props, propName, componentName) => {
309
+ if (props.secondaryButtons) {
310
+ if (!Array.isArray(props.secondaryButtons) || props.secondaryButtons.length !== 2) return /* @__PURE__ */ new Error(`${propName} needs to be an array of two button config objects`);
311
+ const shape = {
312
+ buttonText: prop_types.default.node,
313
+ onClick: prop_types.default.func
314
+ };
315
+ props[propName].forEach((secondaryButton) => {
316
+ prop_types.default.checkPropTypes(shape, secondaryButton, propName, componentName);
317
+ });
318
+ }
319
+ return null;
320
+ },
321
+ danger: prop_types.default.bool,
322
+ loadingStatus: prop_types.default.oneOf([
323
+ "inactive",
324
+ "active",
325
+ "finished",
326
+ "error"
327
+ ]),
328
+ loadingDescription: prop_types.default.string,
329
+ loadingIconDescription: prop_types.default.string,
330
+ onLoadingSuccess: prop_types.default.func
601
331
  };
602
332
 
333
+ //#endregion
603
334
  exports.Dialog = Dialog;
604
335
  exports.DialogBody = DialogBody;
605
336
  exports.DialogCloseButton = DialogCloseButton;
@@ -607,4 +338,4 @@ exports.DialogControls = DialogControls;
607
338
  exports.DialogFooter = DialogFooter;
608
339
  exports.DialogHeader = DialogHeader;
609
340
  exports.DialogSubtitle = DialogSubtitle;
610
- exports.DialogTitle = DialogTitle;
341
+ exports.DialogTitle = DialogTitle;