@itwin/itwinui-react 3.0.0-dev.0 → 3.0.0-dev.2

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 (602) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +28 -22
  3. package/cjs/core/Alert/Alert.d.ts +47 -29
  4. package/cjs/core/Alert/Alert.js +73 -22
  5. package/cjs/core/Avatar/Avatar.d.ts +0 -1
  6. package/cjs/core/Avatar/Avatar.js +1 -2
  7. package/cjs/core/AvatarGroup/AvatarGroup.d.ts +0 -1
  8. package/cjs/core/AvatarGroup/AvatarGroup.js +1 -2
  9. package/cjs/core/Backdrop/Backdrop.d.ts +0 -1
  10. package/cjs/core/Backdrop/Backdrop.js +0 -1
  11. package/cjs/core/Badge/Badge.d.ts +0 -1
  12. package/cjs/core/Badge/Badge.js +0 -1
  13. package/cjs/core/Breadcrumbs/Breadcrumbs.d.ts +0 -1
  14. package/cjs/core/Breadcrumbs/Breadcrumbs.js +2 -4
  15. package/cjs/core/ButtonGroup/ButtonGroup.d.ts +0 -1
  16. package/cjs/core/ButtonGroup/ButtonGroup.js +1 -5
  17. package/cjs/core/Buttons/Button/Button.d.ts +0 -1
  18. package/cjs/core/Buttons/Button/Button.js +0 -1
  19. package/cjs/core/Buttons/DropdownButton/DropdownButton.d.ts +0 -1
  20. package/cjs/core/Buttons/DropdownButton/DropdownButton.js +3 -6
  21. package/cjs/core/Buttons/IconButton/IconButton.d.ts +0 -2
  22. package/cjs/core/Buttons/IconButton/IconButton.js +0 -2
  23. package/cjs/core/Buttons/SplitButton/SplitButton.d.ts +0 -1
  24. package/cjs/core/Buttons/SplitButton/SplitButton.js +0 -1
  25. package/cjs/core/Carousel/Carousel.d.ts +2 -3
  26. package/cjs/core/Carousel/Carousel.js +3 -6
  27. package/cjs/core/Carousel/CarouselDotsList.d.ts +0 -1
  28. package/cjs/core/Carousel/CarouselDotsList.js +8 -11
  29. package/cjs/core/Carousel/CarouselNavigation.d.ts +2 -2
  30. package/cjs/core/Carousel/CarouselNavigation.js +3 -5
  31. package/cjs/core/Carousel/CarouselSlider.js +10 -15
  32. package/cjs/core/Checkbox/Checkbox.d.ts +0 -1
  33. package/cjs/core/Checkbox/Checkbox.js +0 -1
  34. package/cjs/core/ColorPicker/ColorBuilder.d.ts +0 -1
  35. package/cjs/core/ColorPicker/ColorBuilder.js +7 -11
  36. package/cjs/core/ColorPicker/ColorInputPanel.d.ts +0 -1
  37. package/cjs/core/ColorPicker/ColorInputPanel.js +12 -16
  38. package/cjs/core/ColorPicker/ColorPalette.d.ts +0 -1
  39. package/cjs/core/ColorPicker/ColorPalette.js +4 -7
  40. package/cjs/core/ColorPicker/ColorPicker.d.ts +0 -1
  41. package/cjs/core/ColorPicker/ColorPicker.js +3 -4
  42. package/cjs/core/ColorPicker/ColorSwatch.d.ts +0 -1
  43. package/cjs/core/ColorPicker/ColorSwatch.js +0 -1
  44. package/cjs/core/ComboBox/ComboBox.d.ts +0 -1
  45. package/cjs/core/ComboBox/ComboBox.js +25 -33
  46. package/cjs/core/ComboBox/ComboBoxDropdown.js +1 -2
  47. package/cjs/core/ComboBox/ComboBoxEndIcon.js +1 -1
  48. package/cjs/core/ComboBox/ComboBoxInput.js +21 -20
  49. package/cjs/core/ComboBox/ComboBoxMenu.js +3 -4
  50. package/cjs/core/ComboBox/ComboBoxMenuItem.js +2 -2
  51. package/cjs/core/ComboBox/helpers.js +4 -5
  52. package/cjs/core/DatePicker/DatePicker.d.ts +0 -1
  53. package/cjs/core/DatePicker/DatePicker.js +32 -33
  54. package/cjs/core/Dialog/Dialog.d.ts +0 -1
  55. package/cjs/core/Dialog/Dialog.js +12 -5
  56. package/cjs/core/Dialog/DialogBackdrop.js +1 -1
  57. package/cjs/core/Dialog/DialogButtonBar.d.ts +0 -1
  58. package/cjs/core/Dialog/DialogButtonBar.js +0 -1
  59. package/cjs/core/Dialog/DialogContent.d.ts +0 -1
  60. package/cjs/core/Dialog/DialogContent.js +0 -1
  61. package/cjs/core/Dialog/DialogContext.d.ts +15 -0
  62. package/cjs/core/Dialog/DialogMain.d.ts +0 -1
  63. package/cjs/core/Dialog/DialogMain.js +18 -25
  64. package/cjs/core/Dialog/DialogTitleBar.d.ts +0 -1
  65. package/cjs/core/Dialog/DialogTitleBar.js +0 -1
  66. package/cjs/core/Dialog/DialogTitleBarTitle.d.ts +0 -1
  67. package/cjs/core/Dialog/DialogTitleBarTitle.js +0 -1
  68. package/cjs/core/DropdownMenu/DropdownMenu.js +6 -8
  69. package/cjs/core/ExpandableBlock/ExpandableBlock.d.ts +5 -1
  70. package/cjs/core/ExpandableBlock/ExpandableBlock.js +8 -6
  71. package/cjs/core/Fieldset/Fieldset.d.ts +0 -1
  72. package/cjs/core/Fieldset/Fieldset.js +0 -1
  73. package/cjs/core/FileUpload/FileEmptyCard.js +1 -1
  74. package/cjs/core/FileUpload/FileUpload.d.ts +0 -1
  75. package/cjs/core/FileUpload/FileUpload.js +3 -7
  76. package/cjs/core/FileUpload/FileUploadCard.d.ts +0 -1
  77. package/cjs/core/FileUpload/FileUploadCard.js +10 -12
  78. package/cjs/core/FileUpload/FileUploadTemplate.d.ts +0 -1
  79. package/cjs/core/FileUpload/FileUploadTemplate.js +0 -1
  80. package/cjs/core/Footer/Footer.d.ts +0 -1
  81. package/cjs/core/Footer/Footer.js +0 -1
  82. package/cjs/core/Footer/FooterItem.d.ts +0 -1
  83. package/cjs/core/Footer/FooterItem.js +0 -1
  84. package/cjs/core/Footer/FooterList.d.ts +0 -1
  85. package/cjs/core/Footer/FooterList.js +0 -1
  86. package/cjs/core/Footer/FooterSeparator.d.ts +0 -1
  87. package/cjs/core/Footer/FooterSeparator.js +0 -1
  88. package/cjs/core/Header/Header.d.ts +0 -1
  89. package/cjs/core/Header/Header.js +0 -1
  90. package/cjs/core/Header/HeaderBreadcrumbs.d.ts +0 -1
  91. package/cjs/core/Header/HeaderBreadcrumbs.js +0 -1
  92. package/cjs/core/Header/HeaderButton.d.ts +0 -1
  93. package/cjs/core/Header/HeaderButton.js +0 -1
  94. package/cjs/core/Header/HeaderLogo.d.ts +0 -1
  95. package/cjs/core/Header/HeaderLogo.js +0 -1
  96. package/cjs/core/InformationPanel/InformationPanel.d.ts +0 -1
  97. package/cjs/core/InformationPanel/InformationPanel.js +1 -5
  98. package/cjs/core/InformationPanel/InformationPanelBody.d.ts +0 -1
  99. package/cjs/core/InformationPanel/InformationPanelBody.js +0 -1
  100. package/cjs/core/InformationPanel/InformationPanelContent.d.ts +0 -1
  101. package/cjs/core/InformationPanel/InformationPanelContent.js +0 -1
  102. package/cjs/core/InformationPanel/InformationPanelHeader.d.ts +0 -1
  103. package/cjs/core/InformationPanel/InformationPanelHeader.js +0 -1
  104. package/cjs/core/InformationPanel/InformationPanelWrapper.d.ts +0 -1
  105. package/cjs/core/InformationPanel/InformationPanelWrapper.js +0 -1
  106. package/cjs/core/Input/Input.d.ts +0 -1
  107. package/cjs/core/Input/Input.js +0 -1
  108. package/cjs/core/InputGroup/InputGroup.d.ts +0 -1
  109. package/cjs/core/InputGroup/InputGroup.js +0 -1
  110. package/cjs/core/Label/Label.d.ts +0 -1
  111. package/cjs/core/Label/Label.js +0 -1
  112. package/cjs/core/LabeledInput/LabeledInput.d.ts +0 -1
  113. package/cjs/core/LabeledInput/LabeledInput.js +1 -2
  114. package/cjs/core/LabeledSelect/LabeledSelect.d.ts +0 -1
  115. package/cjs/core/LabeledSelect/LabeledSelect.js +0 -1
  116. package/cjs/core/LabeledTextarea/LabeledTextarea.d.ts +0 -1
  117. package/cjs/core/LabeledTextarea/LabeledTextarea.js +1 -2
  118. package/cjs/core/List/List.d.ts +0 -1
  119. package/cjs/core/List/List.js +0 -1
  120. package/cjs/core/List/ListItem.d.ts +0 -1
  121. package/cjs/core/List/ListItem.js +0 -1
  122. package/cjs/core/Menu/Menu.d.ts +0 -1
  123. package/cjs/core/Menu/Menu.js +3 -5
  124. package/cjs/core/Menu/MenuDivider.d.ts +0 -1
  125. package/cjs/core/Menu/MenuDivider.js +0 -1
  126. package/cjs/core/Menu/MenuExtraContent.d.ts +0 -1
  127. package/cjs/core/Menu/MenuExtraContent.js +0 -1
  128. package/cjs/core/Menu/MenuItem.d.ts +0 -1
  129. package/cjs/core/Menu/MenuItem.js +8 -12
  130. package/cjs/core/Menu/MenuItemSkeleton.d.ts +0 -1
  131. package/cjs/core/Menu/MenuItemSkeleton.js +0 -1
  132. package/cjs/core/Modal/Modal.d.ts +8 -10
  133. package/cjs/core/Modal/Modal.js +7 -18
  134. package/cjs/core/NonIdealState/NonIdealState.d.ts +0 -1
  135. package/cjs/core/NonIdealState/NonIdealState.js +0 -1
  136. package/cjs/core/NotificationMarker/NotificationMarker.d.ts +0 -1
  137. package/cjs/core/NotificationMarker/NotificationMarker.js +0 -1
  138. package/cjs/core/ProgressIndicators/ProgressLinear/ProgressLinear.d.ts +0 -1
  139. package/cjs/core/ProgressIndicators/ProgressLinear/ProgressLinear.js +0 -1
  140. package/cjs/core/ProgressIndicators/ProgressRadial/ProgressRadial.d.ts +0 -1
  141. package/cjs/core/ProgressIndicators/ProgressRadial/ProgressRadial.js +0 -1
  142. package/cjs/core/Radio/Radio.d.ts +0 -1
  143. package/cjs/core/Radio/Radio.js +0 -1
  144. package/cjs/core/RadioTiles/RadioTile.d.ts +0 -1
  145. package/cjs/core/RadioTiles/RadioTile.js +0 -1
  146. package/cjs/core/RadioTiles/RadioTileGroup.d.ts +0 -1
  147. package/cjs/core/RadioTiles/RadioTileGroup.js +0 -1
  148. package/cjs/core/SearchBox/SearchBox.d.ts +0 -1
  149. package/cjs/core/SearchBox/SearchBox.js +12 -13
  150. package/cjs/core/Select/Select.d.ts +0 -1
  151. package/cjs/core/Select/Select.js +12 -18
  152. package/cjs/core/Select/SelectTag.d.ts +0 -1
  153. package/cjs/core/Select/SelectTag.js +0 -1
  154. package/cjs/core/SideNavigation/SideNavigation.d.ts +0 -1
  155. package/cjs/core/SideNavigation/SideNavigation.js +2 -3
  156. package/cjs/core/SideNavigation/SidenavButton.d.ts +0 -1
  157. package/cjs/core/SideNavigation/SidenavButton.js +0 -1
  158. package/cjs/core/SideNavigation/SidenavSubmenu.d.ts +0 -1
  159. package/cjs/core/SideNavigation/SidenavSubmenu.js +0 -1
  160. package/cjs/core/SideNavigation/SidenavSubmenuHeader.d.ts +0 -1
  161. package/cjs/core/SideNavigation/SidenavSubmenuHeader.js +0 -1
  162. package/cjs/core/SkipToContentLink/SkipToContentLink.d.ts +0 -1
  163. package/cjs/core/SkipToContentLink/SkipToContentLink.js +0 -1
  164. package/cjs/core/Slider/Slider.d.ts +0 -1
  165. package/cjs/core/Slider/Slider.js +16 -20
  166. package/cjs/core/Slider/Thumb.js +1 -1
  167. package/cjs/core/Slider/Track.js +2 -1
  168. package/cjs/core/StatusMessage/StatusMessage.js +1 -1
  169. package/cjs/core/Stepper/Stepper.d.ts +0 -1
  170. package/cjs/core/Stepper/Stepper.js +1 -2
  171. package/cjs/core/Stepper/StepperStep.js +1 -1
  172. package/cjs/core/Stepper/WorkflowDiagram.d.ts +0 -1
  173. package/cjs/core/Stepper/WorkflowDiagram.js +0 -1
  174. package/cjs/core/Surface/Surface.d.ts +0 -1
  175. package/cjs/core/Surface/Surface.js +0 -1
  176. package/cjs/core/Table/Table.d.ts +0 -1
  177. package/cjs/core/Table/Table.js +33 -34
  178. package/cjs/core/Table/TableCell.js +3 -2
  179. package/cjs/core/Table/TablePaginator.d.ts +0 -1
  180. package/cjs/core/Table/TablePaginator.js +10 -12
  181. package/cjs/core/Table/TableRowMemoized.js +40 -47
  182. package/cjs/core/Table/actionHandlers/expandHandler.js +3 -3
  183. package/cjs/core/Table/actionHandlers/filterHandler.js +4 -5
  184. package/cjs/core/Table/actionHandlers/selectHandler.js +6 -6
  185. package/cjs/core/Table/cells/DefaultCell.js +4 -3
  186. package/cjs/core/Table/cells/EditableCell.js +7 -13
  187. package/cjs/core/Table/columns/actionColumn.js +3 -6
  188. package/cjs/core/Table/columns/expanderColumn.js +3 -3
  189. package/cjs/core/Table/columns/selectionColumn.js +4 -4
  190. package/cjs/core/Table/filters/BaseFilter.d.ts +0 -1
  191. package/cjs/core/Table/filters/BaseFilter.js +1 -2
  192. package/cjs/core/Table/filters/DateRangeFilter/DatePickerInput.js +2 -4
  193. package/cjs/core/Table/filters/DateRangeFilter/DateRangeFilter.d.ts +0 -1
  194. package/cjs/core/Table/filters/DateRangeFilter/DateRangeFilter.js +2 -4
  195. package/cjs/core/Table/filters/FilterButtonBar.d.ts +0 -1
  196. package/cjs/core/Table/filters/FilterButtonBar.js +1 -2
  197. package/cjs/core/Table/filters/FilterToggle.d.ts +0 -1
  198. package/cjs/core/Table/filters/FilterToggle.js +0 -1
  199. package/cjs/core/Table/filters/NumberRangeFilter/NumberRangeFilter.d.ts +0 -1
  200. package/cjs/core/Table/filters/NumberRangeFilter/NumberRangeFilter.js +2 -4
  201. package/cjs/core/Table/filters/TextFilter/TextFilter.d.ts +0 -1
  202. package/cjs/core/Table/filters/TextFilter/TextFilter.js +1 -3
  203. package/cjs/core/Table/hooks/useColumnDragAndDrop.js +8 -4
  204. package/cjs/core/Table/hooks/useResizeColumns.js +16 -22
  205. package/cjs/core/Table/hooks/useScrollToRow.js +1 -2
  206. package/cjs/core/Table/hooks/useStickyColumns.js +3 -5
  207. package/cjs/core/Table/hooks/useSubRowFiltering.js +2 -4
  208. package/cjs/core/Tabs/Tab.d.ts +0 -1
  209. package/cjs/core/Tabs/Tab.js +0 -1
  210. package/cjs/core/Tabs/Tabs.d.ts +0 -1
  211. package/cjs/core/Tabs/Tabs.js +16 -19
  212. package/cjs/core/Tag/Tag.d.ts +0 -1
  213. package/cjs/core/Tag/Tag.js +0 -1
  214. package/cjs/core/Tag/TagContainer.d.ts +0 -1
  215. package/cjs/core/Tag/TagContainer.js +0 -1
  216. package/cjs/core/Textarea/Textarea.d.ts +0 -1
  217. package/cjs/core/Textarea/Textarea.js +0 -1
  218. package/cjs/core/ThemeProvider/ThemeContext.d.ts +1 -1
  219. package/cjs/core/ThemeProvider/ThemeProvider.d.ts +2 -5
  220. package/cjs/core/ThemeProvider/ThemeProvider.js +11 -15
  221. package/cjs/core/Tile/Tile.d.ts +0 -1
  222. package/cjs/core/Tile/Tile.js +3 -7
  223. package/cjs/core/TimePicker/TimePicker.d.ts +0 -1
  224. package/cjs/core/TimePicker/TimePicker.js +13 -14
  225. package/cjs/core/Toast/Toast.d.ts +0 -1
  226. package/cjs/core/Toast/Toast.js +2 -4
  227. package/cjs/core/Toast/ToastWrapper.d.ts +0 -1
  228. package/cjs/core/Toast/ToastWrapper.js +0 -1
  229. package/cjs/core/Toast/Toaster.js +6 -11
  230. package/cjs/core/ToggleSwitch/ToggleSwitch.d.ts +0 -1
  231. package/cjs/core/ToggleSwitch/ToggleSwitch.js +1 -3
  232. package/cjs/core/Tooltip/Tooltip.d.ts +0 -1
  233. package/cjs/core/Tooltip/Tooltip.js +0 -1
  234. package/cjs/core/TransferList/TransferList.d.ts +69 -0
  235. package/cjs/core/TransferList/TransferList.js +147 -0
  236. package/cjs/core/TransferList/index.d.ts +3 -0
  237. package/cjs/core/TransferList/index.js +10 -0
  238. package/cjs/core/Tree/Tree.d.ts +0 -1
  239. package/cjs/core/Tree/Tree.js +9 -14
  240. package/cjs/core/Tree/TreeNode.d.ts +0 -1
  241. package/cjs/core/Tree/TreeNode.js +9 -11
  242. package/cjs/core/Tree/TreeNodeExpander.d.ts +0 -1
  243. package/cjs/core/Tree/TreeNodeExpander.js +0 -1
  244. package/cjs/core/Typography/Anchor/Anchor.d.ts +0 -1
  245. package/cjs/core/Typography/Anchor/Anchor.js +0 -1
  246. package/cjs/core/Typography/Blockquote/Blockquote.d.ts +0 -1
  247. package/cjs/core/Typography/Blockquote/Blockquote.js +0 -1
  248. package/cjs/core/Typography/Code/Code.d.ts +0 -1
  249. package/cjs/core/Typography/Code/Code.js +0 -1
  250. package/cjs/core/Typography/Kbd/Kbd.d.ts +0 -1
  251. package/cjs/core/Typography/Kbd/Kbd.js +0 -1
  252. package/cjs/core/Typography/Text/Text.d.ts +0 -1
  253. package/cjs/core/Typography/Text/Text.js +0 -1
  254. package/cjs/core/index.d.ts +1 -0
  255. package/cjs/core/index.js +118 -116
  256. package/cjs/core/utils/color/ColorValue.js +9 -15
  257. package/cjs/core/utils/components/AutoclearingHiddenLiveRegion.js +2 -3
  258. package/cjs/core/utils/components/Divider.d.ts +0 -1
  259. package/cjs/core/utils/components/Divider.js +0 -1
  260. package/cjs/core/utils/components/Flex.d.ts +0 -1
  261. package/cjs/core/utils/components/Flex.js +0 -1
  262. package/cjs/core/utils/components/FocusTrap.js +4 -4
  263. package/cjs/core/utils/components/Icon.d.ts +0 -1
  264. package/cjs/core/utils/components/Icon.js +0 -1
  265. package/cjs/core/utils/components/InputContainer.d.ts +0 -1
  266. package/cjs/core/utils/components/InputContainer.js +0 -1
  267. package/cjs/core/utils/components/InputFlexContainer.d.ts +0 -1
  268. package/cjs/core/utils/components/InputFlexContainer.js +0 -1
  269. package/cjs/core/utils/components/LinkAction.d.ts +0 -1
  270. package/cjs/core/utils/components/LinkAction.js +0 -1
  271. package/cjs/core/utils/components/MiddleTextTruncation.js +1 -2
  272. package/cjs/core/utils/components/Popover.d.ts +0 -1
  273. package/cjs/core/utils/components/Popover.js +5 -9
  274. package/cjs/core/utils/components/Resizer.js +7 -6
  275. package/cjs/core/utils/components/VirtualScroll.js +14 -21
  276. package/cjs/core/utils/components/VisuallyHidden.d.ts +0 -1
  277. package/cjs/core/utils/components/VisuallyHidden.js +0 -1
  278. package/cjs/core/utils/functions/dom.d.ts +6 -0
  279. package/cjs/core/utils/functions/dom.js +24 -6
  280. package/cjs/core/utils/functions/index.d.ts +0 -1
  281. package/cjs/core/utils/functions/index.js +0 -1
  282. package/cjs/core/utils/functions/polymorphic.js +9 -1
  283. package/cjs/core/utils/functions/supports.js +1 -1
  284. package/cjs/core/utils/hooks/index.d.ts +0 -1
  285. package/cjs/core/utils/hooks/index.js +0 -1
  286. package/cjs/core/utils/hooks/useContainerWidth.js +1 -1
  287. package/cjs/core/utils/hooks/useDragAndDrop.js +8 -10
  288. package/cjs/core/utils/hooks/useEventListener.js +1 -1
  289. package/cjs/core/utils/hooks/useGlobals.d.ts +9 -4
  290. package/cjs/core/utils/hooks/useGlobals.js +6 -6
  291. package/cjs/core/utils/hooks/useId.js +1 -2
  292. package/cjs/core/utils/hooks/useIntersection.js +2 -3
  293. package/cjs/core/utils/hooks/useMediaQuery.js +6 -8
  294. package/cjs/core/utils/hooks/useOverflow.js +1 -2
  295. package/cjs/core/utils/hooks/useResizeObserver.js +3 -4
  296. package/cjs/styles.d.ts +5 -0
  297. package/cjs/styles.js +450 -0
  298. package/esm/core/Alert/Alert.d.ts +47 -29
  299. package/esm/core/Alert/Alert.js +74 -23
  300. package/esm/core/Avatar/Avatar.d.ts +0 -1
  301. package/esm/core/Avatar/Avatar.js +1 -2
  302. package/esm/core/AvatarGroup/AvatarGroup.d.ts +0 -1
  303. package/esm/core/AvatarGroup/AvatarGroup.js +1 -2
  304. package/esm/core/Backdrop/Backdrop.d.ts +0 -1
  305. package/esm/core/Backdrop/Backdrop.js +0 -1
  306. package/esm/core/Badge/Badge.d.ts +0 -1
  307. package/esm/core/Badge/Badge.js +0 -1
  308. package/esm/core/Breadcrumbs/Breadcrumbs.d.ts +0 -1
  309. package/esm/core/Breadcrumbs/Breadcrumbs.js +2 -4
  310. package/esm/core/ButtonGroup/ButtonGroup.d.ts +0 -1
  311. package/esm/core/ButtonGroup/ButtonGroup.js +1 -5
  312. package/esm/core/Buttons/Button/Button.d.ts +0 -1
  313. package/esm/core/Buttons/Button/Button.js +0 -1
  314. package/esm/core/Buttons/DropdownButton/DropdownButton.d.ts +0 -1
  315. package/esm/core/Buttons/DropdownButton/DropdownButton.js +3 -6
  316. package/esm/core/Buttons/IconButton/IconButton.d.ts +0 -2
  317. package/esm/core/Buttons/IconButton/IconButton.js +0 -2
  318. package/esm/core/Buttons/SplitButton/SplitButton.d.ts +0 -1
  319. package/esm/core/Buttons/SplitButton/SplitButton.js +0 -1
  320. package/esm/core/Carousel/Carousel.d.ts +2 -3
  321. package/esm/core/Carousel/Carousel.js +3 -6
  322. package/esm/core/Carousel/CarouselDotsList.d.ts +0 -1
  323. package/esm/core/Carousel/CarouselDotsList.js +8 -11
  324. package/esm/core/Carousel/CarouselNavigation.d.ts +2 -2
  325. package/esm/core/Carousel/CarouselNavigation.js +3 -5
  326. package/esm/core/Carousel/CarouselSlider.js +10 -15
  327. package/esm/core/Checkbox/Checkbox.d.ts +0 -1
  328. package/esm/core/Checkbox/Checkbox.js +0 -1
  329. package/esm/core/ColorPicker/ColorBuilder.d.ts +0 -1
  330. package/esm/core/ColorPicker/ColorBuilder.js +7 -11
  331. package/esm/core/ColorPicker/ColorInputPanel.d.ts +0 -1
  332. package/esm/core/ColorPicker/ColorInputPanel.js +12 -16
  333. package/esm/core/ColorPicker/ColorPalette.d.ts +0 -1
  334. package/esm/core/ColorPicker/ColorPalette.js +4 -7
  335. package/esm/core/ColorPicker/ColorPicker.d.ts +0 -1
  336. package/esm/core/ColorPicker/ColorPicker.js +3 -4
  337. package/esm/core/ColorPicker/ColorSwatch.d.ts +0 -1
  338. package/esm/core/ColorPicker/ColorSwatch.js +0 -1
  339. package/esm/core/ComboBox/ComboBox.d.ts +0 -1
  340. package/esm/core/ComboBox/ComboBox.js +25 -33
  341. package/esm/core/ComboBox/ComboBoxDropdown.js +1 -2
  342. package/esm/core/ComboBox/ComboBoxEndIcon.js +1 -1
  343. package/esm/core/ComboBox/ComboBoxInput.js +21 -20
  344. package/esm/core/ComboBox/ComboBoxMenu.js +3 -4
  345. package/esm/core/ComboBox/ComboBoxMenuItem.js +2 -2
  346. package/esm/core/ComboBox/helpers.js +4 -5
  347. package/esm/core/DatePicker/DatePicker.d.ts +0 -1
  348. package/esm/core/DatePicker/DatePicker.js +32 -33
  349. package/esm/core/Dialog/Dialog.d.ts +0 -1
  350. package/esm/core/Dialog/Dialog.js +13 -6
  351. package/esm/core/Dialog/DialogBackdrop.js +1 -1
  352. package/esm/core/Dialog/DialogButtonBar.d.ts +0 -1
  353. package/esm/core/Dialog/DialogButtonBar.js +0 -1
  354. package/esm/core/Dialog/DialogContent.d.ts +0 -1
  355. package/esm/core/Dialog/DialogContent.js +0 -1
  356. package/esm/core/Dialog/DialogContext.d.ts +15 -0
  357. package/esm/core/Dialog/DialogMain.d.ts +0 -1
  358. package/esm/core/Dialog/DialogMain.js +18 -25
  359. package/esm/core/Dialog/DialogTitleBar.d.ts +0 -1
  360. package/esm/core/Dialog/DialogTitleBar.js +0 -1
  361. package/esm/core/Dialog/DialogTitleBarTitle.d.ts +0 -1
  362. package/esm/core/Dialog/DialogTitleBarTitle.js +0 -1
  363. package/esm/core/DropdownMenu/DropdownMenu.js +6 -8
  364. package/esm/core/ExpandableBlock/ExpandableBlock.d.ts +5 -1
  365. package/esm/core/ExpandableBlock/ExpandableBlock.js +8 -6
  366. package/esm/core/Fieldset/Fieldset.d.ts +0 -1
  367. package/esm/core/Fieldset/Fieldset.js +0 -1
  368. package/esm/core/FileUpload/FileEmptyCard.js +1 -1
  369. package/esm/core/FileUpload/FileUpload.d.ts +0 -1
  370. package/esm/core/FileUpload/FileUpload.js +3 -7
  371. package/esm/core/FileUpload/FileUploadCard.d.ts +0 -1
  372. package/esm/core/FileUpload/FileUploadCard.js +10 -12
  373. package/esm/core/FileUpload/FileUploadTemplate.d.ts +0 -1
  374. package/esm/core/FileUpload/FileUploadTemplate.js +0 -1
  375. package/esm/core/Footer/Footer.d.ts +0 -1
  376. package/esm/core/Footer/Footer.js +0 -1
  377. package/esm/core/Footer/FooterItem.d.ts +0 -1
  378. package/esm/core/Footer/FooterItem.js +0 -1
  379. package/esm/core/Footer/FooterList.d.ts +0 -1
  380. package/esm/core/Footer/FooterList.js +0 -1
  381. package/esm/core/Footer/FooterSeparator.d.ts +0 -1
  382. package/esm/core/Footer/FooterSeparator.js +0 -1
  383. package/esm/core/Header/Header.d.ts +0 -1
  384. package/esm/core/Header/Header.js +0 -1
  385. package/esm/core/Header/HeaderBreadcrumbs.d.ts +0 -1
  386. package/esm/core/Header/HeaderBreadcrumbs.js +0 -1
  387. package/esm/core/Header/HeaderButton.d.ts +0 -1
  388. package/esm/core/Header/HeaderButton.js +0 -1
  389. package/esm/core/Header/HeaderLogo.d.ts +0 -1
  390. package/esm/core/Header/HeaderLogo.js +0 -1
  391. package/esm/core/InformationPanel/InformationPanel.d.ts +0 -1
  392. package/esm/core/InformationPanel/InformationPanel.js +1 -5
  393. package/esm/core/InformationPanel/InformationPanelBody.d.ts +0 -1
  394. package/esm/core/InformationPanel/InformationPanelBody.js +0 -1
  395. package/esm/core/InformationPanel/InformationPanelContent.d.ts +0 -1
  396. package/esm/core/InformationPanel/InformationPanelContent.js +0 -1
  397. package/esm/core/InformationPanel/InformationPanelHeader.d.ts +0 -1
  398. package/esm/core/InformationPanel/InformationPanelHeader.js +0 -1
  399. package/esm/core/InformationPanel/InformationPanelWrapper.d.ts +0 -1
  400. package/esm/core/InformationPanel/InformationPanelWrapper.js +0 -1
  401. package/esm/core/Input/Input.d.ts +0 -1
  402. package/esm/core/Input/Input.js +0 -1
  403. package/esm/core/InputGroup/InputGroup.d.ts +0 -1
  404. package/esm/core/InputGroup/InputGroup.js +0 -1
  405. package/esm/core/Label/Label.d.ts +0 -1
  406. package/esm/core/Label/Label.js +0 -1
  407. package/esm/core/LabeledInput/LabeledInput.d.ts +0 -1
  408. package/esm/core/LabeledInput/LabeledInput.js +1 -2
  409. package/esm/core/LabeledSelect/LabeledSelect.d.ts +0 -1
  410. package/esm/core/LabeledSelect/LabeledSelect.js +0 -1
  411. package/esm/core/LabeledTextarea/LabeledTextarea.d.ts +0 -1
  412. package/esm/core/LabeledTextarea/LabeledTextarea.js +1 -2
  413. package/esm/core/List/List.d.ts +0 -1
  414. package/esm/core/List/List.js +0 -1
  415. package/esm/core/List/ListItem.d.ts +0 -1
  416. package/esm/core/List/ListItem.js +0 -1
  417. package/esm/core/Menu/Menu.d.ts +0 -1
  418. package/esm/core/Menu/Menu.js +3 -5
  419. package/esm/core/Menu/MenuDivider.d.ts +0 -1
  420. package/esm/core/Menu/MenuDivider.js +0 -1
  421. package/esm/core/Menu/MenuExtraContent.d.ts +0 -1
  422. package/esm/core/Menu/MenuExtraContent.js +0 -1
  423. package/esm/core/Menu/MenuItem.d.ts +0 -1
  424. package/esm/core/Menu/MenuItem.js +8 -12
  425. package/esm/core/Menu/MenuItemSkeleton.d.ts +0 -1
  426. package/esm/core/Menu/MenuItemSkeleton.js +0 -1
  427. package/esm/core/Modal/Modal.d.ts +8 -10
  428. package/esm/core/Modal/Modal.js +3 -11
  429. package/esm/core/NonIdealState/NonIdealState.d.ts +0 -1
  430. package/esm/core/NonIdealState/NonIdealState.js +0 -1
  431. package/esm/core/NotificationMarker/NotificationMarker.d.ts +0 -1
  432. package/esm/core/NotificationMarker/NotificationMarker.js +0 -1
  433. package/esm/core/ProgressIndicators/ProgressLinear/ProgressLinear.d.ts +0 -1
  434. package/esm/core/ProgressIndicators/ProgressLinear/ProgressLinear.js +0 -1
  435. package/esm/core/ProgressIndicators/ProgressRadial/ProgressRadial.d.ts +0 -1
  436. package/esm/core/ProgressIndicators/ProgressRadial/ProgressRadial.js +0 -1
  437. package/esm/core/Radio/Radio.d.ts +0 -1
  438. package/esm/core/Radio/Radio.js +0 -1
  439. package/esm/core/RadioTiles/RadioTile.d.ts +0 -1
  440. package/esm/core/RadioTiles/RadioTile.js +0 -1
  441. package/esm/core/RadioTiles/RadioTileGroup.d.ts +0 -1
  442. package/esm/core/RadioTiles/RadioTileGroup.js +0 -1
  443. package/esm/core/SearchBox/SearchBox.d.ts +0 -1
  444. package/esm/core/SearchBox/SearchBox.js +12 -13
  445. package/esm/core/Select/Select.d.ts +0 -1
  446. package/esm/core/Select/Select.js +12 -18
  447. package/esm/core/Select/SelectTag.d.ts +0 -1
  448. package/esm/core/Select/SelectTag.js +0 -1
  449. package/esm/core/SideNavigation/SideNavigation.d.ts +0 -1
  450. package/esm/core/SideNavigation/SideNavigation.js +2 -3
  451. package/esm/core/SideNavigation/SidenavButton.d.ts +0 -1
  452. package/esm/core/SideNavigation/SidenavButton.js +0 -1
  453. package/esm/core/SideNavigation/SidenavSubmenu.d.ts +0 -1
  454. package/esm/core/SideNavigation/SidenavSubmenu.js +0 -1
  455. package/esm/core/SideNavigation/SidenavSubmenuHeader.d.ts +0 -1
  456. package/esm/core/SideNavigation/SidenavSubmenuHeader.js +0 -1
  457. package/esm/core/SkipToContentLink/SkipToContentLink.d.ts +0 -1
  458. package/esm/core/SkipToContentLink/SkipToContentLink.js +0 -1
  459. package/esm/core/Slider/Slider.d.ts +0 -1
  460. package/esm/core/Slider/Slider.js +16 -20
  461. package/esm/core/Slider/Thumb.js +1 -1
  462. package/esm/core/Slider/Track.js +2 -1
  463. package/esm/core/StatusMessage/StatusMessage.js +1 -1
  464. package/esm/core/Stepper/Stepper.d.ts +0 -1
  465. package/esm/core/Stepper/Stepper.js +1 -2
  466. package/esm/core/Stepper/StepperStep.js +1 -1
  467. package/esm/core/Stepper/WorkflowDiagram.d.ts +0 -1
  468. package/esm/core/Stepper/WorkflowDiagram.js +0 -1
  469. package/esm/core/Surface/Surface.d.ts +0 -1
  470. package/esm/core/Surface/Surface.js +0 -1
  471. package/esm/core/Table/Table.d.ts +0 -1
  472. package/esm/core/Table/Table.js +34 -35
  473. package/esm/core/Table/TableCell.js +3 -2
  474. package/esm/core/Table/TablePaginator.d.ts +0 -1
  475. package/esm/core/Table/TablePaginator.js +11 -13
  476. package/esm/core/Table/TableRowMemoized.js +41 -48
  477. package/esm/core/Table/actionHandlers/expandHandler.js +3 -3
  478. package/esm/core/Table/actionHandlers/filterHandler.js +4 -5
  479. package/esm/core/Table/actionHandlers/selectHandler.js +6 -6
  480. package/esm/core/Table/cells/DefaultCell.js +4 -3
  481. package/esm/core/Table/cells/EditableCell.js +8 -14
  482. package/esm/core/Table/columns/actionColumn.js +3 -6
  483. package/esm/core/Table/columns/expanderColumn.js +3 -3
  484. package/esm/core/Table/columns/selectionColumn.js +4 -4
  485. package/esm/core/Table/filters/BaseFilter.d.ts +0 -1
  486. package/esm/core/Table/filters/BaseFilter.js +2 -3
  487. package/esm/core/Table/filters/DateRangeFilter/DatePickerInput.js +2 -4
  488. package/esm/core/Table/filters/DateRangeFilter/DateRangeFilter.d.ts +0 -1
  489. package/esm/core/Table/filters/DateRangeFilter/DateRangeFilter.js +2 -4
  490. package/esm/core/Table/filters/FilterButtonBar.d.ts +0 -1
  491. package/esm/core/Table/filters/FilterButtonBar.js +2 -3
  492. package/esm/core/Table/filters/FilterToggle.d.ts +0 -1
  493. package/esm/core/Table/filters/FilterToggle.js +0 -1
  494. package/esm/core/Table/filters/NumberRangeFilter/NumberRangeFilter.d.ts +0 -1
  495. package/esm/core/Table/filters/NumberRangeFilter/NumberRangeFilter.js +2 -4
  496. package/esm/core/Table/filters/TextFilter/TextFilter.d.ts +0 -1
  497. package/esm/core/Table/filters/TextFilter/TextFilter.js +1 -3
  498. package/esm/core/Table/hooks/useColumnDragAndDrop.js +5 -4
  499. package/esm/core/Table/hooks/useResizeColumns.js +16 -22
  500. package/esm/core/Table/hooks/useScrollToRow.js +1 -2
  501. package/esm/core/Table/hooks/useStickyColumns.js +3 -5
  502. package/esm/core/Table/hooks/useSubRowFiltering.js +2 -4
  503. package/esm/core/Tabs/Tab.d.ts +0 -1
  504. package/esm/core/Tabs/Tab.js +0 -1
  505. package/esm/core/Tabs/Tabs.d.ts +0 -1
  506. package/esm/core/Tabs/Tabs.js +16 -19
  507. package/esm/core/Tag/Tag.d.ts +0 -1
  508. package/esm/core/Tag/Tag.js +0 -1
  509. package/esm/core/Tag/TagContainer.d.ts +0 -1
  510. package/esm/core/Tag/TagContainer.js +0 -1
  511. package/esm/core/Textarea/Textarea.d.ts +0 -1
  512. package/esm/core/Textarea/Textarea.js +0 -1
  513. package/esm/core/ThemeProvider/ThemeContext.d.ts +1 -1
  514. package/esm/core/ThemeProvider/ThemeProvider.d.ts +2 -5
  515. package/esm/core/ThemeProvider/ThemeProvider.js +12 -16
  516. package/esm/core/Tile/Tile.d.ts +0 -1
  517. package/esm/core/Tile/Tile.js +3 -7
  518. package/esm/core/TimePicker/TimePicker.d.ts +0 -1
  519. package/esm/core/TimePicker/TimePicker.js +13 -14
  520. package/esm/core/Toast/Toast.d.ts +0 -1
  521. package/esm/core/Toast/Toast.js +2 -4
  522. package/esm/core/Toast/ToastWrapper.d.ts +0 -1
  523. package/esm/core/Toast/ToastWrapper.js +0 -1
  524. package/esm/core/Toast/Toaster.js +6 -11
  525. package/esm/core/ToggleSwitch/ToggleSwitch.d.ts +0 -1
  526. package/esm/core/ToggleSwitch/ToggleSwitch.js +1 -3
  527. package/esm/core/Tooltip/Tooltip.d.ts +0 -1
  528. package/esm/core/Tooltip/Tooltip.js +0 -1
  529. package/esm/core/TransferList/TransferList.d.ts +69 -0
  530. package/esm/core/TransferList/TransferList.js +141 -0
  531. package/esm/core/TransferList/index.d.ts +3 -0
  532. package/esm/core/TransferList/index.js +6 -0
  533. package/esm/core/Tree/Tree.d.ts +0 -1
  534. package/esm/core/Tree/Tree.js +9 -14
  535. package/esm/core/Tree/TreeNode.d.ts +0 -1
  536. package/esm/core/Tree/TreeNode.js +9 -11
  537. package/esm/core/Tree/TreeNodeExpander.d.ts +0 -1
  538. package/esm/core/Tree/TreeNodeExpander.js +0 -1
  539. package/esm/core/Typography/Anchor/Anchor.d.ts +0 -1
  540. package/esm/core/Typography/Anchor/Anchor.js +0 -1
  541. package/esm/core/Typography/Blockquote/Blockquote.d.ts +0 -1
  542. package/esm/core/Typography/Blockquote/Blockquote.js +0 -1
  543. package/esm/core/Typography/Code/Code.d.ts +0 -1
  544. package/esm/core/Typography/Code/Code.js +0 -1
  545. package/esm/core/Typography/Kbd/Kbd.d.ts +0 -1
  546. package/esm/core/Typography/Kbd/Kbd.js +0 -1
  547. package/esm/core/Typography/Text/Text.d.ts +0 -1
  548. package/esm/core/Typography/Text/Text.js +0 -1
  549. package/esm/core/index.d.ts +1 -0
  550. package/esm/core/index.js +1 -0
  551. package/esm/core/utils/color/ColorValue.js +9 -15
  552. package/esm/core/utils/components/AutoclearingHiddenLiveRegion.js +2 -3
  553. package/esm/core/utils/components/Divider.d.ts +0 -1
  554. package/esm/core/utils/components/Divider.js +0 -1
  555. package/esm/core/utils/components/Flex.d.ts +0 -1
  556. package/esm/core/utils/components/Flex.js +0 -1
  557. package/esm/core/utils/components/FocusTrap.js +4 -4
  558. package/esm/core/utils/components/Icon.d.ts +0 -1
  559. package/esm/core/utils/components/Icon.js +0 -1
  560. package/esm/core/utils/components/InputContainer.d.ts +0 -1
  561. package/esm/core/utils/components/InputContainer.js +0 -1
  562. package/esm/core/utils/components/InputFlexContainer.d.ts +0 -1
  563. package/esm/core/utils/components/InputFlexContainer.js +0 -1
  564. package/esm/core/utils/components/LinkAction.d.ts +0 -1
  565. package/esm/core/utils/components/LinkAction.js +0 -1
  566. package/esm/core/utils/components/MiddleTextTruncation.js +1 -2
  567. package/esm/core/utils/components/Popover.d.ts +0 -1
  568. package/esm/core/utils/components/Popover.js +5 -9
  569. package/esm/core/utils/components/Resizer.js +7 -6
  570. package/esm/core/utils/components/VirtualScroll.js +14 -21
  571. package/esm/core/utils/components/VisuallyHidden.d.ts +0 -1
  572. package/esm/core/utils/components/VisuallyHidden.js +0 -1
  573. package/esm/core/utils/functions/dom.d.ts +6 -0
  574. package/esm/core/utils/functions/dom.js +19 -5
  575. package/esm/core/utils/functions/index.d.ts +0 -1
  576. package/esm/core/utils/functions/index.js +0 -1
  577. package/esm/core/utils/functions/polymorphic.js +9 -1
  578. package/esm/core/utils/functions/supports.js +1 -1
  579. package/esm/core/utils/hooks/index.d.ts +0 -1
  580. package/esm/core/utils/hooks/index.js +0 -1
  581. package/esm/core/utils/hooks/useContainerWidth.js +1 -1
  582. package/esm/core/utils/hooks/useDragAndDrop.js +8 -10
  583. package/esm/core/utils/hooks/useEventListener.js +1 -1
  584. package/esm/core/utils/hooks/useGlobals.d.ts +9 -4
  585. package/esm/core/utils/hooks/useGlobals.js +6 -6
  586. package/esm/core/utils/hooks/useId.js +1 -2
  587. package/esm/core/utils/hooks/useIntersection.js +2 -3
  588. package/esm/core/utils/hooks/useMediaQuery.js +6 -8
  589. package/esm/core/utils/hooks/useOverflow.js +1 -2
  590. package/esm/core/utils/hooks/useResizeObserver.js +3 -4
  591. package/esm/styles.d.ts +5 -0
  592. package/esm/styles.js +451 -0
  593. package/package.json +14 -11
  594. package/styles.css +1940 -0
  595. package/cjs/core/utils/functions/styles.d.ts +0 -6
  596. package/cjs/core/utils/functions/styles.js +0 -21
  597. package/cjs/core/utils/hooks/useIsThemeAlreadySet.d.ts +0 -7
  598. package/cjs/core/utils/hooks/useIsThemeAlreadySet.js +0 -54
  599. package/esm/core/utils/functions/styles.d.ts +0 -6
  600. package/esm/core/utils/functions/styles.js +0 -17
  601. package/esm/core/utils/hooks/useIsThemeAlreadySet.d.ts +0 -7
  602. package/esm/core/utils/hooks/useIsThemeAlreadySet.js +0 -27
