@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
@@ -8,8 +8,8 @@ const tslib_1 = require('tslib');
8
8
  *--------------------------------------------------------------------------------------------*/
9
9
  const React = tslib_1.__importStar(require('react'));
10
10
  const classnames_1 = tslib_1.__importDefault(require('classnames'));
11
- const index_js_1 = require('../Buttons/index.js');
12
- const index_js_2 = require('../utils/index.js');
11
+ const IconButton_js_1 = require('../Buttons/IconButton.js');
12
+ const index_js_1 = require('../utils/index.js');
13
13
  /**
14
14
  * Header of the InformationPanel to be passed in the `header` prop.
15
15
  *
@@ -29,26 +29,26 @@ const index_js_2 = require('../utils/index.js');
29
29
  exports.InformationPanelHeader = React.forwardRef((props, forwardedRef) => {
30
30
  const { children, onClose, actions, className, ...rest } = props;
31
31
  return React.createElement(
32
- index_js_2.Box,
32
+ index_js_1.Box,
33
33
  {
34
34
  className: (0, classnames_1.default)('iui-information-header', className),
35
35
  ref: forwardedRef,
36
36
  ...rest,
37
37
  },
38
38
  React.createElement(
39
- index_js_2.Box,
39
+ index_js_1.Box,
40
40
  { as: 'span', className: 'iui-information-header-label' },
41
41
  children,
42
42
  ),
43
43
  React.createElement(
44
- index_js_2.Box,
44
+ index_js_1.Box,
45
45
  { className: 'iui-information-header-actions' },
46
46
  actions,
47
47
  onClose &&
48
48
  React.createElement(
49
- index_js_1.IconButton,
49
+ IconButton_js_1.IconButton,
50
50
  { styleType: 'borderless', onClick: onClose, 'aria-label': 'Close' },
51
- React.createElement(index_js_2.SvgCloseSmall, {
51
+ React.createElement(index_js_1.SvgCloseSmall, {
52
52
  'aria-hidden': true,
53
53
  }),
54
54
  ),
@@ -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
  */
@@ -12,7 +12,6 @@ const index_js_1 = require('../utils/index.js');
12
12
  /**
13
13
  * Basic input component
14
14
  * @example
15
- * <Input setFocus />
16
15
  * <Input disabled />
17
16
  * <Input size='small' />
18
17
  */
@@ -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.
@@ -9,9 +9,9 @@ const tslib_1 = require('tslib');
9
9
  const React = tslib_1.__importStar(require('react'));
10
10
  const classnames_1 = tslib_1.__importDefault(require('classnames'));
11
11
  const index_js_1 = require('../utils/index.js');
12
- const index_js_2 = require('../InputGrid/index.js');
13
- const index_js_3 = require('../Label/index.js');
14
- const index_js_4 = require('../StatusMessage/index.js');
12
+ const InputGrid_js_1 = require('../InputGrid/InputGrid.js');
13
+ const Label_js_1 = require('../Label/Label.js');
14
+ const StatusMessage_js_1 = require('../StatusMessage/StatusMessage.js');
15
15
  /**
16
16
  * Group Checkbox/Radio components together
17
17
  * @example
@@ -55,7 +55,7 @@ exports.InputGroup = React.forwardRef((props, forwardedRef) => {
55
55
  return undefined;
56
56
  };
57
57
  return React.createElement(
58
- index_js_2.InputGrid,
58
+ InputGrid_js_1.InputGrid,
59
59
  {
60
60
  ref: forwardedRef,
61
61
  as: 'div',
@@ -68,7 +68,7 @@ exports.InputGroup = React.forwardRef((props, forwardedRef) => {
68
68
  },
69
69
  label &&
70
70
  React.createElement(
71
- index_js_3.Label,
71
+ Label_js_1.Label,
72
72
  { as: 'label', required: required, disabled: disabled, ...labelProps },
73
73
  label,
74
74
  ),
@@ -86,7 +86,7 @@ exports.InputGroup = React.forwardRef((props, forwardedRef) => {
86
86
  ),
87
87
  (message || status || svgIcon) &&
88
88
  React.createElement(
89
- index_js_4.StatusMessage,
89
+ StatusMessage_js_1.StatusMessage,
90
90
  { startIcon: icon(), status: status, ...messageProps },
91
91
  displayStyle !== 'inline' && message,
92
92
  ),
@@ -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
  };
@@ -8,7 +8,7 @@ const tslib_1 = require('tslib');
8
8
  *--------------------------------------------------------------------------------------------*/
