@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
@@ -7,14 +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('../Menu/index.js');
11
- const SelectTag_js_1 = tslib_1.__importDefault(
12
- require('../Select/SelectTag.js'),
13
- );
14
- const index_js_2 = require('../Typography/index.js');
15
- const index_js_3 = require('../utils/index.js');
10
+ const MenuExtraContent_js_1 = require('../Menu/MenuExtraContent.js');
11
+ const SelectTag_js_1 = require('../Select/SelectTag.js');
12
+ const Text_js_1 = require('../Typography/Text.js');
13
+ const index_js_1 = require('../utils/index.js');
14
+ const Popover_js_1 = require('../Popover/Popover.js');
16
15
  const helpers_js_1 = require('./helpers.js');
17
- const ComboBoxDropdown_js_1 = require('./ComboBoxDropdown.js');
18
16
  const ComboBoxEndIcon_js_1 = require('./ComboBoxEndIcon.js');
19
17
  const ComboBoxInput_js_1 = require('./ComboBoxInput.js');
20
18
  const ComboBoxInputContainer_js_1 = require('./ComboBoxInputContainer.js');
@@ -52,13 +50,14 @@ const ComboBox = (props) => {
52
50
  onChange,
53
51
  filterFunction,
54
52
  inputProps,
53
+ endIconProps,
55
54
  dropdownMenuProps,
56
55
  emptyStateMessage = 'No options found',
57
56
  itemRenderer,
58
57
  enableVirtualization = false,
59
58
  multiple = false,
60
- onShow,
61
- onHide,
59
+ onShow: onShowProp,
60
+ onHide: onHideProp,
62
61
  ...rest
63
62
  } = props;
64
63
  // Generate a stateful random id if not specified
@@ -66,13 +65,13 @@ const ComboBox = (props) => {
66
65
  () =>
67
66
  props.id ??
68
67
  (inputProps?.id && `${inputProps.id}-cb`) ??
69
- `iui-cb-${(0, index_js_3.getRandomValue)(10)}`,
68
+ `iui-cb-${(0, index_js_1.getRandomValue)(10)}`,
70
69
  );
71
70
  // Refs get set in subcomponents
72
71
  const inputRef = React.useRef(null);
73
72
  const menuRef = React.useRef(null);
74
- const onChangeProp = (0, index_js_3.useLatestRef)(onChange);
75
- const optionsRef = (0, index_js_3.useLatestRef)(options);
73
+ const onChangeProp = (0, index_js_1.useLatestRef)(onChange);
74
+ const optionsRef = (0, index_js_1.useLatestRef)(options);
76
75
  // Record to store all extra information (e.g. original indexes), where the key is the id of the option
77
76
  const optionsExtraInfoRef = React.useRef({});
78
77
  // Clear the extra info when the options change so that it can be reinitialized below
@@ -116,7 +115,17 @@ const ComboBox = (props) => {
116
115
  focusedIndex: -1,
117
116
  },
118
117
  );
