@itwin/itwinui-react 3.0.0-dev.8 → 3.0.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 (677) hide show
  1. package/CHANGELOG.md +79 -762
  2. package/README.md +3 -5
  3. package/cjs/core/Alert/Alert.d.ts +1 -1
  4. package/cjs/core/Alert/Alert.js +4 -3
  5. package/cjs/core/Avatar/Avatar.js +2 -1
  6. package/cjs/core/Breadcrumbs/Breadcrumbs.js +23 -6
  7. package/cjs/core/ButtonGroup/ButtonGroup.js +6 -8
  8. package/cjs/core/Buttons/{Button/Button.d.ts → Button.d.ts} +2 -2
  9. package/cjs/core/Buttons/{Button/Button.js → Button.js} +1 -1
  10. package/{esm/core/Buttons/DropdownButton → cjs/core/Buttons}/DropdownButton.d.ts +3 -3
  11. package/cjs/core/Buttons/{DropdownButton/DropdownButton.js → DropdownButton.js} +14 -26
  12. package/{esm/core/Buttons/IconButton → cjs/core/Buttons}/IconButton.d.ts +2 -2
  13. package/cjs/core/Buttons/{IconButton/IconButton.js → IconButton.js} +6 -3
  14. package/{esm/core/Buttons/IdeasButton → cjs/core/Buttons}/IdeasButton.d.ts +1 -1
  15. package/cjs/core/Buttons/{IdeasButton/IdeasButton.js → IdeasButton.js} +3 -3
  16. package/{esm/core/Buttons/SplitButton → cjs/core/Buttons}/SplitButton.d.ts +6 -6
  17. package/cjs/core/Buttons/{SplitButton/SplitButton.js → SplitButton.js} +57 -34
  18. package/cjs/core/Carousel/Carousel.d.ts +14 -7
  19. package/cjs/core/Carousel/Carousel.js +9 -39
  20. package/cjs/core/Carousel/CarouselContext.d.ts +0 -4
  21. package/cjs/core/Carousel/CarouselDot.js +1 -1
  22. package/cjs/core/Carousel/CarouselDotsList.js +26 -2
  23. package/cjs/core/Carousel/CarouselNavigation.d.ts +3 -3
  24. package/cjs/core/Carousel/CarouselNavigation.js +13 -26
  25. package/cjs/core/Carousel/CarouselSlide.d.ts +1 -1
  26. package/cjs/core/Carousel/CarouselSlide.js +12 -2
  27. package/cjs/core/Carousel/CarouselSlider.d.ts +1 -1
  28. package/cjs/core/Carousel/CarouselSlider.js +2 -2
  29. package/cjs/core/Checkbox/Checkbox.js +7 -7
  30. package/cjs/core/ColorPicker/ColorBuilder.js +5 -3
  31. package/cjs/core/ColorPicker/ColorInputPanel.js +50 -30
  32. package/cjs/core/ColorPicker/ColorPalette.js +2 -80
  33. package/cjs/core/ColorPicker/ColorPicker.d.ts +9 -0
  34. package/cjs/core/ColorPicker/ColorPicker.js +6 -1
  35. package/cjs/core/ColorPicker/ColorSwatch.d.ts +1 -1
  36. package/cjs/core/ColorPicker/ColorSwatch.js +25 -15
  37. package/cjs/core/ComboBox/ComboBox.d.ts +8 -3
  38. package/cjs/core/ComboBox/ComboBox.js +48 -39
  39. package/cjs/core/ComboBox/ComboBoxEndIcon.js +2 -1
  40. package/cjs/core/ComboBox/ComboBoxInput.d.ts +1 -1
  41. package/cjs/core/ComboBox/ComboBoxInput.js +37 -29
  42. package/cjs/core/ComboBox/ComboBoxInputContainer.js +6 -6
  43. package/cjs/core/ComboBox/ComboBoxMenu.d.ts +1 -1
  44. package/cjs/core/ComboBox/ComboBoxMenu.js +74 -96
  45. package/cjs/core/ComboBox/helpers.d.ts +4 -1
  46. package/cjs/core/DatePicker/DatePicker.d.ts +9 -0
  47. package/cjs/core/DatePicker/DatePicker.js +13 -8
  48. package/cjs/core/Dialog/DialogBackdrop.js +4 -4
  49. package/cjs/core/Dialog/DialogTitleBar.js +2 -2
  50. package/cjs/core/{utils/components → Divider}/Divider.d.ts +1 -1
  51. package/cjs/core/{utils/components → Divider}/Divider.js +1 -1
  52. package/cjs/core/DropdownMenu/DropdownMenu.d.ts +6 -5
  53. package/cjs/core/DropdownMenu/DropdownMenu.js +61 -56
  54. package/cjs/core/ExpandableBlock/ExpandableBlock.d.ts +1 -1
  55. package/cjs/core/ExpandableBlock/ExpandableBlock.js +3 -2
  56. package/cjs/core/FileUpload/FileUploadCard.js +3 -2
  57. package/cjs/core/FileUpload/FileUploadTemplate.js +1 -1
  58. package/cjs/core/{utils/components → Flex}/Flex.d.ts +2 -2
  59. package/cjs/core/{utils/components → Flex}/Flex.js +1 -1
  60. package/cjs/core/Header/Header.js +11 -11
  61. package/cjs/core/Header/HeaderBasicButton.d.ts +1 -1
  62. package/cjs/core/Header/HeaderButton.d.ts +2 -2
  63. package/cjs/core/Header/HeaderDropdownButton.d.ts +1 -1
  64. package/cjs/core/Header/HeaderDropdownButton.js +7 -8
  65. package/cjs/core/Header/HeaderSplitButton.d.ts +1 -1
  66. package/cjs/core/Header/HeaderSplitButton.js +8 -9
  67. package/cjs/core/{utils/components → Icon}/Icon.d.ts +2 -2
  68. package/cjs/core/{utils/components → Icon}/Icon.js +1 -1
  69. package/cjs/core/InformationPanel/InformationPanelHeader.js +7 -7
  70. package/cjs/core/Input/Input.d.ts +0 -1
  71. package/cjs/core/Input/Input.js +0 -1
  72. package/cjs/core/InputGroup/InputGroup.d.ts +1 -1
  73. package/cjs/core/InputGroup/InputGroup.js +6 -6
  74. package/cjs/core/InputWithDecorations/InputWithDecorations.d.ts +1 -1
  75. package/cjs/core/InputWithDecorations/InputWithDecorations.js +2 -2
  76. package/cjs/core/LabeledInput/LabeledInput.d.ts +4 -4
  77. package/cjs/core/LabeledInput/LabeledInput.js +11 -13
  78. package/cjs/core/LabeledSelect/LabeledSelect.d.ts +2 -2
  79. package/cjs/core/LabeledSelect/LabeledSelect.js +10 -9
  80. package/cjs/core/LabeledTextarea/LabeledTextarea.d.ts +1 -1
  81. package/cjs/core/LabeledTextarea/LabeledTextarea.js +2 -2
  82. package/{esm/core/utils/components → cjs/core/LinkAction}/LinkAction.d.ts +2 -2
  83. package/cjs/core/{utils/components → LinkAction}/LinkAction.js +1 -1
  84. package/cjs/core/Menu/Menu.js +1 -1
  85. package/cjs/core/Menu/MenuItem.js +78 -55
  86. package/cjs/core/Menu/MenuItemSkeleton.js +2 -1
  87. package/cjs/core/Modal/Modal.js +5 -5
  88. package/cjs/core/NonIdealState/ErrorPage.js +17 -15
  89. package/cjs/core/Popover/Popover.d.ts +141 -0
  90. package/cjs/core/Popover/Popover.js +188 -0
  91. package/cjs/core/RadioTiles/RadioTileGroup.d.ts +1 -1
  92. package/cjs/core/RadioTiles/RadioTileGroup.js +4 -4
  93. package/cjs/core/SearchBox/SearchBox.d.ts +3 -2
  94. package/cjs/core/SearchBox/SearchBox.js +4 -3
  95. package/cjs/core/Select/Select.d.ts +6 -6
  96. package/cjs/core/Select/Select.js +95 -111
  97. package/cjs/core/Select/SelectTagContainer.js +2 -2
  98. package/cjs/core/SideNavigation/SideNavigation.js +5 -5
  99. package/cjs/core/SideNavigation/SidenavButton.d.ts +1 -1
  100. package/cjs/core/SideNavigation/SidenavButton.js +2 -2
  101. package/cjs/core/Slider/Slider.d.ts +3 -7
  102. package/cjs/core/Slider/Slider.js +8 -22
  103. package/cjs/core/Slider/Thumb.d.ts +2 -3
  104. package/cjs/core/Slider/Thumb.js +5 -9
  105. package/cjs/core/StatusMessage/StatusMessage.d.ts +1 -1
  106. package/cjs/core/StatusMessage/StatusMessage.js +2 -1
  107. package/cjs/core/Stepper/StepperStep.js +7 -7
  108. package/cjs/core/Stepper/WorkflowDiagramStep.js +5 -5
  109. package/cjs/core/Surface/Surface.d.ts +8 -0
  110. package/cjs/core/Surface/Surface.js +19 -1
  111. package/cjs/core/Table/SubRowExpander.d.ts +1 -1
  112. package/cjs/core/Table/SubRowExpander.js +2 -2
  113. package/cjs/core/Table/Table.d.ts +1 -1
  114. package/cjs/core/Table/Table.js +53 -60
  115. package/cjs/core/Table/TableCell.d.ts +1 -1
  116. package/cjs/core/Table/TablePaginator.js +27 -25
  117. package/cjs/core/Table/TableRowMemoized.d.ts +1 -1
  118. package/cjs/core/Table/actionHandlers/expandHandler.d.ts +1 -1
  119. package/cjs/core/Table/actionHandlers/filterHandler.d.ts +1 -1
  120. package/cjs/core/Table/actionHandlers/resizeHandler.d.ts +17 -17
  121. package/cjs/core/Table/actionHandlers/selectHandler.d.ts +8 -8
  122. package/cjs/core/Table/cells/DefaultCell.d.ts +1 -1
  123. package/cjs/core/Table/cells/EditableCell.d.ts +1 -1
  124. package/cjs/core/Table/columns/actionColumn.d.ts +2 -2
  125. package/cjs/core/Table/columns/actionColumn.js +13 -22
  126. package/cjs/core/Table/columns/expanderColumn.d.ts +1 -1
  127. package/cjs/core/Table/columns/expanderColumn.js +5 -4
  128. package/cjs/core/Table/columns/selectionColumn.d.ts +1 -1
  129. package/cjs/core/Table/columns/selectionColumn.js +5 -5
  130. package/cjs/core/Table/filters/DateRangeFilter/DatePickerInput.d.ts +1 -1
  131. package/cjs/core/Table/filters/DateRangeFilter/DatePickerInput.js +41 -40
  132. package/cjs/core/Table/filters/FilterButtonBar.js +3 -3
  133. package/cjs/core/Table/filters/FilterToggle.d.ts +1 -1
  134. package/cjs/core/Table/filters/FilterToggle.js +8 -5
  135. package/cjs/core/Table/filters/NumberRangeFilter/NumberRangeFilter.js +3 -3
  136. package/cjs/core/Table/filters/TextFilter/TextFilter.js +2 -2
  137. package/cjs/core/Table/filters/customFilterFunctions.d.ts +1 -1
  138. package/cjs/core/Table/filters/defaultFilterFunctions.d.ts +1 -1
  139. package/cjs/core/Table/filters/types.d.ts +2 -19
  140. package/cjs/core/Table/hooks/useColumnDragAndDrop.d.ts +1 -1
  141. package/cjs/core/Table/hooks/useExpanderCell.d.ts +1 -1
  142. package/cjs/core/Table/hooks/useResizeColumns.d.ts +1 -1
  143. package/cjs/core/Table/hooks/useScrollToRow.d.ts +1 -1
  144. package/cjs/core/Table/hooks/useScrollToRow.js +1 -1
  145. package/cjs/core/Table/hooks/useSelectionCell.d.ts +1 -1
  146. package/cjs/core/Table/hooks/useStickyColumns.d.ts +1 -1
  147. package/cjs/core/Table/hooks/useSubRowFiltering.d.ts +1 -1
  148. package/cjs/core/Table/hooks/useSubRowSelection.d.ts +1 -1
  149. package/cjs/core/Table/index.d.ts +1 -1
  150. package/cjs/core/Table/utils.d.ts +1 -1
  151. package/cjs/core/Tabs/Tabs.d.ts +222 -52
  152. package/cjs/core/Tabs/Tabs.js +429 -375
  153. package/cjs/core/Tag/Tag.js +2 -2
  154. package/cjs/core/Textarea/Textarea.js +2 -2
  155. package/cjs/core/ThemeProvider/ThemeProvider.d.ts +3 -2
  156. package/cjs/core/ThemeProvider/ThemeProvider.js +17 -8
  157. package/cjs/core/Tile/Tile.d.ts +2 -2
  158. package/cjs/core/Tile/Tile.js +40 -39
  159. package/cjs/core/Toast/Toast.js +2 -2
  160. package/cjs/core/TransferList/TransferList.d.ts +1 -1
  161. package/cjs/core/TransferList/TransferList.js +6 -5
  162. package/cjs/core/Tree/TreeNodeExpander.d.ts +1 -1
  163. package/cjs/core/Tree/TreeNodeExpander.js +2 -2
  164. package/{esm/core/Typography/Anchor → cjs/core/Typography}/Anchor.d.ts +1 -1
  165. package/cjs/core/Typography/{Anchor/Anchor.js → Anchor.js} +1 -1
  166. package/{esm/core/Typography/Blockquote → cjs/core/Typography}/Blockquote.d.ts +1 -1
  167. package/cjs/core/Typography/{Blockquote/Blockquote.js → Blockquote.js} +1 -1
  168. package/cjs/core/Typography/{Code/Code.d.ts → Code.d.ts} +1 -1
  169. package/cjs/core/Typography/{Code/Code.js → Code.js} +1 -1
  170. package/{esm/core/Typography/Kbd → cjs/core/Typography}/Kbd.d.ts +1 -1
  171. package/cjs/core/Typography/{Kbd/Kbd.js → Kbd.js} +1 -1
  172. package/{esm/core/Typography/Text → cjs/core/Typography}/Text.d.ts +1 -1
  173. package/cjs/core/Typography/{Text/Text.js → Text.js} +1 -1
  174. package/{esm/core/utils/components → cjs/core/VisuallyHidden}/VisuallyHidden.d.ts +1 -1
  175. package/cjs/core/{utils/components → VisuallyHidden}/VisuallyHidden.js +1 -1
  176. package/cjs/core/utils/components/AutoclearingHiddenLiveRegion.js +1 -1
  177. package/cjs/core/utils/components/InputContainer.d.ts +4 -4
  178. package/cjs/core/utils/components/InputContainer.js +11 -7
  179. package/cjs/core/utils/components/WithCSSTransition.js +7 -1
  180. package/cjs/core/utils/components/index.d.ts +0 -6
  181. package/cjs/core/utils/components/index.js +0 -6
  182. package/cjs/core/utils/functions/dev.d.ts +11 -0
  183. package/cjs/core/utils/functions/dev.js +34 -0
  184. package/cjs/core/utils/functions/index.d.ts +1 -0
  185. package/cjs/core/utils/functions/index.js +1 -0
  186. package/cjs/core/utils/hooks/useGlobals.d.ts +1 -1
  187. package/cjs/core/utils/hooks/useGlobals.js +3 -7
  188. package/cjs/core/utils/hooks/useOverflow.js +3 -1
  189. package/cjs/index.d.ts +112 -2
  190. package/cjs/index.js +950 -5
  191. package/cjs/react-table/react-table.d.ts +745 -0
  192. package/cjs/{core/Badge/index.js → react-table/react-table.js} +5 -10
  193. package/cjs/styles.js +15 -18
  194. package/esm/core/Alert/Alert.d.ts +1 -1
  195. package/esm/core/Alert/Alert.js +2 -2
  196. package/esm/core/Avatar/Avatar.js +2 -6
  197. package/esm/core/Breadcrumbs/Breadcrumbs.js +24 -6
  198. package/esm/core/ButtonGroup/ButtonGroup.js +6 -8
  199. package/esm/core/Buttons/{Button/Button.d.ts → Button.d.ts} +2 -2
  200. package/esm/core/Buttons/{Button/Button.js → Button.js} +1 -1
  201. package/{cjs/core/Buttons/DropdownButton → esm/core/Buttons}/DropdownButton.d.ts +3 -3
  202. package/esm/core/Buttons/{DropdownButton/DropdownButton.js → DropdownButton.js} +10 -26
  203. package/{cjs/core/Buttons/IconButton → esm/core/Buttons}/IconButton.d.ts +2 -2
  204. package/esm/core/Buttons/{IconButton/IconButton.js → IconButton.js} +3 -2
  205. package/{cjs/core/Buttons/IdeasButton → esm/core/Buttons}/IdeasButton.d.ts +1 -1
  206. package/esm/core/Buttons/{IdeasButton/IdeasButton.js → IdeasButton.js} +2 -2
  207. package/{cjs/core/Buttons/SplitButton → esm/core/Buttons}/SplitButton.d.ts +6 -6
  208. package/esm/core/Buttons/{SplitButton/SplitButton.js → SplitButton.js} +56 -31
  209. package/esm/core/Carousel/Carousel.d.ts +14 -7
  210. package/esm/core/Carousel/Carousel.js +9 -39
  211. package/esm/core/Carousel/CarouselContext.d.ts +0 -4
  212. package/esm/core/Carousel/CarouselDot.js +1 -1
  213. package/esm/core/Carousel/CarouselDotsList.js +26 -2
  214. package/esm/core/Carousel/CarouselNavigation.d.ts +3 -3
  215. package/esm/core/Carousel/CarouselNavigation.js +6 -23
  216. package/esm/core/Carousel/CarouselSlide.d.ts +1 -1
  217. package/esm/core/Carousel/CarouselSlide.js +15 -3
  218. package/esm/core/Carousel/CarouselSlider.d.ts +1 -1
  219. package/esm/core/Carousel/CarouselSlider.js +2 -2
  220. package/esm/core/Checkbox/Checkbox.js +1 -1
  221. package/esm/core/ColorPicker/ColorBuilder.js +3 -1
  222. package/esm/core/ColorPicker/ColorInputPanel.js +27 -7
  223. package/esm/core/ColorPicker/ColorPalette.js +3 -83
  224. package/esm/core/ColorPicker/ColorPicker.d.ts +9 -0
  225. package/esm/core/ColorPicker/ColorPicker.js +6 -1
  226. package/esm/core/ColorPicker/ColorSwatch.d.ts +1 -1
  227. package/esm/core/ColorPicker/ColorSwatch.js +18 -12
  228. package/esm/core/ComboBox/ComboBox.d.ts +8 -3
  229. package/esm/core/ComboBox/ComboBox.js +38 -27
  230. package/esm/core/ComboBox/ComboBoxEndIcon.js +2 -1
  231. package/esm/core/ComboBox/ComboBoxInput.d.ts +1 -1
  232. package/esm/core/ComboBox/ComboBoxInput.js +23 -22
  233. package/esm/core/ComboBox/ComboBoxInputContainer.js +1 -1
  234. package/esm/core/ComboBox/ComboBoxMenu.d.ts +1 -1
  235. package/esm/core/ComboBox/ComboBoxMenu.js +68 -90
  236. package/esm/core/ComboBox/helpers.d.ts +4 -1
  237. package/esm/core/DatePicker/DatePicker.d.ts +9 -0
  238. package/esm/core/DatePicker/DatePicker.js +12 -3
  239. package/esm/core/Dialog/DialogBackdrop.js +1 -1
  240. package/esm/core/Dialog/DialogTitleBar.js +1 -1
  241. package/esm/core/{utils/components → Divider}/Divider.d.ts +1 -1
  242. package/esm/core/{utils/components → Divider}/Divider.js +1 -1
  243. package/esm/core/DropdownMenu/DropdownMenu.d.ts +6 -5
  244. package/esm/core/DropdownMenu/DropdownMenu.js +64 -57
  245. package/esm/core/ExpandableBlock/ExpandableBlock.d.ts +1 -1
  246. package/esm/core/ExpandableBlock/ExpandableBlock.js +1 -1
  247. package/esm/core/FileUpload/FileUploadCard.js +2 -2
  248. package/esm/core/FileUpload/FileUploadTemplate.js +1 -1
  249. package/esm/core/{utils/components → Flex}/Flex.d.ts +2 -2
  250. package/esm/core/{utils/components → Flex}/Flex.js +1 -1
  251. package/esm/core/Header/Header.js +2 -2
  252. package/esm/core/Header/HeaderBasicButton.d.ts +1 -1
  253. package/esm/core/Header/HeaderButton.d.ts +2 -2
  254. package/esm/core/Header/HeaderDropdownButton.d.ts +1 -1
  255. package/esm/core/Header/HeaderDropdownButton.js +2 -3
  256. package/esm/core/Header/HeaderSplitButton.d.ts +1 -1
  257. package/esm/core/Header/HeaderSplitButton.js +2 -3
  258. package/esm/core/{utils/components → Icon}/Icon.d.ts +2 -2
  259. package/esm/core/{utils/components → Icon}/Icon.js +1 -1
  260. package/esm/core/InformationPanel/InformationPanelHeader.js +1 -1
  261. package/esm/core/Input/Input.d.ts +0 -1
  262. package/esm/core/Input/Input.js +0 -1
  263. package/esm/core/InputGroup/InputGroup.d.ts +1 -1
  264. package/esm/core/InputGroup/InputGroup.js +3 -3
  265. package/esm/core/InputWithDecorations/InputWithDecorations.d.ts +1 -1
  266. package/esm/core/InputWithDecorations/InputWithDecorations.js +1 -1
  267. package/esm/core/LabeledInput/LabeledInput.d.ts +4 -4
  268. package/esm/core/LabeledInput/LabeledInput.js +5 -4
  269. package/esm/core/LabeledSelect/LabeledSelect.d.ts +2 -2
  270. package/esm/core/LabeledSelect/LabeledSelect.js +6 -4
  271. package/esm/core/LabeledTextarea/LabeledTextarea.d.ts +1 -1
  272. package/esm/core/LabeledTextarea/LabeledTextarea.js +2 -2
  273. package/{cjs/core/utils/components → esm/core/LinkAction}/LinkAction.d.ts +2 -2
  274. package/esm/core/{utils/components → LinkAction}/LinkAction.js +1 -1
  275. package/esm/core/Menu/Menu.js +7 -2
  276. package/esm/core/Menu/MenuItem.js +84 -52
  277. package/esm/core/Menu/MenuItemSkeleton.js +2 -1
  278. package/esm/core/Modal/Modal.js +1 -1
  279. package/esm/core/NonIdealState/ErrorPage.js +2 -2
  280. package/esm/core/Popover/Popover.d.ts +141 -0
  281. package/esm/core/Popover/Popover.js +205 -0
  282. package/esm/core/RadioTiles/RadioTileGroup.d.ts +1 -1
  283. package/esm/core/RadioTiles/RadioTileGroup.js +1 -1
  284. package/esm/core/SearchBox/SearchBox.d.ts +3 -2
  285. package/esm/core/SearchBox/SearchBox.js +2 -2
  286. package/esm/core/Select/Select.d.ts +6 -6
  287. package/esm/core/Select/Select.js +81 -96
  288. package/esm/core/Select/SelectTagContainer.js +1 -1
  289. package/esm/core/SideNavigation/SideNavigation.js +2 -2
  290. package/esm/core/SideNavigation/SidenavButton.d.ts +1 -1
  291. package/esm/core/SideNavigation/SidenavButton.js +1 -1
  292. package/esm/core/Slider/Slider.d.ts +3 -7
  293. package/esm/core/Slider/Slider.js +8 -19
  294. package/esm/core/Slider/Thumb.d.ts +2 -3
  295. package/esm/core/Slider/Thumb.js +2 -6
  296. package/esm/core/StatusMessage/StatusMessage.d.ts +1 -1
  297. package/esm/core/StatusMessage/StatusMessage.js +2 -1
  298. package/esm/core/Stepper/StepperStep.js +1 -1
  299. package/esm/core/Stepper/WorkflowDiagramStep.js +1 -1
  300. package/esm/core/Surface/Surface.d.ts +8 -0
  301. package/esm/core/Surface/Surface.js +19 -1
  302. package/esm/core/Table/SubRowExpander.d.ts +1 -1
  303. package/esm/core/Table/SubRowExpander.js +1 -1
  304. package/esm/core/Table/Table.d.ts +1 -1
  305. package/esm/core/Table/Table.js +7 -13
  306. package/esm/core/Table/TableCell.d.ts +1 -1
  307. package/esm/core/Table/TablePaginator.js +5 -3
  308. package/esm/core/Table/TableRowMemoized.d.ts +1 -1
  309. package/esm/core/Table/actionHandlers/expandHandler.d.ts +1 -1
  310. package/esm/core/Table/actionHandlers/filterHandler.d.ts +1 -1
  311. package/esm/core/Table/actionHandlers/resizeHandler.d.ts +17 -17
  312. package/esm/core/Table/actionHandlers/selectHandler.d.ts +8 -8
  313. package/esm/core/Table/cells/DefaultCell.d.ts +1 -1
  314. package/esm/core/Table/cells/EditableCell.d.ts +1 -1
  315. package/esm/core/Table/columns/actionColumn.d.ts +2 -2
  316. package/esm/core/Table/columns/actionColumn.js +7 -13
  317. package/esm/core/Table/columns/expanderColumn.d.ts +1 -1
  318. package/esm/core/Table/columns/expanderColumn.js +2 -1
  319. package/esm/core/Table/columns/selectionColumn.d.ts +1 -1
  320. package/esm/core/Table/columns/selectionColumn.js +1 -1
  321. package/esm/core/Table/filters/DateRangeFilter/DatePickerInput.d.ts +1 -1
  322. package/esm/core/Table/filters/DateRangeFilter/DatePickerInput.js +44 -46
  323. package/esm/core/Table/filters/FilterButtonBar.js +1 -1
  324. package/esm/core/Table/filters/FilterToggle.d.ts +1 -1
  325. package/esm/core/Table/filters/FilterToggle.js +7 -9
  326. package/esm/core/Table/filters/NumberRangeFilter/NumberRangeFilter.js +1 -1
  327. package/esm/core/Table/filters/TextFilter/TextFilter.js +1 -1
  328. package/esm/core/Table/filters/customFilterFunctions.d.ts +1 -1
  329. package/esm/core/Table/filters/defaultFilterFunctions.d.ts +1 -1
  330. package/esm/core/Table/filters/types.d.ts +2 -19
  331. package/esm/core/Table/hooks/useColumnDragAndDrop.d.ts +1 -1
  332. package/esm/core/Table/hooks/useExpanderCell.d.ts +1 -1
  333. package/esm/core/Table/hooks/useResizeColumns.d.ts +1 -1
  334. package/esm/core/Table/hooks/useScrollToRow.d.ts +1 -1
  335. package/esm/core/Table/hooks/useScrollToRow.js +1 -1
  336. package/esm/core/Table/hooks/useSelectionCell.d.ts +1 -1
  337. package/esm/core/Table/hooks/useStickyColumns.d.ts +1 -1
  338. package/esm/core/Table/hooks/useSubRowFiltering.d.ts +1 -1
  339. package/esm/core/Table/hooks/useSubRowSelection.d.ts +1 -1
  340. package/esm/core/Table/index.d.ts +1 -1
  341. package/esm/core/Table/utils.d.ts +1 -1
  342. package/esm/core/Tabs/Tabs.d.ts +222 -52
  343. package/esm/core/Tabs/Tabs.js +424 -368
  344. package/esm/core/Tag/Tag.js +1 -1
  345. package/esm/core/Textarea/Textarea.js +1 -1
  346. package/esm/core/ThemeProvider/ThemeProvider.d.ts +3 -2
  347. package/esm/core/ThemeProvider/ThemeProvider.js +17 -8
  348. package/esm/core/Tile/Tile.d.ts +2 -2
  349. package/esm/core/Tile/Tile.js +36 -36
  350. package/esm/core/Toast/Toast.js +1 -1
  351. package/esm/core/TransferList/TransferList.d.ts +1 -1
  352. package/esm/core/TransferList/TransferList.js +3 -2
  353. package/esm/core/Tree/TreeNodeExpander.d.ts +1 -1
  354. package/esm/core/Tree/TreeNodeExpander.js +1 -1
  355. package/{cjs/core/Typography/Anchor → esm/core/Typography}/Anchor.d.ts +1 -1
  356. package/esm/core/Typography/{Anchor/Anchor.js → Anchor.js} +1 -1
  357. package/{cjs/core/Typography/Blockquote → esm/core/Typography}/Blockquote.d.ts +1 -1
  358. package/esm/core/Typography/{Blockquote/Blockquote.js → Blockquote.js} +1 -1
  359. package/esm/core/Typography/{Code/Code.d.ts → Code.d.ts} +1 -1
  360. package/esm/core/Typography/{Code/Code.js → Code.js} +1 -1
  361. package/{cjs/core/Typography/Kbd → esm/core/Typography}/Kbd.d.ts +1 -1
  362. package/esm/core/Typography/{Kbd/Kbd.js → Kbd.js} +1 -1
  363. package/{cjs/core/Typography/Text → esm/core/Typography}/Text.d.ts +1 -1
  364. package/esm/core/Typography/{Text/Text.js → Text.js} +1 -1
  365. package/{cjs/core/utils/components → esm/core/VisuallyHidden}/VisuallyHidden.d.ts +1 -1
  366. package/esm/core/{utils/components → VisuallyHidden}/VisuallyHidden.js +1 -1
  367. package/esm/core/utils/components/AutoclearingHiddenLiveRegion.js +1 -1
  368. package/esm/core/utils/components/InputContainer.d.ts +4 -4
  369. package/esm/core/utils/components/InputContainer.js +9 -4
  370. package/esm/core/utils/components/WithCSSTransition.js +7 -1
  371. package/esm/core/utils/components/index.d.ts +0 -6
  372. package/esm/core/utils/components/index.js +0 -6
  373. package/esm/core/utils/functions/dev.d.ts +11 -0
  374. package/esm/core/utils/functions/dev.js +29 -0
  375. package/esm/core/utils/functions/index.d.ts +1 -0
  376. package/esm/core/utils/functions/index.js +1 -0
  377. package/esm/core/utils/hooks/useGlobals.d.ts +1 -1
  378. package/esm/core/utils/hooks/useGlobals.js +1 -5
  379. package/esm/core/utils/hooks/useOverflow.js +3 -1
  380. package/esm/index.d.ts +112 -2
  381. package/esm/index.js +123 -2
  382. package/esm/react-table/react-table.d.ts +745 -0
  383. package/esm/{core/Backdrop/index.js → react-table/react-table.js} +5 -1
  384. package/esm/styles.js +15 -18
  385. package/package.json +22 -23
  386. package/react-table.d.ts +745 -0
  387. package/styles.css +58 -67
  388. package/cjs/core/Alert/index.d.ts +0 -3
  389. package/cjs/core/Alert/index.js +0 -15
  390. package/cjs/core/Avatar/index.d.ts +0 -3
  391. package/cjs/core/Avatar/index.js +0 -15
  392. package/cjs/core/AvatarGroup/index.d.ts +0 -3
  393. package/cjs/core/AvatarGroup/index.js +0 -15
  394. package/cjs/core/Backdrop/index.d.ts +0 -1
  395. package/cjs/core/Backdrop/index.js +0 -14
  396. package/cjs/core/Badge/index.d.ts +0 -3
  397. package/cjs/core/Breadcrumbs/index.d.ts +0 -3
  398. package/cjs/core/Breadcrumbs/index.js +0 -15
  399. package/cjs/core/ButtonGroup/index.d.ts +0 -3
  400. package/cjs/core/ButtonGroup/index.js +0 -15
  401. package/cjs/core/Buttons/Button/index.d.ts +0 -3
  402. package/cjs/core/Buttons/Button/index.js +0 -15
  403. package/cjs/core/Buttons/DropdownButton/index.d.ts +0 -3
  404. package/cjs/core/Buttons/DropdownButton/index.js +0 -15
  405. package/cjs/core/Buttons/IconButton/index.d.ts +0 -3
  406. package/cjs/core/Buttons/IconButton/index.js +0 -15
  407. package/cjs/core/Buttons/IdeasButton/index.d.ts +0 -3
  408. package/cjs/core/Buttons/IdeasButton/index.js +0 -15
  409. package/cjs/core/Buttons/SplitButton/index.d.ts +0 -3
  410. package/cjs/core/Buttons/SplitButton/index.js +0 -15
  411. package/cjs/core/Buttons/index.d.ts +0 -5
  412. package/cjs/core/Buttons/index.js +0 -47
  413. package/cjs/core/Carousel/index.d.ts +0 -3
  414. package/cjs/core/Carousel/index.js +0 -15
  415. package/cjs/core/Checkbox/index.d.ts +0 -3
  416. package/cjs/core/Checkbox/index.js +0 -15
  417. package/cjs/core/ColorPicker/index.d.ts +0 -7
  418. package/cjs/core/ColorPicker/index.js +0 -48
  419. package/cjs/core/ComboBox/ComboBoxDropdown.d.ts +0 -7
  420. package/cjs/core/ComboBox/ComboBoxDropdown.js +0 -43
  421. package/cjs/core/ComboBox/index.d.ts +0 -3
  422. package/cjs/core/ComboBox/index.js +0 -15
  423. package/cjs/core/DatePicker/index.d.ts +0 -3
  424. package/cjs/core/DatePicker/index.js +0 -21
  425. package/cjs/core/Dialog/index.d.ts +0 -3
  426. package/cjs/core/Dialog/index.js +0 -15
  427. package/cjs/core/DropdownMenu/index.d.ts +0 -4
  428. package/cjs/core/DropdownMenu/index.js +0 -15
  429. package/cjs/core/ExpandableBlock/index.d.ts +0 -3
  430. package/cjs/core/ExpandableBlock/index.js +0 -15
  431. package/cjs/core/Fieldset/index.d.ts +0 -3
  432. package/cjs/core/Fieldset/index.js +0 -15
  433. package/cjs/core/FileUpload/index.d.ts +0 -6
  434. package/cjs/core/FileUpload/index.js +0 -40
  435. package/cjs/core/Footer/index.d.ts +0 -4
  436. package/cjs/core/Footer/index.js +0 -21
  437. package/cjs/core/Header/index.d.ts +0 -6
  438. package/cjs/core/Header/index.js +0 -40
  439. package/cjs/core/InformationPanel/index.d.ts +0 -7
  440. package/cjs/core/InformationPanel/index.js +0 -48
  441. package/cjs/core/Input/index.d.ts +0 -3
  442. package/cjs/core/Input/index.js +0 -15
  443. package/cjs/core/InputGrid/index.d.ts +0 -3
  444. package/cjs/core/InputGrid/index.js +0 -15
  445. package/cjs/core/InputGroup/index.d.ts +0 -3
  446. package/cjs/core/InputGroup/index.js +0 -15
  447. package/cjs/core/InputWithDecorations/index.d.ts +0 -3
  448. package/cjs/core/InputWithDecorations/index.js +0 -15
  449. package/cjs/core/Label/index.d.ts +0 -3
  450. package/cjs/core/Label/index.js +0 -15
  451. package/cjs/core/LabeledInput/index.d.ts +0 -3
  452. package/cjs/core/LabeledInput/index.js +0 -15
  453. package/cjs/core/LabeledSelect/index.d.ts +0 -3
  454. package/cjs/core/LabeledSelect/index.js +0 -15
  455. package/cjs/core/LabeledTextarea/index.d.ts +0 -3
  456. package/cjs/core/LabeledTextarea/index.js +0 -15
  457. package/cjs/core/List/index.d.ts +0 -2
  458. package/cjs/core/List/index.js +0 -21
  459. package/cjs/core/Menu/index.d.ts +0 -5
  460. package/cjs/core/Menu/index.js +0 -47
  461. package/cjs/core/Modal/index.d.ts +0 -5
  462. package/cjs/core/Modal/index.js +0 -29
  463. package/cjs/core/NonIdealState/index.d.ts +0 -5
  464. package/cjs/core/NonIdealState/index.js +0 -22
  465. package/cjs/core/NotificationMarker/index.d.ts +0 -3
  466. package/cjs/core/NotificationMarker/index.js +0 -15
  467. package/cjs/core/Overlay/index.d.ts +0 -1
  468. package/cjs/core/Overlay/index.js +0 -14
  469. package/cjs/core/ProgressIndicators/index.d.ts +0 -2
  470. package/cjs/core/ProgressIndicators/index.js +0 -21
  471. package/cjs/core/Radio/index.d.ts +0 -3
  472. package/cjs/core/Radio/index.js +0 -15
  473. package/cjs/core/RadioTiles/index.d.ts +0 -4
  474. package/cjs/core/RadioTiles/index.js +0 -22
  475. package/cjs/core/SearchBox/index.d.ts +0 -3
  476. package/cjs/core/SearchBox/index.js +0 -15
  477. package/cjs/core/Select/index.d.ts +0 -4
  478. package/cjs/core/Select/index.js +0 -15
  479. package/cjs/core/SideNavigation/index.d.ts +0 -6
  480. package/cjs/core/SideNavigation/index.js +0 -40
  481. package/cjs/core/SkipToContentLink/index.d.ts +0 -3
  482. package/cjs/core/SkipToContentLink/index.js +0 -15
  483. package/cjs/core/Slider/index.d.ts +0 -3
  484. package/cjs/core/Slider/index.js +0 -15
  485. package/cjs/core/StatusMessage/index.d.ts +0 -3
  486. package/cjs/core/StatusMessage/index.js +0 -15
  487. package/cjs/core/Stepper/index.d.ts +0 -3
  488. package/cjs/core/Stepper/index.js +0 -21
  489. package/cjs/core/Surface/index.d.ts +0 -3
  490. package/cjs/core/Surface/index.js +0 -15
  491. package/cjs/core/Tabs/Tab.d.ts +0 -40
  492. package/cjs/core/Tabs/Tab.js +0 -65
  493. package/cjs/core/Tabs/index.d.ts +0 -2
  494. package/cjs/core/Tabs/index.js +0 -21
  495. package/cjs/core/Tag/index.d.ts +0 -4
  496. package/cjs/core/Tag/index.js +0 -22
  497. package/cjs/core/Textarea/index.d.ts +0 -3
  498. package/cjs/core/Textarea/index.js +0 -15
  499. package/cjs/core/ThemeProvider/index.d.ts +0 -4
  500. package/cjs/core/ThemeProvider/index.js +0 -15
  501. package/cjs/core/Tile/index.d.ts +0 -3
  502. package/cjs/core/Tile/index.js +0 -15
  503. package/cjs/core/TimePicker/index.d.ts +0 -4
  504. package/cjs/core/TimePicker/index.js +0 -15
  505. package/cjs/core/Toast/index.d.ts +0 -1
  506. package/cjs/core/Toast/index.js +0 -14
  507. package/cjs/core/ToggleSwitch/index.d.ts +0 -3
  508. package/cjs/core/ToggleSwitch/index.js +0 -15
  509. package/cjs/core/Tooltip/index.d.ts +0 -3
  510. package/cjs/core/Tooltip/index.js +0 -15
  511. package/cjs/core/TransferList/index.d.ts +0 -3
  512. package/cjs/core/TransferList/index.js +0 -15
  513. package/cjs/core/Tree/index.d.ts +0 -4
  514. package/cjs/core/Tree/index.js +0 -28
  515. package/cjs/core/Typography/Anchor/index.d.ts +0 -3
  516. package/cjs/core/Typography/Anchor/index.js +0 -15
  517. package/cjs/core/Typography/Blockquote/index.d.ts +0 -3
  518. package/cjs/core/Typography/Blockquote/index.js +0 -15
  519. package/cjs/core/Typography/Code/index.d.ts +0 -3
  520. package/cjs/core/Typography/Code/index.js +0 -15
  521. package/cjs/core/Typography/Kbd/index.d.ts +0 -3
  522. package/cjs/core/Typography/Kbd/index.js +0 -21
  523. package/cjs/core/Typography/Text/index.d.ts +0 -3
  524. package/cjs/core/Typography/Text/index.js +0 -15
  525. package/cjs/core/Typography/index.d.ts +0 -5
  526. package/cjs/core/Typography/index.js +0 -54
  527. package/cjs/core/index.d.ts +0 -68
  528. package/cjs/core/index.js +0 -909
  529. package/cjs/core/utils/components/Popover.d.ts +0 -39
  530. package/cjs/core/utils/components/Popover.js +0 -132
  531. package/cjs/types/react-table-config.d.ts +0 -135
  532. package/cjs/types/react-table-config.js +0 -2
  533. package/esm/core/Alert/index.d.ts +0 -3
  534. package/esm/core/Alert/index.js +0 -6
  535. package/esm/core/Avatar/index.d.ts +0 -3
  536. package/esm/core/Avatar/index.js +0 -6
  537. package/esm/core/AvatarGroup/index.d.ts +0 -3
  538. package/esm/core/AvatarGroup/index.js +0 -6
  539. package/esm/core/Backdrop/index.d.ts +0 -1
  540. package/esm/core/Badge/index.d.ts +0 -3
  541. package/esm/core/Badge/index.js +0 -6
  542. package/esm/core/Breadcrumbs/index.d.ts +0 -3
  543. package/esm/core/Breadcrumbs/index.js +0 -6
  544. package/esm/core/ButtonGroup/index.d.ts +0 -3
  545. package/esm/core/ButtonGroup/index.js +0 -6
  546. package/esm/core/Buttons/Button/index.d.ts +0 -3
  547. package/esm/core/Buttons/Button/index.js +0 -6
  548. package/esm/core/Buttons/DropdownButton/index.d.ts +0 -3
  549. package/esm/core/Buttons/DropdownButton/index.js +0 -6
  550. package/esm/core/Buttons/IconButton/index.d.ts +0 -3
  551. package/esm/core/Buttons/IconButton/index.js +0 -6
  552. package/esm/core/Buttons/IdeasButton/index.d.ts +0 -3
  553. package/esm/core/Buttons/IdeasButton/index.js +0 -6
  554. package/esm/core/Buttons/SplitButton/index.d.ts +0 -3
  555. package/esm/core/Buttons/SplitButton/index.js +0 -6
  556. package/esm/core/Buttons/index.d.ts +0 -5
  557. package/esm/core/Buttons/index.js +0 -9
  558. package/esm/core/Carousel/index.d.ts +0 -3
  559. package/esm/core/Carousel/index.js +0 -6
  560. package/esm/core/Checkbox/index.d.ts +0 -3
  561. package/esm/core/Checkbox/index.js +0 -6
  562. package/esm/core/ColorPicker/index.d.ts +0 -7
  563. package/esm/core/ColorPicker/index.js +0 -10
  564. package/esm/core/ComboBox/ComboBoxDropdown.d.ts +0 -7
  565. package/esm/core/ComboBox/ComboBoxDropdown.js +0 -37
  566. package/esm/core/ComboBox/index.d.ts +0 -3
  567. package/esm/core/ComboBox/index.js +0 -6
  568. package/esm/core/DatePicker/index.d.ts +0 -3
  569. package/esm/core/DatePicker/index.js +0 -6
  570. package/esm/core/Dialog/index.d.ts +0 -3
  571. package/esm/core/Dialog/index.js +0 -6
  572. package/esm/core/DropdownMenu/index.d.ts +0 -4
  573. package/esm/core/DropdownMenu/index.js +0 -6
  574. package/esm/core/ExpandableBlock/index.d.ts +0 -3
  575. package/esm/core/ExpandableBlock/index.js +0 -6
  576. package/esm/core/Fieldset/index.d.ts +0 -3
  577. package/esm/core/Fieldset/index.js +0 -6
  578. package/esm/core/FileUpload/index.d.ts +0 -6
  579. package/esm/core/FileUpload/index.js +0 -9
  580. package/esm/core/Footer/index.d.ts +0 -4
  581. package/esm/core/Footer/index.js +0 -6
  582. package/esm/core/Header/index.d.ts +0 -6
  583. package/esm/core/Header/index.js +0 -9
  584. package/esm/core/InformationPanel/index.d.ts +0 -7
  585. package/esm/core/InformationPanel/index.js +0 -10
  586. package/esm/core/Input/index.d.ts +0 -3
  587. package/esm/core/Input/index.js +0 -6
  588. package/esm/core/InputGrid/index.d.ts +0 -3
  589. package/esm/core/InputGrid/index.js +0 -6
  590. package/esm/core/InputGroup/index.d.ts +0 -3
  591. package/esm/core/InputGroup/index.js +0 -6
  592. package/esm/core/InputWithDecorations/index.d.ts +0 -3
  593. package/esm/core/InputWithDecorations/index.js +0 -6
  594. package/esm/core/Label/index.d.ts +0 -3
  595. package/esm/core/Label/index.js +0 -6
  596. package/esm/core/LabeledInput/index.d.ts +0 -3
  597. package/esm/core/LabeledInput/index.js +0 -6
  598. package/esm/core/LabeledSelect/index.d.ts +0 -3
  599. package/esm/core/LabeledSelect/index.js +0 -6
  600. package/esm/core/LabeledTextarea/index.d.ts +0 -3
  601. package/esm/core/LabeledTextarea/index.js +0 -6
  602. package/esm/core/List/index.d.ts +0 -2
  603. package/esm/core/List/index.js +0 -6
  604. package/esm/core/Menu/index.d.ts +0 -5
  605. package/esm/core/Menu/index.js +0 -9
  606. package/esm/core/Modal/index.d.ts +0 -5
  607. package/esm/core/Modal/index.js +0 -8
  608. package/esm/core/NonIdealState/index.d.ts +0 -5
  609. package/esm/core/NonIdealState/index.js +0 -7
  610. package/esm/core/NotificationMarker/index.d.ts +0 -3
  611. package/esm/core/NotificationMarker/index.js +0 -6
  612. package/esm/core/Overlay/index.d.ts +0 -1
  613. package/esm/core/Overlay/index.js +0 -5
  614. package/esm/core/ProgressIndicators/index.d.ts +0 -2
  615. package/esm/core/ProgressIndicators/index.js +0 -6
  616. package/esm/core/Radio/index.d.ts +0 -3
  617. package/esm/core/Radio/index.js +0 -6
  618. package/esm/core/RadioTiles/index.d.ts +0 -4
  619. package/esm/core/RadioTiles/index.js +0 -7
  620. package/esm/core/SearchBox/index.d.ts +0 -3
  621. package/esm/core/SearchBox/index.js +0 -6
  622. package/esm/core/Select/index.d.ts +0 -4
  623. package/esm/core/Select/index.js +0 -6
  624. package/esm/core/SideNavigation/index.d.ts +0 -6
  625. package/esm/core/SideNavigation/index.js +0 -9
  626. package/esm/core/SkipToContentLink/index.d.ts +0 -3
  627. package/esm/core/SkipToContentLink/index.js +0 -6
  628. package/esm/core/Slider/index.d.ts +0 -3
  629. package/esm/core/Slider/index.js +0 -6
  630. package/esm/core/StatusMessage/index.d.ts +0 -3
  631. package/esm/core/StatusMessage/index.js +0 -6
  632. package/esm/core/Stepper/index.d.ts +0 -3
  633. package/esm/core/Stepper/index.js +0 -6
  634. package/esm/core/Surface/index.d.ts +0 -3
  635. package/esm/core/Surface/index.js +0 -6
  636. package/esm/core/Tabs/Tab.d.ts +0 -40
  637. package/esm/core/Tabs/Tab.js +0 -57
  638. package/esm/core/Tabs/index.d.ts +0 -2
  639. package/esm/core/Tabs/index.js +0 -6
  640. package/esm/core/Tag/index.d.ts +0 -4
  641. package/esm/core/Tag/index.js +0 -7
  642. package/esm/core/Textarea/index.d.ts +0 -3
  643. package/esm/core/Textarea/index.js +0 -6
  644. package/esm/core/ThemeProvider/index.d.ts +0 -4
  645. package/esm/core/ThemeProvider/index.js +0 -6
  646. package/esm/core/Tile/index.d.ts +0 -3
  647. package/esm/core/Tile/index.js +0 -6
  648. package/esm/core/TimePicker/index.d.ts +0 -4
  649. package/esm/core/TimePicker/index.js +0 -6
  650. package/esm/core/Toast/index.d.ts +0 -1
  651. package/esm/core/Toast/index.js +0 -5
  652. package/esm/core/ToggleSwitch/index.d.ts +0 -3
  653. package/esm/core/ToggleSwitch/index.js +0 -6
  654. package/esm/core/Tooltip/index.d.ts +0 -3
  655. package/esm/core/Tooltip/index.js +0 -6
  656. package/esm/core/TransferList/index.d.ts +0 -3
  657. package/esm/core/TransferList/index.js +0 -6
  658. package/esm/core/Tree/index.d.ts +0 -4
  659. package/esm/core/Tree/index.js +0 -7
  660. package/esm/core/Typography/Anchor/index.d.ts +0 -3
  661. package/esm/core/Typography/Anchor/index.js +0 -6
  662. package/esm/core/Typography/Blockquote/index.d.ts +0 -3
  663. package/esm/core/Typography/Blockquote/index.js +0 -6
  664. package/esm/core/Typography/Code/index.d.ts +0 -3
  665. package/esm/core/Typography/Code/index.js +0 -6
  666. package/esm/core/Typography/Kbd/index.d.ts +0 -3
  667. package/esm/core/Typography/Kbd/index.js +0 -6
  668. package/esm/core/Typography/Text/index.d.ts +0 -3
  669. package/esm/core/Typography/Text/index.js +0 -6
  670. package/esm/core/Typography/index.d.ts +0 -5
  671. package/esm/core/Typography/index.js +0 -9
  672. package/esm/core/index.d.ts +0 -68
  673. package/esm/core/index.js +0 -131
  674. package/esm/core/utils/components/Popover.d.ts +0 -39
  675. package/esm/core/utils/components/Popover.js +0 -128
  676. package/esm/types/react-table-config.d.ts +0 -135
  677. package/esm/types/react-table-config.js +0 -1