9
9
  const React = tslib_1.__importStar(require('react'));
10
10
  const index_js_1 = require('../utils/index.js');
11
- const index_js_2 = require('../Buttons/index.js');
11
+ const IconButton_js_1 = require('../Buttons/IconButton.js');
12
12
  const InputWithDecorationsContext = React.createContext(undefined);
13
13
  const InputWithDecorationsComponent = React.forwardRef((props, ref) => {
14
14
  const { children, size, isDisabled, ...rest } = props;
@@ -44,7 +44,7 @@ const InputWithDecorationsButton = React.forwardRef((props, ref) => {
44
44
  InputWithDecorationsContext,
45
45
  );
46
46
  return React.createElement(
47
- index_js_2.IconButton,
47
+ IconButton_js_1.IconButton,
48
48
  {
49
49
  ref: ref,
50
50
  size: size ?? contextSize,
@@ -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;
@@ -8,17 +8,18 @@ const tslib_1 = require('tslib');
8
8
  *--------------------------------------------------------------------------------------------*/
9
9
  const React = tslib_1.__importStar(require('react'));
10
10
  const index_js_1 = require('../utils/index.js');
11
- const index_js_2 = require('../InputGrid/index.js');
12
- const index_js_3 = require('../InputWithDecorations/index.js');
11
+ const InputGrid_js_1 = require('../InputGrid/InputGrid.js');
12
+ const InputWithDecorations_js_1 = require('../InputWithDecorations/InputWithDecorations.js');
13
13
  const StatusMessage_js_1 = require('../StatusMessage/StatusMessage.js');
14
14
  const Label_js_1 = require('../Label/Label.js');
15
+ const Icon_js_1 = require('../Icon/Icon.js');
15
16
  /**
16
17
  * Basic labeled input component
17
18
  * @example
18
19
  * <LabeledInput label='My label' />
19
20
  * <LabeledInput disabled label='My label' />
20
21
  * <LabeledInput status='positive' label='Positive' />
21
- * <LabeledInput status='negative' label='Negative' setFocus />
22
+ * <LabeledInput status='negative' label='Negative' />
22
23
  */
23
24
  exports.LabeledInput = React.forwardRef((props, ref) => {
24
25
  const uid = (0, index_js_1.useId)();
@@ -41,7 +42,7 @@ exports.LabeledInput = React.forwardRef((props, ref) => {
41
42
  const icon = svgIcon ?? (status && index_js_1.StatusIconMap[status]());
42
43
  const shouldShowIcon = svgIcon !== null && (svgIcon || (status && !message));
43
44
  return React.createElement(
44
- index_js_2.InputGrid,
45
+ InputGrid_js_1.InputGrid,
45
46
  { labelPlacement: displayStyle, ...wrapperProps },
46
47
  label &&
47
48
  React.createElement(
@@ -56,18 +57,15 @@ exports.LabeledInput = React.forwardRef((props, ref) => {
56
57
  label,
57
58
  ),
58
59
  React.createElement(
59
- index_js_3.InputWithDecorations,
60
+ InputWithDecorations_js_1.InputWithDecorations,
60
61
  { status: status, isDisabled: disabled, ...inputWrapperProps },
61
- React.createElement(index_js_3.InputWithDecorations.Input, {
62
- disabled: disabled,
63
- required: required,
64
- id: id,
65
- ref: ref,
66
- ...rest,
67
- }),
62
+ React.createElement(
63
+ InputWithDecorations_js_1.InputWithDecorations.Input,
64
+ { disabled: disabled, required: required, id: id, ref: ref, ...rest },
65
+ ),
68
66
  shouldShowIcon &&
69
67
  React.createElement(
70
- index_js_1.Icon,
68
+ Icon_js_1.Icon,
71
69
  { fill: !svgIcon ? status : undefined, padded: true, ...iconProps },
72
70
  icon,
73
71
  ),
@@ -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;
@@ -7,11 +7,12 @@ const tslib_1 = require('tslib');
7
7
  * See LICENSE.md in the project root for license terms and full copyright notice.
8
8
  *--------------------------------------------------------------------------------------------*/
9
9
  const React = tslib_1.__importStar(require('react'));
10
- const index_js_1 = require('../Select/index.js');
11
- const index_js_2 = require('../utils/index.js');
10
+ const Select_js_1 = require('../Select/Select.js');
11
+ const index_js_1 = require('../utils/index.js');
12
12
  const StatusMessage_js_1 = require('../StatusMessage/StatusMessage.js');
13
13
  const InputGrid_js_1 = require('../InputGrid/InputGrid.js');
14
14
  const Label_js_1 = require('../Label/Label.js');
15
+ const Icon_js_1 = require('../Icon/Icon.js');
15
16
  /**
16
17
  * Labeled select component to select value from options.
17
18
  * @example
@@ -45,7 +46,7 @@ const Label_js_1 = require('../Label/Label.js');
45
46
  * svgIcon={<SvgCamera />}
46
47
  * />
47
48
  */
48
- const LabeledSelect = (props) => {
49
+ exports.LabeledSelect = React.forwardRef((props, forwardedRef) => {
49
50
  const {
50
51
  className,
51
52
  disabled = false,
@@ -63,13 +64,13 @@ const LabeledSelect = (props) => {
63
64
  messageIconProps,
64
65
  ...rest
65
66
  } = props;
66
- const labelId = `${(0, index_js_2.useId)()}-label`;
67
+ const labelId = `${(0, index_js_1.useId)()}-label`;
67
68
  const icon = () => {
68
69
  if (svgIcon) {
69
- return React.createElement(index_js_2.Icon, null, svgIcon);
70
+ return React.createElement(Icon_js_1.Icon, null, svgIcon);
70
71
  }
71
72
  if (status && message) {
72
- return index_js_2.StatusIconMap[status]();
73
+ return index_js_1.StatusIconMap[status]();
73
74
  }
74
75
  return undefined;
75
76
  };
@@ -88,12 +89,13 @@ const LabeledSelect = (props) => {
88
89
  },
89
90
  label,
90
91
  ),
91
- React.createElement(index_js_1.Select, {
92
+ React.createElement(Select_js_1.Select, {
92
93
  disabled: disabled,
93
94
  className: className,
94
95
  style: style,
95
96
  status: status,
96
97
  ...rest,
98
+ ref: forwardedRef,
97
99
  triggerProps: {
98
100
  'aria-labelledby': labelId,
99
101
  ...triggerProps,
@@ -112,6 +114,5 @@ const LabeledSelect = (props) => {
112
114
  )
113
115
  : message,
114
116
  );
115
- };
116
- exports.LabeledSelect = LabeledSelect;
117
+ });
117
118
  exports.default = exports.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';
@@ -7,7 +7,7 @@ const tslib_1 = require('tslib');
7
7
  * See LICENSE.md in the project root for license terms and full copyright notice.
8
8
  *--------------------------------------------------------------------------------------------*/
9
9
  const React = tslib_1.__importStar(require('react'));
10
- const index_js_1 = require('../LabeledInput/index.js');
10
+ const LabeledInput_js_1 = require('../LabeledInput/LabeledInput.js');
11
11
  /**
12
12
  * Textarea wrapper that allows for additional styling and labelling
13
13
  * @example
@@ -34,7 +34,7 @@ exports.LabeledTextarea = React.forwardRef((props, forwardedRef) => {
34
34
  // ref types don't match but it's internal, so ts-ignore is ok here
35
35
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
36
36
  // @ts-ignore
37
- React.createElement(index_js_1.LabeledInput, {
37
+ React.createElement(LabeledInput_js_1.LabeledInput, {
38
38
  as: 'textarea',
39
39
  rows: 3,
40
40
  ref: forwardedRef,
@@ -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", {}>;
@@ -5,7 +5,7 @@ exports.LinkBox = exports.LinkAction = void 0;
5
5
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
6
6
  * See LICENSE.md in the project root for license terms and full copyright notice.
7
7
  *--------------------------------------------------------------------------------------------*/
8
- const polymorphic_js_1 = require('../functions/polymorphic.js');
8
+ const polymorphic_js_1 = require('../utils/functions/polymorphic.js');
9
9
  /**
10
10
  * Polymorphic link action component.
11
11
  * It is rendered as `a` by default.
@@ -69,9 +69,9 @@ exports.Menu = React.forwardRef((props, ref) => {
69
69
  as: 'div',
70
70
  className: (0, classnames_1.default)('iui-menu', className),
71
71
  role: 'menu',
72
- onKeyDown: onKeyDown,
73
72
  ref: refs,
74
73
  ...rest,
74
+ onKeyDown: (0, index_js_1.mergeEventHandlers)(props.onKeyDown, onKeyDown),
75
75
  });
76
76
  });
77
77
  exports.default = exports.Menu;
@@ -10,14 +10,19 @@ const React = tslib_1.__importStar(require('react'));
10
10
  const index_js_1 = require('../utils/index.js');
11
11
  const Menu_js_1 = require('./Menu.js');
12
12
  const ListItem_js_1 = require('../List/ListItem.js');
13
+ const react_dom_1 = require('react-dom');
14
+ const Popover_js_1 = require('../Popover/Popover.js');
13
15
  /**
14
16
  * Context used to provide menu item ref to sub-menu items.
15
17
  */
16
- const MenuItemContext = React.createContext({ ref: undefined });
18
+ const MenuItemContext = React.createContext({
19
+ ref: undefined,
20
+ setIsNestedSubmenuVisible: () => {},
21
+ });
17
22
  /**
18
23
  * Basic menu item component. Should be used inside `Menu` component for each item.
19
24
  */
20
- exports.MenuItem = React.forwardRef((props, ref) => {
25
+ exports.MenuItem = React.forwardRef((props, forwardedRef) => {
21
26
  const {
22
27
  children,
23
28
  isSelected,
@@ -26,21 +31,33 @@ exports.MenuItem = React.forwardRef((props, ref) => {
26
31
  onClick,
27
32
  sublabel,
28
33
  size = !!sublabel ? 'large' : 'default',
29
- startIcon: startIconProp,
30
34
  icon,
31
- endIcon: endIconProp,
35
+ startIcon = icon,
32
36
  badge,
37
+ endIcon = badge,
33
38
  role = 'menuitem',
34
39
  subMenuItems = [],
35
40
  ...rest
36
41
  } = props;
37
42
  const menuItemRef = React.useRef(null);
38
- const refs = (0, index_js_1.useMergedRefs)(menuItemRef, ref);
39
- const { ref: parentMenuItemRef } = React.useContext(MenuItemContext);
40
- const subMenuRef = React.useRef(null);
43
+ const [focusOnSubmenu, setFocusOnSubmenu] = React.useState(false);
44
+ const submenuId = (0, index_js_1.useId)();
41
45
  const [isSubmenuVisible, setIsSubmenuVisible] = React.useState(false);
42
- const startIcon = startIconProp ?? icon;
43
- const endIcon = endIconProp ?? badge;
46
+ const [isNestedSubmenuVisible, setIsNestedSubmenuVisible] =
47
+ React.useState(false);
48
+ const parent = React.useContext(MenuItemContext);
49
+ const onVisibleChange = (open) => {
50
+ setIsSubmenuVisible(open);
51
+ // we don't want parent to close when mouse goes into a nested submenu,
52
+ // so we need to let the parent know whether the submenu is still open.
53
+ parent.setIsNestedSubmenuVisible(open);
54
+ };
55
+ const popover = (0, Popover_js_1.usePopover)({
56
+ visible: isSubmenuVisible || isNestedSubmenuVisible,
57
+ onVisibleChange,
58
+ placement: 'right-start',
59
+ trigger: { hover: true, focus: true },
60
+ });
44
61
  const onKeyDown = (event) => {
45
62
  if (event.altKey) {
46
63
  return;
@@ -56,22 +73,37 @@ exports.MenuItem = React.forwardRef((props, ref) => {
56
73
  case 'ArrowRight': {
57
74
  if (subMenuItems.length > 0) {
58
75
  setIsSubmenuVisible(true);
76
+ // flush and reset state so we are ready to focus again next time
77
+ (0, react_dom_1.flushSync)(() => setFocusOnSubmenu(true));
78
+ setFocusOnSubmenu(false);
59
79
  event.preventDefault();
60
80
  event.stopPropagation();
61
81
  }
62
82
  break;
63
83
  }
64
84
  case 'ArrowLeft': {
65
- parentMenuItemRef?.current?.focus();
85
+ if (parent.ref) {
86
+ parent.ref.current?.focus();
87
+ parent.setIsNestedSubmenuVisible(false);
88
+ }
66
89
  event.stopPropagation();
67
90
  event.preventDefault();
68
91
  break;
69
92
  }
93
+ case 'Escape': {
94
+ // focus might get lost if submenu closes so move it back to parent
95
+ parent.ref?.current?.focus();
96
+ break;
97
+ }
70
98
  default:
71
99
  break;
72
100
  }
73
101
  };
74
- const listItem = React.createElement(
102
+ const handlers = {
103
+ onClick: () => !disabled && onClick?.(value),
104
+ onKeyDown,
105
+ };
106
+ return React.createElement(
75
107
  ListItem_js_1.ListItem,
76
108
  {
77
109
  as: 'div',
@@ -79,24 +111,21 @@ exports.MenuItem = React.forwardRef((props, ref) => {
79
111
  size: size,
80
112
  active: isSelected,
81
113
  disabled: disabled,
82
- onClick: () => !disabled && onClick?.(value),
83
- ref: refs,
114
+ ref: (0, index_js_1.useMergedRefs)(
115
+ menuItemRef,
116
+ forwardedRef,
117
+ subMenuItems.length > 0 ? popover.refs.setReference : null,
118
+ ),
84
119
  role: role,
85
120
  tabIndex: disabled || role === 'presentation' ? undefined : -1,
86
121
  'aria-selected': isSelected,
87
- 'aria-haspopup': subMenuItems.length > 0,
122
+ 'aria-haspopup': subMenuItems.length > 0 ? 'true' : undefined,
123
+ 'aria-controls': subMenuItems.length > 0 ? submenuId : undefined,
124
+ 'aria-expanded': subMenuItems.length > 0 ? popover.open : undefined,
88
125
  'aria-disabled': disabled,
89
- onKeyDown: onKeyDown,
90
- onMouseEnter: () => setIsSubmenuVisible(true),
91
- onMouseLeave: (e) => {
92
- if (
93
- !(e.relatedTarget instanceof Node) ||
94
- !subMenuRef.current?.contains(e.relatedTarget)
95
- ) {
96
- setIsSubmenuVisible(false);
97
- }
98
- },
99
- ...rest,
126
+ ...(subMenuItems.length === 0
127
+ ? { ...handlers, ...rest }
128
+ : popover.getReferenceProps({ ...handlers, ...rest })),
100
129
  },
101
130
  startIcon &&
102
131
  React.createElement(
@@ -124,38 +153,32 @@ exports.MenuItem = React.forwardRef((props, ref) => {
124
153
  { as: 'span', 'aria-hidden': true },
125
154
  endIcon,
126
155
  ),
127
- );
128
- return subMenuItems.length === 0
129
- ? listItem
130
- : React.createElement(
131
- MenuItemContext.Provider,
132
- { value: { ref: menuItemRef } },
156
+ subMenuItems.length > 0 &&
157
+ popover.open &&
158
+ React.createElement(
159
+ index_js_1.Portal,
160
+ null,
133
161
  React.createElement(
134
- index_js_1.Popover,
135
- {
136
- placement: 'right-start',
137
- visible: isSubmenuVisible,
138
- appendTo: 'parent',
139
- content: React.createElement(
140
- 'div',
141
- {
142
- onMouseLeave: () => setIsSubmenuVisible(false),
143
- onBlur: (e) => {
144
- !!(e.relatedTarget instanceof Node) &&
145
- !subMenuRef.current?.contains(e.relatedTarget) &&
146
- !subMenuRef.current?.isEqualNode(e.relatedTarget) &&
147
- setIsSubmenuVisible(false);
162
+ MenuItemContext.Provider,
163
+ { value: { ref: menuItemRef, setIsNestedSubmenuVisible } },
164
+ React.createElement(
165
+ Menu_js_1.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);
148
175
  },
149
- },
150
- React.createElement(
151
- Menu_js_1.Menu,
152
- { ref: subMenuRef },
153
- subMenuItems,
154
- ),
155
- ),
156
- },
157
- listItem,
176
+ }),
177
+ },
178
+ subMenuItems,
179
+ ),
158
180
  ),
159
- );
181
+ ),
182
+ );
160
183
  });
161
184
  exports.default = exports.MenuItem;
@@ -9,6 +9,7 @@ const tslib_1 = require('tslib');
9
9
  const React = tslib_1.__importStar(require('react'));
10
10
  const classnames_1 = tslib_1.__importDefault(require('classnames'));
11
11
  const index_js_1 = require('../utils/index.js');
12
+ const VisuallyHidden_js_1 = require('../VisuallyHidden/VisuallyHidden.js');
12
13
  /**
13
14
  * Menu item that uses skeletons to indicate loading state.
14
15
  */
@@ -54,7 +55,7 @@ exports.MenuItemSkeleton = React.forwardRef((props, forwardedRef) => {
54
55
  'aria-hidden': true,
55
56
  }),
56
57
  React.createElement(
57
- index_js_1.VisuallyHidden,
58
+ VisuallyHidden_js_1.VisuallyHidden,
58
59
  null,
59
60
  translatedStrings.loading,
60
61
  ),
@@ -7,7 +7,7 @@ const tslib_1 = require('tslib');
7
7
  * See LICENSE.md in the project root for license terms and full copyright notice.
8
8
  *--------------------------------------------------------------------------------------------*/
9
9
  const React = tslib_1.__importStar(require('react'));
10
- const index_js_1 = require('../Dialog/index.js');
10
+ const Dialog_js_1 = require('../Dialog/Dialog.js');
11
11
  /**
12
12
  * Modal component which can wrap any content.
13
13
  * @example
@@ -42,7 +42,7 @@ exports.Modal = React.forwardRef((props, forwardedRef) => {
42
42
  ...rest
43
43
  } = props;
44
44
  return React.createElement(
45
- index_js_1.Dialog,
45
+ Dialog_js_1.Dialog,
46
46
  {
47
47
  isOpen: isOpen,
48
48
  closeOnEsc: closeOnEsc,
@@ -55,11 +55,11 @@ exports.Modal = React.forwardRef((props, forwardedRef) => {
55
55
  ref: forwardedRef,
56
56
  portal: portal,
57
57
  },
58
- React.createElement(index_js_1.Dialog.Backdrop, null),
58
+ React.createElement(Dialog_js_1.Dialog.Backdrop, null),
59
59
  React.createElement(
60
- index_js_1.Dialog.Main,
60
+ Dialog_js_1.Dialog.Main,
61
61
  { 'aria-modal': true, ...rest },
62
- React.createElement(index_js_1.Dialog.TitleBar, { titleText: title }),
62
+ React.createElement(Dialog_js_1.Dialog.TitleBar, { titleText: title }),
63
63
  children,
64
64
  ),
65
65
  );