@itwin/itwinui-react 3.11.3 → 3.12.1

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 (727) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/cjs/core/Alert/Alert.d.ts +3 -7
  3. package/cjs/core/Alert/Alert.js +130 -121
  4. package/cjs/core/Avatar/Avatar.js +77 -70
  5. package/cjs/core/AvatarGroup/AvatarGroup.js +73 -83
  6. package/cjs/core/Backdrop/Backdrop.js +27 -38
  7. package/cjs/core/Badge/Badge.js +49 -65
  8. package/cjs/core/Breadcrumbs/Breadcrumbs.js +169 -129
  9. package/cjs/core/ButtonGroup/ButtonGroup.js +153 -108
  10. package/cjs/core/Buttons/Button.js +97 -55
  11. package/cjs/core/Buttons/DropdownButton.js +58 -54
  12. package/cjs/core/Buttons/IconButton.js +75 -52
  13. package/cjs/core/Buttons/IdeasButton.js +31 -44
  14. package/cjs/core/Buttons/SplitButton.js +105 -87
  15. package/cjs/core/Carousel/Carousel.d.ts +13 -119
  16. package/cjs/core/Carousel/Carousel.js +80 -103
  17. package/cjs/core/Carousel/CarouselContext.js +12 -31
  18. package/cjs/core/Carousel/CarouselDot.js +32 -46
  19. package/cjs/core/Carousel/CarouselDotsList.js +162 -144
  20. package/cjs/core/Carousel/CarouselNavigation.d.ts +6 -112
  21. package/cjs/core/Carousel/CarouselNavigation.js +102 -83
  22. package/cjs/core/Carousel/CarouselSlide.js +54 -61
  23. package/cjs/core/Carousel/CarouselSlider.d.ts +1 -1
  24. package/cjs/core/Carousel/CarouselSlider.js +74 -80
  25. package/cjs/core/Checkbox/Checkbox.js +97 -74
  26. package/cjs/core/ColorPicker/ColorBuilder.d.ts +1 -1
  27. package/cjs/core/ColorPicker/ColorBuilder.js +300 -209
  28. package/cjs/core/ColorPicker/ColorInputPanel.js +431 -285
  29. package/cjs/core/ColorPicker/ColorPalette.js +60 -64
  30. package/cjs/core/ColorPicker/ColorPicker.js +101 -97
  31. package/cjs/core/ColorPicker/ColorPickerContext.d.ts +2 -2
  32. package/cjs/core/ColorPicker/ColorPickerContext.js +28 -37
  33. package/cjs/core/ColorPicker/ColorSwatch.js +51 -51
  34. package/cjs/core/ComboBox/ComboBox.d.ts +13 -3
  35. package/cjs/core/ComboBox/ComboBox.js +422 -323
  36. package/cjs/core/ComboBox/ComboBox.types-test.js +92 -0
  37. package/cjs/core/ComboBox/ComboBoxEndIcon.js +38 -43
  38. package/cjs/core/ComboBox/ComboBoxInput.js +214 -172
  39. package/cjs/core/ComboBox/ComboBoxInputContainer.js +42 -40
  40. package/cjs/core/ComboBox/ComboBoxMenu.d.ts +1 -1
  41. package/cjs/core/ComboBox/ComboBoxMenu.js +102 -76
  42. package/cjs/core/ComboBox/ComboBoxMenuItem.js +87 -49
  43. package/cjs/core/ComboBox/ComboBoxMultipleContainer.js +20 -35
  44. package/cjs/core/ComboBox/helpers.d.ts +4 -27
  45. package/cjs/core/ComboBox/helpers.js +24 -78
  46. package/cjs/core/DatePicker/DatePicker.js +599 -379
  47. package/cjs/core/Dialog/Dialog.js +89 -91
  48. package/cjs/core/Dialog/DialogBackdrop.js +57 -63
  49. package/cjs/core/Dialog/DialogButtonBar.js +12 -17
  50. package/cjs/core/Dialog/DialogContent.js +12 -16
  51. package/cjs/core/Dialog/DialogContext.js +22 -33
  52. package/cjs/core/Dialog/DialogDragContext.d.ts +1 -1
  53. package/cjs/core/Dialog/DialogDragContext.js +25 -36
  54. package/cjs/core/Dialog/DialogMain.js +192 -161
  55. package/cjs/core/Dialog/DialogTitleBar.js +73 -68
  56. package/cjs/core/Dialog/DialogTitleBarTitle.js +12 -14
  57. package/cjs/core/Divider/Divider.js +23 -41
  58. package/cjs/core/DropdownMenu/DropdownMenu.d.ts +1 -1
  59. package/cjs/core/DropdownMenu/DropdownMenu.js +74 -113
  60. package/cjs/core/ExpandableBlock/ExpandableBlock.d.ts +3 -3
  61. package/cjs/core/ExpandableBlock/ExpandableBlock.js +207 -177
  62. package/cjs/core/Fieldset/Fieldset.js +36 -55
  63. package/cjs/core/FileUpload/FileEmptyCard.js +47 -71
  64. package/cjs/core/FileUpload/FileUpload.js +97 -76
  65. package/cjs/core/FileUpload/FileUploadCard.d.ts +2 -2
  66. package/cjs/core/FileUpload/FileUploadCard.js +197 -163
  67. package/cjs/core/FileUpload/FileUploadTemplate.js +64 -54
  68. package/cjs/core/Flex/Flex.js +81 -146
  69. package/cjs/core/Footer/Footer.js +129 -113
  70. package/cjs/core/Footer/FooterItem.js +12 -12
  71. package/cjs/core/Footer/FooterList.js +12 -12
  72. package/cjs/core/Footer/FooterSeparator.js +13 -13
  73. package/cjs/core/Header/Header.js +87 -79
  74. package/cjs/core/Header/HeaderBasicButton.js +33 -43
  75. package/cjs/core/Header/HeaderBreadcrumbs.js +61 -54
  76. package/cjs/core/Header/HeaderButton.js +92 -59
  77. package/cjs/core/Header/HeaderDropdownButton.js +59 -50
  78. package/cjs/core/Header/HeaderLogo.js +54 -48
  79. package/cjs/core/Header/HeaderSplitButton.js +81 -51
  80. package/cjs/core/Icon/Icon.js +41 -62
  81. package/cjs/core/InformationPanel/InformationPanel.js +108 -98
  82. package/cjs/core/InformationPanel/InformationPanelBody.js +12 -12
  83. package/cjs/core/InformationPanel/InformationPanelContent.js +31 -61
  84. package/cjs/core/InformationPanel/InformationPanelHeader.js +52 -60
  85. package/cjs/core/InformationPanel/InformationPanelWrapper.js +14 -18
  86. package/cjs/core/Input/Input.js +27 -46
  87. package/cjs/core/InputGrid/InputGrid.js +172 -206
  88. package/cjs/core/InputGroup/InputGroup.js +93 -75
  89. package/cjs/core/InputWithDecorations/InputWithDecorations.d.ts +2 -2
  90. package/cjs/core/InputWithDecorations/InputWithDecorations.js +67 -82
  91. package/cjs/core/Label/Label.js +41 -48
  92. package/cjs/core/LabeledInput/LabeledInput.js +90 -58
  93. package/cjs/core/LabeledSelect/LabeledSelect.d.ts +3 -389
  94. package/cjs/core/LabeledSelect/LabeledSelect.js +74 -73
  95. package/cjs/core/LabeledSelect/LabeledSelect.types-test.js +106 -0
  96. package/cjs/core/LabeledTextarea/LabeledTextarea.js +19 -58
  97. package/cjs/core/LinkAction/LinkAction.d.ts +1 -1
  98. package/cjs/core/LinkAction/LinkAction.js +35 -63
  99. package/cjs/core/List/List.js +15 -10
  100. package/cjs/core/List/ListItem.d.ts +3 -3
  101. package/cjs/core/List/ListItem.js +47 -99
  102. package/cjs/core/Menu/Menu.d.ts +80 -6
  103. package/cjs/core/Menu/Menu.js +223 -94
  104. package/cjs/core/Menu/MenuDivider.d.ts +1 -1
  105. package/cjs/core/Menu/MenuDivider.js +13 -25
  106. package/cjs/core/Menu/MenuExtraContent.js +13 -30
  107. package/cjs/core/Menu/MenuItem.d.ts +0 -8
  108. package/cjs/core/Menu/MenuItem.js +142 -173
  109. package/cjs/core/Menu/MenuItemSkeleton.js +68 -52
  110. package/cjs/core/Modal/Modal.js +56 -59
  111. package/cjs/core/Modal/ModalButtonBar.js +12 -12
  112. package/cjs/core/Modal/ModalContent.js +12 -12
  113. package/cjs/core/NonIdealState/ErrorPage.js +232 -164
  114. package/cjs/core/NonIdealState/NonIdealState.js +86 -49
  115. package/cjs/core/NotificationMarker/NotificationMarker.js +40 -50
  116. package/cjs/core/Overlay/Overlay.d.ts +3 -3
  117. package/cjs/core/Overlay/Overlay.js +55 -75
  118. package/cjs/core/Popover/Popover.d.ts +23 -30
  119. package/cjs/core/Popover/Popover.js +279 -192
  120. package/cjs/core/ProgressIndicators/ProgressLinear.js +72 -69
  121. package/cjs/core/ProgressIndicators/ProgressRadial.js +71 -71
  122. package/cjs/core/Radio/Radio.js +66 -52
  123. package/cjs/core/RadioTiles/RadioTile.js +89 -49
  124. package/cjs/core/RadioTiles/RadioTileGroup.js +30 -44
  125. package/cjs/core/SearchBox/SearchBox.js +220 -167
  126. package/cjs/core/Select/Select.d.ts +1 -1
  127. package/cjs/core/Select/Select.js +473 -303
  128. package/cjs/core/Select/Select.types-test.js +119 -0
  129. package/cjs/core/Select/SelectTag.js +33 -43
  130. package/cjs/core/Select/SelectTagContainer.js +39 -46
  131. package/cjs/core/SideNavigation/SideNavigation.js +139 -72
  132. package/cjs/core/SideNavigation/SidenavButton.js +56 -46
  133. package/cjs/core/SideNavigation/SidenavSubmenu.d.ts +1 -1
  134. package/cjs/core/SideNavigation/SidenavSubmenu.js +34 -47
  135. package/cjs/core/SideNavigation/SidenavSubmenuHeader.js +42 -54
  136. package/cjs/core/SkipToContentLink/SkipToContentLink.js +29 -46
  137. package/cjs/core/Slider/Slider.js +380 -236
  138. package/cjs/core/Slider/Thumb.js +120 -92
  139. package/cjs/core/Slider/Track.js +99 -89
  140. package/cjs/core/StatusMessage/StatusMessage.js +47 -50
  141. package/cjs/core/Stepper/Stepper.js +93 -51
  142. package/cjs/core/Stepper/StepperStep.js +123 -66
  143. package/cjs/core/Stepper/WorkflowDiagram.js +42 -45
  144. package/cjs/core/Stepper/WorkflowDiagramStep.js +49 -41
  145. package/cjs/core/Surface/Surface.js +110 -109
  146. package/cjs/core/Table/SubRowExpander.js +45 -42
  147. package/cjs/core/Table/Table.js +826 -500
  148. package/cjs/core/Table/TableCell.js +110 -79
  149. package/cjs/core/Table/TablePaginator.js +330 -173
  150. package/cjs/core/Table/TableRowMemoized.d.ts +9 -29
  151. package/cjs/core/Table/TableRowMemoized.js +160 -102
  152. package/cjs/core/Table/actionHandlers/expandHandler.d.ts +1 -1
  153. package/cjs/core/Table/actionHandlers/expandHandler.js +20 -14
  154. package/cjs/core/Table/actionHandlers/filterHandler.d.ts +1 -1
  155. package/cjs/core/Table/actionHandlers/filterHandler.js +33 -19
  156. package/cjs/core/Table/actionHandlers/index.js +38 -18
  157. package/cjs/core/Table/actionHandlers/resizeHandler.d.ts +18 -18
  158. package/cjs/core/Table/actionHandlers/resizeHandler.js +33 -16
  159. package/cjs/core/Table/actionHandlers/selectHandler.d.ts +12 -12
  160. package/cjs/core/Table/actionHandlers/selectHandler.js +136 -116
  161. package/cjs/core/Table/cells/DefaultCell.js +92 -62
  162. package/cjs/core/Table/cells/EditableCell.js +91 -87
  163. package/cjs/core/Table/cells/index.js +21 -11
  164. package/cjs/core/Table/columns/actionColumn.d.ts +2 -2
  165. package/cjs/core/Table/columns/actionColumn.js +108 -113
  166. package/cjs/core/Table/columns/expanderColumn.d.ts +2 -2
  167. package/cjs/core/Table/columns/expanderColumn.js +63 -83
  168. package/cjs/core/Table/columns/index.js +31 -15
  169. package/cjs/core/Table/columns/selectionColumn.d.ts +2 -2
  170. package/cjs/core/Table/columns/selectionColumn.js +86 -77
  171. package/cjs/core/Table/filters/BaseFilter.js +28 -57
  172. package/cjs/core/Table/filters/DateRangeFilter/DatePickerInput.js +134 -79
  173. package/cjs/core/Table/filters/DateRangeFilter/DateRangeFilter.js +130 -87
  174. package/cjs/core/Table/filters/FilterButtonBar.js +55 -51
  175. package/cjs/core/Table/filters/FilterToggle.js +74 -59
  176. package/cjs/core/Table/filters/NumberRangeFilter/NumberRangeFilter.js +68 -63
  177. package/cjs/core/Table/filters/TextFilter/TextFilter.js +47 -55
  178. package/cjs/core/Table/filters/customFilterFunctions.js +25 -26
  179. package/cjs/core/Table/filters/defaultFilterFunctions.d.ts +7 -7
  180. package/cjs/core/Table/filters/defaultFilterFunctions.js +94 -83
  181. package/cjs/core/Table/filters/index.js +29 -15
  182. package/cjs/core/Table/filters/tableFilters.d.ts +2 -2
  183. package/cjs/core/Table/filters/tableFilters.js +30 -59
  184. package/cjs/core/Table/filters/types.js +4 -2
  185. package/cjs/core/Table/hooks/index.js +45 -23
  186. package/cjs/core/Table/hooks/useColumnDragAndDrop.js +108 -90
  187. package/cjs/core/Table/hooks/useExpanderCell.d.ts +1 -1
  188. package/cjs/core/Table/hooks/useExpanderCell.js +40 -52
  189. package/cjs/core/Table/hooks/useResizeColumns.js +362 -299
  190. package/cjs/core/Table/hooks/useScrollToRow.js +50 -65
  191. package/cjs/core/Table/hooks/useSelectionCell.d.ts +1 -1
  192. package/cjs/core/Table/hooks/useSelectionCell.js +25 -12
  193. package/cjs/core/Table/hooks/useStickyColumns.js +71 -70
  194. package/cjs/core/Table/hooks/useSubRowFiltering.js +99 -115
  195. package/cjs/core/Table/hooks/useSubRowSelection.js +39 -58
  196. package/cjs/core/Table/index.js +48 -22
  197. package/cjs/core/Table/utils.d.ts +1 -1
  198. package/cjs/core/Table/utils.js +79 -86
  199. package/cjs/core/Tabs/Tabs.d.ts +3 -3
  200. package/cjs/core/Tabs/Tabs.js +421 -358
  201. package/cjs/core/Tag/Tag.js +81 -56
  202. package/cjs/core/Tag/TagContainer.js +32 -47
  203. package/cjs/core/Textarea/Textarea.js +19 -39
  204. package/cjs/core/ThemeProvider/ThemeContext.d.ts +3 -3
  205. package/cjs/core/ThemeProvider/ThemeContext.js +12 -31
  206. package/cjs/core/ThemeProvider/ThemeProvider.js +233 -215
  207. package/cjs/core/Tile/Tile.d.ts +11 -80
  208. package/cjs/core/Tile/Tile.js +327 -336
  209. package/cjs/core/TimePicker/TimePicker.js +476 -269
  210. package/cjs/core/Toast/Toast.js +242 -149
  211. package/cjs/core/Toast/Toaster.js +150 -117
  212. package/cjs/core/ToggleSwitch/ToggleSwitch.js +77 -65
  213. package/cjs/core/Tooltip/Tooltip.d.ts +12 -11
  214. package/cjs/core/Tooltip/Tooltip.js +216 -175
  215. package/cjs/core/TransferList/TransferList.d.ts +4 -4
  216. package/cjs/core/TransferList/TransferList.js +191 -136
  217. package/cjs/core/Tree/Tree.js +214 -213
  218. package/cjs/core/Tree/TreeContext.js +26 -37
  219. package/cjs/core/Tree/TreeNode.d.ts +11 -4
  220. package/cjs/core/Tree/TreeNode.js +274 -154
  221. package/cjs/core/Tree/TreeNodeExpander.js +41 -45
  222. package/cjs/core/Typography/Anchor.js +42 -58
  223. package/cjs/core/Typography/Blockquote.js +27 -48
  224. package/cjs/core/Typography/Code.js +12 -14
  225. package/cjs/core/Typography/Kbd.js +49 -61
  226. package/cjs/core/Typography/Text.js +51 -59
  227. package/cjs/core/VisuallyHidden/VisuallyHidden.js +49 -56
  228. package/cjs/index.d.ts +1 -0
  229. package/cjs/index.js +481 -233
  230. package/cjs/react-table/react-table.js +4 -9
  231. package/cjs/react-table/react-table.types-test.js +653 -0
  232. package/cjs/styles.d.ts +2 -1
  233. package/cjs/styles.js +17 -1
  234. package/cjs/utils/color/ColorValue.js +465 -485
  235. package/cjs/utils/color/index.js +6 -21
  236. package/cjs/utils/components/AutoclearingHiddenLiveRegion.js +31 -48
  237. package/cjs/utils/components/Box.js +12 -14
  238. package/cjs/utils/components/ButtonBase.js +45 -51
  239. package/cjs/utils/components/FocusTrap.js +54 -69
  240. package/cjs/utils/components/InputContainer.js +68 -55
  241. package/cjs/utils/components/InputFlexContainer.d.ts +2 -2
  242. package/cjs/utils/components/InputFlexContainer.js +70 -36
  243. package/cjs/utils/components/InputWithIcon.js +13 -11
  244. package/cjs/utils/components/LineClamp.d.ts +1 -1
  245. package/cjs/utils/components/LineClamp.js +35 -40
  246. package/cjs/utils/components/MiddleTextTruncation.js +39 -65
  247. package/cjs/utils/components/Portal.d.ts +1 -1
  248. package/cjs/utils/components/Portal.js +43 -59
  249. package/cjs/utils/components/Resizer.js +239 -192
  250. package/cjs/utils/components/ShadowRoot.js +92 -108
  251. package/cjs/utils/components/VirtualScroll.js +314 -292
  252. package/cjs/utils/components/WithCSSTransition.d.ts +1 -1
  253. package/cjs/utils/components/WithCSSTransition.js +56 -62
  254. package/cjs/utils/components/index.js +19 -34
  255. package/cjs/utils/functions/colors.d.ts +1 -1
  256. package/cjs/utils/functions/colors.js +43 -35
  257. package/cjs/utils/functions/date.js +18 -19
  258. package/cjs/utils/functions/dev.js +37 -34
  259. package/cjs/utils/functions/dom.d.ts +1 -1
  260. package/cjs/utils/functions/dom.js +46 -44
  261. package/cjs/utils/functions/focusable.d.ts +23 -0
  262. package/cjs/utils/functions/focusable.js +91 -30
  263. package/cjs/utils/functions/import.js +29 -32
  264. package/cjs/utils/functions/index.js +15 -30
  265. package/cjs/utils/functions/numbers.js +31 -31
  266. package/cjs/utils/functions/polymorphic.d.ts +3 -180
  267. package/cjs/utils/functions/polymorphic.js +61 -95
  268. package/cjs/utils/functions/react.js +29 -56
  269. package/cjs/utils/functions/supports.js +13 -13
  270. package/cjs/utils/hooks/index.js +20 -35
  271. package/cjs/utils/hooks/useContainerWidth.js +34 -61
  272. package/cjs/utils/hooks/useControlledState.d.ts +1 -1
  273. package/cjs/utils/hooks/useControlledState.js +30 -50
  274. package/cjs/utils/hooks/useDragAndDrop.js +122 -122
  275. package/cjs/utils/hooks/useEventListener.js +25 -58
  276. package/cjs/utils/hooks/useGlobals.d.ts +3 -3
  277. package/cjs/utils/hooks/useGlobals.js +49 -65
  278. package/cjs/utils/hooks/useId.js +18 -42
  279. package/cjs/utils/hooks/useIntersection.js +41 -63
  280. package/cjs/utils/hooks/useIsClient.js +16 -36
  281. package/cjs/utils/hooks/useIsomorphicLayoutEffect.js +13 -39
  282. package/cjs/utils/hooks/useLatestRef.js +16 -43
  283. package/cjs/utils/hooks/useMediaQuery.js +30 -43
  284. package/cjs/utils/hooks/useMergedRefs.d.ts +2 -2
  285. package/cjs/utils/hooks/useMergedRefs.js +30 -50
  286. package/cjs/utils/hooks/useOverflow.d.ts +1 -1
  287. package/cjs/utils/hooks/useOverflow.js +70 -107
  288. package/cjs/utils/hooks/useResizeObserver.js +35 -67
  289. package/cjs/utils/hooks/useSafeContext.js +16 -40
  290. package/cjs/utils/hooks/useSyncExternalStore.js +42 -65
  291. package/cjs/utils/icons/StatusIconMap.d.ts +4 -5
  292. package/cjs/utils/icons/StatusIconMap.js +36 -39
  293. package/cjs/utils/icons/Svg.js +15 -12
  294. package/cjs/utils/icons/SvgCalendar.d.ts +1 -1
  295. package/cjs/utils/icons/SvgCalendar.js +19 -34
  296. package/cjs/utils/icons/SvgCaretDownSmall.d.ts +1 -1
  297. package/cjs/utils/icons/SvgCaretDownSmall.js +19 -34
  298. package/cjs/utils/icons/SvgCaretRightSmall.d.ts +1 -1
  299. package/cjs/utils/icons/SvgCaretRightSmall.js +19 -34
  300. package/cjs/utils/icons/SvgCaretUpSmall.d.ts +1 -1
  301. package/cjs/utils/icons/SvgCaretUpSmall.js +19 -34
  302. package/cjs/utils/icons/SvgCheckmark.d.ts +1 -1
  303. package/cjs/utils/icons/SvgCheckmark.js +19 -34
  304. package/cjs/utils/icons/SvgCheckmarkSmall.d.ts +1 -1
  305. package/cjs/utils/icons/SvgCheckmarkSmall.js +19 -34
  306. package/cjs/utils/icons/SvgChevronLeft.d.ts +1 -1
  307. package/cjs/utils/icons/SvgChevronLeft.js +19 -34
  308. package/cjs/utils/icons/SvgChevronLeftDouble.d.ts +1 -1
  309. package/cjs/utils/icons/SvgChevronLeftDouble.js +19 -34
  310. package/cjs/utils/icons/SvgChevronRight.d.ts +1 -1
  311. package/cjs/utils/icons/SvgChevronRight.js +19 -34
  312. package/cjs/utils/icons/SvgChevronRightDouble.d.ts +1 -1
  313. package/cjs/utils/icons/SvgChevronRightDouble.js +19 -34
  314. package/cjs/utils/icons/SvgChevronRightSmall.d.ts +1 -1
  315. package/cjs/utils/icons/SvgChevronRightSmall.js +19 -34
  316. package/cjs/utils/icons/SvgClose.d.ts +1 -1
  317. package/cjs/utils/icons/SvgClose.js +19 -34
  318. package/cjs/utils/icons/SvgCloseSmall.d.ts +1 -1
  319. package/cjs/utils/icons/SvgCloseSmall.js +19 -34
  320. package/cjs/utils/icons/SvgColumnManager.d.ts +1 -1
  321. package/cjs/utils/icons/SvgColumnManager.js +19 -34
  322. package/cjs/utils/icons/SvgDocument.d.ts +1 -1
  323. package/cjs/utils/icons/SvgDocument.js +19 -34
  324. package/cjs/utils/icons/SvgFilter.d.ts +1 -1
  325. package/cjs/utils/icons/SvgFilter.js +19 -34
  326. package/cjs/utils/icons/SvgFilterHollow.d.ts +1 -1
  327. package/cjs/utils/icons/SvgFilterHollow.js +19 -34
  328. package/cjs/utils/icons/SvgImportantSmall.d.ts +1 -1
  329. package/cjs/utils/icons/SvgImportantSmall.js +19 -34
  330. package/cjs/utils/icons/SvgInfoCircular.d.ts +1 -1
  331. package/cjs/utils/icons/SvgInfoCircular.js +19 -34
  332. package/cjs/utils/icons/SvgMore.d.ts +1 -1
  333. package/cjs/utils/icons/SvgMore.js +19 -34
  334. package/cjs/utils/icons/SvgMoreVertical.d.ts +1 -1
  335. package/cjs/utils/icons/SvgMoreVertical.js +19 -34
  336. package/cjs/utils/icons/SvgNew.d.ts +1 -1
  337. package/cjs/utils/icons/SvgNew.js +19 -34
  338. package/cjs/utils/icons/SvgSearch.d.ts +1 -1
  339. package/cjs/utils/icons/SvgSearch.js +19 -34
  340. package/cjs/utils/icons/SvgSmileyHappy.d.ts +1 -1
  341. package/cjs/utils/icons/SvgSmileyHappy.js +19 -34
  342. package/cjs/utils/icons/SvgSortDown.d.ts +1 -1
  343. package/cjs/utils/icons/SvgSortDown.js +19 -34
  344. package/cjs/utils/icons/SvgSortUp.d.ts +1 -1
  345. package/cjs/utils/icons/SvgSortUp.js +19 -34
  346. package/cjs/utils/icons/SvgStatusError.d.ts +1 -1
  347. package/cjs/utils/icons/SvgStatusError.js +19 -34
  348. package/cjs/utils/icons/SvgStatusSuccess.d.ts +1 -1
  349. package/cjs/utils/icons/SvgStatusSuccess.js +19 -34
  350. package/cjs/utils/icons/SvgStatusWarning.d.ts +1 -1
  351. package/cjs/utils/icons/SvgStatusWarning.js +19 -34
  352. package/cjs/utils/icons/SvgSwap.d.ts +1 -1
  353. package/cjs/utils/icons/SvgSwap.js +19 -34
  354. package/cjs/utils/icons/SvgUpload.d.ts +1 -1
  355. package/cjs/utils/icons/SvgUpload.js +19 -34
  356. package/cjs/utils/icons/index.js +37 -52
  357. package/cjs/utils/index.js +13 -28
  358. package/cjs/utils/meta.d.ts +7 -0
  359. package/cjs/utils/meta.js +16 -0
  360. package/cjs/utils/props.js +4 -2
  361. package/cjs/utils/providers/HydrationProvider.js +55 -68
  362. package/cjs/utils/providers/ScopeProvider.js +60 -71
  363. package/cjs/utils/providers/index.js +7 -22
  364. package/cjs/utils/types.js +4 -2
  365. package/esm/core/Alert/Alert.d.ts +3 -7
  366. package/esm/core/Alert/Alert.js +108 -80
  367. package/esm/core/Avatar/Avatar.js +45 -36
  368. package/esm/core/AvatarGroup/AvatarGroup.js +58 -51
  369. package/esm/core/Backdrop/Backdrop.js +12 -6
  370. package/esm/core/Badge/Badge.js +32 -33
  371. package/esm/core/Breadcrumbs/Breadcrumbs.js +150 -93
  372. package/esm/core/ButtonGroup/ButtonGroup.js +129 -72
  373. package/esm/core/Buttons/Button.js +72 -22
  374. package/esm/core/Buttons/DropdownButton.js +41 -20
  375. package/esm/core/Buttons/IconButton.js +50 -17
  376. package/esm/core/Buttons/IdeasButton.js +15 -11
  377. package/esm/core/Buttons/SplitButton.js +93 -53
  378. package/esm/core/Carousel/Carousel.d.ts +13 -119
  379. package/esm/core/Carousel/Carousel.js +58 -64
  380. package/esm/core/Carousel/CarouselContext.js +0 -4
  381. package/esm/core/Carousel/CarouselDot.js +17 -14
  382. package/esm/core/Carousel/CarouselDotsList.js +147 -111
  383. package/esm/core/Carousel/CarouselNavigation.d.ts +6 -112
  384. package/esm/core/Carousel/CarouselNavigation.js +80 -44
  385. package/esm/core/Carousel/CarouselSlide.js +41 -29
  386. package/esm/core/Carousel/CarouselSlider.d.ts +1 -1
  387. package/esm/core/Carousel/CarouselSlider.js +64 -48
  388. package/esm/core/Checkbox/Checkbox.js +78 -41
  389. package/esm/core/ColorPicker/ColorBuilder.d.ts +1 -1
  390. package/esm/core/ColorPicker/ColorBuilder.js +287 -176
  391. package/esm/core/ColorPicker/ColorInputPanel.js +413 -250
  392. package/esm/core/ColorPicker/ColorPalette.js +40 -30
  393. package/esm/core/ColorPicker/ColorPicker.js +75 -63
  394. package/esm/core/ColorPicker/ColorPickerContext.d.ts +2 -2
  395. package/esm/core/ColorPicker/ColorPickerContext.js +7 -9
  396. package/esm/core/ColorPicker/ColorSwatch.js +31 -18
  397. package/esm/core/ComboBox/ComboBox.d.ts +13 -3
  398. package/esm/core/ComboBox/ComboBox.js +407 -286
  399. package/esm/core/ComboBox/ComboBox.types-test.js +88 -0
  400. package/esm/core/ComboBox/ComboBoxEndIcon.js +21 -9
  401. package/esm/core/ComboBox/ComboBoxInput.js +193 -142
  402. package/esm/core/ComboBox/ComboBoxInputContainer.js +33 -10
  403. package/esm/core/ComboBox/ComboBoxMenu.d.ts +1 -1
  404. package/esm/core/ComboBox/ComboBoxMenu.js +85 -43
  405. package/esm/core/ComboBox/ComboBoxMenuItem.js +74 -19
  406. package/esm/core/ComboBox/ComboBoxMultipleContainer.js +6 -6
  407. package/esm/core/ComboBox/helpers.d.ts +4 -27
  408. package/esm/core/ComboBox/helpers.js +0 -47
  409. package/esm/core/DatePicker/DatePicker.js +564 -345
  410. package/esm/core/Dialog/Dialog.js +66 -51
  411. package/esm/core/Dialog/DialogBackdrop.js +40 -29
  412. package/esm/core/Dialog/DialogButtonBar.js +0 -12
  413. package/esm/core/Dialog/DialogContent.js +0 -11
  414. package/esm/core/Dialog/DialogContext.js +1 -5
  415. package/esm/core/Dialog/DialogDragContext.d.ts +1 -1
  416. package/esm/core/Dialog/DialogDragContext.js +4 -8
  417. package/esm/core/Dialog/DialogMain.js +182 -126
  418. package/esm/core/Dialog/DialogTitleBar.js +46 -31
  419. package/esm/core/Dialog/DialogTitleBarTitle.js +0 -9
  420. package/esm/core/Divider/Divider.js +8 -9
  421. package/esm/core/DropdownMenu/DropdownMenu.d.ts +1 -1
  422. package/esm/core/DropdownMenu/DropdownMenu.js +60 -84
  423. package/esm/core/ExpandableBlock/ExpandableBlock.d.ts +3 -3
  424. package/esm/core/ExpandableBlock/ExpandableBlock.js +173 -133
  425. package/esm/core/Fieldset/Fieldset.js +21 -23
  426. package/esm/core/FileUpload/FileEmptyCard.js +23 -34
  427. package/esm/core/FileUpload/FileUpload.js +67 -44
  428. package/esm/core/FileUpload/FileUploadCard.d.ts +2 -2
  429. package/esm/core/FileUpload/FileUploadCard.js +162 -118
  430. package/esm/core/FileUpload/FileUploadTemplate.js +45 -21
  431. package/esm/core/Flex/Flex.js +63 -111
  432. package/esm/core/Footer/Footer.js +96 -73
  433. package/esm/core/Footer/FooterItem.js +0 -7
  434. package/esm/core/Footer/FooterList.js +0 -7
  435. package/esm/core/Footer/FooterSeparator.js +1 -8
  436. package/esm/core/Header/Header.js +70 -45
  437. package/esm/core/Header/HeaderBasicButton.js +15 -11
  438. package/esm/core/Header/HeaderBreadcrumbs.js +39 -22
  439. package/esm/core/Header/HeaderButton.js +70 -28
  440. package/esm/core/Header/HeaderDropdownButton.js +44 -17
  441. package/esm/core/Header/HeaderLogo.js +39 -16
  442. package/esm/core/Header/HeaderSplitButton.js +67 -18
  443. package/esm/core/Icon/Icon.js +26 -30
  444. package/esm/core/InformationPanel/InformationPanel.js +93 -66
  445. package/esm/core/InformationPanel/InformationPanelBody.js +0 -7
  446. package/esm/core/InformationPanel/InformationPanelContent.js +19 -30
  447. package/esm/core/InformationPanel/InformationPanelHeader.js +39 -28
  448. package/esm/core/InformationPanel/InformationPanelWrapper.js +3 -14
  449. package/esm/core/Input/Input.js +12 -14
  450. package/esm/core/InputGrid/InputGrid.js +145 -165
  451. package/esm/core/InputGroup/InputGroup.js +72 -40
  452. package/esm/core/InputWithDecorations/InputWithDecorations.d.ts +2 -2
  453. package/esm/core/InputWithDecorations/InputWithDecorations.js +58 -49
  454. package/esm/core/Label/Label.js +26 -16
  455. package/esm/core/LabeledInput/LabeledInput.js +67 -21
  456. package/esm/core/LabeledSelect/LabeledSelect.d.ts +3 -389
  457. package/esm/core/LabeledSelect/LabeledSelect.js +58 -43
  458. package/esm/core/LabeledSelect/LabeledSelect.types-test.js +102 -0
  459. package/esm/core/LabeledTextarea/LabeledTextarea.js +6 -32
  460. package/esm/core/LinkAction/LinkAction.d.ts +1 -1
  461. package/esm/core/LinkAction/LinkAction.js +7 -27
  462. package/esm/core/List/List.js +3 -5
  463. package/esm/core/List/ListItem.d.ts +3 -3
  464. package/esm/core/List/ListItem.js +24 -61
  465. package/esm/core/Menu/Menu.d.ts +80 -6
  466. package/esm/core/Menu/Menu.js +211 -61
  467. package/esm/core/Menu/MenuDivider.d.ts +1 -1
  468. package/esm/core/Menu/MenuDivider.js +1 -20
  469. package/esm/core/Menu/MenuExtraContent.js +1 -25
  470. package/esm/core/Menu/MenuItem.d.ts +0 -8
  471. package/esm/core/Menu/MenuItem.js +132 -145
  472. package/esm/core/Menu/MenuItemSkeleton.js +48 -19
  473. package/esm/core/Modal/Modal.js +43 -31
  474. package/esm/core/Modal/ModalButtonBar.js +0 -7
  475. package/esm/core/Modal/ModalContent.js +0 -7
  476. package/esm/core/NonIdealState/ErrorPage.js +181 -134
  477. package/esm/core/NonIdealState/NonIdealState.js +65 -17
  478. package/esm/core/NotificationMarker/NotificationMarker.js +25 -18
  479. package/esm/core/Overlay/Overlay.d.ts +3 -3
  480. package/esm/core/Overlay/Overlay.js +36 -63
  481. package/esm/core/Popover/Popover.d.ts +23 -30
  482. package/esm/core/Popover/Popover.js +276 -157
  483. package/esm/core/ProgressIndicators/ProgressLinear.js +52 -36
  484. package/esm/core/ProgressIndicators/ProgressRadial.js +54 -39
  485. package/esm/core/Radio/Radio.js +48 -20
  486. package/esm/core/RadioTiles/RadioTile.js +62 -17
  487. package/esm/core/RadioTiles/RadioTileGroup.js +16 -15
  488. package/esm/core/SearchBox/SearchBox.js +203 -128
  489. package/esm/core/Select/Select.d.ts +1 -1
  490. package/esm/core/Select/Select.js +442 -260
  491. package/esm/core/Select/Select.types-test.js +115 -0
  492. package/esm/core/Select/SelectTag.js +18 -11
  493. package/esm/core/Select/SelectTagContainer.js +20 -13
  494. package/esm/core/SideNavigation/SideNavigation.js +104 -39
  495. package/esm/core/SideNavigation/SidenavButton.js +38 -12
  496. package/esm/core/SideNavigation/SidenavSubmenu.d.ts +1 -1
  497. package/esm/core/SideNavigation/SidenavSubmenu.js +16 -15
  498. package/esm/core/SideNavigation/SidenavSubmenuHeader.js +24 -22
  499. package/esm/core/SkipToContentLink/SkipToContentLink.js +11 -14
  500. package/esm/core/Slider/Slider.js +339 -202
  501. package/esm/core/Slider/Thumb.js +105 -59
  502. package/esm/core/Slider/Track.js +82 -57
  503. package/esm/core/StatusMessage/StatusMessage.js +31 -17
  504. package/esm/core/Stepper/Stepper.js +74 -18
  505. package/esm/core/Stepper/StepperStep.js +101 -33
  506. package/esm/core/Stepper/WorkflowDiagram.js +27 -13
  507. package/esm/core/Stepper/WorkflowDiagramStep.js +28 -8
  508. package/esm/core/Surface/Surface.js +92 -74
  509. package/esm/core/Table/SubRowExpander.js +32 -13
  510. package/esm/core/Table/Table.js +828 -461
  511. package/esm/core/Table/TableCell.js +85 -43
  512. package/esm/core/Table/TablePaginator.js +320 -137
  513. package/esm/core/Table/TableRowMemoized.d.ts +9 -29
  514. package/esm/core/Table/TableRowMemoized.js +135 -70
  515. package/esm/core/Table/actionHandlers/expandHandler.d.ts +1 -1
  516. package/esm/core/Table/actionHandlers/expandHandler.js +10 -10
  517. package/esm/core/Table/actionHandlers/filterHandler.d.ts +1 -1
  518. package/esm/core/Table/actionHandlers/filterHandler.js +23 -15
  519. package/esm/core/Table/actionHandlers/index.js +5 -5
  520. package/esm/core/Table/actionHandlers/resizeHandler.d.ts +18 -18
  521. package/esm/core/Table/actionHandlers/resizeHandler.js +14 -11
  522. package/esm/core/Table/actionHandlers/selectHandler.d.ts +12 -12
  523. package/esm/core/Table/actionHandlers/selectHandler.js +114 -110
  524. package/esm/core/Table/cells/DefaultCell.js +77 -29
  525. package/esm/core/Table/cells/EditableCell.js +77 -55
  526. package/esm/core/Table/cells/index.js +0 -4
  527. package/esm/core/Table/columns/actionColumn.d.ts +2 -2
  528. package/esm/core/Table/columns/actionColumn.js +89 -78
  529. package/esm/core/Table/columns/expanderColumn.d.ts +2 -2
  530. package/esm/core/Table/columns/expanderColumn.js +39 -52
  531. package/esm/core/Table/columns/index.js +0 -4
  532. package/esm/core/Table/columns/selectionColumn.d.ts +2 -2
  533. package/esm/core/Table/columns/selectionColumn.js +63 -47
  534. package/esm/core/Table/filters/BaseFilter.js +14 -25
  535. package/esm/core/Table/filters/DateRangeFilter/DatePickerInput.js +116 -46
  536. package/esm/core/Table/filters/DateRangeFilter/DateRangeFilter.js +115 -56
  537. package/esm/core/Table/filters/FilterButtonBar.js +40 -18
  538. package/esm/core/Table/filters/FilterToggle.js +60 -26
  539. package/esm/core/Table/filters/NumberRangeFilter/NumberRangeFilter.js +53 -32
  540. package/esm/core/Table/filters/TextFilter/TextFilter.js +32 -24
  541. package/esm/core/Table/filters/customFilterFunctions.js +14 -22
  542. package/esm/core/Table/filters/defaultFilterFunctions.d.ts +7 -7
  543. package/esm/core/Table/filters/defaultFilterFunctions.js +83 -79
  544. package/esm/core/Table/filters/index.js +0 -4
  545. package/esm/core/Table/filters/tableFilters.d.ts +2 -2
  546. package/esm/core/Table/filters/tableFilters.js +15 -29
  547. package/esm/core/Table/hooks/index.js +0 -4
  548. package/esm/core/Table/hooks/useColumnDragAndDrop.js +89 -82
  549. package/esm/core/Table/hooks/useExpanderCell.d.ts +1 -1
  550. package/esm/core/Table/hooks/useExpanderCell.js +26 -24
  551. package/esm/core/Table/hooks/useResizeColumns.js +346 -292
  552. package/esm/core/Table/hooks/useScrollToRow.js +39 -38
  553. package/esm/core/Table/hooks/useSelectionCell.d.ts +1 -1
  554. package/esm/core/Table/hooks/useSelectionCell.js +14 -7
  555. package/esm/core/Table/hooks/useStickyColumns.js +58 -63
  556. package/esm/core/Table/hooks/useSubRowFiltering.js +87 -87
  557. package/esm/core/Table/hooks/useSubRowSelection.js +28 -31
  558. package/esm/core/Table/index.js +5 -5
  559. package/esm/core/Table/utils.d.ts +1 -1
  560. package/esm/core/Table/utils.js +55 -59
  561. package/esm/core/Tabs/Tabs.d.ts +3 -3
  562. package/esm/core/Tabs/Tabs.js +385 -315
  563. package/esm/core/Tag/Tag.js +54 -22
  564. package/esm/core/Tag/TagContainer.js +17 -15
  565. package/esm/core/Textarea/Textarea.js +6 -11
  566. package/esm/core/ThemeProvider/ThemeContext.d.ts +3 -3
  567. package/esm/core/ThemeProvider/ThemeContext.js +0 -4
  568. package/esm/core/ThemeProvider/ThemeProvider.js +210 -174
  569. package/esm/core/Tile/Tile.d.ts +11 -80
  570. package/esm/core/Tile/Tile.js +283 -283
  571. package/esm/core/TimePicker/TimePicker.js +461 -237
  572. package/esm/core/Toast/Toast.js +209 -114
  573. package/esm/core/Toast/Toaster.js +114 -79
  574. package/esm/core/ToggleSwitch/ToggleSwitch.js +59 -33
  575. package/esm/core/Tooltip/Tooltip.d.ts +12 -11
  576. package/esm/core/Tooltip/Tooltip.js +221 -144
  577. package/esm/core/TransferList/TransferList.d.ts +4 -4
  578. package/esm/core/TransferList/TransferList.js +152 -118
  579. package/esm/core/Tree/Tree.js +202 -178
  580. package/esm/core/Tree/TreeContext.js +5 -9
  581. package/esm/core/Tree/TreeNode.d.ts +11 -4
  582. package/esm/core/Tree/TreeNode.js +245 -121
  583. package/esm/core/Tree/TreeNodeExpander.js +23 -11
  584. package/esm/core/Typography/Anchor.js +21 -24
  585. package/esm/core/Typography/Blockquote.js +12 -16
  586. package/esm/core/Typography/Code.js +0 -9
  587. package/esm/core/Typography/Kbd.js +24 -28
  588. package/esm/core/Typography/Text.js +26 -26
  589. package/esm/core/VisuallyHidden/VisuallyHidden.js +34 -24
  590. package/esm/index.d.ts +1 -0
  591. package/esm/index.js +22 -7
  592. package/esm/react-table/react-table.js +0 -7
  593. package/esm/react-table/react-table.types-test.js +658 -0
  594. package/esm/styles.d.ts +2 -1
  595. package/esm/styles.js +8 -9
  596. package/esm/utils/color/ColorValue.js +436 -477
  597. package/esm/utils/color/index.js +0 -4
  598. package/esm/utils/components/AutoclearingHiddenLiveRegion.js +15 -19
  599. package/esm/utils/components/Box.js +0 -9
  600. package/esm/utils/components/ButtonBase.js +28 -17
  601. package/esm/utils/components/FocusTrap.js +41 -40
  602. package/esm/utils/components/InputContainer.js +51 -21
  603. package/esm/utils/components/InputFlexContainer.d.ts +2 -2
  604. package/esm/utils/components/InputFlexContainer.js +30 -23
  605. package/esm/utils/components/InputWithIcon.js +0 -5
  606. package/esm/utils/components/LineClamp.d.ts +1 -1
  607. package/esm/utils/components/LineClamp.js +21 -11
  608. package/esm/utils/components/MiddleTextTruncation.js +27 -37
  609. package/esm/utils/components/Portal.d.ts +1 -1
  610. package/esm/utils/components/Portal.js +13 -31
  611. package/esm/utils/components/Resizer.js +231 -165
  612. package/esm/utils/components/ShadowRoot.js +78 -78
  613. package/esm/utils/components/VirtualScroll.js +296 -263
  614. package/esm/utils/components/WithCSSTransition.d.ts +1 -1
  615. package/esm/utils/components/WithCSSTransition.js +44 -31
  616. package/esm/utils/components/index.js +0 -4
  617. package/esm/utils/functions/colors.d.ts +1 -1
  618. package/esm/utils/functions/colors.js +19 -28
  619. package/esm/utils/functions/date.js +8 -15
  620. package/esm/utils/functions/dev.js +15 -28
  621. package/esm/utils/functions/dom.d.ts +1 -1
  622. package/esm/utils/functions/dom.js +18 -36
  623. package/esm/utils/functions/focusable.d.ts +23 -0
  624. package/esm/utils/functions/focusable.js +68 -25
  625. package/esm/utils/functions/import.js +19 -28
  626. package/esm/utils/functions/index.js +0 -4
  627. package/esm/utils/functions/numbers.js +9 -25
  628. package/esm/utils/functions/polymorphic.d.ts +3 -180
  629. package/esm/utils/functions/polymorphic.js +42 -63
  630. package/esm/utils/functions/react.js +17 -28
  631. package/esm/utils/functions/supports.js +2 -8
  632. package/esm/utils/hooks/index.js +0 -4
  633. package/esm/utils/hooks/useContainerWidth.js +16 -32
  634. package/esm/utils/hooks/useControlledState.d.ts +1 -1
  635. package/esm/utils/hooks/useControlledState.js +19 -23
  636. package/esm/utils/hooks/useDragAndDrop.js +109 -93
  637. package/esm/utils/hooks/useEventListener.js +14 -31
  638. package/esm/utils/hooks/useGlobals.d.ts +3 -3
  639. package/esm/utils/hooks/useGlobals.js +27 -35
  640. package/esm/utils/hooks/useId.js +4 -13
  641. package/esm/utils/hooks/useIntersection.js +29 -35
  642. package/esm/utils/hooks/useIsClient.js +5 -9
  643. package/esm/utils/hooks/useIsomorphicLayoutEffect.js +2 -12
  644. package/esm/utils/hooks/useLatestRef.js +5 -16
  645. package/esm/utils/hooks/useMediaQuery.js +14 -15
  646. package/esm/utils/hooks/useMergedRefs.d.ts +2 -2
  647. package/esm/utils/hooks/useMergedRefs.js +10 -22
  648. package/esm/utils/hooks/useOverflow.d.ts +1 -1
  649. package/esm/utils/hooks/useOverflow.js +59 -78
  650. package/esm/utils/hooks/useResizeObserver.js +23 -39
  651. package/esm/utils/hooks/useSafeContext.js +5 -13
  652. package/esm/utils/hooks/useSyncExternalStore.js +31 -39
  653. package/esm/utils/icons/StatusIconMap.d.ts +4 -5
  654. package/esm/utils/icons/StatusIconMap.js +20 -8
  655. package/esm/utils/icons/Svg.js +3 -7
  656. package/esm/utils/icons/SvgCalendar.d.ts +1 -1
  657. package/esm/utils/icons/SvgCalendar.js +7 -6
  658. package/esm/utils/icons/SvgCaretDownSmall.d.ts +1 -1
  659. package/esm/utils/icons/SvgCaretDownSmall.js +7 -6
  660. package/esm/utils/icons/SvgCaretRightSmall.d.ts +1 -1
  661. package/esm/utils/icons/SvgCaretRightSmall.js +7 -6
  662. package/esm/utils/icons/SvgCaretUpSmall.d.ts +1 -1
  663. package/esm/utils/icons/SvgCaretUpSmall.js +7 -6
  664. package/esm/utils/icons/SvgCheckmark.d.ts +1 -1
  665. package/esm/utils/icons/SvgCheckmark.js +7 -6
  666. package/esm/utils/icons/SvgCheckmarkSmall.d.ts +1 -1
  667. package/esm/utils/icons/SvgCheckmarkSmall.js +7 -6
  668. package/esm/utils/icons/SvgChevronLeft.d.ts +1 -1
  669. package/esm/utils/icons/SvgChevronLeft.js +7 -6
  670. package/esm/utils/icons/SvgChevronLeftDouble.d.ts +1 -1
  671. package/esm/utils/icons/SvgChevronLeftDouble.js +7 -6
  672. package/esm/utils/icons/SvgChevronRight.d.ts +1 -1
  673. package/esm/utils/icons/SvgChevronRight.js +7 -6
  674. package/esm/utils/icons/SvgChevronRightDouble.d.ts +1 -1
  675. package/esm/utils/icons/SvgChevronRightDouble.js +7 -6
  676. package/esm/utils/icons/SvgChevronRightSmall.d.ts +1 -1
  677. package/esm/utils/icons/SvgChevronRightSmall.js +7 -6
  678. package/esm/utils/icons/SvgClose.d.ts +1 -1
  679. package/esm/utils/icons/SvgClose.js +7 -6
  680. package/esm/utils/icons/SvgCloseSmall.d.ts +1 -1
  681. package/esm/utils/icons/SvgCloseSmall.js +7 -6
  682. package/esm/utils/icons/SvgColumnManager.d.ts +1 -1
  683. package/esm/utils/icons/SvgColumnManager.js +7 -6
  684. package/esm/utils/icons/SvgDocument.d.ts +1 -1
  685. package/esm/utils/icons/SvgDocument.js +7 -6
  686. package/esm/utils/icons/SvgFilter.d.ts +1 -1
  687. package/esm/utils/icons/SvgFilter.js +7 -6
  688. package/esm/utils/icons/SvgFilterHollow.d.ts +1 -1
  689. package/esm/utils/icons/SvgFilterHollow.js +7 -6
  690. package/esm/utils/icons/SvgImportantSmall.d.ts +1 -1
  691. package/esm/utils/icons/SvgImportantSmall.js +7 -6
  692. package/esm/utils/icons/SvgInfoCircular.d.ts +1 -1
  693. package/esm/utils/icons/SvgInfoCircular.js +7 -6
  694. package/esm/utils/icons/SvgMore.d.ts +1 -1
  695. package/esm/utils/icons/SvgMore.js +7 -6
  696. package/esm/utils/icons/SvgMoreVertical.d.ts +1 -1
  697. package/esm/utils/icons/SvgMoreVertical.js +7 -6
  698. package/esm/utils/icons/SvgNew.d.ts +1 -1
  699. package/esm/utils/icons/SvgNew.js +7 -6
  700. package/esm/utils/icons/SvgSearch.d.ts +1 -1
  701. package/esm/utils/icons/SvgSearch.js +7 -6
  702. package/esm/utils/icons/SvgSmileyHappy.d.ts +1 -1
  703. package/esm/utils/icons/SvgSmileyHappy.js +7 -6
  704. package/esm/utils/icons/SvgSortDown.d.ts +1 -1
  705. package/esm/utils/icons/SvgSortDown.js +7 -6
  706. package/esm/utils/icons/SvgSortUp.d.ts +1 -1
  707. package/esm/utils/icons/SvgSortUp.js +7 -6
  708. package/esm/utils/icons/SvgStatusError.d.ts +1 -1
  709. package/esm/utils/icons/SvgStatusError.js +7 -6
  710. package/esm/utils/icons/SvgStatusSuccess.d.ts +1 -1
  711. package/esm/utils/icons/SvgStatusSuccess.js +7 -6
  712. package/esm/utils/icons/SvgStatusWarning.d.ts +1 -1
  713. package/esm/utils/icons/SvgStatusWarning.js +7 -6
  714. package/esm/utils/icons/SvgSwap.d.ts +1 -1
  715. package/esm/utils/icons/SvgSwap.js +7 -6
  716. package/esm/utils/icons/SvgUpload.d.ts +1 -1
  717. package/esm/utils/icons/SvgUpload.js +7 -6
  718. package/esm/utils/icons/index.js +0 -4
  719. package/esm/utils/index.js +0 -4
  720. package/esm/utils/meta.d.ts +7 -0
  721. package/esm/utils/meta.js +6 -0
  722. package/esm/utils/providers/HydrationProvider.js +33 -38
  723. package/esm/utils/providers/ScopeProvider.js +35 -40
  724. package/esm/utils/providers/index.js +0 -4
  725. package/package.json +22 -16
  726. package/styles.css +1 -1
  727. package/react-table.d.ts +0 -750