119
- (0, index_js_3.useIsomorphicLayoutEffect)(() => {
118
+ const onShowRef = (0, index_js_1.useLatestRef)(onShowProp);
119
+ const onHideRef = (0, index_js_1.useLatestRef)(onHideProp);
120
+ const show = React.useCallback(() => {
121
+ dispatch({ type: 'open' });
122
+ onShowRef.current?.();
123
+ }, [onShowRef]);
124
+ const hide = React.useCallback(() => {
125
+ dispatch({ type: 'close' });
126
+ onHideRef.current?.();
127
+ }, [onHideRef]);
128
+ (0, index_js_1.useIsomorphicLayoutEffect)(() => {
120
129
  // When the dropdown opens
121
130
  if (isOpen) {
122
131
  inputRef.current?.focus(); // Focus the input
@@ -140,13 +149,6 @@ const ComboBox = (props) => {
140
149
  }
141
150
  }
142
151
  }, [isOpen, multiple, optionsRef, selected]);
143
- // Set min-width of menu to be same as input
144
- const [minWidth, setMinWidth] = React.useState(0);
145
- React.useEffect(() => {
146
- if (inputRef.current) {
147
- setMinWidth(inputRef.current.offsetWidth);
148
- }
149
- }, [isOpen]);
150
152
  // Update filtered options to the latest value options according to input value
151
153
  const [filteredOptions, setFilteredOptions] = React.useState(options);
152
154
  React.useEffect(() => {
@@ -173,7 +175,7 @@ const ComboBox = (props) => {
173
175
  (event) => {
174
176
  const { value } = event.currentTarget;
175
177
  setInputValue(value);
176
- dispatch({ type: 'open' }); // reopen when typing
178
+ show(); // reopen when typing
177
179
  setFilteredOptions(
178
180
  filterFunction?.(optionsRef.current, value) ??
179
181
  optionsRef.current.filter((option) =>
@@ -185,7 +187,7 @@ const ComboBox = (props) => {
185
187
  }
186
188
  inputProps?.onChange?.(event);
187
189
  },
188
- [filterFunction, focusedIndex, inputProps, optionsRef],
190
+ [filterFunction, focusedIndex, inputProps, optionsRef, show],
189
191
  );
190
192
  // When the value prop changes, update the selected index/indices
191
193
  React.useEffect(() => {
@@ -275,7 +277,7 @@ const ComboBox = (props) => {
275
277
  );
276
278
  } else {
277
279
  dispatch({ type: 'select', value: __originalIndex });
278
- dispatch({ type: 'close' });
280
+ hide();
279
281
  onChangeHandler(__originalIndex);
280
282
  }
281
283
  },
@@ -286,6 +288,7 @@ const ComboBox = (props) => {
286
288
  onChangeHandler,
287
289
  selected,
288
290
  optionsRef,
291
+ hide,
289
292
  ],
290
293
  );
291
294
  const getMenuItem = React.useCallback(
@@ -313,7 +316,7 @@ const ComboBox = (props) => {
313
316
  focused: focusedIndex === __originalIndex,
314
317
  'data-iui-index': __originalIndex,
315
318
  'data-iui-filtered-index': filteredIndex,
316
- ref: (0, index_js_3.mergeRefs)(customItem.props.ref, (el) => {
319
+ ref: (0, index_js_1.mergeRefs)(customItem.props.ref, (el) => {
317
320
  if (!enableVirtualization && focusedIndex === __originalIndex) {
318
321
  el?.scrollIntoView({ block: 'nearest' });
319
322
  }
@@ -354,10 +357,10 @@ const ComboBox = (props) => {
354
357
  React.isValidElement(emptyStateMessage)
355
358
  ? emptyStateMessage
356
359
  : React.createElement(
357
- index_js_1.MenuExtraContent,
360
+ MenuExtraContent_js_1.MenuExtraContent,
358
361
  null,
359
362
  React.createElement(
360
- index_js_2.Text,
363
+ Text_js_1.Text,
361
364
  { isMuted: true },
362
365
  emptyStateMessage,
363
366
  ),
@@ -365,6 +368,13 @@ const ComboBox = (props) => {
365
368
  ),
366
369
  [emptyStateMessage],
367
370
  );
371
+ const popover = (0, Popover_js_1.usePopover)({
372
+ visible: isOpen,
373
+ onVisibleChange: (open) => (open ? show() : hide()),
374
+ matchWidth: true,
375
+ closeOnOutsideClick: true,
376
+ trigger: { focus: true },
377
+ });
368
378
  return React.createElement(
369
379
  helpers_js_1.ComboBoxRefsContext.Provider,
370
380
  { value: { inputRef, menuRef, optionsExtraInfoRef } },
@@ -376,7 +386,6 @@ const ComboBox = (props) => {
376
386
  {
377
387
  value: {
378
388
  id,
379
- minWidth,
380
389
  isOpen,
381
390
  focusedIndex,
382
391
  onClickHandler,
@@ -384,11 +393,14 @@ const ComboBox = (props) => {
384
393
  filteredOptions,
385
394
  getMenuItem,
386
395
  multiple,
396
+ popover,
397
+ show,
398
+ hide,
387
399
  },
388
400
  },
389
401
  React.createElement(
390
402
  ComboBoxInputContainer_js_1.ComboBoxInputContainer,
391
- { ...rest },
403
+ { disabled: inputProps?.disabled, ...rest },
392
404
  React.createElement(
393
405
  React.Fragment,
394
406
  null,
@@ -400,7 +412,7 @@ const ComboBox = (props) => {
400
412
  selectTags: isMultipleEnabled(selected, multiple)
401
413
  ? selected.map((index) => {
402
414
  const item = optionsRef.current[index];
403
- return React.createElement(SelectTag_js_1.default, {
415
+ return React.createElement(SelectTag_js_1.SelectTag, {
404
416
  key: item.label,
405
417
  label: item.label,
406
418
  });
@@ -409,25 +421,22 @@ const ComboBox = (props) => {
409
421
  }),
410
422
  ),
411
423
  React.createElement(ComboBoxEndIcon_js_1.ComboBoxEndIcon, {
424
+ ...endIconProps,
412
425
  disabled: inputProps?.disabled,
413
426
  isOpen: isOpen,
414
427
  }),
415
428
  multiple
416
- ? React.createElement(index_js_3.AutoclearingHiddenLiveRegion, {
429
+ ? React.createElement(index_js_1.AutoclearingHiddenLiveRegion, {
417
430
  text: liveRegionSelection,
418
431
  })
419
432
  : null,
420
433
  ),
421
434
  React.createElement(
422
- ComboBoxDropdown_js_1.ComboBoxDropdown,
423
- { ...dropdownMenuProps, onShow: onShow, onHide: onHide },
424
- React.createElement(
425
- ComboBoxMenu_js_1.ComboBoxMenu,
426
- null,
427
- filteredOptions.length > 0 && !enableVirtualization
428
- ? filteredOptions.map(getMenuItem)
429
- : emptyContent,
430
- ),
435
+ ComboBoxMenu_js_1.ComboBoxMenu,
436
+ { as: 'div', ...dropdownMenuProps },
437
+ filteredOptions.length > 0 && !enableVirtualization
438
+ ? filteredOptions.map(getMenuItem)
439
+ : emptyContent,
431
440
  ),
432
441
  ),
433
442
  ),
@@ -9,10 +9,11 @@ const tslib_1 = require('tslib');
9
9
  const classnames_1 = tslib_1.__importDefault(require('classnames'));
10
10
  const React = tslib_1.__importStar(require('react'));
11
11
  const index_js_1 = require('../utils/index.js');
12
+ const Icon_js_1 = require('../Icon/Icon.js');
12
13
  exports.ComboBoxEndIcon = React.forwardRef((props, forwardedRef) => {
13
14
  const { className, children, disabled, isOpen, ...rest } = props;
14
15
  return React.createElement(
15
- index_js_1.Icon,
16
+ Icon_js_1.Icon,
16
17
  {
17
18
  as: 'span',
18
19
  ref: forwardedRef,
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { Input } from '../Input/index.js';
2
+ import { Input } from '../Input/Input.js';
3
3
  import type { PolymorphicForwardRefComponent } from '../utils/index.js';
4
4
  type ComboBoxInputProps = {
5
5
  selectTags?: JSX.Element[];
@@ -7,16 +7,16 @@ 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('../Input/index.js');
11
- const index_js_2 = require('../utils/index.js');
10
+ const Input_js_1 = require('../Input/Input.js');
11
+ const index_js_1 = require('../utils/index.js');
12
12
  const ComboBoxMultipleContainer_js_1 = require('./ComboBoxMultipleContainer.js');
13
13
  const helpers_js_1 = require('./helpers.js');
14
14
  exports.ComboBoxInput = React.forwardRef((props, forwardedRef) => {
15
15
  const {
16
16
  onKeyDown: onKeyDownProp,
17
- onFocus: onFocusProp,
18
17
  onClick: onClickProp,
19
18
  selectTags,
19
+ size,
20
20
  ...rest
21
21
  } = props;
22
22
  const {
@@ -26,13 +26,20 @@ exports.ComboBoxInput = React.forwardRef((props, forwardedRef) => {
26
26
  enableVirtualization,
27
27
  multiple,
28
28
  onClickHandler,
29
- } = (0, index_js_2.useSafeContext)(helpers_js_1.ComboBoxStateContext);
30
- const dispatch = (0, index_js_2.useSafeContext)(
29
+ popover,
30
+ show,
31
+ hide,
32
+ } = (0, index_js_1.useSafeContext)(helpers_js_1.ComboBoxStateContext);
33
+ const dispatch = (0, index_js_1.useSafeContext)(
31
34
  helpers_js_1.ComboBoxActionContext,
32
35
  );
33
36
  const { inputRef, menuRef, optionsExtraInfoRef } = (0,
34
- index_js_2.useSafeContext)(helpers_js_1.ComboBoxRefsContext);
35
- const refs = (0, index_js_2.useMergedRefs)(inputRef, forwardedRef);
37
+ index_js_1.useSafeContext)(helpers_js_1.ComboBoxRefsContext);
38
+ const refs = (0, index_js_1.useMergedRefs)(
39
+ inputRef,
40
+ popover.refs.setReference,
41
+ forwardedRef,
42
+ );
36
43
  const focusedIndexRef = React.useRef(focusedIndex ?? -1);
37
44
  React.useEffect(() => {
38
45
  focusedIndexRef.current = focusedIndex ?? -1;
@@ -44,7 +51,6 @@ exports.ComboBoxInput = React.forwardRef((props, forwardedRef) => {
44
51
  };
45
52
  const handleKeyDown = React.useCallback(
46
53
  (event) => {
47
- onKeyDownProp?.(event);
48
54
  const length = Object.keys(optionsExtraInfoRef.current).length ?? 0;
49
55
  if (event.altKey) {
50
56
  return;
@@ -53,7 +59,7 @@ exports.ComboBoxInput = React.forwardRef((props, forwardedRef) => {
53
59
  case 'ArrowDown': {
54
60
  event.preventDefault();
55
61
  if (!isOpen) {
56
- return dispatch({ type: 'open' });
62
+ return show();
57
63
  }
58
64
  if (length === 0) {
59
65
  return;
@@ -95,7 +101,7 @@ exports.ComboBoxInput = React.forwardRef((props, forwardedRef) => {
95
101
  case 'ArrowUp': {
96
102
  event.preventDefault();
97
103
  if (!isOpen) {
98
- return dispatch({ type: 'open' });
104
+ return show();
99
105
  }
100
106
  if (length === 0) {
101
107
  return;
@@ -139,17 +145,17 @@ exports.ComboBoxInput = React.forwardRef((props, forwardedRef) => {
139
145
  onClickHandler?.(focusedIndexRef.current);
140
146
  }
141
147
  } else {
142
- dispatch({ type: 'open' });
148
+ show();
143
149
  }
144
150
  break;
145
151
  }
146
152
  case 'Escape': {
147
153
  event.preventDefault();
148
- dispatch({ type: 'close' });
154
+ hide();
149
155
  break;
150
156
  }
151
157
  case 'Tab':
152
- dispatch({ type: 'close' });
158
+ hide();
153
159
  break;
154
160
  }
155
161
  },
@@ -159,32 +165,27 @@ exports.ComboBoxInput = React.forwardRef((props, forwardedRef) => {
159
165
  isOpen,
160
166
  menuRef,
161
167
  onClickHandler,
162
- onKeyDownProp,
163
168
  optionsExtraInfoRef,
169
+ show,
170
+ hide,
164
171
  ],
165
172
  );
166
- const handleFocus = React.useCallback(
167
- (event) => {
168
- dispatch({ type: 'open' });
169
- onFocusProp?.(event);
170
- },
171
- [dispatch, onFocusProp],
172
- );
173
173
  const handleClick = React.useCallback(() => {
174
174
  if (!isOpen) {
175
- dispatch({ type: 'open' });
175
+ show();
176
+ } else {
177
+ hide();
176
178
  }
177
- }, [dispatch, isOpen]);
179
+ }, [hide, isOpen, show]);
178
180
  const [tagContainerWidthRef, tagContainerWidth] = (0,
179
- index_js_2.useContainerWidth)();
181
+ index_js_1.useContainerWidth)();
180
182
  return React.createElement(
181
183
  React.Fragment,
182
184
  null,
183
- React.createElement(index_js_1.Input, {
185
+ React.createElement(Input_js_1.Input, {
184
186
  ref: refs,
185
- onKeyDown: handleKeyDown,
186
- onClick: (0, index_js_2.mergeEventHandlers)(onClickProp, handleClick),
187
- onFocus: handleFocus,
187
+ onClick: (0, index_js_1.mergeEventHandlers)(onClickProp, handleClick),
188
+ 'aria-expanded': isOpen,
188
189
  'aria-activedescendant':
189
190
  isOpen && focusedIndex != undefined && focusedIndex > -1
190
191
  ? getIdFromIndex(focusedIndex)
@@ -197,7 +198,14 @@ exports.ComboBoxInput = React.forwardRef((props, forwardedRef) => {
197
198
  autoCorrect: 'off',
198
199
  style: multiple ? { paddingInlineStart: tagContainerWidth + 18 } : {},
199
200
  'aria-describedby': multiple ? `${id}-selected-live` : undefined,
200
- ...rest,
201
+ size: size,
202
+ ...popover.getReferenceProps({
203
+ onKeyDown: (0, index_js_1.mergeEventHandlers)(
204
+ onKeyDownProp,
205
+ handleKeyDown,
206
+ ),
207
+ ...rest,
208
+ }),
201
209
  }),
202
210
  multiple && selectTags
203
211
  ? React.createElement(
@@ -7,23 +7,23 @@ 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('../StatusMessage/index.js');
11
- const index_js_2 = require('../utils/index.js');
10
+ const StatusMessage_js_1 = require('../StatusMessage/StatusMessage.js');
11
+ const index_js_1 = require('../utils/index.js');
12
12
  const helpers_js_1 = require('./helpers.js');
13
13
  exports.ComboBoxInputContainer = React.forwardRef((props, forwardedRef) => {
14
14
  const { className, status, message, children, ...rest } = props;
15
- const { id } = (0, index_js_2.useSafeContext)(
15
+ const { id } = (0, index_js_1.useSafeContext)(
16
16
  helpers_js_1.ComboBoxStateContext,
17
17
  );
18
18
  return React.createElement(
19
- index_js_2.InputContainer,
19
+ index_js_1.InputContainer,
20
20
  {
21
21
  className: className,
22
22
  status: status,
23
23
  statusMessage:
24
24
  typeof message === 'string'
25
25
  ? React.createElement(
26
- index_js_1.StatusMessage,
26
+ StatusMessage_js_1.StatusMessage,
27
27
  { status: status },
28
28
  message,
29
29
  )
@@ -34,7 +34,7 @@ exports.ComboBoxInputContainer = React.forwardRef((props, forwardedRef) => {
34
34
  id: id,
35
35
  },
36
36
  React.createElement(
37
- index_js_2.Box,
37
+ index_js_1.Box,
38
38
  { className: 'iui-input-with-icon' },
39
39
  children,
40
40
  ),
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { Menu } from '../Menu/index.js';
2
+ import { Menu } from '../Menu/Menu.js';
3
3
  import type { PolymorphicForwardRefComponent } from '../utils/index.js';
4
4
  type ComboBoxMenuProps = Omit<React.ComponentPropsWithoutRef<typeof Menu>, 'onClick'> & React.ComponentPropsWithoutRef<'div'>;
5
5
  export declare const ComboBoxMenu: PolymorphicForwardRefComponent<"div", ComboBoxMenuProps>;
@@ -6,116 +6,94 @@ const tslib_1 = require('tslib');
6
6
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
7
7
  * See LICENSE.md in the project root for license terms and full copyright notice.
8
8
  *--------------------------------------------------------------------------------------------*/
9
- const classnames_1 = tslib_1.__importDefault(require('classnames'));
10
9
  const React = tslib_1.__importStar(require('react'));
11
- const index_js_1 = require('../Menu/index.js');
12
- const index_js_2 = require('../Surface/index.js');
13
- const index_js_3 = require('../utils/index.js');
10
+ const Menu_js_1 = require('../Menu/Menu.js');
11
+ const index_js_1 = require('../utils/index.js');
14
12
  const helpers_js_1 = require('./helpers.js');
15
- const isOverflowOverlaySupported = () =>
16
- (0, index_js_3.getWindow)()?.CSS?.supports?.('overflow: overlay');
17
- const VirtualizedComboBoxMenu = React.forwardRef(
18
- ({ children, className, style, ...rest }, forwardedRef) => {
19
- const { minWidth, id, filteredOptions, getMenuItem, focusedIndex } = (0,
20
- index_js_3.useSafeContext)(helpers_js_1.ComboBoxStateContext);
21
- const { menuRef } = (0, index_js_3.useSafeContext)(
22
- helpers_js_1.ComboBoxRefsContext,
23
- );
24
- const virtualItemRenderer = React.useCallback(
25
- (index) =>
26
- filteredOptions.length > 0
27
- ? getMenuItem(filteredOptions[index], index)
28
- : children, // Here is expected empty state content
29
- [filteredOptions, getMenuItem, children],
13
+ const VirtualizedComboBoxMenu = (props) => {
14
+ const { children, ...rest } = props;
15
+ const { filteredOptions, getMenuItem, focusedIndex } = (0,
16
+ index_js_1.useSafeContext)(helpers_js_1.ComboBoxStateContext);
17
+ const { menuRef } = (0, index_js_1.useSafeContext)(
18
+ helpers_js_1.ComboBoxRefsContext,
19
+ );
20
+ const virtualItemRenderer = React.useCallback(
21
+ (index) =>
22
+ filteredOptions.length > 0
23
+ ? getMenuItem(filteredOptions[index], index)
24
+ : children, // Here is expected empty state content
25
+ [filteredOptions, getMenuItem, children],
26
+ );
27
+ const focusedVisibleIndex = React.useMemo(() => {
28
+ const currentElement = menuRef.current?.querySelector(
29
+ `[data-iui-index="${focusedIndex}"]`,
30
30
  );
31
- const focusedVisibleIndex = React.useMemo(() => {
32
- const currentElement = menuRef.current?.querySelector(
33
- `[data-iui-index="${focusedIndex}"]`,
34
- );
35
- if (!currentElement) {
36
- return focusedIndex;
37
- }
38
- return Number(
39
- currentElement.getAttribute('data-iui-filtered-index') ?? focusedIndex,
40
- );
41
- }, [focusedIndex, menuRef]);
42
- const { outerProps, innerProps, visibleChildren } = (0,
43
- index_js_3.useVirtualization)({
44
- // 'Fool' VirtualScroll by passing length 1
45
- // whenever there is no elements, to show empty state message
46
- itemsLength: filteredOptions.length || 1,
47
- itemRenderer: virtualItemRenderer,
48
- scrollToIndex: focusedVisibleIndex,
49
- });
50
- const surfaceStyles = {
51
- minInlineSize: minWidth,
52
- // set as constant because we don't want it shifting when items are unmounted
53
- maxInlineSize: minWidth,
54
- // max-height must be on the outermost element for virtual scroll
55
- maxBlockSize: 'calc((var(--iui-component-height) - 1px) * 8.5)',
56
- overflowY: isOverflowOverlaySupported() ? 'overlay' : 'auto',
57
- ...style,
58
- };
59
- return React.createElement(
60
- index_js_2.Surface,
61
- { style: surfaceStyles },
62
- React.createElement(
63
- 'div',
64
- { ...outerProps },
65
- React.createElement(
66
- index_js_1.Menu,
67
- {
68
- id: `${id}-list`,
69
- setFocus: false,
70
- role: 'listbox',
71
- ref: (0, index_js_3.mergeRefs)(
72
- menuRef,
73
- innerProps.ref,
74
- forwardedRef,
75
- ),
76
- className: className,
77
- style: innerProps.style,
78
- ...rest,
79
- },
80
- visibleChildren,
81
- ),
82
- ),
31
+ if (!currentElement) {
32
+ return focusedIndex;
33
+ }
34
+ return Number(
35
+ currentElement.getAttribute('data-iui-filtered-index') ?? focusedIndex,
83
36
  );
84
- },
85
- );
37
+ }, [focusedIndex, menuRef]);
38
+ const { outerProps, innerProps, visibleChildren } = (0,
39
+ index_js_1.useVirtualization)({
40
+ // 'Fool' VirtualScroll by passing length 1
41
+ // whenever there is no elements, to show empty state message
42
+ itemsLength: filteredOptions.length || 1,
43
+ itemRenderer: virtualItemRenderer,
44
+ scrollToIndex: focusedVisibleIndex,
45
+ });
46
+ return React.createElement(
47
+ index_js_1.Box,
48
+ { as: 'div', ...outerProps, ...rest },
49
+ React.createElement(
50
+ 'div',
51
+ { ...innerProps, ref: innerProps.ref },
52
+ visibleChildren,
53
+ ),
54
+ );
55
+ };
86
56
  exports.ComboBoxMenu = React.forwardRef((props, forwardedRef) => {
87
- const { className, style, ...rest } = props;
88
- const { minWidth, id, enableVirtualization } = (0, index_js_3.useSafeContext)(
57
+ const { children, style, ...rest } = props;
58
+ const { id, enableVirtualization, popover } = (0, index_js_1.useSafeContext)(
89
59
  helpers_js_1.ComboBoxStateContext,
90
60
  );
91
- const { menuRef } = (0, index_js_3.useSafeContext)(
61
+ const { menuRef } = (0, index_js_1.useSafeContext)(
92
62
  helpers_js_1.ComboBoxRefsContext,
93
63
  );
94
- const refs = (0, index_js_3.useMergedRefs)(menuRef, forwardedRef);
95
- const styles = React.useMemo(
96
- () => ({
97
- minInlineSize: minWidth,
98
- maxInlineSize: `min(${minWidth * 2}px, 90vw)`,
99
- }),
100
- [minWidth],
64
+ const refs = (0, index_js_1.useMergedRefs)(
65
+ popover.refs.setFloating,
66
+ forwardedRef,
67
+ menuRef,
101
68
  );
102
- return React.createElement(
103
- React.Fragment,
104
- null,
105
- !enableVirtualization
106
- ? React.createElement(index_js_1.Menu, {
69
+ return (
70
+ popover.open &&
71
+ React.createElement(
72
+ index_js_1.Portal,
73
+ { portal: true },
74
+ React.createElement(
75
+ Menu_js_1.Menu,
76
+ {
107
77
  id: `${id}-list`,
108
- style: { ...styles, ...style },
109
78
  setFocus: false,
110
79
  role: 'listbox',
111
80
  ref: refs,
112
- className: (0, classnames_1.default)('iui-scroll', className),
113
- ...rest,
114
- })
115
- : React.createElement(VirtualizedComboBoxMenu, {
116
- ref: forwardedRef,
117
- ...props,
118
- }),
81
+ ...popover.getFloatingProps({
82
+ style: !enableVirtualization
83
+ ? style
84
+ : {
85
+ // set as constant because we don't want it shifting when items are unmounted
86
+ maxInlineSize: 0,
87
+ ...style,
88
+ },
89
+ ...rest,
90
+ }),
91
+ },
92
+ !enableVirtualization
93
+ ? children
94
+ : React.createElement(VirtualizedComboBoxMenu, null, children),
95
+ ),
96
+ )
119
97
  );
120
98
  });
121
99
  exports.ComboBoxMenu.displayName = 'ComboBoxMenu';
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import type { SelectOption } from '../Select/Select.js';
3
+ import type { usePopover } from '../Popover/Popover.js';
3
4
  type ComboBoxAction = {
4
5
  type: 'multiselect';
5
6
  value: number[];
@@ -33,13 +34,15 @@ export declare const ComboBoxRefsContext: React.Context<{
33
34
  type ComboBoxStateContextProps<T = unknown> = {
34
35
  isOpen: boolean;
35
36
  id: string;
36
- minWidth: number;
37
37
  enableVirtualization: boolean;
38
38
  filteredOptions: SelectOption<T>[];
39
39
  onClickHandler?: (prop: number) => void;
40
40
  getMenuItem: (option: SelectOption<T>, filteredIndex?: number) => JSX.Element;
41
41
  focusedIndex?: number;
42
42
  multiple?: boolean;
43
+ popover: ReturnType<typeof usePopover>;
44
+ show: () => void;
45
+ hide: () => void;
43
46
  };
44
47
  export declare const ComboBoxStateContext: React.Context<ComboBoxStateContextProps<unknown> | undefined>;
45
48
  export declare const ComboBoxActionContext: React.Context<((x: ComboBoxAction) => void) | undefined>;
@@ -87,6 +87,15 @@ type DatePickerProps = {
87
87
  * Disabled dates cannot be selected.
88
88
  */
89
89
  isDateDisabled?: (date: Date) => boolean;
90
+ /**
91
+ * Whether there is a background, border, shadow, etc.
92
+ *
93
+ * Should be set to true if used in a popover that doesn't have its own background,
94
+ * or set to false if the popover has its own background or embedding within a page.
95
+ *
96
+ * @default true
97
+ */
98
+ applyBackground?: boolean;
90
99
  } & DateRangePickerProps & Omit<TimePickerProps, 'date' | 'onChange' | 'setFocusHour'>;
91
100
  /**
92
101
  * Date picker component