@@ -36,7 +36,6 @@ const classnames_1 = __importDefault(require("classnames"));
36
36
  const react_table_1 = require("react-table");
37
37
  const index_js_1 = require("../ProgressIndicators/index.js");
38
38
  const index_js_2 = require("../utils/index.js");
39
- require("@itwin/itwinui-css/css/table.css");
40
39
  const utils_js_1 = require("./utils.js");
41
40
  const TableRowMemoized_js_1 = require("./TableRowMemoized.js");
42
41
  const index_js_3 = require("./filters/index.js");
@@ -55,7 +54,7 @@ let isDev = false;
55
54
  try {
56
55
  isDev = process.env.NODE_ENV !== 'production';
57
56
  }
58
- catch (_a) { }
57
+ catch { }
59
58
  const flattenColumns = (columns) => {
60
59
  const flatColumns = [];
61
60
  columns.forEach((column) => {
@@ -140,11 +139,11 @@ const Table = (props) => {
140
139
  return;
141
140
  }
142
141
  const ownerDoc = ownerDocument.current;
143
- ownerDoc === null || ownerDoc === void 0 ? void 0 : ownerDoc.addEventListener('keydown', disableUserSelect);
144
- ownerDoc === null || ownerDoc === void 0 ? void 0 : ownerDoc.addEventListener('keyup', enableUserSelect);
142
+ ownerDoc?.addEventListener('keydown', disableUserSelect);
143
+ ownerDoc?.addEventListener('keyup', enableUserSelect);
145
144
  return () => {
146
- ownerDoc === null || ownerDoc === void 0 ? void 0 : ownerDoc.removeEventListener('keydown', disableUserSelect);
147
- ownerDoc === null || ownerDoc === void 0 ? void 0 : ownerDoc.removeEventListener('keyup', enableUserSelect);
145
+ ownerDoc?.removeEventListener('keydown', disableUserSelect);
146
+ ownerDoc?.removeEventListener('keyup', enableUserSelect);
148
147
  };
149
148
  }, [
150
149
  isSelectable,
@@ -158,7 +157,7 @@ const Table = (props) => {
158
157
  const tableStateReducer = React.useCallback((newState, action, previousState, instance) => {
159
158
  switch (action.type) {
160
159
  case react_table_1.actions.toggleSortBy:
161
- onSort === null || onSort === void 0 ? void 0 : onSort(newState);
160
+ onSort?.(newState);
162
161
  break;
163
162
  case react_table_1.actions.setFilter:
164
163
  currentFilter.current = (0, index_js_5.onFilterHandler)(newState, action, previousState, currentFilter.current, instance);
@@ -244,13 +243,13 @@ const Table = (props) => {
244
243
  return result;
245
244
  }, {});
246
245
  const areFiltersSet = allColumns.some((column) => column.filterValue != null && column.filterValue !== '') || !!globalFilterValue;
247
- const showFilterButton = (column) => (data.length !== 0 || areFiltersSet) && column.canFilter;
246
+ const showFilterButton = (column) => (data.length !== 0 || areFiltersSet) && column.canFilter && !!column.Filter;
248
247
  const showSortButton = (column) => data.length !== 0 && column.canSort;
249
248
  const onRowClickHandler = React.useCallback((event, row) => {
250
- const isDisabled = isRowDisabled === null || isRowDisabled === void 0 ? void 0 : isRowDisabled(row.original);
249
+ const isDisabled = isRowDisabled?.(row.original);
251
250
  const ctrlPressed = event.ctrlKey || event.metaKey;
252
251
  if (!isDisabled) {
253
- onRowClick === null || onRowClick === void 0 ? void 0 : onRowClick(event, row);
252
+ onRowClick?.(event, row);
254
253
  }
255
254
  if (isSelectable &&
256
255
  !isDisabled &&
@@ -291,7 +290,7 @@ const Table = (props) => {
291
290
  React.useEffect(() => {
292
291
  if (previousFilter.current !== currentFilter.current) {
293
292
  previousFilter.current = currentFilter.current;
294
- onFilter === null || onFilter === void 0 ? void 0 : onFilter(currentFilter.current, state, instance.filteredRows);
293
+ onFilter?.(currentFilter.current, state, instance.filteredRows);
295
294
  }
296
295
  }, [state, instance.filteredRows, onFilter]);
297
296
  const lastPassedColumns = React.useRef([]);
@@ -365,7 +364,7 @@ const Table = (props) => {
365
364
  const getPreparedRow = React.useCallback((index) => {
366
365
  const row = page[index];
367
366
  prepareRow(row);
368
- return (React.createElement(TableRowMemoized_js_1.TableRowMemoized, { row: row, rowProps: rowProps, isLast: index === page.length - 1, onRowInViewport: onRowInViewportRef, onBottomReached: onBottomReachedRef, intersectionMargin: intersectionMargin, state: state, key: row.getRowProps().key, onClick: onRowClickHandler, subComponent: subComponent, isDisabled: !!(isRowDisabled === null || isRowDisabled === void 0 ? void 0 : isRowDisabled(row.original)), tableHasSubRows: hasAnySubRows, tableInstance: instance, expanderCell: expanderCell, bodyRef: bodyRef.current, tableRowRef: enableVirtualization ? undefined : tableRowRef(row), density: density }));
367
+ return (React.createElement(TableRowMemoized_js_1.TableRowMemoized, { row: row, rowProps: rowProps, isLast: index === page.length - 1, onRowInViewport: onRowInViewportRef, onBottomReached: onBottomReachedRef, intersectionMargin: intersectionMargin, state: state, key: row.getRowProps().key, onClick: onRowClickHandler, subComponent: subComponent, isDisabled: !!isRowDisabled?.(row.original), tableHasSubRows: hasAnySubRows, tableInstance: instance, expanderCell: expanderCell, bodyRef: bodyRef.current, tableRowRef: enableVirtualization ? undefined : tableRowRef(row), density: density }));
369
368
  }, [
370
369
  page,
371
370
  prepareRow,
@@ -409,8 +408,8 @@ const Table = (props) => {
409
408
  }, []);
410
409
  const isHeaderDirectClick = React.useRef(false);
411
410
  return (React.createElement(React.Fragment, null,
412
- React.createElement("div", { ref: (element) => {
413
- ownerDocument.current = element === null || element === void 0 ? void 0 : element.ownerDocument;
411
+ React.createElement(index_js_2.Box, { ref: (element) => {
412
+ ownerDocument.current = element?.ownerDocument;
414
413
  if (isResizable) {
415
414
  resizeRef(element);
416
415
  }
@@ -428,14 +427,14 @@ const Table = (props) => {
428
427
  const headerGroupProps = headerGroup.getHeaderGroupProps({
429
428
  className: 'iui-table-row',
430
429
  });
431
- return (React.createElement("div", { className: 'iui-table-header-wrapper', ref: headerRef, onScroll: () => {
430
+ return (React.createElement(index_js_2.Box, { className: 'iui-table-header-wrapper', ref: headerRef, onScroll: () => {
432
431
  if (headerRef.current && bodyRef.current) {
433
432
  bodyRef.current.scrollLeft = headerRef.current.scrollLeft;
434
433
  updateStickyState();
435
434
  }
436
435
  }, key: headerGroupProps.key },
437
- React.createElement("div", { className: 'iui-table-header' },
438
- React.createElement("div", { ...headerGroupProps }, headerGroup.headers.map((column, index) => {
436
+ React.createElement(index_js_2.Box, { className: 'iui-table-header' },
437
+ React.createElement(index_js_2.Box, { ...headerGroupProps }, headerGroup.headers.map((column, index) => {
439
438
  const { onClick, ...restSortProps } = column.getSortByToggleProps();
440
439
  const columnProps = column.getHeaderProps({
441
440
  ...restSortProps,
@@ -450,7 +449,7 @@ const Table = (props) => {
450
449
  flexWrap: 'unset',
451
450
  },
452
451
  });
453
- return (React.createElement("div", { ...columnProps, ...column.getDragAndDropProps(), key: columnProps.key, title: undefined, ref: (el) => {
452
+ return (React.createElement(index_js_2.Box, { ...columnProps, ...column.getDragAndDropProps(), key: columnProps.key, title: undefined, ref: (el) => {
454
453
  if (el) {
455
454
  columnRefs.current[column.id] = el;
456
455
  column.resizeWidth =
@@ -461,7 +460,7 @@ const Table = (props) => {
461
460
  }, onClick: (e) => {
462
461
  // Prevents from triggering sort when resizing and mouse is released in the middle of header
463
462
  if (isHeaderDirectClick.current) {
464
- onClick === null || onClick === void 0 ? void 0 : onClick(e);
463
+ onClick?.(e);
465
464
  isHeaderDirectClick.current = false;
466
465
  }
467
466
  }, tabIndex: showSortButton(column) ? 0 : undefined, onKeyDown: (e) => {
@@ -471,24 +470,24 @@ const Table = (props) => {
471
470
  } },
472
471
  column.render('Header'),
473
472
  (showFilterButton(column) ||
474
- showSortButton(column)) && (React.createElement("div", { className: 'iui-table-header-actions-container' },
473
+ showSortButton(column)) && (React.createElement(index_js_2.Box, { className: 'iui-table-header-actions-container' },
475
474
  showFilterButton(column) && (React.createElement(index_js_3.FilterToggle, { column: column })),
476
- showSortButton(column) && (React.createElement("div", { className: 'iui-table-cell-end-icon' }, column.isSortedDesc ||
475
+ showSortButton(column) && (React.createElement(index_js_2.Box, { className: 'iui-table-cell-end-icon' }, column.isSortedDesc ||
477
476
  (!column.isSorted && column.sortDescFirst) ? (React.createElement(index_js_2.SvgSortDown, { className: 'iui-table-sort', "aria-hidden": true })) : (React.createElement(index_js_2.SvgSortUp, { className: 'iui-table-sort', "aria-hidden": true })))))),
478
477
  isResizable &&
479
478
  column.isResizerVisible &&
480
479
  (index !== headerGroup.headers.length - 1 ||
481
- columnResizeMode === 'expand') && (React.createElement("div", { ...column.getResizerProps(), className: 'iui-table-resizer' },
482
- React.createElement("div", { className: 'iui-table-resizer-bar' }))),
480
+ columnResizeMode === 'expand') && (React.createElement(index_js_2.Box, { ...column.getResizerProps(), className: 'iui-table-resizer' },
481
+ React.createElement(index_js_2.Box, { className: 'iui-table-resizer-bar' }))),
483
482
  enableColumnReordering &&
484
- !column.disableReordering && (React.createElement("div", { className: 'iui-table-reorder-bar' })),
483
+ !column.disableReordering && (React.createElement(index_js_2.Box, { className: 'iui-table-reorder-bar' })),
485
484
  column.sticky === 'left' &&
486
- state.sticky.isScrolledToRight && (React.createElement("div", { className: 'iui-table-cell-shadow-right' })),
485
+ state.sticky.isScrolledToRight && (React.createElement(index_js_2.Box, { className: 'iui-table-cell-shadow-right' })),
487
486
  column.sticky === 'right' &&
488
- state.sticky.isScrolledToLeft && (React.createElement("div", { className: 'iui-table-cell-shadow-left' }))));
487
+ state.sticky.isScrolledToLeft && (React.createElement(index_js_2.Box, { className: 'iui-table-cell-shadow-left' }))));
489
488
  })))));
490
489
  }),
491
- React.createElement("div", { ...getTableBodyProps({
490
+ React.createElement(index_js_2.Box, { ...getTableBodyProps({
492
491
  className: (0, classnames_1.default)('iui-table-body', {
493
492
  'iui-zebra-striping': styleType === 'zebra-rows',
494
493
  }),
@@ -500,18 +499,18 @@ const Table = (props) => {
500
499
  }
501
500
  }, tabIndex: -1, "aria-multiselectable": (isSelectable && selectionMode === 'multi') || undefined },
502
501
  data.length !== 0 && (React.createElement(React.Fragment, null, enableVirtualization ? (React.createElement(VirtualScroll_js_1.default, { itemsLength: page.length, itemRenderer: virtualizedItemRenderer, scrollToIndex: scrollToIndex })) : (page.map((_, index) => getPreparedRow(index))))),
503
- isLoading && data.length === 0 && (React.createElement("div", { className: 'iui-table-empty' },
502
+ isLoading && data.length === 0 && (React.createElement(index_js_2.Box, { className: 'iui-table-empty' },
504
503
  React.createElement(index_js_1.ProgressRadial, { indeterminate: true }))),
505
- isLoading && data.length !== 0 && (React.createElement("div", { className: 'iui-table-row' },
506
- React.createElement("div", { className: 'iui-table-cell', style: { justifyContent: 'center' } },
504
+ isLoading && data.length !== 0 && (React.createElement(index_js_2.Box, { className: 'iui-table-row' },
505
+ React.createElement(index_js_2.Box, { className: 'iui-table-cell', style: { justifyContent: 'center' } },
507
506
  React.createElement(index_js_1.ProgressRadial, { indeterminate: true, size: 'small', style: { float: 'none', marginLeft: 0 } })))),
508
- !isLoading && data.length === 0 && !areFiltersSet && (React.createElement("div", { className: 'iui-table-empty' },
507
+ !isLoading && data.length === 0 && !areFiltersSet && (React.createElement(index_js_2.Box, { className: 'iui-table-empty' },
509
508
  React.createElement("div", null, emptyTableContent))),
510
509
  !isLoading &&
511
510
  (data.length === 0 || rows.length === 0) &&
512
- areFiltersSet && (React.createElement("div", { className: 'iui-table-empty' },
513
- React.createElement("div", null, emptyFilteredTableContent)))), paginatorRenderer === null || paginatorRenderer === void 0 ? void 0 :
514
- paginatorRenderer(paginatorRendererProps))));
511
+ areFiltersSet && (React.createElement(index_js_2.Box, { className: 'iui-table-empty' },
512
+ React.createElement("div", null, emptyFilteredTableContent)))),
513
+ paginatorRenderer?.(paginatorRendererProps))));
515
514
  };
516
515
  exports.Table = Table;
517
516
  exports.default = exports.Table;
@@ -37,6 +37,7 @@ const utils_js_1 = require("./utils.js");
37
37
  const SubRowExpander_js_1 = require("./SubRowExpander.js");
38
38
  const index_js_1 = require("./columns/index.js");
39
39
  const index_js_2 = require("./cells/index.js");
40
+ const index_js_3 = require("../utils/index.js");
40
41
  const TableCell = (props) => {
41
42
  const { cell, cellIndex, isDisabled, tableHasSubRows, tableInstance, expanderCell, density, } = props;
42
43
  const hasSubRowExpander = cellIndex ===
@@ -85,9 +86,9 @@ const TableCell = (props) => {
85
86
  children: (React.createElement(React.Fragment, null,
86
87
  cellContent,
87
88
  cell.column.sticky === 'left' &&
88
- tableInstance.state.sticky.isScrolledToRight && (React.createElement("div", { className: 'iui-table-cell-shadow-right' })),
89
+ tableInstance.state.sticky.isScrolledToRight && (React.createElement(index_js_3.Box, { className: 'iui-table-cell-shadow-right' })),
89
90
  cell.column.sticky === 'right' &&
90
- tableInstance.state.sticky.isScrolledToLeft && (React.createElement("div", { className: 'iui-table-cell-shadow-left' })))),
91
+ tableInstance.state.sticky.isScrolledToLeft && (React.createElement(index_js_3.Box, { className: 'iui-table-cell-shadow-left' })))),
91
92
  };
92
93
  return (React.createElement(React.Fragment, null, cell.column.cellRenderer ? (cell.column.cellRenderer({
93
94
  ...cellRendererProps,
@@ -1,5 +1,4 @@
1
1
  /// <reference types="react" />
2
- import '@itwin/itwinui-css/css/table.css';
3
2
  import type { CommonProps } from '../utils/index.js';
4
3
  import type { TablePaginatorRendererProps } from './Table.js';
5
4
  export declare type TablePaginatorProps = {
@@ -33,7 +33,6 @@ exports.TablePaginator = void 0;
33
33
  *--------------------------------------------------------------------------------------------*/
34
34
  const React = __importStar(require("react"));
35
35
  const classnames_1 = __importDefault(require("classnames"));
36
- require("@itwin/itwinui-css/css/table.css");
37
36
  const index_js_1 = require("../Buttons/index.js");
38
37
  const index_js_2 = require("../ProgressIndicators/index.js");
39
38
  const index_js_3 = require("../Menu/index.js");
@@ -70,18 +69,17 @@ const TablePaginator = (props) => {
70
69
  const needFocus = React.useRef(false);
71
70
  const isMounted = React.useRef(false);
72
71
  React.useEffect(() => {
73
- var _a, _b;
74
72
  // Checking `isMounted.current` prevents from focusing on initial load.
75
73
  // Checking `needFocus.current` prevents from focusing page when clicked on previous/next page.
76
74
  if (isMounted.current && needFocus.current) {
77
- const buttonToFocus = Array.from((_b = (_a = pageListRef.current) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.iui-table-paginator-page-button')) !== null && _b !== void 0 ? _b : []).find((el) => { var _a; return ((_a = el.textContent) === null || _a === void 0 ? void 0 : _a.trim()) === (focusedIndex + 1).toString(); });
78
- buttonToFocus === null || buttonToFocus === void 0 ? void 0 : buttonToFocus.focus();
75
+ const buttonToFocus = Array.from(pageListRef.current?.querySelectorAll('.iui-table-paginator-page-button') ?? []).find((el) => el.textContent?.trim() === (focusedIndex + 1).toString());
76
+ buttonToFocus?.focus();
79
77
  needFocus.current = false;
80
78
  }
81
79
  isMounted.current = true;
82
80
  }, [focusedIndex]);
83
81
  const buttonSize = size != 'default' ? 'small' : undefined;
84
- const pageButton = React.useCallback((index, tabIndex = index === focusedIndex ? 0 : -1) => (React.createElement("button", { key: index, type: 'button', className: (0, classnames_1.default)('iui-table-paginator-page-button', {
82
+ const pageButton = React.useCallback((index, tabIndex = index === focusedIndex ? 0 : -1) => (React.createElement(index_js_4.Box, { as: 'button', key: index, type: 'button', className: (0, classnames_1.default)('iui-table-paginator-page-button', {
85
83
  'iui-table-paginator-page-button-small': buttonSize === 'small',
86
84
  }), "data-iui-active": index === currentPage, onClick: () => onPageChange(index), "aria-current": index === currentPage, "aria-label": localization.goToPageLabel(index + 1), tabIndex: tabIndex }, index + 1)), [focusedIndex, currentPage, localization, buttonSize, onPageChange]);
87
85
  const totalPagesCount = Math.ceil(totalRowsCount / pageSize);
@@ -142,19 +140,19 @@ const TablePaginator = (props) => {
142
140
  const hasNoRows = totalPagesCount === 0;
143
141
  const showPagesList = totalPagesCount > 1 || isLoading;
144
142
  const showPageSizeList = pageSizeList && !!onPageSizeChange && !!totalRowsCount;
145
- const ellipsis = (React.createElement("span", { className: (0, classnames_1.default)('iui-table-paginator-ellipsis', {
143
+ const ellipsis = (React.createElement(index_js_4.Box, { as: 'span', className: (0, classnames_1.default)('iui-table-paginator-ellipsis', {
146
144
  'iui-table-paginator-ellipsis-small': size === 'small',
147
145
  }) }, "\u2026"));
148
146
  const noRowsContent = (React.createElement(React.Fragment, null, isLoading ? (React.createElement(index_js_2.ProgressRadial, { indeterminate: true, size: 'small' })) : (React.createElement(index_js_1.Button, { styleType: 'borderless', disabled: true, size: buttonSize }, "1"))));
149
147
  if (!showPagesList && !showPageSizeList) {
150
148
  return null;
151
149
  }
152
- return (React.createElement("div", { className: (0, classnames_1.default)('iui-table-paginator', className), ref: paginatorResizeRef, ...rest },
153
- React.createElement("div", { className: 'iui-left' }, totalSelectedRowsCount > 0 && (React.createElement("span", null, localization.rowsSelectedLabel(totalSelectedRowsCount)))),
154
- showPagesList && (React.createElement("div", { className: 'iui-center', ref: overflowRef },
150
+ return (React.createElement(index_js_4.Box, { className: (0, classnames_1.default)('iui-table-paginator', className), ref: paginatorResizeRef, ...rest },
151
+ React.createElement(index_js_4.Box, { className: 'iui-left' }, totalSelectedRowsCount > 0 && (React.createElement("span", null, localization.rowsSelectedLabel(totalSelectedRowsCount)))),
152
+ showPagesList && (React.createElement(index_js_4.Box, { className: 'iui-center', ref: overflowRef },
155
153
  React.createElement(index_js_1.IconButton, { styleType: 'borderless', disabled: currentPage === 0, onClick: () => onPageChange(currentPage - 1), size: buttonSize, "aria-label": localization.previousPage },
156
154
  React.createElement(index_js_4.SvgChevronLeft, null)),
157
- React.createElement("span", { className: 'iui-table-paginator-pages-group', onKeyDown: onKeyDown, ref: pageListRef }, (() => {
155
+ React.createElement(index_js_4.Box, { as: 'span', className: 'iui-table-paginator-pages-group', onKeyDown: onKeyDown, ref: pageListRef }, (() => {
158
156
  if (hasNoRows) {
159
157
  return noRowsContent;
160
158
  }
@@ -175,9 +173,9 @@ const TablePaginator = (props) => {
175
173
  })()),
176
174
  React.createElement(index_js_1.IconButton, { styleType: 'borderless', disabled: currentPage === totalPagesCount - 1 || hasNoRows, onClick: () => onPageChange(currentPage + 1), size: buttonSize, "aria-label": localization.nextPage },
177
175
  React.createElement(index_js_4.SvgChevronRight, null)))),
178
- React.createElement("div", { className: 'iui-right' }, showPageSizeList && (React.createElement(React.Fragment, null,
176
+ React.createElement(index_js_4.Box, { className: 'iui-right' }, showPageSizeList && (React.createElement(React.Fragment, null,
179
177
  localization.rowsPerPageLabel !== null &&
180
- paginatorWidth >= 1024 && (React.createElement("span", { className: 'iui-table-paginator-page-size-label' }, localization.rowsPerPageLabel)),
178
+ paginatorWidth >= 1024 && (React.createElement(index_js_4.Box, { as: 'span', className: 'iui-table-paginator-page-size-label' }, localization.rowsPerPageLabel)),
181
179
  React.createElement(index_js_1.DropdownButton, { styleType: 'borderless', size: buttonSize, menuItems: (close) => pageSizeList.map((size) => (React.createElement(index_js_3.MenuItem, { key: size, isSelected: size === pageSize, onClick: () => {
182
180
  close();
183
181
  onPageSizeChange(size);
@@ -42,16 +42,13 @@ const TableCell_js_1 = require("./TableCell.js");
42
42
  * When adding new features check whether it changes state that affects row. If it does then add equality check to `React.memo`.
43
43
  */
44
44
  const TableRow = (props) => {
45
- var _a;
46
45
  const { row, rowProps, isLast, onRowInViewport, onBottomReached, intersectionMargin, onClick, subComponent, isDisabled, tableHasSubRows, tableInstance, expanderCell, bodyRef, tableRowRef, density, } = props;
47
46
  const onIntersect = React.useCallback(() => {
48
- var _a, _b;
49
- (_a = onRowInViewport.current) === null || _a === void 0 ? void 0 : _a.call(onRowInViewport, row.original);
50
- isLast && ((_b = onBottomReached.current) === null || _b === void 0 ? void 0 : _b.call(onBottomReached));
47
+ onRowInViewport.current?.(row.original);
48
+ isLast && onBottomReached.current?.();
51
49
  }, [isLast, onBottomReached, onRowInViewport, row.original]);
52
50
  const intersectionRoot = React.useMemo(() => {
53
- var _a, _b;
54
- const isTableBodyScrollable = ((_a = bodyRef === null || bodyRef === void 0 ? void 0 : bodyRef.scrollHeight) !== null && _a !== void 0 ? _a : 0) > ((_b = bodyRef === null || bodyRef === void 0 ? void 0 : bodyRef.offsetHeight) !== null && _b !== void 0 ? _b : 0);
51
+ const isTableBodyScrollable = (bodyRef?.scrollHeight ?? 0) > (bodyRef?.offsetHeight ?? 0);
55
52
  // If table body is scrollable, make it the intersection root
56
53
  if (isTableBodyScrollable) {
57
54
  return bodyRef;
@@ -63,7 +60,7 @@ const TableRow = (props) => {
63
60
  rootMargin: `${intersectionMargin}px`,
64
61
  root: intersectionRoot,
65
62
  });
66
- const userRowProps = (_a = rowProps === null || rowProps === void 0 ? void 0 : rowProps(row)) !== null && _a !== void 0 ? _a : {};
63
+ const userRowProps = rowProps?.(row) ?? {};
67
64
  const { status, isLoading, ...restUserRowProps } = userRowProps;
68
65
  const mergedProps = {
69
66
  ...row.getRowProps({ style: { flex: `0 0 auto`, minWidth: '100%' } }),
@@ -72,7 +69,7 @@ const TableRow = (props) => {
72
69
  className: (0, classnames_1.default)('iui-table-row', {
73
70
  'iui-table-row-expanded': row.isExpanded && subComponent,
74
71
  'iui-loading': isLoading,
75
- }, userRowProps === null || userRowProps === void 0 ? void 0 : userRowProps.className),
72
+ }, userRowProps?.className),
76
73
  'aria-selected': row.isSelected || undefined,
77
74
  'aria-disabled': isDisabled || undefined,
78
75
  'data-iui-status': status,
@@ -80,53 +77,49 @@ const TableRow = (props) => {
80
77
  };
81
78
  const refs = (0, index_js_1.useMergedRefs)(intersectionRef, mergedProps.ref, tableRowRef);
82
79
  return (React.createElement(React.Fragment, null,
83
- React.createElement("div", { ...mergedProps, ref: refs, onClick: (event) => {
84
- var _a;
85
- (_a = mergedProps === null || mergedProps === void 0 ? void 0 : mergedProps.onClick) === null || _a === void 0 ? void 0 : _a.call(mergedProps, event);
86
- onClick === null || onClick === void 0 ? void 0 : onClick(event, row);
80
+ React.createElement(index_js_1.Box, { ...mergedProps, ref: refs, onClick: (event) => {
81
+ mergedProps?.onClick?.(event);
82
+ onClick?.(event, row);
87
83
  } }, row.cells.map((cell, index) => {
88
84
  return (React.createElement(TableCell_js_1.TableCell, { key: cell.getCellProps().key, cell: cell, cellIndex: index, isDisabled: isDisabled, tableHasSubRows: tableHasSubRows, tableInstance: tableInstance, expanderCell: expanderCell, density: density }));
89
85
  })),
90
86
  subComponent && (React.createElement(index_js_1.WithCSSTransition, { in: row.isExpanded },
91
- React.createElement("div", { className: (0, classnames_1.default)('iui-table-row', 'iui-table-expanded-content'), "aria-disabled": isDisabled }, subComponent(row))))));
87
+ React.createElement(index_js_1.Box, { className: (0, classnames_1.default)('iui-table-row', 'iui-table-expanded-content'), "aria-disabled": isDisabled }, subComponent(row))))));
92
88
  };
93
89
  exports.TableRow = TableRow;
94
90
  const hasAnySelectedSubRow = (row, selectedRowIds) => {
95
- if (selectedRowIds === null || selectedRowIds === void 0 ? void 0 : selectedRowIds[row.id]) {
91
+ if (selectedRowIds?.[row.id]) {
96
92
  return true;
97
93
  }
98
94
  return row.subRows.some((subRow) => hasAnySelectedSubRow(subRow, selectedRowIds));
99
95
  };
100
- exports.TableRowMemoized = React.memo(exports.TableRow, (prevProp, nextProp) => {
101
- var _a, _b, _c, _d, _e, _f, _g;
102
- return prevProp.isLast === nextProp.isLast &&
103
- ((_a = prevProp.state.hiddenColumns) === null || _a === void 0 ? void 0 : _a.length) ===
104
- ((_b = nextProp.state.hiddenColumns) === null || _b === void 0 ? void 0 : _b.length) &&
105
- !!((_c = prevProp.state.hiddenColumns) === null || _c === void 0 ? void 0 : _c.every((column, index) => { var _a; return ((_a = nextProp.state.hiddenColumns) === null || _a === void 0 ? void 0 : _a[index]) === column; })) &&
106
- prevProp.onRowInViewport === nextProp.onRowInViewport &&
107
- prevProp.onBottomReached === nextProp.onBottomReached &&
108
- prevProp.onClick === nextProp.onClick &&
109
- prevProp.row.original === nextProp.row.original &&
110
- ((_d = prevProp.state.selectedRowIds) === null || _d === void 0 ? void 0 : _d[prevProp.row.id]) ===
111
- ((_e = nextProp.state.selectedRowIds) === null || _e === void 0 ? void 0 : _e[nextProp.row.id]) &&
112
- // Check if sub-rows selection has changed and whether to show indeterminate state or not
113
- prevProp.row.subRows.some((subRow) => hasAnySelectedSubRow(subRow, prevProp.state.selectedRowIds)) ===
114
- nextProp.row.subRows.some((subRow) => hasAnySelectedSubRow(subRow, nextProp.state.selectedRowIds)) &&
115
- ((_f = prevProp.state.expanded) === null || _f === void 0 ? void 0 : _f[prevProp.row.id]) ===
116
- ((_g = nextProp.state.expanded) === null || _g === void 0 ? void 0 : _g[nextProp.row.id]) &&
117
- prevProp.subComponent === nextProp.subComponent &&
118
- prevProp.row.cells.every((cell, index) => nextProp.row.cells[index].column === cell.column) &&
119
- prevProp.isDisabled === nextProp.isDisabled &&
120
- prevProp.rowProps === nextProp.rowProps &&
121
- prevProp.expanderCell === nextProp.expanderCell &&
122
- prevProp.tableHasSubRows === nextProp.tableHasSubRows &&
123
- prevProp.bodyRef === nextProp.bodyRef &&
124
- prevProp.state.columnOrder === nextProp.state.columnOrder &&
125
- !nextProp.state.columnResizing.isResizingColumn &&
126
- prevProp.state.isTableResizing === nextProp.state.isTableResizing &&
127
- prevProp.state.sticky.isScrolledToLeft ===
128
- nextProp.state.sticky.isScrolledToLeft &&
129
- prevProp.state.sticky.isScrolledToRight ===
130
- nextProp.state.sticky.isScrolledToRight &&
131
- prevProp.density === nextProp.density;
132
- });
96
+ exports.TableRowMemoized = React.memo(exports.TableRow, (prevProp, nextProp) => prevProp.isLast === nextProp.isLast &&
97
+ prevProp.state.hiddenColumns?.length ===
98
+ nextProp.state.hiddenColumns?.length &&
99
+ !!prevProp.state.hiddenColumns?.every((column, index) => nextProp.state.hiddenColumns?.[index] === column) &&
100
+ prevProp.onRowInViewport === nextProp.onRowInViewport &&
101
+ prevProp.onBottomReached === nextProp.onBottomReached &&
102
+ prevProp.onClick === nextProp.onClick &&
103
+ prevProp.row.original === nextProp.row.original &&
104
+ prevProp.state.selectedRowIds?.[prevProp.row.id] ===
105
+ nextProp.state.selectedRowIds?.[nextProp.row.id] &&
106
+ // Check if sub-rows selection has changed and whether to show indeterminate state or not
107
+ prevProp.row.subRows.some((subRow) => hasAnySelectedSubRow(subRow, prevProp.state.selectedRowIds)) ===
108
+ nextProp.row.subRows.some((subRow) => hasAnySelectedSubRow(subRow, nextProp.state.selectedRowIds)) &&
109
+ prevProp.state.expanded?.[prevProp.row.id] ===
110
+ nextProp.state.expanded?.[nextProp.row.id] &&
111
+ prevProp.subComponent === nextProp.subComponent &&
112
+ prevProp.row.cells.every((cell, index) => nextProp.row.cells[index].column === cell.column) &&
113
+ prevProp.isDisabled === nextProp.isDisabled &&
114
+ prevProp.rowProps === nextProp.rowProps &&
115
+ prevProp.expanderCell === nextProp.expanderCell &&
116
+ prevProp.tableHasSubRows === nextProp.tableHasSubRows &&
117
+ prevProp.bodyRef === nextProp.bodyRef &&
118
+ prevProp.state.columnOrder === nextProp.state.columnOrder &&
119
+ !nextProp.state.columnResizing.isResizingColumn &&
120
+ prevProp.state.isTableResizing === nextProp.state.isTableResizing &&
121
+ prevProp.state.sticky.isScrolledToLeft ===
122
+ nextProp.state.sticky.isScrolledToLeft &&
123
+ prevProp.state.sticky.isScrolledToRight ===
124
+ nextProp.state.sticky.isScrolledToRight &&
125
+ prevProp.density === nextProp.density);
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.onExpandHandler = void 0;
4
4
  const onExpandHandler = (newState, instance, onExpand) => {
5
- if (!(instance === null || instance === void 0 ? void 0 : instance.preFilteredFlatRows.length)) {
6
- onExpand === null || onExpand === void 0 ? void 0 : onExpand([], newState);
5
+ if (!instance?.preFilteredFlatRows.length) {
6
+ onExpand?.([], newState);
7
7
  return;
8
8
  }
9
9
  const expandedData = [];
@@ -12,6 +12,6 @@ const onExpandHandler = (newState, instance, onExpand) => {
12
12
  expandedData.push(row.original);
13
13
  }
14
14
  });
15
- onExpand === null || onExpand === void 0 ? void 0 : onExpand(expandedData, newState);
15
+ onExpand?.(expandedData, newState);
16
16
  };
17
17
  exports.onExpandHandler = onExpandHandler;
@@ -3,15 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.onFilterHandler = void 0;
4
4
  const onFilterHandler = (newState, action, previousState, currentFilter, instance) => {
5
5
  const previousFilter = previousState.filters.find((f) => f.id === action.columnId);
6
- if ((previousFilter === null || previousFilter === void 0 ? void 0 : previousFilter.value) != action.filterValue) {
6
+ if (previousFilter?.value != action.filterValue) {
7
7
  const filters = newState.filters.map((f) => {
8
- var _a, _b;
9
- const column = instance === null || instance === void 0 ? void 0 : instance.allColumns.find((c) => c.id === f.id);
8
+ const column = instance?.allColumns.find((c) => c.id === f.id);
10
9
  return {
11
10
  id: f.id,
12
11
  value: f.value,
13
- fieldType: (_a = column === null || column === void 0 ? void 0 : column.fieldType) !== null && _a !== void 0 ? _a : 'text',
14
- filterType: (_b = column === null || column === void 0 ? void 0 : column.filter) !== null && _b !== void 0 ? _b : 'text',
12
+ fieldType: column?.fieldType ?? 'text',
13
+ filterType: column?.filter ?? 'text',
15
14
  };
16
15
  });
17
16
  return filters;
@@ -7,13 +7,13 @@ exports.onShiftSelectHandler = exports.onSingleSelectHandler = exports.onToggleH
7
7
  * - Validation: Ensures that any disabled/unselectable row/subrow is not selected
8
8
  */
9
9
  const onSelectHandler = (newState, instance, onSelect, isRowDisabled) => {
10
- if (!(instance === null || instance === void 0 ? void 0 : instance.rows.length)) {
11
- onSelect === null || onSelect === void 0 ? void 0 : onSelect([], newState);
10
+ if (!instance?.rows.length) {
11
+ onSelect?.([], newState);
12
12
  return;
13
13
  }
14
14
  const newSelectedRowIds = {};
15
15
  const handleRow = (row) => {
16
- if (isRowDisabled === null || isRowDisabled === void 0 ? void 0 : isRowDisabled(row.original)) {
16
+ if (isRowDisabled?.(row.original)) {
17
17
  return false;
18
18
  }
19
19
  let isAllSubSelected = true;
@@ -36,7 +36,7 @@ const onSelectHandler = (newState, instance, onSelect, isRowDisabled) => {
36
36
  instance.initialRows.forEach((row) => handleRow(row));
37
37
  const selectedData = getSelectedData(newSelectedRowIds, instance);
38
38
  newState.selectedRowIds = newSelectedRowIds;
39
- onSelect === null || onSelect === void 0 ? void 0 : onSelect(selectedData, newState);
39
+ onSelect?.(selectedData, newState);
40
40
  };
41
41
  /**
42
42
  * Handles selection when toggling a row (Ctrl click or checkbox click)
@@ -52,7 +52,7 @@ exports.onToggleHandler = onToggleHandler;
52
52
  */
53
53
  const onSingleSelectHandler = (state, action, instance, onSelect, isRowDisabled) => {
54
54
  const selectedRowIds = { [action.id]: true };
55
- if (instance === null || instance === void 0 ? void 0 : instance.selectSubRows) {
55
+ if (instance?.selectSubRows) {
56
56
  const handleRow = (row) => {
57
57
  selectedRowIds[row.id] = true;
58
58
  row.subRows.forEach((r) => handleRow(r));
@@ -117,6 +117,6 @@ const getSelectedData = (selectedRowIds, instance) => {
117
117
  }
118
118
  row.initialSubRows.forEach((subRow) => setSelectedData(subRow));
119
119
  };
120
- instance === null || instance === void 0 ? void 0 : instance.initialRows.forEach((row) => setSelectedData(row));
120
+ instance?.initialRows.forEach((row) => setSelectedData(row));
121
121
  return selectedData;
122
122
  };
@@ -33,6 +33,7 @@ exports.DefaultCell = void 0;
33
33
  *--------------------------------------------------------------------------------------------*/
34
34
  const React = __importStar(require("react"));
35
35
  const classnames_1 = __importDefault(require("classnames"));
36
+ const index_js_1 = require("../../utils/index.js");
36
37
  /**
37
38
  * Default cell.
38
39
  * It should be passed to `cellRenderer`.
@@ -48,10 +49,10 @@ const DefaultCell = (props) => {
48
49
  // Omitting `cellProps`
49
50
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
50
51
  const { cellElementProps: { className: cellElementClassName, style: cellElementStyle, ...cellElementProps }, children, startIcon, endIcon, cellProps, isDisabled, className, style, status, ...rest } = props;
51
- return (React.createElement("div", { ...cellElementProps, ...rest, className: (0, classnames_1.default)(cellElementClassName, className), "aria-disabled": (isDisabled === null || isDisabled === void 0 ? void 0 : isDisabled(cellProps.row.original)) || undefined, "data-iui-status": status, style: { ...cellElementStyle, ...style } },
52
- startIcon && (React.createElement("div", { className: 'iui-table-cell-start-icon' }, startIcon)),
52
+ return (React.createElement(index_js_1.Box, { ...cellElementProps, ...rest, className: (0, classnames_1.default)(cellElementClassName, className), "aria-disabled": isDisabled?.(cellProps.row.original) || undefined, "data-iui-status": status, style: { ...cellElementStyle, ...style } },
53
+ startIcon && (React.createElement(index_js_1.Box, { className: 'iui-table-cell-start-icon' }, startIcon)),
53
54
  children,
54
- endIcon && React.createElement("div", { className: 'iui-table-cell-end-icon' }, endIcon)));
55
+ endIcon && React.createElement(index_js_1.Box, { className: 'iui-table-cell-end-icon' }, endIcon)));
55
56
  };
56
57
  exports.DefaultCell = DefaultCell;
57
58
  exports.default = exports.DefaultCell;
@@ -52,41 +52,35 @@ const EditableCell = (props) => {
52
52
  }, [cellProps.value]);
53
53
  const [key, setKey] = React.useState((0, index_js_1.getRandomValue)(10));
54
54
  const [isDirty, setIsDirty] = React.useState(false);
55
- return (React.createElement("div", { ...cellElementProps, contentEditable: true, suppressContentEditableWarning: true, key: key, ...rest, onInput: (e) => {
56
- var _a;
55
+ return (React.createElement(index_js_1.Box, { ...cellElementProps, contentEditable: true, suppressContentEditableWarning: true, key: key, ...rest, onInput: (e) => {
57
56
  setValue(sanitizeString(e.target.innerText));
58
57
  setIsDirty(true);
59
- (_a = props.onInput) === null || _a === void 0 ? void 0 : _a.call(props, e);
58
+ props.onInput?.(e);
60
59
  }, onBlur: (e) => {
61
- var _a;
62
60
  if (isDirty) {
63
61
  onCellEdit(cellProps.column.id, value, cellProps.row.original);
64
62
  }
65
- (_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, e);
63
+ props.onBlur?.(e);
66
64
  // Prevents error when text is cleared.
67
65
  // New key makes React to reattach with the DOM so it won't complain about deleted text node.
68
66
  setKey((0, index_js_1.getRandomValue)(10));
69
67
  }, onKeyDown: (e) => {
70
- var _a;
71
68
  // Prevents from adding HTML elements (div, br) inside a cell on Enter press
72
69
  if (e.key === 'Enter') {
73
70
  e.preventDefault();
74
71
  }
75
- (_a = props.onKeyDown) === null || _a === void 0 ? void 0 : _a.call(props, e);
72
+ props.onKeyDown?.(e);
76
73
  }, onPaste: (e) => {
77
- var _a;
78
74
  e.preventDefault();
79
75
  document.execCommand('inserttext', false, sanitizeString(e.clipboardData.getData('text/plain')));
80
- (_a = props.onPaste) === null || _a === void 0 ? void 0 : _a.call(props, e);
76
+ props.onPaste?.(e);
81
77
  }, onDrop: (e) => {
82
- var _a;
83
78
  // Prevents from drag'n'dropping into a cell because it will add unwanted HTML elements
84
79
  e.preventDefault();
85
- (_a = props.onDrop) === null || _a === void 0 ? void 0 : _a.call(props, e);
80
+ props.onDrop?.(e);
86
81
  }, onClick: (e) => {
87
- var _a;
88
82
  e.stopPropagation();
89
- (_a = props.onClick) === null || _a === void 0 ? void 0 : _a.call(props, e);
83
+ props.onClick?.(e);
90
84
  } }, children));
91
85
  };
92
86
  exports.EditableCell = EditableCell;
@@ -100,8 +100,7 @@ const ActionColumn = ({ columnManager = false, } = {}) => {
100
100
  // and table is scrolled to the very left which means our visibility dropdown menu is not visible.
101
101
  // So for better UX we need to scroll to that dropdown menu.
102
102
  queueMicrotask(() => {
103
- var _a;
104
- (_a = buttonRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView();
103
+ buttonRef.current?.scrollIntoView();
105
104
  });
106
105
  };
107
106
  return (React.createElement(index_js_5.MenuItem, { key: column.id, startIcon: React.createElement(index_js_1.Checkbox, { checked: checked, disabled: column.disableToggleVisibility, onClick: (e) => e.stopPropagation(), onChange: onClick, "aria-labelledby": `iui-column-${column.id}` }), onClick: onClick, disabled: column.disableToggleVisibility },
@@ -111,13 +110,11 @@ const ActionColumn = ({ columnManager = false, } = {}) => {
111
110
  ? columnManager.dropdownMenuProps
112
111
  : {};
113
112
  return (React.createElement(index_js_3.DropdownMenu, { ...dropdownMenuProps, menuItems: headerCheckBoxes, onHide: (i) => {
114
- var _a;
115
113
  setIsOpen(false);
116
- (_a = dropdownMenuProps.onHide) === null || _a === void 0 ? void 0 : _a.call(dropdownMenuProps, i);
114
+ dropdownMenuProps.onHide?.(i);
117
115
  }, onShow: (i) => {
118
- var _a;
119
116
  setIsOpen(true);
120
- (_a = dropdownMenuProps.onShow) === null || _a === void 0 ? void 0 : _a.call(dropdownMenuProps, i);
117
+ dropdownMenuProps.onShow?.(i);
121
118
  }, className: (0, classnames_1.default)('iui-scroll', dropdownMenuProps.className) },
122
119
  React.createElement(index_js_4.IconButton, { styleType: 'borderless', isActive: isOpen, ref: buttonRef },
123
120
  React.createElement(index_js_2.SvgColumnManager, null))));