@@ -1,60 +1,21 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
1
+ 'use strict';
2
+ Object.defineProperty(exports, '__esModule', {
3
+ value: true,
17
4
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.LabeledTextarea = void 0;
27
- /*---------------------------------------------------------------------------------------------
28
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
29
- * See LICENSE.md in the project root for license terms and full copyright notice.
30
- *--------------------------------------------------------------------------------------------*/
31
- const React = __importStar(require("react"));
32
- const LabeledInput_js_1 = require("../LabeledInput/LabeledInput.js");
33
- /**
34
- * Textarea wrapper that allows for additional styling and labelling
35
- * @example
36
- * <LabeledTextarea
37
- * label='Textarea Label'
38
- * message='Help Message'
39
- * placeholder='This is a textarea'
40
- * />
41
- * <LabeledTextarea
42
- * label='Disabled Textarea Label'
43
- * message='Help Message'
44
- * placeholder='This is a textarea'
45
- * disabled={true}
46
- * />
47
- * <LabeledTextarea
48
- * label='Textarea Label'
49
- * message='Negative Message'
50
- * placeholder='This is a textarea'
51
- * status='negative'
52
- * />
53
- */
54
- exports.LabeledTextarea = React.forwardRef((props, forwardedRef) => {
55
- return (
56
- // ref types don't match but it's internal, so ts-ignore is ok here
57
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
58
- // @ts-ignore
59
- React.createElement(LabeledInput_js_1.LabeledInput, { as: 'textarea', rows: 3, ref: forwardedRef, ...props }));
5
+ Object.defineProperty(exports, 'LabeledTextarea', {
6
+ enumerable: true,
7
+ get: function () {
8
+ return LabeledTextarea;
9
+ },
10
+ });
11
+ const _interop_require_wildcard = require('@swc/helpers/_/_interop_require_wildcard');
12
+ const _react = _interop_require_wildcard._(require('react'));
13
+ const _LabeledInput = require('../LabeledInput/LabeledInput.js');
14
+ const LabeledTextarea = _react.forwardRef((props, forwardedRef) => {
15
+ return _react.createElement(_LabeledInput.LabeledInput, {
16
+ as: 'textarea',
17
+ rows: 3,
18
+ ref: forwardedRef,
19
+ ...props,
20
+ });
60
21
  });
@@ -9,7 +9,7 @@ import type { PolymorphicForwardRefComponent } from '../../utils/props.js';
9
9
  * </Surface>
10
10
  * </LinkBox>
11
11
  */
12
- export declare const LinkAction: PolymorphicForwardRefComponent<"a", {}>;
12
+ export declare const LinkAction: PolymorphicForwardRefComponent<"a">;
13
13
  /**
14
14
  * Polymorphic link box component.
15
15
  * Used to wrap around your component to use LinkAction.
@@ -1,65 +1,37 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
1
+ 'use strict';
2
+ Object.defineProperty(exports, '__esModule', {
3
+ value: true,
17
4
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.LinkBox = exports.LinkAction = void 0;
30
- /*---------------------------------------------------------------------------------------------
31
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
32
- * See LICENSE.md in the project root for license terms and full copyright notice.
33
- *--------------------------------------------------------------------------------------------*/
34
- const React = __importStar(require("react"));
35
- const classnames_1 = __importDefault(require("classnames"));
36
- const polymorphic_js_1 = require("../../utils/functions/polymorphic.js");
37
- const index_js_1 = require("../../utils/components/index.js");
38
- /**
39
- * Polymorphic link action component.
40
- * It is rendered as `a` by default.
41
- * @example
42
- * <LinkBox>
43
- * <Surface>
44
- * <LinkAction href='/new-page'>Whole card is clickable</LinkAction>
45
- * </Surface>
46
- * </LinkBox>
47
- */
48
- exports.LinkAction = React.forwardRef((props, forwardedRef) => {
49
- const { as: asProp = (!!props.href ? 'a' : 'button') } = props;
50
- return (React.createElement(index_js_1.Box, { ...props, as: asProp, className: (0, classnames_1.default)('iui-link-action', props.className), ref: forwardedRef }));
5
+ function _export(target, all) {
6
+ for (var name in all)
7
+ Object.defineProperty(target, name, {
8
+ enumerable: true,
9
+ get: all[name],
10
+ });
11
+ }
12
+ _export(exports, {
13
+ LinkAction: function () {
14
+ return LinkAction;
15
+ },
16
+ LinkBox: function () {
17
+ return LinkBox;
18
+ },
51
19
  });
52
- exports.LinkAction.displayName = 'LinkAction';
53
- /**
54
- * Polymorphic link box component.
55
- * Used to wrap around your component to use LinkAction.
56
- * Rendered as `div` by default
57
- * @example
58
- * <LinkBox>
59
- * <Surface>
60
- * <LinkAction href='/new-page'>Whole card is clickable</LinkAction>
61
- * </Surface>
62
- * </LinkBox>
63
- */
64
- exports.LinkBox = polymorphic_js_1.polymorphic.div('iui-link-box');
65
- exports.LinkBox.displayName = 'LinkBox';
20
+ const _interop_require_default = require('@swc/helpers/_/_interop_require_default');
21
+ const _interop_require_wildcard = require('@swc/helpers/_/_interop_require_wildcard');
22
+ const _react = _interop_require_wildcard._(require('react'));
23
+ const _classnames = _interop_require_default._(require('classnames'));
24
+ const _polymorphic = require('../../utils/functions/polymorphic.js');
25
+ const _index = require('../../utils/components/index.js');
26
+ const LinkAction = _react.forwardRef((props, forwardedRef) => {
27
+ const { as: asProp = !!props.href ? 'a' : 'button' } = props;
28
+ return _react.createElement(_index.Box, {
29
+ ...props,
30
+ as: asProp,
31
+ className: (0, _classnames.default)('iui-link-action', props.className),
32
+ ref: forwardedRef,
33
+ });
34
+ });
35
+ LinkAction.displayName = 'LinkAction';
36
+ const LinkBox = _polymorphic.polymorphic.div('iui-link-box');
37
+ LinkBox.displayName = 'LinkBox';
@@ -1,10 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.List = void 0;
4
- /*---------------------------------------------------------------------------------------------
5
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
6
- * See LICENSE.md in the project root for license terms and full copyright notice.
7
- *--------------------------------------------------------------------------------------------*/
8
- const index_js_1 = require("../../utils/index.js");
9
- exports.List = index_js_1.polymorphic.ul('iui-list', { role: 'list' });
10
- exports.List.displayName = 'List';
1
+ 'use strict';
2
+ Object.defineProperty(exports, '__esModule', {
3
+ value: true,
4
+ });
5
+ Object.defineProperty(exports, 'List', {
6
+ enumerable: true,
7
+ get: function () {
8
+ return List;
9
+ },
10
+ });
11
+ const _index = require('../../utils/index.js');
12
+ const List = _index.polymorphic.ul('iui-list', {
13
+ role: 'list',
14
+ });
15
+ List.displayName = 'List';
@@ -44,7 +44,7 @@ export declare const ListItem: PolymorphicForwardRefComponent<"li", ListItemOwnP
44
44
  /**
45
45
  * Icon to be placed at the beginning or end of the ListItem.
46
46
  */
47
- Icon: PolymorphicForwardRefComponent<NonNullable<keyof JSX.IntrinsicElements>, {}>;
47
+ Icon: PolymorphicForwardRefComponent<keyof JSX.IntrinsicElements, {}>;
48
48
  /**
49
49
  * Wrapper for the main content of the ListItem.
50
50
  *
@@ -53,7 +53,7 @@ export declare const ListItem: PolymorphicForwardRefComponent<"li", ListItemOwnP
53
53
  * and push the icon to the end
54
54
  * - When using `ListItem.Description`.
55
55
  */
56
- Content: PolymorphicForwardRefComponent<NonNullable<keyof JSX.IntrinsicElements>, {}>;
56
+ Content: PolymorphicForwardRefComponent<keyof JSX.IntrinsicElements, {}>;
57
57
  /**
58
58
  * Description to be used in addition to the main label of the ListItem.
59
59
  * Should be used as a child of `ListItem.Content`.
@@ -66,7 +66,7 @@ export declare const ListItem: PolymorphicForwardRefComponent<"li", ListItemOwnP
66
66
  * </ListItem.Content>
67
67
  * </ListItem>
68
68
  */
69
- Description: PolymorphicForwardRefComponent<NonNullable<keyof JSX.IntrinsicElements>, {}>;
69
+ Description: PolymorphicForwardRefComponent<keyof JSX.IntrinsicElements, {}>;
70
70
  /**
71
71
  * Wrapper over [LinkAction](https://itwinui.bentley.com/docs/linkaction) which allows rendering a link inside a ListItem.
72
72
  * This ensures that clicking anywhere on the ListItem will trigger the link.
@@ -1,107 +1,55 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
1
+ 'use strict';
2
+ Object.defineProperty(exports, '__esModule', {
3
+ value: true,
17
4
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.ListItem = void 0;
30
- /*---------------------------------------------------------------------------------------------
31
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
32
- * See LICENSE.md in the project root for license terms and full copyright notice.
33
- *--------------------------------------------------------------------------------------------*/
34
- const React = __importStar(require("react"));
35
- const classnames_1 = __importDefault(require("classnames"));
36
- const index_js_1 = require("../../utils/index.js");
37
- const LinkAction_js_1 = require("../LinkAction/LinkAction.js");
38
- const ListItemComponent = React.forwardRef((props, ref) => {
39
- const { size = 'default', disabled = false, active = false, actionable = false, focused = false, className, ...rest } = props;
40
- return (React.createElement(index_js_1.Box, { as: 'li', className: (0, classnames_1.default)('iui-list-item', className), "data-iui-active": active ? 'true' : undefined, "data-iui-disabled": disabled ? 'true' : undefined, "data-iui-size": size === 'large' ? 'large' : undefined, "data-iui-actionable": actionable ? 'true' : undefined, "data-iui-focused": focused ? 'true' : undefined, ref: ref, ...rest }));
5
+ Object.defineProperty(exports, 'ListItem', {
6
+ enumerable: true,
7
+ get: function () {
8
+ return ListItem;
9
+ },
10
+ });
11
+ const _interop_require_default = require('@swc/helpers/_/_interop_require_default');
12
+ const _interop_require_wildcard = require('@swc/helpers/_/_interop_require_wildcard');
13
+ const _react = _interop_require_wildcard._(require('react'));
14
+ const _classnames = _interop_require_default._(require('classnames'));
15
+ const _index = require('../../utils/index.js');
16
+ const _LinkAction = require('../LinkAction/LinkAction.js');
17
+ const ListItemComponent = _react.forwardRef((props, ref) => {
18
+ const {
19
+ size = 'default',
20
+ disabled = false,
21
+ active = false,
22
+ actionable = false,
23
+ focused = false,
24
+ className,
25
+ ...rest
26
+ } = props;
27
+ return _react.createElement(_index.Box, {
28
+ as: 'li',
29
+ className: (0, _classnames.default)('iui-list-item', className),
30
+ 'data-iui-active': active ? 'true' : undefined,
31
+ 'data-iui-disabled': disabled ? 'true' : undefined,
32
+ 'data-iui-size': size === 'large' ? 'large' : undefined,
33
+ 'data-iui-actionable': actionable ? 'true' : undefined,
34
+ 'data-iui-focused': focused ? 'true' : undefined,
35
+ ref: ref,
36
+ ...rest,
37
+ });
41
38
  });
42
39
  ListItemComponent.displayName = 'ListItem';
43
- // ----------------------------------------------------------------------------
44
- const ListItemIcon = (0, index_js_1.polymorphic)('iui-list-item-icon');
40
+ const ListItemIcon = (0, _index.polymorphic)('iui-list-item-icon');
45
41
  ListItemIcon.displayName = 'ListItem.Icon';
46
- // ----------------------------------------------------------------------------
47
- const ListItemContent = (0, index_js_1.polymorphic)('iui-list-item-content');
42
+ const ListItemContent = (0, _index.polymorphic)('iui-list-item-content');
48
43
  ListItemContent.displayName = 'ListItem.Content';
49
- // ----------------------------------------------------------------------------
50
- const ListItemDescription = (0, index_js_1.polymorphic)('iui-list-item-description');
44
+ const ListItemDescription = (0, _index.polymorphic)(
45
+ 'iui-list-item-description',
46
+ );
51
47
  ListItemDescription.displayName = 'ListItem.Description';
52
- // ----------------------------------------------------------------------------
53
- const ListItemAction = LinkAction_js_1.LinkAction;
48
+ const ListItemAction = _LinkAction.LinkAction;
54
49
  ListItemAction.displayName = 'ListItem.Action';
55
- // ----------------------------------------------------------------------------
56
- // Exported compound component
57
- /**
58
- * A generic ListItem component that can be used simply for displaying data, or as a base
59
- * for the list items in a more complex component (e.g. a custom Select).
60
- *
61
- * Includes support for left/right icons, multiple lines of text, and hover/focus/active/disabled styling.
62
- *
63
- * @example
64
- * <List>
65
- * <ListItem>item 1</ListItem>
66
- * <ListItem>item 2</ListItem>
67
- * <ListItem>item 3</ListItem>
68
- * </List>
69
- */
70
- exports.ListItem = Object.assign(ListItemComponent, {
71
- /**
72
- * Icon to be placed at the beginning or end of the ListItem.
73
- */
74
- Icon: ListItemIcon,
75
- /**
76
- * Wrapper for the main content of the ListItem.
77
- *
78
- * For basic list items, this wrapper is not needed, but it can be useful for two cases:
79
- * - When using an end icon. The `ListItem.Content` will fill the available space
80
- * and push the icon to the end
81
- * - When using `ListItem.Description`.
82
- */
83
- Content: ListItemContent,
84
- /**
85
- * Description to be used in addition to the main label of the ListItem.
86
- * Should be used as a child of `ListItem.Content`.
87
- *
88
- * @example
89
- * <ListItem>
90
- * <ListItem.Content>
91
- * <div>some list item</div>
92
- * <ListItem.Description>description for this item</ListItem.Description>
93
- * </ListItem.Content>
94
- * </ListItem>
95
- */
96
- Description: ListItemDescription,
97
- /**
98
- * Wrapper over [LinkAction](https://itwinui.bentley.com/docs/linkaction) which allows rendering a link inside a ListItem.
99
- * This ensures that clicking anywhere on the ListItem will trigger the link.
100
- *
101
- * @example
102
- * <ListItem>
103
- * <ListItem.Action href='https://example.com'>Example link</ListItem.Action>
104
- * </ListItem>
105
- */
106
- Action: ListItemAction,
50
+ const ListItem = Object.assign(ListItemComponent, {
51
+ Icon: ListItemIcon,
52
+ Content: ListItemContent,
53
+ Description: ListItemDescription,
54
+ Action: ListItemAction,
107
55
  });
@@ -1,5 +1,8 @@
1
1
  import * as React from 'react';
2
- import type { PolymorphicForwardRefComponent } from '../../utils/index.js';
2
+ import type { PolymorphicForwardRefComponent, PortalProps } from '../../utils/index.js';
3
+ import { usePopover } from '../Popover/Popover.js';
4
+ import { useInteractions, type UseListNavigationProps } from '@floating-ui/react';
5
+ type UsePopoverProps = Parameters<typeof usePopover>[0];
3
6
  type MenuProps = {
4
7
  /**
5
8
  * Menu items. Recommended to use `MenuItem` components.
@@ -9,13 +12,84 @@ type MenuProps = {
9
12
  */
10
13
  children: React.ReactNode;
11
14
  /**
12
- * If true, the first selected or enabled menu item will be focused automatically.
13
- * @default true
15
+ * The trigger that opens the menu.
14
16
  */
15
- setFocus?: boolean;
16
- };
17
+ trigger: React.ReactNode;
18
+ /**
19
+ * You can use this optional prop when the position reference is not the trigger.
20
+ * (Equivalent to using FloatingUI's `floating.refs.setPositionReference`)
21
+ */
22
+ positionReference?: Parameters<ReturnType<typeof usePopover>['refs']['setPositionReference']>[0];
23
+ /**
24
+ * Use this prop to override the default props passed to `usePopover` and `useListNavigation`.
25
+ */
26
+ popoverProps?: Omit<UsePopoverProps, 'interactions'> & {
27
+ interactions?: UsePopoverProps['interactions'] & {
28
+ listNavigation?: Partial<UseListNavigationProps>;
29
+ };
30
+ };
31
+ } & Pick<PortalProps, 'portal'>;
17
32
  /**
18
- * Basic menu component. Can be used for select or dropdown components.
33
+ * @private
34
+ *
35
+ * Used for dropdown components. E.g. `DropdownMenu`, `SplitButton`.
36
+ *
37
+ * What needs to be handled **manually**:
38
+ * - Menu items need to spread `MenuContext.popover.getItemProps()`.
39
+ * - Menu items need to focus itself on hover.
40
+ *
41
+ * What is handled automatically:
42
+ * - the portaling: use the optional `portal` prop for more customization
43
+ * - conditional rendering based on the popover's open state
44
+ * - spreading the popover props `getFloatingProps` and `getReferenceProps`.
45
+ * - As mentioned above, `getItemProps` need to be spread **manually** in the menu item.
46
+ * - setting the refs: use the optional`positionReference` prop to set the position reference
47
+ * - keyboard navigation: use the `interactions.listNavigation` prop for more customization
48
+ * - registering a `FloatingNode` in the `FloatingTree` if an ancestral `FloatingTree` is found
49
+ * - focus management:
50
+ * - focuses items on hover.
51
+ * - if *not* in a `FloatingTree`, focus moves to the trigger when the menu is closed.
52
+ * If in a `FloatingTree`, focus does not move back to the trigger since menu items handle the focus.
53
+ * - setting `aria-expanded` accordingly depending on the menu open state
54
+ *
55
+ * All `Menu` popover interactions are identical to `usePopover`'s interactions. Exception:
56
+ * - `hover`: When the `Menu` is within a `FloatingTree`, if a submenu has focus, the hover interaction is automatically
57
+ * disabled. This helps to keep the last hovered/focused submenu open even upon hovering out.
58
+ *
59
+ * @example
60
+ * const trigger = <Button>Menu</Button>;
61
+ * const [positionReference, setPositionReference] = React.useState<HTMLDivElement | null>(null);
62
+ * const popoverProps = { matchWidth: true };
63
+ * const nodeId = useFloatingNodeId();
64
+ *
65
+ * return (
66
+ * <Box ref={setPositionReference}>
67
+ * <Menu
68
+ * trigger={trigger}
69
+ * positionReference={positionReference}
70
+ * nodeId={nodeId}
71
+ * popoverProps={popoverProps}
72
+ * >
73
+ * <MenuItem>Item 1</MenuItem>
74
+ * <MenuItem>Item 2</MenuItem>
75
+ * </Menu>
76
+ * </Box>
77
+ * );
19
78
  */
20
79
  export declare const Menu: PolymorphicForwardRefComponent<"div", MenuProps>;
80
+ export type TreeEvent = {
81
+ nodeId: string;
82
+ parentId: string | null;
83
+ };
84
+ type PopoverGetItemProps = ({ focusableItemIndex, userProps, }: {
85
+ /**
86
+ * Index of this item out of all the focusable items in the parent `Menu`
87
+ */
88
+ focusableItemIndex: number | undefined;
89
+ userProps?: Parameters<NonNullable<ReturnType<typeof useInteractions>['getItemProps']>>[0];
90
+ }) => ReturnType<ReturnType<typeof useInteractions>['getItemProps']>;
91
+ export declare const MenuContext: React.Context<{
92
+ popoverGetItemProps: PopoverGetItemProps;
93
+ focusableElements: HTMLElement[];
94
+ } | undefined>;
21
95
  export {};