@itwin/itwinui-react 3.0.0-dev.9 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (665) hide show
  1. package/CHANGELOG.md +80 -768
  2. package/README.md +5 -7
  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} +7 -7
  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/cjs/core/Buttons/{SplitButton/SplitButton.d.ts → SplitButton.d.ts} +3 -3
  17. package/cjs/core/Buttons/{SplitButton/SplitButton.js → SplitButton.js} +14 -13
  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 +6 -1
  38. package/cjs/core/ComboBox/ComboBox.js +19 -18
  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 +10 -10
  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 +12 -14
  45. package/cjs/core/ComboBox/helpers.d.ts +1 -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 +2 -2
  53. package/cjs/core/DropdownMenu/DropdownMenu.js +4 -3
  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 +6 -6
  65. package/cjs/core/Header/HeaderSplitButton.d.ts +1 -1
  66. package/cjs/core/Header/HeaderSplitButton.js +7 -7
  67. package/{esm/core/utils/components → cjs/core/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/MenuItem.js +2 -1
  85. package/cjs/core/Menu/MenuItemSkeleton.js +2 -1
  86. package/cjs/core/Modal/Modal.js +5 -5
  87. package/cjs/core/NonIdealState/ErrorPage.js +17 -15
  88. package/cjs/core/{utils/components → Popover}/Popover.d.ts +29 -13
  89. package/cjs/core/{utils/components → Popover}/Popover.js +43 -25
  90. package/cjs/core/RadioTiles/RadioTileGroup.d.ts +1 -1
  91. package/cjs/core/RadioTiles/RadioTileGroup.js +4 -4
  92. package/cjs/core/SearchBox/SearchBox.d.ts +3 -2
  93. package/cjs/core/SearchBox/SearchBox.js +4 -3
  94. package/cjs/core/Select/Select.d.ts +2 -2
  95. package/cjs/core/Select/Select.js +39 -30
  96. package/cjs/core/Select/SelectTagContainer.js +2 -2
  97. package/cjs/core/SideNavigation/SideNavigation.js +5 -5
  98. package/cjs/core/SideNavigation/SidenavButton.d.ts +1 -1
  99. package/cjs/core/SideNavigation/SidenavButton.js +2 -2
  100. package/cjs/core/Slider/Slider.d.ts +3 -7
  101. package/cjs/core/Slider/Slider.js +8 -22
  102. package/cjs/core/Slider/Thumb.d.ts +2 -3
  103. package/cjs/core/Slider/Thumb.js +5 -9
  104. package/cjs/core/StatusMessage/StatusMessage.d.ts +1 -1
  105. package/cjs/core/StatusMessage/StatusMessage.js +2 -1
  106. package/cjs/core/Stepper/StepperStep.js +7 -7
  107. package/cjs/core/Stepper/WorkflowDiagramStep.js +5 -5
  108. package/cjs/core/Surface/Surface.d.ts +8 -0
  109. package/cjs/core/Surface/Surface.js +19 -1
  110. package/cjs/core/Table/SubRowExpander.d.ts +1 -1
  111. package/cjs/core/Table/SubRowExpander.js +2 -2
  112. package/cjs/core/Table/Table.d.ts +1 -1
  113. package/cjs/core/Table/Table.js +53 -60
  114. package/cjs/core/Table/TableCell.d.ts +1 -1
  115. package/cjs/core/Table/TablePaginator.js +27 -25
  116. package/cjs/core/Table/TableRowMemoized.d.ts +1 -1
  117. package/cjs/core/Table/actionHandlers/expandHandler.d.ts +1 -1
  118. package/cjs/core/Table/actionHandlers/filterHandler.d.ts +1 -1
  119. package/cjs/core/Table/actionHandlers/resizeHandler.d.ts +17 -17
  120. package/cjs/core/Table/actionHandlers/selectHandler.d.ts +8 -8
  121. package/cjs/core/Table/cells/DefaultCell.d.ts +1 -1
  122. package/cjs/core/Table/cells/EditableCell.d.ts +1 -1
  123. package/cjs/core/Table/columns/actionColumn.d.ts +2 -2
  124. package/cjs/core/Table/columns/actionColumn.js +10 -15
  125. package/cjs/core/Table/columns/expanderColumn.d.ts +1 -1
  126. package/cjs/core/Table/columns/expanderColumn.js +5 -4
  127. package/cjs/core/Table/columns/selectionColumn.d.ts +1 -1
  128. package/cjs/core/Table/columns/selectionColumn.js +5 -5
  129. package/cjs/core/Table/filters/DateRangeFilter/DatePickerInput.d.ts +1 -1
  130. package/cjs/core/Table/filters/DateRangeFilter/DatePickerInput.js +25 -19
  131. package/cjs/core/Table/filters/FilterButtonBar.js +3 -3
  132. package/cjs/core/Table/filters/FilterToggle.d.ts +1 -1
  133. package/cjs/core/Table/filters/FilterToggle.js +5 -3
  134. package/cjs/core/Table/filters/NumberRangeFilter/NumberRangeFilter.js +3 -3
  135. package/cjs/core/Table/filters/TextFilter/TextFilter.js +2 -2
  136. package/cjs/core/Table/filters/customFilterFunctions.d.ts +1 -1
  137. package/cjs/core/Table/filters/defaultFilterFunctions.d.ts +1 -1
  138. package/cjs/core/Table/filters/types.d.ts +2 -19
  139. package/cjs/core/Table/hooks/useColumnDragAndDrop.d.ts +1 -1
  140. package/cjs/core/Table/hooks/useExpanderCell.d.ts +1 -1
  141. package/cjs/core/Table/hooks/useResizeColumns.d.ts +1 -1
  142. package/cjs/core/Table/hooks/useScrollToRow.d.ts +1 -1
  143. package/cjs/core/Table/hooks/useScrollToRow.js +1 -1
  144. package/cjs/core/Table/hooks/useSelectionCell.d.ts +1 -1
  145. package/cjs/core/Table/hooks/useStickyColumns.d.ts +1 -1
  146. package/cjs/core/Table/hooks/useSubRowFiltering.d.ts +1 -1
  147. package/cjs/core/Table/hooks/useSubRowSelection.d.ts +1 -1
  148. package/cjs/core/Table/index.d.ts +1 -1
  149. package/cjs/core/Table/utils.d.ts +1 -1
  150. package/cjs/core/Tabs/Tabs.d.ts +222 -52
  151. package/cjs/core/Tabs/Tabs.js +429 -375
  152. package/cjs/core/Tag/Tag.js +2 -2
  153. package/cjs/core/Textarea/Textarea.js +2 -2
  154. package/cjs/core/ThemeProvider/ThemeProvider.d.ts +3 -2
  155. package/cjs/core/ThemeProvider/ThemeProvider.js +17 -8
  156. package/cjs/core/Tile/Tile.d.ts +2 -2
  157. package/cjs/core/Tile/Tile.js +20 -18
  158. package/cjs/core/Toast/Toast.js +2 -2
  159. package/cjs/core/TransferList/TransferList.d.ts +1 -1
  160. package/cjs/core/TransferList/TransferList.js +6 -5
  161. package/cjs/core/Tree/TreeNodeExpander.d.ts +1 -1
  162. package/cjs/core/Tree/TreeNodeExpander.js +2 -2
  163. package/{esm/core/Typography/Anchor → cjs/core/Typography}/Anchor.d.ts +1 -1
  164. package/cjs/core/Typography/{Anchor/Anchor.js → Anchor.js} +1 -1
  165. package/{esm/core/Typography/Blockquote → cjs/core/Typography}/Blockquote.d.ts +1 -1
  166. package/cjs/core/Typography/{Blockquote/Blockquote.js → Blockquote.js} +1 -1
  167. package/cjs/core/Typography/{Code/Code.d.ts → Code.d.ts} +1 -1
  168. package/cjs/core/Typography/{Code/Code.js → Code.js} +1 -1
  169. package/{esm/core/Typography/Kbd → cjs/core/Typography}/Kbd.d.ts +1 -1
  170. package/cjs/core/Typography/{Kbd/Kbd.js → Kbd.js} +1 -1
  171. package/{esm/core/Typography/Text → cjs/core/Typography}/Text.d.ts +1 -1
  172. package/cjs/core/Typography/{Text/Text.js → Text.js} +1 -1
  173. package/{esm/core/utils/components → cjs/core/VisuallyHidden}/VisuallyHidden.d.ts +1 -1
  174. package/cjs/core/{utils/components → VisuallyHidden}/VisuallyHidden.js +1 -1
  175. package/cjs/core/utils/components/AutoclearingHiddenLiveRegion.js +1 -1
  176. package/cjs/core/utils/components/InputContainer.js +4 -4
  177. package/cjs/core/utils/components/WithCSSTransition.js +7 -1
  178. package/cjs/core/utils/components/index.d.ts +0 -6
  179. package/cjs/core/utils/components/index.js +0 -6
  180. package/cjs/core/utils/functions/dev.d.ts +11 -0
  181. package/cjs/core/utils/functions/dev.js +34 -0
  182. package/cjs/core/utils/functions/index.d.ts +1 -0
  183. package/cjs/core/utils/functions/index.js +1 -0
  184. package/cjs/core/utils/hooks/useGlobals.d.ts +1 -1
  185. package/cjs/core/utils/hooks/useGlobals.js +3 -7
  186. package/cjs/core/utils/hooks/useOverflow.js +3 -1
  187. package/cjs/index.d.ts +112 -2
  188. package/cjs/index.js +950 -5
  189. package/cjs/react-table/react-table.d.ts +745 -0
  190. package/cjs/{core/Badge/index.js → react-table/react-table.js} +5 -10
  191. package/cjs/styles.js +15 -15
  192. package/esm/core/Alert/Alert.d.ts +1 -1
  193. package/esm/core/Alert/Alert.js +2 -2
  194. package/esm/core/Avatar/Avatar.js +2 -6
  195. package/esm/core/Breadcrumbs/Breadcrumbs.js +24 -6
  196. package/esm/core/ButtonGroup/ButtonGroup.js +6 -8
  197. package/esm/core/Buttons/{Button/Button.d.ts → Button.d.ts} +2 -2
  198. package/esm/core/Buttons/{Button/Button.js → Button.js} +1 -1
  199. package/{cjs/core/Buttons/DropdownButton → esm/core/Buttons}/DropdownButton.d.ts +3 -3
  200. package/esm/core/Buttons/{DropdownButton/DropdownButton.js → DropdownButton.js} +3 -3
  201. package/{cjs/core/Buttons/IconButton → esm/core/Buttons}/IconButton.d.ts +2 -2
  202. package/esm/core/Buttons/{IconButton/IconButton.js → IconButton.js} +3 -2
  203. package/{cjs/core/Buttons/IdeasButton → esm/core/Buttons}/IdeasButton.d.ts +1 -1
  204. package/esm/core/Buttons/{IdeasButton/IdeasButton.js → IdeasButton.js} +2 -2
  205. package/esm/core/Buttons/{SplitButton/SplitButton.d.ts → SplitButton.d.ts} +3 -3
  206. package/esm/core/Buttons/{SplitButton/SplitButton.js → SplitButton.js} +5 -5
  207. package/esm/core/Carousel/Carousel.d.ts +14 -7
  208. package/esm/core/Carousel/Carousel.js +9 -39
  209. package/esm/core/Carousel/CarouselContext.d.ts +0 -4
  210. package/esm/core/Carousel/CarouselDot.js +1 -1
  211. package/esm/core/Carousel/CarouselDotsList.js +26 -2
  212. package/esm/core/Carousel/CarouselNavigation.d.ts +3 -3
  213. package/esm/core/Carousel/CarouselNavigation.js +6 -23
  214. package/esm/core/Carousel/CarouselSlide.d.ts +1 -1
  215. package/esm/core/Carousel/CarouselSlide.js +15 -3
  216. package/esm/core/Carousel/CarouselSlider.d.ts +1 -1
  217. package/esm/core/Carousel/CarouselSlider.js +2 -2
  218. package/esm/core/Checkbox/Checkbox.js +1 -1
  219. package/esm/core/ColorPicker/ColorBuilder.js +3 -1
  220. package/esm/core/ColorPicker/ColorInputPanel.js +27 -7
  221. package/esm/core/ColorPicker/ColorPalette.js +3 -83
  222. package/esm/core/ColorPicker/ColorPicker.d.ts +9 -0
  223. package/esm/core/ColorPicker/ColorPicker.js +6 -1
  224. package/esm/core/ColorPicker/ColorSwatch.d.ts +1 -1
  225. package/esm/core/ColorPicker/ColorSwatch.js +18 -12
  226. package/esm/core/ComboBox/ComboBox.d.ts +6 -1
  227. package/esm/core/ComboBox/ComboBox.js +6 -4
  228. package/esm/core/ComboBox/ComboBoxEndIcon.js +2 -1
  229. package/esm/core/ComboBox/ComboBoxInput.d.ts +1 -1
  230. package/esm/core/ComboBox/ComboBoxInput.js +1 -1
  231. package/esm/core/ComboBox/ComboBoxInputContainer.js +1 -1
  232. package/esm/core/ComboBox/ComboBoxMenu.d.ts +1 -1
  233. package/esm/core/ComboBox/ComboBoxMenu.js +2 -4
  234. package/esm/core/ComboBox/helpers.d.ts +1 -1
  235. package/esm/core/DatePicker/DatePicker.d.ts +9 -0
  236. package/esm/core/DatePicker/DatePicker.js +12 -3
  237. package/esm/core/Dialog/DialogBackdrop.js +1 -1
  238. package/esm/core/Dialog/DialogTitleBar.js +1 -1
  239. package/esm/core/{utils/components → Divider}/Divider.d.ts +1 -1
  240. package/esm/core/{utils/components → Divider}/Divider.js +1 -1
  241. package/esm/core/DropdownMenu/DropdownMenu.d.ts +2 -2
  242. package/esm/core/DropdownMenu/DropdownMenu.js +2 -3
  243. package/esm/core/ExpandableBlock/ExpandableBlock.d.ts +1 -1
  244. package/esm/core/ExpandableBlock/ExpandableBlock.js +1 -1
  245. package/esm/core/FileUpload/FileUploadCard.js +2 -2
  246. package/esm/core/FileUpload/FileUploadTemplate.js +1 -1
  247. package/esm/core/{utils/components → Flex}/Flex.d.ts +2 -2
  248. package/esm/core/{utils/components → Flex}/Flex.js +1 -1
  249. package/esm/core/Header/Header.js +2 -2
  250. package/esm/core/Header/HeaderBasicButton.d.ts +1 -1
  251. package/esm/core/Header/HeaderButton.d.ts +2 -2
  252. package/esm/core/Header/HeaderDropdownButton.d.ts +1 -1
  253. package/esm/core/Header/HeaderDropdownButton.js +1 -1
  254. package/esm/core/Header/HeaderSplitButton.d.ts +1 -1
  255. package/esm/core/Header/HeaderSplitButton.js +1 -1
  256. package/{cjs/core/utils/components → esm/core/Icon}/Icon.d.ts +2 -2
  257. package/esm/core/{utils/components → Icon}/Icon.js +1 -1
  258. package/esm/core/InformationPanel/InformationPanelHeader.js +1 -1
  259. package/esm/core/Input/Input.d.ts +0 -1
  260. package/esm/core/Input/Input.js +0 -1
  261. package/esm/core/InputGroup/InputGroup.d.ts +1 -1
  262. package/esm/core/InputGroup/InputGroup.js +3 -3
  263. package/esm/core/InputWithDecorations/InputWithDecorations.d.ts +1 -1
  264. package/esm/core/InputWithDecorations/InputWithDecorations.js +1 -1
  265. package/esm/core/LabeledInput/LabeledInput.d.ts +4 -4
  266. package/esm/core/LabeledInput/LabeledInput.js +5 -4
  267. package/esm/core/LabeledSelect/LabeledSelect.d.ts +2 -2
  268. package/esm/core/LabeledSelect/LabeledSelect.js +6 -4
  269. package/esm/core/LabeledTextarea/LabeledTextarea.d.ts +1 -1
  270. package/esm/core/LabeledTextarea/LabeledTextarea.js +2 -2
  271. package/{cjs/core/utils/components → esm/core/LinkAction}/LinkAction.d.ts +2 -2
  272. package/esm/core/{utils/components → LinkAction}/LinkAction.js +1 -1
  273. package/esm/core/Menu/MenuItem.js +1 -1
  274. package/esm/core/Menu/MenuItemSkeleton.js +2 -1
  275. package/esm/core/Modal/Modal.js +1 -1
  276. package/esm/core/NonIdealState/ErrorPage.js +2 -2
  277. package/esm/core/{utils/components → Popover}/Popover.d.ts +29 -13
  278. package/esm/core/{utils/components → Popover}/Popover.js +45 -25
  279. package/esm/core/RadioTiles/RadioTileGroup.d.ts +1 -1
  280. package/esm/core/RadioTiles/RadioTileGroup.js +1 -1
  281. package/esm/core/SearchBox/SearchBox.d.ts +3 -2
  282. package/esm/core/SearchBox/SearchBox.js +2 -2
  283. package/esm/core/Select/Select.d.ts +2 -2
  284. package/esm/core/Select/Select.js +17 -10
  285. package/esm/core/Select/SelectTagContainer.js +1 -1
  286. package/esm/core/SideNavigation/SideNavigation.js +2 -2
  287. package/esm/core/SideNavigation/SidenavButton.d.ts +1 -1
  288. package/esm/core/SideNavigation/SidenavButton.js +1 -1
  289. package/esm/core/Slider/Slider.d.ts +3 -7
  290. package/esm/core/Slider/Slider.js +8 -19
  291. package/esm/core/Slider/Thumb.d.ts +2 -3
  292. package/esm/core/Slider/Thumb.js +2 -6
  293. package/esm/core/StatusMessage/StatusMessage.d.ts +1 -1
  294. package/esm/core/StatusMessage/StatusMessage.js +2 -1
  295. package/esm/core/Stepper/StepperStep.js +1 -1
  296. package/esm/core/Stepper/WorkflowDiagramStep.js +1 -1
  297. package/esm/core/Surface/Surface.d.ts +8 -0
  298. package/esm/core/Surface/Surface.js +19 -1
  299. package/esm/core/Table/SubRowExpander.d.ts +1 -1
  300. package/esm/core/Table/SubRowExpander.js +1 -1
  301. package/esm/core/Table/Table.d.ts +1 -1
  302. package/esm/core/Table/Table.js +7 -13
  303. package/esm/core/Table/TableCell.d.ts +1 -1
  304. package/esm/core/Table/TablePaginator.js +5 -3
  305. package/esm/core/Table/TableRowMemoized.d.ts +1 -1
  306. package/esm/core/Table/actionHandlers/expandHandler.d.ts +1 -1
  307. package/esm/core/Table/actionHandlers/filterHandler.d.ts +1 -1
  308. package/esm/core/Table/actionHandlers/resizeHandler.d.ts +17 -17
  309. package/esm/core/Table/actionHandlers/selectHandler.d.ts +8 -8
  310. package/esm/core/Table/cells/DefaultCell.d.ts +1 -1
  311. package/esm/core/Table/cells/EditableCell.d.ts +1 -1
  312. package/esm/core/Table/columns/actionColumn.d.ts +2 -2
  313. package/esm/core/Table/columns/actionColumn.js +4 -6
  314. package/esm/core/Table/columns/expanderColumn.d.ts +1 -1
  315. package/esm/core/Table/columns/expanderColumn.js +2 -1
  316. package/esm/core/Table/columns/selectionColumn.d.ts +1 -1
  317. package/esm/core/Table/columns/selectionColumn.js +1 -1
  318. package/esm/core/Table/filters/DateRangeFilter/DatePickerInput.d.ts +1 -1
  319. package/esm/core/Table/filters/DateRangeFilter/DatePickerInput.js +8 -5
  320. package/esm/core/Table/filters/FilterButtonBar.js +1 -1
  321. package/esm/core/Table/filters/FilterToggle.d.ts +1 -1
  322. package/esm/core/Table/filters/FilterToggle.js +4 -7
  323. package/esm/core/Table/filters/NumberRangeFilter/NumberRangeFilter.js +1 -1
  324. package/esm/core/Table/filters/TextFilter/TextFilter.js +1 -1
  325. package/esm/core/Table/filters/customFilterFunctions.d.ts +1 -1
  326. package/esm/core/Table/filters/defaultFilterFunctions.d.ts +1 -1
  327. package/esm/core/Table/filters/types.d.ts +2 -19
  328. package/esm/core/Table/hooks/useColumnDragAndDrop.d.ts +1 -1
  329. package/esm/core/Table/hooks/useExpanderCell.d.ts +1 -1
  330. package/esm/core/Table/hooks/useResizeColumns.d.ts +1 -1
  331. package/esm/core/Table/hooks/useScrollToRow.d.ts +1 -1
  332. package/esm/core/Table/hooks/useScrollToRow.js +1 -1
  333. package/esm/core/Table/hooks/useSelectionCell.d.ts +1 -1
  334. package/esm/core/Table/hooks/useStickyColumns.d.ts +1 -1
  335. package/esm/core/Table/hooks/useSubRowFiltering.d.ts +1 -1
  336. package/esm/core/Table/hooks/useSubRowSelection.d.ts +1 -1
  337. package/esm/core/Table/index.d.ts +1 -1
  338. package/esm/core/Table/utils.d.ts +1 -1
  339. package/esm/core/Tabs/Tabs.d.ts +222 -52
  340. package/esm/core/Tabs/Tabs.js +424 -368
  341. package/esm/core/Tag/Tag.js +1 -1
  342. package/esm/core/Textarea/Textarea.js +1 -1
  343. package/esm/core/ThemeProvider/ThemeProvider.d.ts +3 -2
  344. package/esm/core/ThemeProvider/ThemeProvider.js +17 -8
  345. package/esm/core/Tile/Tile.d.ts +2 -2
  346. package/esm/core/Tile/Tile.js +15 -14
  347. package/esm/core/Toast/Toast.js +1 -1
  348. package/esm/core/TransferList/TransferList.d.ts +1 -1
  349. package/esm/core/TransferList/TransferList.js +3 -2
  350. package/esm/core/Tree/TreeNodeExpander.d.ts +1 -1
  351. package/esm/core/Tree/TreeNodeExpander.js +1 -1
  352. package/{cjs/core/Typography/Anchor → esm/core/Typography}/Anchor.d.ts +1 -1
  353. package/esm/core/Typography/{Anchor/Anchor.js → Anchor.js} +1 -1
  354. package/{cjs/core/Typography/Blockquote → esm/core/Typography}/Blockquote.d.ts +1 -1
  355. package/esm/core/Typography/{Blockquote/Blockquote.js → Blockquote.js} +1 -1
  356. package/esm/core/Typography/{Code/Code.d.ts → Code.d.ts} +1 -1
  357. package/esm/core/Typography/{Code/Code.js → Code.js} +1 -1
  358. package/{cjs/core/Typography/Kbd → esm/core/Typography}/Kbd.d.ts +1 -1
  359. package/esm/core/Typography/{Kbd/Kbd.js → Kbd.js} +1 -1
  360. package/{cjs/core/Typography/Text → esm/core/Typography}/Text.d.ts +1 -1
  361. package/esm/core/Typography/{Text/Text.js → Text.js} +1 -1
  362. package/{cjs/core/utils/components → esm/core/VisuallyHidden}/VisuallyHidden.d.ts +1 -1
  363. package/esm/core/{utils/components → VisuallyHidden}/VisuallyHidden.js +1 -1
  364. package/esm/core/utils/components/AutoclearingHiddenLiveRegion.js +1 -1
  365. package/esm/core/utils/components/InputContainer.js +2 -2
  366. package/esm/core/utils/components/WithCSSTransition.js +7 -1
  367. package/esm/core/utils/components/index.d.ts +0 -6
  368. package/esm/core/utils/components/index.js +0 -6
  369. package/esm/core/utils/functions/dev.d.ts +11 -0
  370. package/esm/core/utils/functions/dev.js +29 -0
  371. package/esm/core/utils/functions/index.d.ts +1 -0
  372. package/esm/core/utils/functions/index.js +1 -0
  373. package/esm/core/utils/hooks/useGlobals.d.ts +1 -1
  374. package/esm/core/utils/hooks/useGlobals.js +1 -5
  375. package/esm/core/utils/hooks/useOverflow.js +3 -1
  376. package/esm/index.d.ts +112 -2
  377. package/esm/index.js +123 -2
  378. package/esm/react-table/react-table.d.ts +745 -0
  379. package/esm/{core/Backdrop/index.js → react-table/react-table.js} +5 -1
  380. package/esm/styles.js +15 -15
  381. package/package.json +22 -21
  382. package/react-table.d.ts +745 -0
  383. package/styles.css +57 -66
  384. package/cjs/core/Alert/index.d.ts +0 -3
  385. package/cjs/core/Alert/index.js +0 -15
  386. package/cjs/core/Avatar/index.d.ts +0 -3
  387. package/cjs/core/Avatar/index.js +0 -15
  388. package/cjs/core/AvatarGroup/index.d.ts +0 -3
  389. package/cjs/core/AvatarGroup/index.js +0 -15
  390. package/cjs/core/Backdrop/index.d.ts +0 -1
  391. package/cjs/core/Backdrop/index.js +0 -14
  392. package/cjs/core/Badge/index.d.ts +0 -3
  393. package/cjs/core/Breadcrumbs/index.d.ts +0 -3
  394. package/cjs/core/Breadcrumbs/index.js +0 -15
  395. package/cjs/core/ButtonGroup/index.d.ts +0 -3
  396. package/cjs/core/ButtonGroup/index.js +0 -15
  397. package/cjs/core/Buttons/Button/index.d.ts +0 -3
  398. package/cjs/core/Buttons/Button/index.js +0 -15
  399. package/cjs/core/Buttons/DropdownButton/index.d.ts +0 -3
  400. package/cjs/core/Buttons/DropdownButton/index.js +0 -15
  401. package/cjs/core/Buttons/IconButton/index.d.ts +0 -3
  402. package/cjs/core/Buttons/IconButton/index.js +0 -15
  403. package/cjs/core/Buttons/IdeasButton/index.d.ts +0 -3
  404. package/cjs/core/Buttons/IdeasButton/index.js +0 -15
  405. package/cjs/core/Buttons/SplitButton/index.d.ts +0 -3
  406. package/cjs/core/Buttons/SplitButton/index.js +0 -15
  407. package/cjs/core/Buttons/index.d.ts +0 -5
  408. package/cjs/core/Buttons/index.js +0 -47
  409. package/cjs/core/Carousel/index.d.ts +0 -3
  410. package/cjs/core/Carousel/index.js +0 -15
  411. package/cjs/core/Checkbox/index.d.ts +0 -3
  412. package/cjs/core/Checkbox/index.js +0 -15
  413. package/cjs/core/ColorPicker/index.d.ts +0 -7
  414. package/cjs/core/ColorPicker/index.js +0 -48
  415. package/cjs/core/ComboBox/index.d.ts +0 -3
  416. package/cjs/core/ComboBox/index.js +0 -15
  417. package/cjs/core/DatePicker/index.d.ts +0 -3
  418. package/cjs/core/DatePicker/index.js +0 -21
  419. package/cjs/core/Dialog/index.d.ts +0 -3
  420. package/cjs/core/Dialog/index.js +0 -15
  421. package/cjs/core/DropdownMenu/index.d.ts +0 -4
  422. package/cjs/core/DropdownMenu/index.js +0 -15
  423. package/cjs/core/ExpandableBlock/index.d.ts +0 -3
  424. package/cjs/core/ExpandableBlock/index.js +0 -15
  425. package/cjs/core/Fieldset/index.d.ts +0 -3
  426. package/cjs/core/Fieldset/index.js +0 -15
  427. package/cjs/core/FileUpload/index.d.ts +0 -6
  428. package/cjs/core/FileUpload/index.js +0 -40
  429. package/cjs/core/Footer/index.d.ts +0 -4
  430. package/cjs/core/Footer/index.js +0 -21
  431. package/cjs/core/Header/index.d.ts +0 -6
  432. package/cjs/core/Header/index.js +0 -40
  433. package/cjs/core/InformationPanel/index.d.ts +0 -7
  434. package/cjs/core/InformationPanel/index.js +0 -48
  435. package/cjs/core/Input/index.d.ts +0 -3
  436. package/cjs/core/Input/index.js +0 -15
  437. package/cjs/core/InputGrid/index.d.ts +0 -3
  438. package/cjs/core/InputGrid/index.js +0 -15
  439. package/cjs/core/InputGroup/index.d.ts +0 -3
  440. package/cjs/core/InputGroup/index.js +0 -15
  441. package/cjs/core/InputWithDecorations/index.d.ts +0 -3
  442. package/cjs/core/InputWithDecorations/index.js +0 -15
  443. package/cjs/core/Label/index.d.ts +0 -3
  444. package/cjs/core/Label/index.js +0 -15
  445. package/cjs/core/LabeledInput/index.d.ts +0 -3
  446. package/cjs/core/LabeledInput/index.js +0 -15
  447. package/cjs/core/LabeledSelect/index.d.ts +0 -3
  448. package/cjs/core/LabeledSelect/index.js +0 -15
  449. package/cjs/core/LabeledTextarea/index.d.ts +0 -3
  450. package/cjs/core/LabeledTextarea/index.js +0 -15
  451. package/cjs/core/List/index.d.ts +0 -2
  452. package/cjs/core/List/index.js +0 -21
  453. package/cjs/core/Menu/index.d.ts +0 -5
  454. package/cjs/core/Menu/index.js +0 -47
  455. package/cjs/core/Modal/index.d.ts +0 -5
  456. package/cjs/core/Modal/index.js +0 -29
  457. package/cjs/core/NonIdealState/index.d.ts +0 -5
  458. package/cjs/core/NonIdealState/index.js +0 -22
  459. package/cjs/core/NotificationMarker/index.d.ts +0 -3
  460. package/cjs/core/NotificationMarker/index.js +0 -15
  461. package/cjs/core/Overlay/index.d.ts +0 -1
  462. package/cjs/core/Overlay/index.js +0 -14
  463. package/cjs/core/ProgressIndicators/index.d.ts +0 -2
  464. package/cjs/core/ProgressIndicators/index.js +0 -21
  465. package/cjs/core/Radio/index.d.ts +0 -3
  466. package/cjs/core/Radio/index.js +0 -15
  467. package/cjs/core/RadioTiles/index.d.ts +0 -4
  468. package/cjs/core/RadioTiles/index.js +0 -22
  469. package/cjs/core/SearchBox/index.d.ts +0 -3
  470. package/cjs/core/SearchBox/index.js +0 -15
  471. package/cjs/core/Select/index.d.ts +0 -4
  472. package/cjs/core/Select/index.js +0 -15
  473. package/cjs/core/SideNavigation/index.d.ts +0 -6
  474. package/cjs/core/SideNavigation/index.js +0 -40
  475. package/cjs/core/SkipToContentLink/index.d.ts +0 -3
  476. package/cjs/core/SkipToContentLink/index.js +0 -15
  477. package/cjs/core/Slider/index.d.ts +0 -3
  478. package/cjs/core/Slider/index.js +0 -15
  479. package/cjs/core/StatusMessage/index.d.ts +0 -3
  480. package/cjs/core/StatusMessage/index.js +0 -15
  481. package/cjs/core/Stepper/index.d.ts +0 -3
  482. package/cjs/core/Stepper/index.js +0 -21
  483. package/cjs/core/Surface/index.d.ts +0 -3
  484. package/cjs/core/Surface/index.js +0 -15
  485. package/cjs/core/Tabs/Tab.d.ts +0 -40
  486. package/cjs/core/Tabs/Tab.js +0 -65
  487. package/cjs/core/Tabs/index.d.ts +0 -2
  488. package/cjs/core/Tabs/index.js +0 -21
  489. package/cjs/core/Tag/index.d.ts +0 -4
  490. package/cjs/core/Tag/index.js +0 -22
  491. package/cjs/core/Textarea/index.d.ts +0 -3
  492. package/cjs/core/Textarea/index.js +0 -15
  493. package/cjs/core/ThemeProvider/index.d.ts +0 -4
  494. package/cjs/core/ThemeProvider/index.js +0 -15
  495. package/cjs/core/Tile/index.d.ts +0 -3
  496. package/cjs/core/Tile/index.js +0 -15
  497. package/cjs/core/TimePicker/index.d.ts +0 -4
  498. package/cjs/core/TimePicker/index.js +0 -15
  499. package/cjs/core/Toast/index.d.ts +0 -1
  500. package/cjs/core/Toast/index.js +0 -14
  501. package/cjs/core/ToggleSwitch/index.d.ts +0 -3
  502. package/cjs/core/ToggleSwitch/index.js +0 -15
  503. package/cjs/core/Tooltip/index.d.ts +0 -3
  504. package/cjs/core/Tooltip/index.js +0 -15
  505. package/cjs/core/TransferList/index.d.ts +0 -3
  506. package/cjs/core/TransferList/index.js +0 -15
  507. package/cjs/core/Tree/index.d.ts +0 -4
  508. package/cjs/core/Tree/index.js +0 -28
  509. package/cjs/core/Typography/Anchor/index.d.ts +0 -3
  510. package/cjs/core/Typography/Anchor/index.js +0 -15
  511. package/cjs/core/Typography/Blockquote/index.d.ts +0 -3
  512. package/cjs/core/Typography/Blockquote/index.js +0 -15
  513. package/cjs/core/Typography/Code/index.d.ts +0 -3
  514. package/cjs/core/Typography/Code/index.js +0 -15
  515. package/cjs/core/Typography/Kbd/index.d.ts +0 -3
  516. package/cjs/core/Typography/Kbd/index.js +0 -21
  517. package/cjs/core/Typography/Text/index.d.ts +0 -3
  518. package/cjs/core/Typography/Text/index.js +0 -15
  519. package/cjs/core/Typography/index.d.ts +0 -5
  520. package/cjs/core/Typography/index.js +0 -54
  521. package/cjs/core/index.d.ts +0 -68
  522. package/cjs/core/index.js +0 -916
  523. package/cjs/types/react-table-config.d.ts +0 -135
  524. package/cjs/types/react-table-config.js +0 -2
  525. package/esm/core/Alert/index.d.ts +0 -3
  526. package/esm/core/Alert/index.js +0 -6
  527. package/esm/core/Avatar/index.d.ts +0 -3
  528. package/esm/core/Avatar/index.js +0 -6
  529. package/esm/core/AvatarGroup/index.d.ts +0 -3
  530. package/esm/core/AvatarGroup/index.js +0 -6
  531. package/esm/core/Backdrop/index.d.ts +0 -1
  532. package/esm/core/Badge/index.d.ts +0 -3
  533. package/esm/core/Badge/index.js +0 -6
  534. package/esm/core/Breadcrumbs/index.d.ts +0 -3
  535. package/esm/core/Breadcrumbs/index.js +0 -6
  536. package/esm/core/ButtonGroup/index.d.ts +0 -3
  537. package/esm/core/ButtonGroup/index.js +0 -6
  538. package/esm/core/Buttons/Button/index.d.ts +0 -3
  539. package/esm/core/Buttons/Button/index.js +0 -6
  540. package/esm/core/Buttons/DropdownButton/index.d.ts +0 -3
  541. package/esm/core/Buttons/DropdownButton/index.js +0 -6
  542. package/esm/core/Buttons/IconButton/index.d.ts +0 -3
  543. package/esm/core/Buttons/IconButton/index.js +0 -6
  544. package/esm/core/Buttons/IdeasButton/index.d.ts +0 -3
  545. package/esm/core/Buttons/IdeasButton/index.js +0 -6
  546. package/esm/core/Buttons/SplitButton/index.d.ts +0 -3
  547. package/esm/core/Buttons/SplitButton/index.js +0 -6
  548. package/esm/core/Buttons/index.d.ts +0 -5
  549. package/esm/core/Buttons/index.js +0 -9
  550. package/esm/core/Carousel/index.d.ts +0 -3
  551. package/esm/core/Carousel/index.js +0 -6
  552. package/esm/core/Checkbox/index.d.ts +0 -3
  553. package/esm/core/Checkbox/index.js +0 -6
  554. package/esm/core/ColorPicker/index.d.ts +0 -7
  555. package/esm/core/ColorPicker/index.js +0 -10
  556. package/esm/core/ComboBox/index.d.ts +0 -3
  557. package/esm/core/ComboBox/index.js +0 -6
  558. package/esm/core/DatePicker/index.d.ts +0 -3
  559. package/esm/core/DatePicker/index.js +0 -6
  560. package/esm/core/Dialog/index.d.ts +0 -3
  561. package/esm/core/Dialog/index.js +0 -6
  562. package/esm/core/DropdownMenu/index.d.ts +0 -4
  563. package/esm/core/DropdownMenu/index.js +0 -6
  564. package/esm/core/ExpandableBlock/index.d.ts +0 -3
  565. package/esm/core/ExpandableBlock/index.js +0 -6
  566. package/esm/core/Fieldset/index.d.ts +0 -3
  567. package/esm/core/Fieldset/index.js +0 -6
  568. package/esm/core/FileUpload/index.d.ts +0 -6
  569. package/esm/core/FileUpload/index.js +0 -9
  570. package/esm/core/Footer/index.d.ts +0 -4
  571. package/esm/core/Footer/index.js +0 -6
  572. package/esm/core/Header/index.d.ts +0 -6
  573. package/esm/core/Header/index.js +0 -9
  574. package/esm/core/InformationPanel/index.d.ts +0 -7
  575. package/esm/core/InformationPanel/index.js +0 -10
  576. package/esm/core/Input/index.d.ts +0 -3
  577. package/esm/core/Input/index.js +0 -6
  578. package/esm/core/InputGrid/index.d.ts +0 -3
  579. package/esm/core/InputGrid/index.js +0 -6
  580. package/esm/core/InputGroup/index.d.ts +0 -3
  581. package/esm/core/InputGroup/index.js +0 -6
  582. package/esm/core/InputWithDecorations/index.d.ts +0 -3
  583. package/esm/core/InputWithDecorations/index.js +0 -6
  584. package/esm/core/Label/index.d.ts +0 -3
  585. package/esm/core/Label/index.js +0 -6
  586. package/esm/core/LabeledInput/index.d.ts +0 -3
  587. package/esm/core/LabeledInput/index.js +0 -6
  588. package/esm/core/LabeledSelect/index.d.ts +0 -3
  589. package/esm/core/LabeledSelect/index.js +0 -6
  590. package/esm/core/LabeledTextarea/index.d.ts +0 -3
  591. package/esm/core/LabeledTextarea/index.js +0 -6
  592. package/esm/core/List/index.d.ts +0 -2
  593. package/esm/core/List/index.js +0 -6
  594. package/esm/core/Menu/index.d.ts +0 -5
  595. package/esm/core/Menu/index.js +0 -9
  596. package/esm/core/Modal/index.d.ts +0 -5
  597. package/esm/core/Modal/index.js +0 -8
  598. package/esm/core/NonIdealState/index.d.ts +0 -5
  599. package/esm/core/NonIdealState/index.js +0 -7
  600. package/esm/core/NotificationMarker/index.d.ts +0 -3
  601. package/esm/core/NotificationMarker/index.js +0 -6
  602. package/esm/core/Overlay/index.d.ts +0 -1
  603. package/esm/core/Overlay/index.js +0 -5
  604. package/esm/core/ProgressIndicators/index.d.ts +0 -2
  605. package/esm/core/ProgressIndicators/index.js +0 -6
  606. package/esm/core/Radio/index.d.ts +0 -3
  607. package/esm/core/Radio/index.js +0 -6
  608. package/esm/core/RadioTiles/index.d.ts +0 -4
  609. package/esm/core/RadioTiles/index.js +0 -7
  610. package/esm/core/SearchBox/index.d.ts +0 -3
  611. package/esm/core/SearchBox/index.js +0 -6
  612. package/esm/core/Select/index.d.ts +0 -4
  613. package/esm/core/Select/index.js +0 -6
  614. package/esm/core/SideNavigation/index.d.ts +0 -6
  615. package/esm/core/SideNavigation/index.js +0 -9
  616. package/esm/core/SkipToContentLink/index.d.ts +0 -3
  617. package/esm/core/SkipToContentLink/index.js +0 -6
  618. package/esm/core/Slider/index.d.ts +0 -3
  619. package/esm/core/Slider/index.js +0 -6
  620. package/esm/core/StatusMessage/index.d.ts +0 -3
  621. package/esm/core/StatusMessage/index.js +0 -6
  622. package/esm/core/Stepper/index.d.ts +0 -3
  623. package/esm/core/Stepper/index.js +0 -6
  624. package/esm/core/Surface/index.d.ts +0 -3
  625. package/esm/core/Surface/index.js +0 -6
  626. package/esm/core/Tabs/Tab.d.ts +0 -40
  627. package/esm/core/Tabs/Tab.js +0 -57
  628. package/esm/core/Tabs/index.d.ts +0 -2
  629. package/esm/core/Tabs/index.js +0 -6
  630. package/esm/core/Tag/index.d.ts +0 -4
  631. package/esm/core/Tag/index.js +0 -7
  632. package/esm/core/Textarea/index.d.ts +0 -3
  633. package/esm/core/Textarea/index.js +0 -6
  634. package/esm/core/ThemeProvider/index.d.ts +0 -4
  635. package/esm/core/ThemeProvider/index.js +0 -6
  636. package/esm/core/Tile/index.d.ts +0 -3
  637. package/esm/core/Tile/index.js +0 -6
  638. package/esm/core/TimePicker/index.d.ts +0 -4
  639. package/esm/core/TimePicker/index.js +0 -6
  640. package/esm/core/Toast/index.d.ts +0 -1
  641. package/esm/core/Toast/index.js +0 -5
  642. package/esm/core/ToggleSwitch/index.d.ts +0 -3
  643. package/esm/core/ToggleSwitch/index.js +0 -6
  644. package/esm/core/Tooltip/index.d.ts +0 -3
  645. package/esm/core/Tooltip/index.js +0 -6
  646. package/esm/core/TransferList/index.d.ts +0 -3
  647. package/esm/core/TransferList/index.js +0 -6
  648. package/esm/core/Tree/index.d.ts +0 -4
  649. package/esm/core/Tree/index.js +0 -7
  650. package/esm/core/Typography/Anchor/index.d.ts +0 -3
  651. package/esm/core/Typography/Anchor/index.js +0 -6
  652. package/esm/core/Typography/Blockquote/index.d.ts +0 -3
  653. package/esm/core/Typography/Blockquote/index.js +0 -6
  654. package/esm/core/Typography/Code/index.d.ts +0 -3
  655. package/esm/core/Typography/Code/index.js +0 -6
  656. package/esm/core/Typography/Kbd/index.d.ts +0 -3
  657. package/esm/core/Typography/Kbd/index.js +0 -6
  658. package/esm/core/Typography/Text/index.d.ts +0 -3
  659. package/esm/core/Typography/Text/index.js +0 -6
  660. package/esm/core/Typography/index.d.ts +0 -5
  661. package/esm/core/Typography/index.js +0 -9
  662. package/esm/core/index.d.ts +0 -68
  663. package/esm/core/index.js +0 -132
  664. package/esm/types/react-table-config.d.ts +0 -135
  665. package/esm/types/react-table-config.js +0 -1
package/README.md CHANGED
@@ -2,10 +2,10 @@
2
2
  <picture>
3
3
  <source
4
4
  media='(prefers-color-scheme: dark)'
5
- srcset='https://itwin.github.io/iTwinUI/dev/logo-dark.svg'
5
+ srcset='https://itwin.github.io/iTwinUI/logo-dark.svg'
6
6
  />
7
7
  <img
8
- src='https://itwin.github.io/iTwinUI/dev/logo.svg'
8
+ src='https://itwin.github.io/iTwinUI/logo.svg'
9
9
  alt='iTwinUI logo'
10
10
  />
11
11
  </picture>
@@ -23,7 +23,9 @@
23
23
  ## What is iTwinUI-react?
24
24
 
25
25
  iTwinUI-react is a React component library for [iTwinUI](https://github.com/iTwin/iTwinUI).
26
- The goal of this package is to provide React components that make it easier to use the styles from [`@itwin/itwinui-css`](https://github.com/iTwin/iTwinUI/tree/main/packages/itwinui-css). Check out the [demo website](https://itwin.github.io/iTwinUI/react) to see the components in action.
26
+ The goal of this package is to provide React components that make it easier to use the styles from [`@itwin/itwinui-css`](https://github.com/iTwin/iTwinUI/tree/main/packages/itwinui-css). Check out the [documentation website](https://itwinui.bentley.com/) to detailed documentation and examples of all components.
27
+
28
+ 🆕 Check out the [v3 migration guide](https://github.com/iTwin/iTwinUI/wiki/iTwinUI-react-v3-migration-guide) if you're upgrading from an older version.
27
29
 
28
30
  ---
29
31
 
@@ -33,10 +35,6 @@ The goal of this package is to provide React components that make it easier to u
33
35
  npm install @itwin/itwinui-react
34
36
  ```
35
37
 
36
- ```
37
- yarn add @itwin/itwinui-react
38
- ```
39
-
40
38
  ---
41
39
 
42
40
  ## Setup
@@ -55,7 +55,7 @@ export declare const Alert: PolymorphicForwardRefComponent<"div", AlertOwnProps
55
55
  Icon: PolymorphicForwardRefComponent<"span", Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
56
56
  ref?: ((instance: HTMLSpanElement | null) => void) | React.RefObject<HTMLSpanElement> | null | undefined;
57
57
  }, "fill" | "as" | "key" | "size" | keyof React.HTMLAttributes<HTMLSpanElement> | "padded"> & {
58
- size?: "small" | "large" | "auto" | "medium" | import("../utils/types.js").AnyString | undefined;
58
+ size?: "small" | "auto" | "medium" | "large" | import("../utils/types.js").AnyString | undefined;
59
59
  fill?: "default" | "informational" | "negative" | "positive" | "warning" | import("../utils/types.js").AnyString | undefined;
60
60
  padded?: boolean | undefined;
61
61
  } & Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
@@ -9,7 +9,8 @@ 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 index_js_2 = require('../Buttons/index.js');
12
+ const IconButton_js_1 = require('../Buttons/IconButton.js');
13
+ const Icon_js_1 = require('../Icon/Icon.js');
13
14
  const AlertContext = React.createContext(undefined);
14
15
  // ----------------------------------------------------------------------------
15
16
  // Alert component
@@ -75,7 +76,7 @@ const AlertIcon = React.forwardRef((props, ref) => {
75
76
  const { type } = (0, index_js_1.useSafeContext)(AlertContext);
76
77
  const StatusIcon = index_js_1.StatusIconMap[type];
77
78
  return React.createElement(
78
- index_js_1.Icon,
79
+ Icon_js_1.Icon,
79
80
  { fill: type, ref: ref, ...rest },
80
81
  children ?? React.createElement(StatusIcon, null),
81
82
  );
@@ -106,7 +107,7 @@ AlertAction.displayName = 'Alert.Action';
106
107
  const AlertCloseButton = React.forwardRef((props, ref) => {
107
108
  const { children, ...rest } = props;
108
109
  return React.createElement(
109
- index_js_2.IconButton,
110
+ IconButton_js_1.IconButton,
110
111
  {
111
112
  styleType: 'borderless',
112
113
  size: 'small',
@@ -9,6 +9,7 @@ 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 VisuallyHidden_js_1 = require('../VisuallyHidden/VisuallyHidden.js');
12
13
  /**
13
14
  * Helper function that returns one of the preset badge color values.
14
15
  */
@@ -77,7 +78,7 @@ exports.Avatar = React.forwardRef((props, ref) => {
77
78
  image,
78
79
  status
79
80
  ? React.createElement(
80
- index_js_1.VisuallyHidden,
81
+ VisuallyHidden_js_1.VisuallyHidden,
81
82
  null,
82
83
  statusTitles[status],
83
84
  )
@@ -9,6 +9,8 @@ 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 Button_js_1 = require('../Buttons/Button.js');
13
+ const logWarningInDev = (0, index_js_1.createWarningLogger)();
12
14
  /**
13
15
  * A breadcrumb trail is used as a navigational aid to help users keep track
14
16
  * of their place in the application. It is often placed before a page's main content.
@@ -104,24 +106,38 @@ const BreadcrumbsComponent = React.forwardRef((props, ref) => {
104
106
  ),
105
107
  );
106
108
  });
109
+ // ----------------------------------------------------------------------------
107
110
  const ListItem = ({ item, isActive }) => {
111
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
112
+ let children = item;
113
+ if (
114
+ children?.type === 'span' ||
115
+ children?.type === 'a' ||
116
+ children?.type === Button_js_1.Button
117
+ ) {
118
+ logWarningInDev(
119
+ 'Directly using Button/a/span as Breadcrumbs children is deprecated, please use `Breadcrumbs.Item` instead.',
120
+ );
121
+ children = React.createElement(BreadcrumbsItem, { ...children.props });
122
+ }
108
123
  return React.createElement(
109
124
  index_js_1.Box,
110
125
  { as: 'li', className: 'iui-breadcrumbs-item' },
111
- React.isValidElement(item)
112
- ? React.cloneElement(item, {
113
- 'aria-current':
114
- item.props['aria-current'] ?? isActive ? 'location' : undefined,
115
- })
116
- : item,
126
+ children &&
127
+ React.cloneElement(children, {
128
+ 'aria-current':
129
+ children.props['aria-current'] ?? isActive ? 'location' : undefined,
130
+ }),
117
131
  );
118
132
  };
133
+ // ----------------------------------------------------------------------------
119
134
  const Separator = ({ separator }) =>
120
135
  React.createElement(
121
136
  index_js_1.Box,
122
137
  { as: 'li', className: 'iui-breadcrumbs-separator', 'aria-hidden': true },
123
138
  separator ?? React.createElement(index_js_1.SvgChevronRight, null),
124
139
  );
140
+ // ----------------------------------------------------------------------------
125
141
  const BreadcrumbsItem = React.forwardRef((props, forwardedRef) => {
126
142
  const { children: childrenProp, className, ...rest } = props;
127
143
  const defaultAs = !!props.href ? 'a' : !!props.onClick ? 'button' : 'span';
@@ -144,6 +160,7 @@ const BreadcrumbsItem = React.forwardRef((props, forwardedRef) => {
144
160
  );
145
161
  });
146
162
  BreadcrumbsItem.displayName = 'Breadcrumbs.Item';
163
+ // ----------------------------------------------------------------------------
147
164
  exports.Breadcrumbs = Object.assign(BreadcrumbsComponent, {
148
165
  /**
149
166
  * Breadcrumbs item subcomponent
@@ -48,10 +48,7 @@ exports.ButtonGroup = React.forwardRef((props, ref) => {
48
48
  ...rest
49
49
  } = props;
50
50
  const items = React.useMemo(
51
- () =>
52
- React.Children.map(children, (child) =>
53
- !!child ? React.createElement('div', null, child) : undefined,
54
- )?.filter(Boolean) ?? [],
51
+ () => React.Children.toArray(children).filter(Boolean),
55
52
  [children],
56
53
  );
57
54
  const [overflowRef, visibleCount] = (0, index_js_1.useOverflow)(
@@ -67,14 +64,15 @@ exports.ButtonGroup = React.forwardRef((props, ref) => {
67
64
  index_js_1.Box,
68
65
  {
69
66
  className: (0, classnames_1.default)(
67
+ 'iui-button-group',
70
68
  {
71
- 'iui-button-group': orientation === 'horizontal',
72
- 'iui-button-group-vertical': orientation === 'vertical',
73
69
  'iui-button-group-overflow-x':
74
70
  !!overflowButton && orientation === 'horizontal',
75
71
  },
76
72
  className,
77
73
  ),
74
+ 'data-iui-orientation':
75
+ orientation === 'vertical' ? orientation : undefined,
78
76
  ref: refs,
79
77
  ...rest,
80
78
  },
@@ -91,13 +89,13 @@ exports.ButtonGroup = React.forwardRef((props, ref) => {
91
89
  null,
92
90
  overflowButton &&
93
91
  overflowPlacement === 'start' &&
94
- React.createElement('div', null, overflowButton(overflowStart)),
92
+ overflowButton(overflowStart),
95
93
  overflowPlacement === 'start'
96
94
  ? items.slice(overflowStart + 1)
97
95
  : items.slice(0, Math.max(0, overflowStart)),
98
96
  overflowButton &&
99
97
  overflowPlacement === 'end' &&
100
- React.createElement('div', null, overflowButton(overflowStart)),
98
+ overflowButton(overflowStart),
101
99
  );
102
100
  })(),
103
101
  ),
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import { ButtonBase } from '../../utils/index.js';
3
- import type { PolymorphicForwardRefComponent } from '../../utils/index.js';
2
+ import { ButtonBase } from '../utils/index.js';
3
+ import type { PolymorphicForwardRefComponent } from '../utils/index.js';
4
4
  export type ButtonProps = {
5
5
  /**
6
6
  * Modify size of the button.
@@ -8,7 +8,7 @@ const tslib_1 = require('tslib');
8
8
  *--------------------------------------------------------------------------------------------*/
9
9
  const classnames_1 = tslib_1.__importDefault(require('classnames'));
10
10
  const React = tslib_1.__importStar(require('react'));
11
- const index_js_1 = require('../../utils/index.js');
11
+ const index_js_1 = require('../utils/index.js');
12
12
  /**
13
13
  * Generic button component
14
14
  * @example
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
- import type { ButtonProps } from '../Button/Button.js';
3
- import type { DropdownMenuProps } from '../../DropdownMenu/index.js';
4
- import type { PolymorphicForwardRefComponent } from '../../utils/index.js';
2
+ import type { ButtonProps } from './Button.js';
3
+ import type { DropdownMenuProps } from '../DropdownMenu/DropdownMenu.js';
4
+ import type { PolymorphicForwardRefComponent } from '../utils/index.js';
5
5
  export type DropdownButtonProps = {
6
6
  /**
7
7
  * Items in the dropdown menu.
@@ -8,9 +8,9 @@ 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('../Button/index.js');
12
- const index_js_2 = require('../../DropdownMenu/index.js');
13
- const index_js_3 = require('../../utils/index.js');
11
+ const Button_js_1 = require('./Button.js');
12
+ const DropdownMenu_js_1 = require('../DropdownMenu/DropdownMenu.js');
13
+ const index_js_1 = require('../utils/index.js');
14
14
  /**
15
15
  * Button that opens a DropdownMenu.
16
16
  * @example
@@ -32,7 +32,7 @@ exports.DropdownButton = React.forwardRef((props, forwardedRef) => {
32
32
  } = props;
33
33
  const [isMenuOpen, setIsMenuOpen] = React.useState(false);
34
34
  return React.createElement(
35
- index_js_2.DropdownMenu,
35
+ DropdownMenu_js_1.DropdownMenu,
36
36
  {
37
37
  menuItems: menuItems,
38
38
  matchWidth: true,
@@ -44,16 +44,16 @@ exports.DropdownButton = React.forwardRef((props, forwardedRef) => {
44
44
  },
45
45
  },
46
46
  React.createElement(
47
- index_js_1.Button,
47
+ Button_js_1.Button,
48
48
  {
49
49
  className: (0, classnames_1.default)('iui-button-dropdown', className),
50
50
  size: size,
51
51
  styleType: styleType,
52
52
  endIcon: isMenuOpen
53
- ? React.createElement(index_js_3.SvgCaretUpSmall, {
53
+ ? React.createElement(index_js_1.SvgCaretUpSmall, {
54
54
  'aria-hidden': true,
55
55
  })
56
- : React.createElement(index_js_3.SvgCaretDownSmall, {
56
+ : React.createElement(index_js_1.SvgCaretDownSmall, {
57
57
  'aria-hidden': true,
58
58
  }),
59
59
  ref: forwardedRef,
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import type { ButtonProps } from '../Button/Button.js';
3
- import type { PolymorphicForwardRefComponent } from '../../utils/index.js';
2
+ import type { ButtonProps } from './Button.js';
3
+ import type { PolymorphicForwardRefComponent } from '../utils/index.js';
4
4
  export type IconButtonProps = {
5
5
  /**
6
6
  * Button gets active style.
@@ -8,8 +8,9 @@ const tslib_1 = require('tslib');
8
8
  *--------------------------------------------------------------------------------------------*/
9
9
  const classnames_1 = tslib_1.__importDefault(require('classnames'));
10
10
  const React = tslib_1.__importStar(require('react'));
11
- const index_js_1 = require('../../utils/index.js');
12
- const Tooltip_js_1 = require('../../Tooltip/Tooltip.js');
11
+ const index_js_1 = require('../utils/index.js');
12
+ const Tooltip_js_1 = require('../Tooltip/Tooltip.js');
13
+ const VisuallyHidden_js_1 = require('../VisuallyHidden/VisuallyHidden.js');
13
14
  /**
14
15
  * Icon button
15
16
  * @example
@@ -52,7 +53,9 @@ exports.IconButton = React.forwardRef((props, ref) => {
52
53
  },
53
54
  children,
54
55
  ),
55
- label ? React.createElement(index_js_1.VisuallyHidden, null, label) : null,
56
+ label
57
+ ? React.createElement(VisuallyHidden_js_1.VisuallyHidden, null, label)
58
+ : null,
56
59
  );
57
60
  return label
58
61
  ? React.createElement(
@@ -1,4 +1,4 @@
1
- import type { PolymorphicForwardRefComponent } from '../../utils/index.js';
1
+ import type { PolymorphicForwardRefComponent } from '../utils/index.js';
2
2
  type IdeasButtonProps = {
3
3
  /**
4
4
  * On click handler.
@@ -7,8 +7,8 @@ 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('../../utils/index.js');
11
- const index_js_2 = require('../Button/index.js');
10
+ const index_js_1 = require('../utils/index.js');
11
+ const Button_js_1 = require('./Button.js');
12
12
  /**
13
13
  * Ideas button
14
14
  * @example
@@ -17,7 +17,7 @@ const index_js_2 = require('../Button/index.js');
17
17
  exports.IdeasButton = React.forwardRef((props, ref) => {
18
18
  const { feedbackLabel = 'Feedback', onClick, ...rest } = props;
19
19
  return React.createElement(
20
- index_js_2.Button,
20
+ Button_js_1.Button,
21
21
  {
22
22
  ref: ref,
23
23
  'data-iui-variant': 'idea',
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
- import type { ButtonProps } from '../Button/Button.js';
3
- import { IconButton } from '../IconButton/index.js';
4
- import type { PolymorphicForwardRefComponent, PortalProps } from '../../utils/index.js';
2
+ import type { ButtonProps } from './Button.js';
3
+ import { IconButton } from './IconButton.js';
4
+ import type { PolymorphicForwardRefComponent, PortalProps } from '../utils/index.js';
5
5
  import type { Placement } from '@floating-ui/react';
6
6
  export type SplitButtonProps = ButtonProps & {
7
7
  /**
@@ -8,10 +8,11 @@ const tslib_1 = require('tslib');
8
8
  *--------------------------------------------------------------------------------------------*/
9
9
  const classnames_1 = tslib_1.__importDefault(require('classnames'));
10
10
  const React = tslib_1.__importStar(require('react'));
11
- const index_js_1 = require('../Button/index.js');
12
- const index_js_2 = require('../IconButton/index.js');
13
- const index_js_3 = require('../../utils/index.js');
14
- const Menu_js_1 = require('../../Menu/Menu.js');
11
+ const Button_js_1 = require('./Button.js');
12
+ const IconButton_js_1 = require('./IconButton.js');
13
+ const index_js_1 = require('../utils/index.js');
14
+ const Menu_js_1 = require('../Menu/Menu.js');
15
+ const Popover_js_1 = require('../Popover/Popover.js');
15
16
  /**
16
17
  * Split button component with a DropdownMenu.
17
18
  *
@@ -52,15 +53,15 @@ exports.SplitButton = React.forwardRef((props, forwardedRef) => {
52
53
  }
53
54
  return menuItems;
54
55
  }, [menuItems, close]);
55
- const popover = (0, index_js_3.usePopover)({
56
+ const popover = (0, Popover_js_1.usePopover)({
56
57
  visible,
57
58
  onVisibleChange: (open) => (open ? setVisible(true) : close()),
58
59
  placement: menuPlacement,
59
60
  matchWidth: true,
60
61
  });
61
- const labelId = (0, index_js_3.useId)();
62
+ const labelId = (0, index_js_1.useId)();
62
63
  return React.createElement(
63
- index_js_3.Box,
64
+ index_js_1.Box,
64
65
  {
65
66
  ...wrapperProps,
66
67
  ref: popover.refs.setPositionReference,
@@ -73,20 +74,20 @@ exports.SplitButton = React.forwardRef((props, forwardedRef) => {
73
74
  ),
74
75
  },
75
76
  React.createElement(
76
- index_js_1.Button,
77
+ Button_js_1.Button,
77
78
  {
78
79
  className: className,
79
80
  styleType: styleType,
80
81
  size: size,
81
82
  onClick: onClick,
82
- ref: (0, index_js_3.useMergedRefs)(buttonRef, forwardedRef),
83
+ ref: (0, index_js_1.useMergedRefs)(buttonRef, forwardedRef),
83
84
  ...rest,
84
85
  labelProps: { id: labelId, ...props.labelProps },
85
86
  },
86
87
  children,
87
88
  ),
88
89
  React.createElement(
89
- index_js_2.IconButton,
90
+ IconButton_js_1.IconButton,
90
91
  {
91
92
  styleType: styleType,
92
93
  size: size,
@@ -97,12 +98,12 @@ exports.SplitButton = React.forwardRef((props, forwardedRef) => {
97
98
  ...popover.getReferenceProps(menuButtonProps),
98
99
  },
99
100
  visible
100
- ? React.createElement(index_js_3.SvgCaretUpSmall, null)
101
- : React.createElement(index_js_3.SvgCaretDownSmall, null),
101
+ ? React.createElement(index_js_1.SvgCaretUpSmall, null)
102
+ : React.createElement(index_js_1.SvgCaretDownSmall, null),
102
103
  ),
103
104
  popover.open &&
104
105
  React.createElement(
105
- index_js_3.Portal,
106
+ index_js_1.Portal,
106
107
  { portal: portal },
107
108
  React.createElement(
108
109
  Menu_js_1.Menu,
@@ -14,7 +14,8 @@ type CarouselProps = {
14
14
  };
15
15
  /**
16
16
  * The Carousel component consists of a set of slides, normally displayed one at a time. A navigation section is
17
- * located below the slides, consisting of "dots" and "previous"/"next" buttons, used for changing slides.
17
+ * shown below the slides, consisting of "dots" and "previous"/"next" buttons, used for changing slides; this navigation
18
+ * section must be present _before_ the slides in DOM order, even though it is visually shown below the slides.
18
19
  *
19
20
  * The currently shown slide can also be changed using the left/right arrow keys or by dragging on a touch device.
20
21
  *
@@ -22,27 +23,30 @@ type CarouselProps = {
22
23
  *
23
24
  * @example
24
25
  * <Carousel>
26
+ * <Carousel.Navigation />
25
27
  * <Carousel.Slider>
26
28
  * <Carousel.Slide>...</Carousel.Slide>
27
29
  * <Carousel.Slide>...</Carousel.Slide>
28
30
  * <Carousel.Slide>...</Carousel.Slide>
29
31
  * </Carousel.Slider>
30
- * <Carousel.Navigation />
31
32
  * </Carousel>
32
33
  */
33
34
  export declare const Carousel: PolymorphicForwardRefComponent<"section", CarouselProps> & {
34
- Slider: PolymorphicForwardRefComponent<"ol", {}>;
35
- Slide: PolymorphicForwardRefComponent<"li", {
35
+ Slider: PolymorphicForwardRefComponent<"div", {}>;
36
+ Slide: PolymorphicForwardRefComponent<"div", {
36
37
  index?: number | undefined;
37
38
  }>;
38
- Navigation: PolymorphicForwardRefComponent<"nav", {}> & {
39
+ /**
40
+ * Contains the dots and previous/next buttons for navigating the slides. Must be present _before_ the slides in DOM.
41
+ */
42
+ Navigation: PolymorphicForwardRefComponent<"div", {}> & {
39
43
  PreviousButton: PolymorphicForwardRefComponent<"button", Omit<Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
40
44
  ref?: ((instance: HTMLButtonElement | null) => void) | React.RefObject<HTMLButtonElement> | null | undefined;
41
45
  }, "label" | "as" | "size" | "htmlDisabled" | "styleType" | "isActive" | "iconProps"> & {
42
46
  isActive?: boolean | undefined;
43
47
  label?: React.ReactNode;
44
48
  iconProps?: React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement> | undefined;
45
- } & Omit<import("../Buttons/Button/Button.js").ButtonProps, "startIcon" | "endIcon" | "labelProps" | "startIconProps" | "endIconProps"> & {
49
+ } & Omit<import("../Buttons/Button.js").ButtonProps, "startIcon" | "endIcon" | "labelProps" | "startIconProps" | "endIconProps"> & {
46
50
  as?: "button" | undefined;
47
51
  }>;
48
52
  NextButton: PolymorphicForwardRefComponent<"button", Omit<Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
@@ -51,10 +55,13 @@ export declare const Carousel: PolymorphicForwardRefComponent<"section", Carouse
51
55
  isActive?: boolean | undefined;
52
56
  label?: React.ReactNode;
53
57
  iconProps?: React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement> | undefined;
54
- } & Omit<import("../Buttons/Button/Button.js").ButtonProps, "startIcon" | "endIcon" | "labelProps" | "startIconProps" | "endIconProps"> & {
58
+ } & Omit<import("../Buttons/Button.js").ButtonProps, "startIcon" | "endIcon" | "labelProps" | "startIconProps" | "endIconProps"> & {
55
59
  as?: "button" | undefined;
56
60
  }>;
57
61
  };
62
+ /**
63
+ * Contains the dots for activating the slides. Must be present _before_ the slides in DOM.
64
+ */
58
65
  DotsList: PolymorphicForwardRefComponent<"div", {
59
66
  length?: number | undefined;
60
67
  currentIndex?: number | undefined;
@@ -38,42 +38,9 @@ const CarouselComponent = React.forwardRef((props, ref) => {
38
38
  scrollToSlide.current(userActiveIndex, {
39
39
  instant: justMounted.current,
40
40
  });
41
- // re-focus the carousel for keyboard nav, but not on first mount
42
- // because it shows outline and might interfere with other components
43
- if (!justMounted.current) {
44
- carouselRef.current?.focus({ preventScroll: true });
45
- }
46
41
  justMounted.current = false;
47
42
  }, [userActiveIndex]);
48
43
  const [slideCount, setSlideCount] = React.useState(0);
49
- const [keysPressed, setKeysPressed] = React.useState({});
50
- const handleKeyDown = (event) => {
51
- if (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey) {
52
- return;
53
- }
54
- const key = event.key;
55
- if (key === 'ArrowLeft' || key === 'ArrowRight') {
56
- setKeysPressed((old) => ({ ...old, [key]: true }));
57
- }
58
- };
59
- const handleKeyUp = (event) => {
60
- switch (event.key) {
61
- case 'ArrowLeft': {
62
- setKeysPressed((old) => ({ ...old, ArrowLeft: false }));
63
- const prevIndex = (slideCount + currentIndex - 1) % slideCount;
64
- scrollToSlide.current(prevIndex);
65
- setCurrentIndex(prevIndex);
66
- break;
67
- }
68
- case 'ArrowRight': {
69
- setKeysPressed((old) => ({ ...old, ArrowRight: false }));
70
- const nextIndex = (slideCount + currentIndex + 1) % slideCount;
71
- scrollToSlide.current(nextIndex);
72
- setCurrentIndex(nextIndex);
73
- break;
74
- }
75
- }
76
- };
77
44
  const userOnSlideChange = (0, index_js_1.useLatestRef)(onSlideChange);
78
45
  React.useEffect(() => {
79
46
  userOnSlideChange.current?.(currentIndex);
@@ -83,9 +50,6 @@ const CarouselComponent = React.forwardRef((props, ref) => {
83
50
  {
84
51
  as: 'section',
85
52
  'aria-roledescription': 'carousel',
86
- tabIndex: 0,
87
- onKeyDown: handleKeyDown,
88
- onKeyUp: handleKeyUp,
89
53
  ref: refs,
90
54
  className: (0, classnames_1.default)('iui-carousel', className),
91
55
  ...rest,
@@ -99,7 +63,6 @@ const CarouselComponent = React.forwardRef((props, ref) => {
99
63
  setCurrentIndex,
100
64
  slideCount,
101
65
  setSlideCount,
102
- keysPressed,
103
66
  idPrefix: id,
104
67
  isManuallyUpdating,
105
68
  scrollToSlide,
@@ -111,7 +74,8 @@ const CarouselComponent = React.forwardRef((props, ref) => {
111
74
  });
112
75
  /**
113
76
  * The Carousel component consists of a set of slides, normally displayed one at a time. A navigation section is
114
- * located below the slides, consisting of "dots" and "previous"/"next" buttons, used for changing slides.
77
+ * shown below the slides, consisting of "dots" and "previous"/"next" buttons, used for changing slides; this navigation
78
+ * section must be present _before_ the slides in DOM order, even though it is visually shown below the slides.
115
79
  *
116
80
  * The currently shown slide can also be changed using the left/right arrow keys or by dragging on a touch device.
117
81
  *
@@ -119,18 +83,24 @@ const CarouselComponent = React.forwardRef((props, ref) => {
119
83
  *
120
84
  * @example
121
85
  * <Carousel>
86
+ * <Carousel.Navigation />
122
87
  * <Carousel.Slider>
123
88
  * <Carousel.Slide>...</Carousel.Slide>
124
89
  * <Carousel.Slide>...</Carousel.Slide>
125
90
  * <Carousel.Slide>...</Carousel.Slide>
126
91
  * </Carousel.Slider>
127
- * <Carousel.Navigation />
128
92
  * </Carousel>
129
93
  */
130
94
  exports.Carousel = Object.assign(CarouselComponent, {
131
95
  Slider: CarouselSlider_js_1.CarouselSlider,
132
96
  Slide: CarouselSlide_js_1.CarouselSlide,
97
+ /**
98
+ * Contains the dots and previous/next buttons for navigating the slides. Must be present _before_ the slides in DOM.
99
+ */
133
100
  Navigation: CarouselNavigation_js_1.CarouselNavigation,
101
+ /**
102
+ * Contains the dots for activating the slides. Must be present _before_ the slides in DOM.
103
+ */
134
104
  DotsList: CarouselDotsList_js_1.CarouselDotsList,
135
105
  Dot: CarouselDot_js_1.CarouselDot,
136
106
  });
@@ -16,10 +16,6 @@ export declare const CarouselContext: React.Context<{
16
16
  * State updater for slideCount.
17
17
  */
18
18
  setSlideCount: (length: number | ((old: number) => void)) => void;
19
- /**
20
- * Stateful value of the left/right arrow keys currently pressed.
21
- */
22
- keysPressed: Record<string, boolean>;
23
19
  /**
24
20
  * Prefix used for setting id for internal carousel components.
25
21
  */
@@ -17,7 +17,7 @@ exports.CarouselDot = React.forwardRef((props, ref) => {
17
17
  const { isActive, isSmaller, isSmall, className, ...rest } = props;
18
18
  return React.createElement(index_js_1.ButtonBase, {
19
19
  role: 'tab',
20
- tabIndex: -1,
20
+ tabIndex: isActive ? 0 : -1,
21
21
  className: (0, classnames_1.default)(
22
22
  'iui-carousel-navigation-dot',
23
23
  {