@@ -4,7 +4,7 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
6
6
  import cx from 'classnames';
7
- import { Box } from './Box.js';
7
+ import { Box } from '../utils/components/Box.js';
8
8
  const getSizeValue = (size) => {
9
9
  switch (size) {
10
10
  case 'small':
@@ -4,7 +4,7 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
6
6
  import cx from 'classnames';
7
- import { IconButton } from '../Buttons/index.js';
7
+ import { IconButton } from '../Buttons/IconButton.js';
8
8
  import { SvgCloseSmall, Box } from '../utils/index.js';
9
9
  /**
10
10
  * Header of the InformationPanel to be passed in the `header` prop.
@@ -17,7 +17,6 @@ export type InputProps = {
17
17
  /**
18
18
  * Basic input component
19
19
  * @example
20
- * <Input setFocus />
21
20
  * <Input disabled />
22
21
  * <Input size='small' />
23
22
  */
@@ -8,7 +8,6 @@ import { useMergedRefs, Box } from '../utils/index.js';
8
8
  /**
9
9
  * Basic input component
10
10
  * @example
11
- * <Input setFocus />
12
11
  * <Input disabled />
13
12
  * <Input size='small' />
14
13
  */
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import type { PolymorphicForwardRefComponent } from '../utils/index.js';
3
- import { StatusMessage } from '../StatusMessage/index.js';
3
+ import { StatusMessage } from '../StatusMessage/StatusMessage.js';
4
4
  type InputGroupProps = {
5
5
  /**
6
6
  * Label of the group.
@@ -5,9 +5,9 @@
5
5
  import * as React from 'react';
6
6
  import cx from 'classnames';
7
7
  import { StatusIconMap, Box } from '../utils/index.js';
8
- import { InputGrid } from '../InputGrid/index.js';
9
- import { Label } from '../Label/index.js';
10
- import { StatusMessage } from '../StatusMessage/index.js';
8
+ import { InputGrid } from '../InputGrid/InputGrid.js';
9
+ import { Label } from '../Label/Label.js';
10
+ import { StatusMessage } from '../StatusMessage/StatusMessage.js';
11
11
  /**
12
12
  * Group Checkbox/Radio components together
13
13
  * @example
@@ -33,7 +33,7 @@ export declare const InputWithDecorations: PolymorphicForwardRefComponent<"div",
33
33
  isActive?: boolean | undefined;
34
34
  label?: React.ReactNode;
35
35
  iconProps?: React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement> | undefined;
36
- } & Omit<import("../Buttons/Button/Button.js").ButtonProps, "startIcon" | "endIcon" | "labelProps" | "startIconProps" | "endIconProps"> & {
36
+ } & Omit<import("../Buttons/Button.js").ButtonProps, "startIcon" | "endIcon" | "labelProps" | "startIconProps" | "endIconProps"> & {
37
37
  as?: "button" | undefined;
38
38
  }>;
39
39
  };
@@ -4,7 +4,7 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
6
6
  import { Box, InputFlexContainer, useSafeContext } from '../utils/index.js';
7
- import { IconButton } from '../Buttons/index.js';
7
+ import { IconButton } from '../Buttons/IconButton.js';
8
8
  const InputWithDecorationsContext = React.createContext(undefined);
9
9
  const InputWithDecorationsComponent = React.forwardRef((props, ref) => {
10
10
  const { children, size, isDisabled, ...rest } = props;
@@ -1,9 +1,9 @@
1
1
  import * as React from 'react';
2
2
  import { Input } from '../Input/Input.js';
3
- import { Icon } from '../utils/index.js';
4
3
  import type { PolymorphicForwardRefComponent } from '../utils/index.js';
5
- import { InputGrid } from '../InputGrid/index.js';
6
- import { InputWithDecorations } from '../InputWithDecorations/index.js';
4
+ import { InputGrid } from '../InputGrid/InputGrid.js';
5
+ import { InputWithDecorations } from '../InputWithDecorations/InputWithDecorations.js';
6
+ import { Icon } from '../Icon/Icon.js';
7
7
  export type LabeledInputProps = {
8
8
  /**
9
9
  * Label of the input.
@@ -56,7 +56,7 @@ export type LabeledInputProps = {
56
56
  * <LabeledInput label='My label' />
57
57
  * <LabeledInput disabled label='My label' />
58
58
  * <LabeledInput status='positive' label='Positive' />
59
- * <LabeledInput status='negative' label='Negative' setFocus />
59
+ * <LabeledInput status='negative' label='Negative' />
60
60
  */
61
61
  export declare const LabeledInput: PolymorphicForwardRefComponent<"input", LabeledInputProps>;
62
62
  export default LabeledInput;
@@ -4,18 +4,19 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
6
6
  import { Input } from '../Input/Input.js';
7
- import { StatusIconMap, useId, Icon } from '../utils/index.js';
8
- import { InputGrid } from '../InputGrid/index.js';
9
- import { InputWithDecorations } from '../InputWithDecorations/index.js';
7
+ import { StatusIconMap, useId } from '../utils/index.js';
8
+ import { InputGrid } from '../InputGrid/InputGrid.js';
9
+ import { InputWithDecorations } from '../InputWithDecorations/InputWithDecorations.js';
10
10
  import { StatusMessage } from '../StatusMessage/StatusMessage.js';
11
11
  import { Label } from '../Label/Label.js';
12
+ import { Icon } from '../Icon/Icon.js';
12
13
  /**
13
14
  * Basic labeled input component
14
15
  * @example
15
16
  * <LabeledInput label='My label' />
16
17
  * <LabeledInput disabled label='My label' />
17
18
  * <LabeledInput status='positive' label='Positive' />
18
- * <LabeledInput status='negative' label='Negative' setFocus />
19
+ * <LabeledInput status='negative' label='Negative' />
19
20
  */
20
21
  export const LabeledInput = React.forwardRef((props, ref) => {
21
22
  const uid = useId();
@@ -1,8 +1,8 @@
1
1
  import * as React from 'react';
2
2
  import type { SelectProps } from '../Select/Select.js';
3
- import { Icon } from '../utils/index.js';
4
3
  import type { LabeledInputProps } from '../LabeledInput/LabeledInput.js';
5
4
  import { InputGrid } from '../InputGrid/InputGrid.js';
5
+ import { Icon } from '../Icon/Icon.js';
6
6
  export type LabeledSelectProps<T> = {
7
7
  /**
8
8
  * Label of the select.
@@ -76,5 +76,5 @@ export type LabeledSelectProps<T> = {
76
76
  * svgIcon={<SvgCamera />}
77
77
  * />
78
78
  */
79
- export declare const LabeledSelect: <T>(props: LabeledSelectProps<T>) => JSX.Element;
79
+ export declare const LabeledSelect: React.ForwardRefExoticComponent<LabeledSelectProps<unknown> & React.RefAttributes<HTMLElement>>;
80
80
  export default LabeledSelect;
@@ -3,11 +3,12 @@
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
6
- import { Select } from '../Select/index.js';
7
- import { StatusIconMap, useId, Icon } from '../utils/index.js';
6
+ import { Select } from '../Select/Select.js';
7
+ import { StatusIconMap, useId } from '../utils/index.js';
8
8
  import { StatusMessage } from '../StatusMessage/StatusMessage.js';
9
9
  import { InputGrid } from '../InputGrid/InputGrid.js';
10
10
  import { Label } from '../Label/Label.js';
11
+ import { Icon } from '../Icon/Icon.js';
11
12
  /**
12
13
  * Labeled select component to select value from options.
13
14
  * @example
@@ -41,7 +42,7 @@ import { Label } from '../Label/Label.js';
41
42
  * svgIcon={<SvgCamera />}
42
43
  * />
43
44
  */
44
- export const LabeledSelect = (props) => {
45
+ export const LabeledSelect = React.forwardRef((props, forwardedRef) => {
45
46
  const {
46
47
  className,
47
48
  disabled = false,
@@ -90,6 +91,7 @@ export const LabeledSelect = (props) => {
90
91
  style: style,
91
92
  status: status,
92
93
  ...rest,
94
+ ref: forwardedRef,
93
95
  triggerProps: {
94
96
  'aria-labelledby': labelId,
95
97
  ...triggerProps,
@@ -108,5 +110,5 @@ export const LabeledSelect = (props) => {
108
110
  )
109
111
  : message,
110
112
  );
111
- };
113
+ });
112
114
  export default LabeledSelect;
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { Icon } from '../utils/index.js';
2
+ import { Icon } from '../Icon/Icon.js';
3
3
  import type { PolymorphicForwardRefComponent } from '../utils/index.js';
4
4
  import type { LabeledInputProps } from '../LabeledInput/LabeledInput.js';
5
5
  import { InputGrid } from '../InputGrid/InputGrid.js';
@@ -3,9 +3,9 @@
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
6
- import { Icon } from '../utils/index.js';
6
+ import { Icon } from '../Icon/Icon.js';
7
7
  import { InputGrid } from '../InputGrid/InputGrid.js';
8
- import { LabeledInput } from '../LabeledInput/index.js';
8
+ import { LabeledInput } from '../LabeledInput/LabeledInput.js';
9
9
  /**
10
10
  * Textarea wrapper that allows for additional styling and labelling
11
11
  * @example
@@ -8,7 +8,7 @@
8
8
  * </Surface>
9
9
  * </LinkBox>
10
10
  */
11
- export declare const LinkAction: import("../props.js").PolymorphicForwardRefComponent<"a", {}>;
11
+ export declare const LinkAction: import("../utils/props.js").PolymorphicForwardRefComponent<"a", {}>;
12
12
  /**
13
13
  * Polymorphic link box component.
14
14
  * Used to wrap around your component to use LinkAction.
@@ -20,4 +20,4 @@ export declare const LinkAction: import("../props.js").PolymorphicForwardRefComp
20
20
  * </Surface>
21
21
  * </LinkBox>
22
22
  */
23
- export declare const LinkBox: import("../props.js").PolymorphicForwardRefComponent<"div", {}>;
23
+ export declare const LinkBox: import("../utils/props.js").PolymorphicForwardRefComponent<"div", {}>;
@@ -2,7 +2,7 @@
2
2
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
- import { polymorphic } from '../functions/polymorphic.js';
5
+ import { polymorphic } from '../utils/functions/polymorphic.js';
6
6
  /**
7
7
  * Polymorphic link action component.
8
8
  * It is rendered as `a` by default.
@@ -4,7 +4,12 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
6
6
  import cx from 'classnames';
7
- import { useMergedRefs, getFocusableElements, Box } from '../utils/index.js';
7
+ import {
8
+ useMergedRefs,
9
+ getFocusableElements,
10
+ Box,
11
+ mergeEventHandlers,
12
+ } from '../utils/index.js';
8
13
  /**
9
14
  * Basic menu component. Can be used for select or dropdown components.
10
15
  */
@@ -63,9 +68,9 @@ export const Menu = React.forwardRef((props, ref) => {
63
68
  as: 'div',
64
69
  className: cx('iui-menu', className),
65
70
  role: 'menu',
66
- onKeyDown: onKeyDown,
67
71
  ref: refs,
68
72
  ...rest,
73
+ onKeyDown: mergeEventHandlers(props.onKeyDown, onKeyDown),
69
74
  });
70
75
  });
71
76
  export default Menu;
@@ -3,17 +3,27 @@
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
6
- import { Popover, useMergedRefs, SvgCaretRightSmall } from '../utils/index.js';
6
+ import {
7
+ SvgCaretRightSmall,
8
+ Portal,
9
+ useMergedRefs,
10
+ useId,
11
+ } from '../utils/index.js';
7
12
  import { Menu } from './Menu.js';
8
13
  import { ListItem } from '../List/ListItem.js';
14
+ import { flushSync } from 'react-dom';
15
+ import { usePopover } from '../Popover/Popover.js';
9
16
  /**
10
17
  * Context used to provide menu item ref to sub-menu items.
11
18
  */
12
- const MenuItemContext = React.createContext({ ref: undefined });
19
+ const MenuItemContext = React.createContext({
20
+ ref: undefined,
21
+ setIsNestedSubmenuVisible: () => {},
22
+ });
13
23
  /**
14
24
  * Basic menu item component. Should be used inside `Menu` component for each item.
15
25
  */
16
- export const MenuItem = React.forwardRef((props, ref) => {
26
+ export const MenuItem = React.forwardRef((props, forwardedRef) => {
17
27
  const {
18
28
  children,
19
29
  isSelected,
@@ -22,21 +32,33 @@ export const MenuItem = React.forwardRef((props, ref) => {
22
32
  onClick,
23
33
  sublabel,
24
34
  size = !!sublabel ? 'large' : 'default',
25
- startIcon: startIconProp,
26
35
  icon,
27
- endIcon: endIconProp,
36
+ startIcon = icon,
28
37
  badge,
38
+ endIcon = badge,
29
39
  role = 'menuitem',
30
40
  subMenuItems = [],
31
41
  ...rest
32
42
  } = props;
33
43
  const menuItemRef = React.useRef(null);
34
- const refs = useMergedRefs(menuItemRef, ref);
35
- const { ref: parentMenuItemRef } = React.useContext(MenuItemContext);
36
- const subMenuRef = React.useRef(null);
44
+ const [focusOnSubmenu, setFocusOnSubmenu] = React.useState(false);
45
+ const submenuId = useId();
37
46
  const [isSubmenuVisible, setIsSubmenuVisible] = React.useState(false);
38
- const startIcon = startIconProp ?? icon;
39
- const endIcon = endIconProp ?? badge;
47
+ const [isNestedSubmenuVisible, setIsNestedSubmenuVisible] =
48
+ React.useState(false);
49
+ const parent = React.useContext(MenuItemContext);
50
+ const onVisibleChange = (open) => {
51
+ setIsSubmenuVisible(open);
52
+ // we don't want parent to close when mouse goes into a nested submenu,
53
+ // so we need to let the parent know whether the submenu is still open.
54
+ parent.setIsNestedSubmenuVisible(open);
55
+ };
56
+ const popover = usePopover({
57
+ visible: isSubmenuVisible || isNestedSubmenuVisible,
58
+ onVisibleChange,
59
+ placement: 'right-start',
60
+ trigger: { hover: true, focus: true },
61
+ });
40
62
  const onKeyDown = (event) => {
41
63
  if (event.altKey) {
42
64
  return;
@@ -52,22 +74,37 @@ export const MenuItem = React.forwardRef((props, ref) => {
52
74
  case 'ArrowRight': {
53
75
  if (subMenuItems.length > 0) {
54
76
  setIsSubmenuVisible(true);
77
+ // flush and reset state so we are ready to focus again next time
78
+ flushSync(() => setFocusOnSubmenu(true));
79
+ setFocusOnSubmenu(false);
55
80
  event.preventDefault();
56
81
  event.stopPropagation();
57
82
  }
58
83
  break;
59
84
  }
60
85
  case 'ArrowLeft': {
61
- parentMenuItemRef?.current?.focus();
86
+ if (parent.ref) {
87
+ parent.ref.current?.focus();
88
+ parent.setIsNestedSubmenuVisible(false);
89
+ }
62
90
  event.stopPropagation();
63
91
  event.preventDefault();
64
92
  break;
65
93
  }
94
+ case 'Escape': {
95
+ // focus might get lost if submenu closes so move it back to parent
96
+ parent.ref?.current?.focus();
97
+ break;
98
+ }
66
99
  default:
67
100
  break;
68
101
  }
69
102
  };
70
- const listItem = React.createElement(
103
+ const handlers = {
104
+ onClick: () => !disabled && onClick?.(value),
105
+ onKeyDown,
106
+ };
107
+ return React.createElement(
71
108
  ListItem,
72
109
  {
73
110
  as: 'div',
@@ -75,24 +112,21 @@ export const MenuItem = React.forwardRef((props, ref) => {
75
112
  size: size,
76
113
  active: isSelected,
77
114
  disabled: disabled,
78
- onClick: () => !disabled && onClick?.(value),
79
- ref: refs,
115
+ ref: useMergedRefs(
116
+ menuItemRef,
117
+ forwardedRef,
118
+ subMenuItems.length > 0 ? popover.refs.setReference : null,
119
+ ),
80
120
  role: role,
81
121
  tabIndex: disabled || role === 'presentation' ? undefined : -1,
82
122
  'aria-selected': isSelected,
83
- 'aria-haspopup': subMenuItems.length > 0,
123
+ 'aria-haspopup': subMenuItems.length > 0 ? 'true' : undefined,
124
+ 'aria-controls': subMenuItems.length > 0 ? submenuId : undefined,
125
+ 'aria-expanded': subMenuItems.length > 0 ? popover.open : undefined,
84
126
  'aria-disabled': disabled,
85
- onKeyDown: onKeyDown,
86
- onMouseEnter: () => setIsSubmenuVisible(true),
87
- onMouseLeave: (e) => {
88
- if (
89
- !(e.relatedTarget instanceof Node) ||
90
- !subMenuRef.current?.contains(e.relatedTarget)
91
- ) {
92
- setIsSubmenuVisible(false);
93
- }
94
- },
95
- ...rest,
127
+ ...(subMenuItems.length === 0
128
+ ? { ...handlers, ...rest }
129
+ : popover.getReferenceProps({ ...handlers, ...rest })),
96
130
  },
97
131
  startIcon &&
98
132
  React.createElement(
@@ -119,34 +153,32 @@ export const MenuItem = React.forwardRef((props, ref) => {
119
153
  { as: 'span', 'aria-hidden': true },
120
154
  endIcon,
121
155
  ),
122
- );
123
- return subMenuItems.length === 0
124
- ? listItem
125
- : React.createElement(
126
- MenuItemContext.Provider,
127
- { value: { ref: menuItemRef } },
156
+ subMenuItems.length > 0 &&
157
+ popover.open &&
158
+ React.createElement(
159
+ Portal,
160
+ null,
128
161
  React.createElement(
129
- Popover,
130
- {
131
- placement: 'right-start',
132
- visible: isSubmenuVisible,
133
- appendTo: 'parent',
134
- content: React.createElement(
135
- 'div',
136
- {
137
- onMouseLeave: () => setIsSubmenuVisible(false),
138
- onBlur: (e) => {
139
- !!(e.relatedTarget instanceof Node) &&
140
- !subMenuRef.current?.contains(e.relatedTarget) &&
141
- !subMenuRef.current?.isEqualNode(e.relatedTarget) &&
142
- setIsSubmenuVisible(false);
162
+ MenuItemContext.Provider,
163
+ { value: { ref: menuItemRef, setIsNestedSubmenuVisible } },
164
+ React.createElement(
165
+ Menu,
166
+ {
167
+ setFocus: focusOnSubmenu,
168
+ ref: popover.refs.setFloating,
169
+ ...popover.getFloatingProps({
170
+ id: submenuId,
171
+ onPointerMove: () => {
172
+ // pointer might move into a nested submenu and set isSubmenuVisible to false,
173
+ // so we need to flip it back to true when pointer re-enters this submenu.
174
+ setIsSubmenuVisible(true);
143
175
  },
144
- },
145
- React.createElement(Menu, { ref: subMenuRef }, subMenuItems),
146
- ),
147
- },
148
- listItem,
176
+ }),
177
+ },
178
+ subMenuItems,
179
+ ),
149
180
  ),
150
- );
181
+ ),
182
+ );
151
183
  });
152
184
  export default MenuItem;
@@ -4,7 +4,8 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
6
6
  import cx from 'classnames';
7
- import { Box, VisuallyHidden } from '../utils/index.js';
7
+ import { Box } from '../utils/index.js';
8
+ import { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden.js';
8
9
  /**
9
10
  * Menu item that uses skeletons to indicate loading state.
10
11
  */
@@ -3,7 +3,7 @@
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
6
- import { Dialog } from '../Dialog/index.js';
6
+ import { Dialog } from '../Dialog/Dialog.js';
7
7
  /**
8
8
  * Modal component which can wrap any content.
9
9
  * @example
@@ -3,9 +3,9 @@
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
6
- import { Button } from '../Buttons/Button/index.js';
6
+ import { Button } from '../Buttons/Button.js';
7
7
  import { NonIdealState } from './NonIdealState.js';
8
- import { ProgressRadial } from '../ProgressIndicators/index.js';
8
+ import { ProgressRadial } from '../ProgressIndicators/ProgressRadial.js';
9
9
  import { dynamicImport } from '../utils/index.js';
10
10
  const Svg401 = React.lazy(() =>
11
11
  dynamicImport('@itwin/itwinui-illustrations-react/Svg401'),
@@ -0,0 +1,141 @@
1
+ import * as React from 'react';
2
+ import type { Placement } from '@floating-ui/react';
3
+ import type { PolymorphicForwardRefComponent } from '../utils/index.js';
4
+ import type { PortalProps } from '../utils/components/Portal.js';
5
+ type PopoverOptions = {
6
+ /**
7
+ * Placement of the popover content.
8
+ * @default 'bottom-start'
9
+ */
10
+ placement?: Placement;
11
+ /**
12
+ * Controlled flag for whether the popover is visible.
13
+ */
14
+ visible?: boolean;
15
+ /**
16
+ * Callback invoked every time the popover visibility changes as a result
17
+ * of internal logic. Should be used alongside `visible` prop.
18
+ */
19
+ onVisibleChange?: (visible: boolean) => void;
20
+ /**
21
+ * If true, the popover will close when clicking outside it.
22
+ *
23
+ * @default true
24
+ */
25
+ closeOnOutsideClick?: boolean;
26
+ };
27
+ type PopoverInternalProps = {
28
+ /**
29
+ * autoUpdate options that recalculates position
30
+ * to ensure the floating element remains anchored
31
+ * to its reference element, such as when scrolling
32
+ * and resizing the screen
33
+ *
34
+ * https://floating-ui.com/docs/autoUpdate#options
35
+ */
36
+ autoUpdateOptions?: {
37
+ ancestorScroll?: boolean;
38
+ ancestorResize?: boolean;
39
+ elementResize?: boolean;
40
+ /**
41
+ * Use this if you want popover to follow moving trigger element
42
+ */
43
+ animationFrame?: boolean;
44
+ layoutShift?: boolean;
45
+ };
46
+ /**
47
+ * Middleware options.
48
+ *
49
+ * @see https://floating-ui.com/docs/offset
50
+ */
51
+ middleware?: {
52
+ offset?: number;
53
+ flip?: boolean;
54
+ shift?: boolean;
55
+ autoPlacement?: boolean;
56
+ hide?: boolean;
57
+ inline?: boolean;
58
+ };
59
+ /**
60
+ * By default, the popover will only open on click.
61
+ * `hover` and `focus` can be manually specified as triggers.
62
+ */
63
+ trigger?: Partial<Record<'hover' | 'click' | 'focus', boolean>>;
64
+ role?: 'dialog' | 'menu' | 'listbox';
65
+ /**
66
+ * Whether the popover should match the width of the trigger.
67
+ */
68
+ matchWidth?: boolean;
69
+ };
70
+ export declare const usePopover: (options: PopoverOptions & PopoverInternalProps) => {
71
+ placement: Placement;
72
+ strategy: import("@floating-ui/utils").Strategy;
73
+ middlewareData: import("@floating-ui/core").MiddlewareData;
74
+ x: number;
75
+ y: number;
76
+ isPositioned: boolean;
77
+ update: () => void;
78
+ floatingStyles: React.CSSProperties;
79
+ refs: {
80
+ reference: React.MutableRefObject<import("@floating-ui/react-dom").ReferenceType | null>;
81
+ floating: React.MutableRefObject<HTMLElement | null>;
82
+ setReference: (node: import("@floating-ui/react-dom").ReferenceType | null) => void;
83
+ setFloating: (node: HTMLElement | null) => void;
84
+ } & import("@floating-ui/react").ExtendedRefs<import("@floating-ui/react").ReferenceType>;
85
+ elements: {
86
+ reference: import("@floating-ui/react-dom").ReferenceType | null;
87
+ floating: HTMLElement | null;
88
+ } & import("@floating-ui/react").ExtendedElements<import("@floating-ui/react").ReferenceType>;
89
+ context: {
90
+ x: number;
91
+ y: number;
92
+ placement: Placement;
93
+ strategy: import("@floating-ui/utils").Strategy;
94
+ middlewareData: import("@floating-ui/core").MiddlewareData;
95
+ isPositioned: boolean;
96
+ update: () => void;
97
+ floatingStyles: React.CSSProperties;
98
+ open: boolean;
99
+ onOpenChange: (open: boolean, event?: Event | undefined) => void;
100
+ events: import("@floating-ui/react").FloatingEvents;
101
+ dataRef: React.MutableRefObject<import("@floating-ui/react").ContextData>;
102
+ nodeId: string | undefined;
103
+ floatingId: string;
104
+ refs: import("@floating-ui/react").ExtendedRefs<import("@floating-ui/react").ReferenceType>;
105
+ elements: import("@floating-ui/react").ExtendedElements<import("@floating-ui/react").ReferenceType>;
106
+ };
107
+ getFloatingProps: (userProps?: React.HTMLProps<HTMLElement>) => Record<string, unknown>;
108
+ getReferenceProps: (userProps?: React.HTMLProps<Element> | undefined) => Record<string, unknown>;
109
+ getItemProps: (userProps?: React.HTMLProps<HTMLElement> | undefined) => Record<string, unknown>;
110
+ open: boolean | undefined;
111
+ onOpenChange: React.Dispatch<React.SetStateAction<boolean | undefined>>;
112
+ };
113
+ type PopoverPublicProps = {
114
+ /**
115
+ * Content displayed inside the popover.
116
+ */
117
+ content?: React.ReactNode;
118
+ /**
119
+ * Element that triggers the popover. Should usually be a button.
120
+ */
121
+ children?: React.ReactNode;
122
+ /**
123
+ * Whether the popover adds recommended CSS (background-color, box-shadow, etc.) to itself.
124
+ *
125
+ * @default false
126
+ */
127
+ applyBackground?: boolean;
128
+ } & PortalProps & PopoverOptions;
129
+ /**
130
+ * A utility component to help with positioning of floating content relative to a trigger.
131
+ * Built on top of [`floating-ui`](https://floating-ui.com/).
132
+ *
133
+ * @see https://itwinui.bentley.com/docs/popover
134
+ *
135
+ * @example
136
+ * <Popover content='This is a popover'>
137
+ * <Button>Show popover</Button>
138
+ * </Popover>
139
+ */
140
+ export declare const Popover: PolymorphicForwardRefComponent<"div", PopoverPublicProps>;
141
+ export default Popover;