@itwin/itwinui-react 1.48.1 → 2.0.0-dev.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 (453) hide show
  1. package/README.md +4 -22
  2. package/cjs/core/Alert/Alert.d.ts +7 -6
  3. package/cjs/core/Alert/Alert.js +13 -8
  4. package/cjs/core/Avatar/Avatar.d.ts +69 -0
  5. package/cjs/core/{UserIcon/UserIcon.js → Avatar/Avatar.js} +15 -11
  6. package/cjs/core/Avatar/index.d.ts +4 -0
  7. package/cjs/core/{UserIcon → Avatar}/index.js +5 -4
  8. package/cjs/core/AvatarGroup/AvatarGroup.d.ts +70 -0
  9. package/cjs/core/{UserIconGroup/UserIconGroup.js → AvatarGroup/AvatarGroup.js} +23 -19
  10. package/cjs/core/AvatarGroup/index.d.ts +4 -0
  11. package/cjs/core/{UserIconGroup → AvatarGroup}/index.js +5 -4
  12. package/cjs/core/Badge/Badge.js +2 -4
  13. package/cjs/core/Breadcrumbs/Breadcrumbs.js +1 -2
  14. package/cjs/core/ButtonGroup/ButtonGroup.d.ts +1 -1
  15. package/cjs/core/Buttons/Button/Button.js +5 -14
  16. package/cjs/core/Buttons/DropdownButton/DropdownButton.js +1 -3
  17. package/cjs/core/Buttons/IconButton/IconButton.js +3 -9
  18. package/cjs/core/Buttons/IdeasButton/IdeasButton.js +1 -2
  19. package/cjs/core/Buttons/SplitButton/SplitButton.js +4 -8
  20. package/cjs/core/Carousel/CarouselNavigation.js +3 -4
  21. package/cjs/core/Checkbox/Checkbox.d.ts +1 -29
  22. package/cjs/core/Checkbox/Checkbox.js +3 -3
  23. package/cjs/core/ColorPicker/ColorBuilder.js +16 -27
  24. package/cjs/core/ColorPicker/ColorInputPanel.js +1 -2
  25. package/cjs/core/ColorPicker/ColorSwatch.d.ts +1 -1
  26. package/cjs/core/ColorPicker/ColorSwatch.js +1 -6
  27. package/cjs/core/ComboBox/ComboBoxDropdown.d.ts +1 -1
  28. package/cjs/core/ComboBox/ComboBoxEndIcon.js +1 -2
  29. package/cjs/core/ComboBox/ComboBoxMenu.js +2 -4
  30. package/cjs/core/DatePicker/DatePicker.js +4 -8
  31. package/cjs/core/Dialog/Dialog.d.ts +4 -4
  32. package/cjs/core/Dialog/Dialog.js +1 -1
  33. package/cjs/core/Dialog/DialogBackdrop.d.ts +1 -1
  34. package/cjs/core/Dialog/DialogBackdrop.js +5 -2
  35. package/cjs/core/Dialog/DialogMain.d.ts +1 -1
  36. package/cjs/core/Dialog/DialogMain.js +7 -1
  37. package/cjs/core/Dialog/DialogTitleBar.d.ts +1 -1
  38. package/cjs/core/Dialog/DialogTitleBar.js +1 -2
  39. package/cjs/core/ExpandableBlock/ExpandableBlock.js +5 -6
  40. package/cjs/core/FileUpload/FileUploadTemplate.js +1 -2
  41. package/cjs/core/Header/Header.d.ts +16 -6
  42. package/cjs/core/Header/Header.js +9 -12
  43. package/cjs/core/Header/HeaderBasicButton.d.ts +6 -0
  44. package/cjs/core/Header/HeaderBasicButton.js +52 -0
  45. package/cjs/core/Header/HeaderBreadcrumbs.js +6 -5
  46. package/cjs/core/Header/HeaderButton.d.ts +3 -2
  47. package/cjs/core/Header/HeaderButton.js +10 -18
  48. package/cjs/core/Header/HeaderDropdownButton.d.ts +6 -0
  49. package/cjs/core/Header/HeaderDropdownButton.js +53 -0
  50. package/cjs/core/Header/HeaderLogo.js +3 -3
  51. package/cjs/core/Header/HeaderSplitButton.d.ts +6 -0
  52. package/cjs/core/Header/HeaderSplitButton.js +54 -0
  53. package/cjs/core/InformationPanel/InformationPanelHeader.js +1 -2
  54. package/cjs/core/Input/Input.d.ts +1 -1
  55. package/cjs/core/Input/Input.js +3 -4
  56. package/cjs/core/InputGroup/InputGroup.d.ts +1 -1
  57. package/cjs/core/InputGroup/InputGroup.js +1 -1
  58. package/cjs/core/Label/Label.d.ts +1 -1
  59. package/cjs/core/Label/Label.js +1 -1
  60. package/cjs/core/LabeledInput/LabeledInput.d.ts +2 -2
  61. package/cjs/core/LabeledInput/LabeledInput.js +1 -1
  62. package/cjs/core/LabeledSelect/LabeledSelect.d.ts +1 -1
  63. package/cjs/core/LabeledSelect/LabeledSelect.js +1 -1
  64. package/cjs/core/LabeledTextarea/LabeledTextarea.d.ts +1 -1
  65. package/cjs/core/LabeledTextarea/LabeledTextarea.js +1 -1
  66. package/cjs/core/Menu/MenuItem.js +1 -2
  67. package/cjs/core/ProgressIndicators/ProgressRadial/ProgressRadial.js +2 -4
  68. package/cjs/core/Radio/Radio.d.ts +1 -29
  69. package/cjs/core/Radio/Radio.js +3 -3
  70. package/cjs/core/RadioTiles/RadioTileGroup.d.ts +1 -1
  71. package/cjs/core/RadioTiles/RadioTileGroup.js +1 -1
  72. package/cjs/core/Select/Select.d.ts +1 -1
  73. package/cjs/core/Select/Select.js +10 -14
  74. package/cjs/core/Select/SelectTag.d.ts +1 -1
  75. package/cjs/core/Select/SelectTag.js +1 -1
  76. package/cjs/core/SideNavigation/SideNavigation.js +1 -2
  77. package/cjs/core/SideNavigation/SidenavButton.js +1 -2
  78. package/cjs/core/Stepper/Stepper.d.ts +40 -0
  79. package/cjs/core/{Wizard/Wizard.js → Stepper/Stepper.js} +11 -28
  80. package/cjs/core/{Wizard/Step.d.ts → Stepper/StepperStep.d.ts} +6 -7
  81. package/cjs/core/{Wizard/Step.js → Stepper/StepperStep.js} +10 -10
  82. package/cjs/core/Stepper/Wizard.d.ts +46 -0
  83. package/cjs/core/Stepper/Wizard.js +55 -0
  84. package/cjs/core/Stepper/WorkflowDiagram.d.ts +6 -0
  85. package/cjs/core/Stepper/WorkflowDiagram.js +43 -0
  86. package/cjs/core/Stepper/WorkflowDiagramStep.d.ts +5 -0
  87. package/cjs/core/Stepper/WorkflowDiagramStep.js +42 -0
  88. package/cjs/core/Stepper/index.d.ts +8 -0
  89. package/cjs/core/{Wizard → Stepper}/index.js +5 -1
  90. package/cjs/core/Surface/Surface.d.ts +0 -2
  91. package/cjs/core/Surface/Surface.js +10 -10
  92. package/cjs/core/Table/SubRowExpander.js +3 -3
  93. package/cjs/core/Table/Table.d.ts +5 -4
  94. package/cjs/core/Table/Table.js +30 -23
  95. package/cjs/core/Table/TableCell.js +4 -4
  96. package/cjs/core/Table/TablePaginator.js +16 -19
  97. package/cjs/core/Table/TableRowMemoized.d.ts +2 -0
  98. package/cjs/core/Table/TableRowMemoized.js +10 -13
  99. package/cjs/core/Table/cells/DefaultCell.js +4 -9
  100. package/cjs/core/Table/columns/actionColumn.js +3 -3
  101. package/cjs/core/Table/columns/expanderColumn.js +3 -3
  102. package/cjs/core/Table/filters/BaseFilter.js +1 -1
  103. package/cjs/core/Table/filters/DateRangeFilter/DatePickerInput.js +1 -2
  104. package/cjs/core/Table/filters/FilterToggle.js +2 -4
  105. package/cjs/core/Table/hooks/useColumnDragAndDrop.js +4 -4
  106. package/cjs/core/Table/hooks/useResizeColumns.js +110 -106
  107. package/cjs/core/Tabs/Tab.d.ts +0 -8
  108. package/cjs/core/Tabs/Tab.js +1 -5
  109. package/cjs/core/Tabs/Tabs.d.ts +32 -12
  110. package/cjs/core/Tabs/Tabs.js +16 -12
  111. package/cjs/core/Tabs/index.d.ts +4 -4
  112. package/cjs/core/Tabs/index.js +2 -2
  113. package/cjs/core/Tag/Tag.js +1 -2
  114. package/cjs/core/Textarea/Textarea.d.ts +1 -1
  115. package/cjs/core/Textarea/Textarea.js +2 -2
  116. package/cjs/core/ThemeProvider/ThemeProvider.d.ts +27 -17
  117. package/cjs/core/ThemeProvider/ThemeProvider.js +64 -7
  118. package/cjs/core/Tile/Tile.d.ts +19 -1
  119. package/cjs/core/Tile/Tile.js +36 -16
  120. package/cjs/core/Toast/Toast.d.ts +3 -3
  121. package/cjs/core/Toast/Toast.js +4 -5
  122. package/cjs/core/Toast/ToastWrapper.d.ts +1 -1
  123. package/cjs/core/Toast/ToastWrapper.js +1 -1
  124. package/cjs/core/Tree/TreeNode.js +1 -7
  125. package/cjs/core/Tree/TreeNodeExpander.js +2 -2
  126. package/cjs/core/Typography/Body/Body.d.ts +5 -3
  127. package/cjs/core/Typography/Body/Body.js +2 -3
  128. package/cjs/core/Typography/Headline/Headline.d.ts +2 -3
  129. package/cjs/core/Typography/Headline/Headline.js +2 -3
  130. package/cjs/core/Typography/Leading/Leading.d.ts +2 -3
  131. package/cjs/core/Typography/Leading/Leading.js +2 -3
  132. package/cjs/core/Typography/Small/Small.d.ts +2 -3
  133. package/cjs/core/Typography/Small/Small.js +2 -3
  134. package/cjs/core/Typography/Subheading/Subheading.d.ts +2 -3
  135. package/cjs/core/Typography/Subheading/Subheading.js +2 -3
  136. package/cjs/core/Typography/Text/Text.d.ts +2 -0
  137. package/cjs/core/Typography/Text/Text.js +2 -0
  138. package/cjs/core/Typography/Title/Title.d.ts +2 -3
  139. package/cjs/core/Typography/Title/Title.js +2 -3
  140. package/cjs/core/index.d.ts +8 -8
  141. package/cjs/core/index.js +14 -10
  142. package/cjs/core/utils/components/Popover.d.ts +2 -2
  143. package/cjs/core/utils/components/Popover.js +1 -1
  144. package/cjs/core/utils/components/Resizer.d.ts +5 -0
  145. package/cjs/core/utils/components/Resizer.js +7 -1
  146. package/cjs/core/utils/components/VisuallyHidden.d.ts +1 -0
  147. package/cjs/core/utils/components/VisuallyHidden.js +1 -0
  148. package/cjs/core/utils/components/index.d.ts +0 -1
  149. package/cjs/core/utils/components/index.js +0 -1
  150. package/cjs/core/utils/functions/colors.d.ts +12 -12
  151. package/cjs/core/utils/functions/colors.js +12 -12
  152. package/cjs/core/utils/hooks/index.d.ts +1 -0
  153. package/cjs/core/utils/hooks/index.js +1 -0
  154. package/cjs/core/utils/hooks/useIsomorphicLayoutEffect.d.ts +7 -0
  155. package/cjs/core/utils/hooks/useIsomorphicLayoutEffect.js +17 -0
  156. package/cjs/core/utils/hooks/useMediaQuery.js +2 -1
  157. package/cjs/core/utils/hooks/useTheme.d.ts +20 -3
  158. package/cjs/core/utils/hooks/useTheme.js +57 -58
  159. package/cjs/core/utils/{components/icons.d.ts → icons/StatusIconMap.d.ts} +1 -1
  160. package/cjs/core/utils/icons/StatusIconMap.js +52 -0
  161. package/cjs/core/utils/icons/SvgCalendar.d.ts +2 -0
  162. package/cjs/core/utils/icons/SvgCalendar.js +47 -0
  163. package/cjs/core/utils/icons/SvgCaretDownSmall.d.ts +2 -0
  164. package/cjs/core/utils/icons/SvgCaretDownSmall.js +47 -0
  165. package/cjs/core/utils/icons/SvgCaretRightSmall.d.ts +2 -0
  166. package/cjs/core/utils/icons/SvgCaretRightSmall.js +47 -0
  167. package/cjs/core/utils/icons/SvgCaretUpSmall.d.ts +2 -0
  168. package/cjs/core/utils/icons/SvgCaretUpSmall.js +47 -0
  169. package/cjs/core/utils/icons/SvgCheckmark.d.ts +2 -0
  170. package/cjs/core/utils/icons/SvgCheckmark.js +47 -0
  171. package/cjs/core/utils/icons/SvgCheckmarkSmall.d.ts +2 -0
  172. package/cjs/core/utils/icons/SvgCheckmarkSmall.js +47 -0
  173. package/cjs/core/utils/icons/SvgChevronLeft.d.ts +2 -0
  174. package/cjs/core/utils/icons/SvgChevronLeft.js +47 -0
  175. package/cjs/core/utils/icons/SvgChevronLeftDouble.d.ts +2 -0
  176. package/cjs/core/utils/icons/SvgChevronLeftDouble.js +47 -0
  177. package/cjs/core/utils/icons/SvgChevronRight.d.ts +2 -0
  178. package/cjs/core/utils/icons/SvgChevronRight.js +47 -0
  179. package/cjs/core/utils/icons/SvgChevronRightDouble.d.ts +2 -0
  180. package/cjs/core/utils/icons/SvgChevronRightDouble.js +47 -0
  181. package/cjs/core/utils/icons/SvgClose.d.ts +2 -0
  182. package/cjs/core/utils/icons/SvgClose.js +47 -0
  183. package/cjs/core/utils/icons/SvgCloseSmall.d.ts +2 -0
  184. package/cjs/core/utils/icons/SvgCloseSmall.js +47 -0
  185. package/cjs/core/utils/icons/SvgColumnManager.d.ts +2 -0
  186. package/cjs/core/utils/icons/SvgColumnManager.js +47 -0
  187. package/cjs/core/utils/icons/SvgFilter.d.ts +2 -0
  188. package/cjs/core/utils/icons/SvgFilter.js +47 -0
  189. package/cjs/core/utils/icons/SvgFilterHollow.d.ts +2 -0
  190. package/cjs/core/utils/icons/SvgFilterHollow.js +47 -0
  191. package/cjs/core/utils/icons/SvgImportantSmall.d.ts +2 -0
  192. package/cjs/core/utils/icons/SvgImportantSmall.js +47 -0
  193. package/cjs/core/utils/icons/SvgInfoCircular.d.ts +2 -0
  194. package/cjs/core/utils/icons/SvgInfoCircular.js +47 -0
  195. package/cjs/core/utils/icons/SvgMore.d.ts +2 -0
  196. package/cjs/core/utils/icons/SvgMore.js +47 -0
  197. package/cjs/core/utils/icons/SvgMoreVertical.d.ts +2 -0
  198. package/cjs/core/utils/icons/SvgMoreVertical.js +47 -0
  199. package/cjs/core/utils/icons/SvgNew.d.ts +2 -0
  200. package/cjs/core/utils/icons/SvgNew.js +47 -0
  201. package/cjs/core/utils/icons/SvgSmileyHappy.d.ts +2 -0
  202. package/cjs/core/utils/icons/SvgSmileyHappy.js +47 -0
  203. package/cjs/core/utils/icons/SvgSortDown.d.ts +2 -0
  204. package/cjs/core/utils/icons/SvgSortDown.js +47 -0
  205. package/cjs/core/utils/icons/SvgSortUp.d.ts +2 -0
  206. package/cjs/core/utils/icons/SvgSortUp.js +47 -0
  207. package/cjs/core/utils/icons/SvgStatusError.d.ts +2 -0
  208. package/cjs/core/utils/icons/SvgStatusError.js +47 -0
  209. package/cjs/core/utils/icons/SvgStatusSuccess.d.ts +2 -0
  210. package/cjs/core/utils/icons/SvgStatusSuccess.js +47 -0
  211. package/cjs/core/utils/icons/SvgStatusWarning.d.ts +2 -0
  212. package/cjs/core/utils/icons/SvgStatusWarning.js +47 -0
  213. package/cjs/core/utils/icons/SvgSwap.d.ts +2 -0
  214. package/cjs/core/utils/icons/SvgSwap.js +47 -0
  215. package/cjs/core/utils/icons/SvgUpload.d.ts +2 -0
  216. package/cjs/core/utils/icons/SvgUpload.js +47 -0
  217. package/cjs/core/utils/icons/index.d.ts +29 -0
  218. package/cjs/core/utils/icons/index.js +49 -0
  219. package/cjs/core/utils/index.d.ts +1 -0
  220. package/cjs/core/utils/index.js +1 -0
  221. package/esm/core/Alert/Alert.d.ts +7 -6
  222. package/esm/core/Alert/Alert.js +14 -9
  223. package/esm/core/Avatar/Avatar.d.ts +69 -0
  224. package/esm/core/{UserIcon/UserIcon.js → Avatar/Avatar.js} +13 -9
  225. package/esm/core/Avatar/index.d.ts +4 -0
  226. package/esm/core/{UserIcon → Avatar}/index.js +2 -2
  227. package/esm/core/AvatarGroup/AvatarGroup.d.ts +70 -0
  228. package/esm/core/{UserIconGroup/UserIconGroup.js → AvatarGroup/AvatarGroup.js} +21 -17
  229. package/esm/core/AvatarGroup/index.d.ts +4 -0
  230. package/esm/core/{UserIconGroup → AvatarGroup}/index.js +2 -2
  231. package/esm/core/Badge/Badge.js +3 -5
  232. package/esm/core/Breadcrumbs/Breadcrumbs.js +1 -2
  233. package/esm/core/ButtonGroup/ButtonGroup.d.ts +1 -1
  234. package/esm/core/Buttons/Button/Button.js +5 -14
  235. package/esm/core/Buttons/DropdownButton/DropdownButton.js +2 -4
  236. package/esm/core/Buttons/IconButton/IconButton.js +3 -9
  237. package/esm/core/Buttons/IdeasButton/IdeasButton.js +2 -3
  238. package/esm/core/Buttons/SplitButton/SplitButton.js +5 -9
  239. package/esm/core/Carousel/CarouselNavigation.js +1 -2
  240. package/esm/core/Checkbox/Checkbox.d.ts +1 -29
  241. package/esm/core/Checkbox/Checkbox.js +3 -3
  242. package/esm/core/ColorPicker/ColorBuilder.js +17 -28
  243. package/esm/core/ColorPicker/ColorInputPanel.js +1 -2
  244. package/esm/core/ColorPicker/ColorSwatch.d.ts +1 -1
  245. package/esm/core/ColorPicker/ColorSwatch.js +2 -7
  246. package/esm/core/ComboBox/ComboBoxDropdown.d.ts +1 -1
  247. package/esm/core/ComboBox/ComboBoxEndIcon.js +1 -2
  248. package/esm/core/ComboBox/ComboBoxMenu.js +2 -4
  249. package/esm/core/DatePicker/DatePicker.js +1 -5
  250. package/esm/core/Dialog/Dialog.d.ts +4 -4
  251. package/esm/core/Dialog/Dialog.js +1 -1
  252. package/esm/core/Dialog/DialogBackdrop.d.ts +1 -1
  253. package/esm/core/Dialog/DialogBackdrop.js +5 -2
  254. package/esm/core/Dialog/DialogMain.d.ts +1 -1
  255. package/esm/core/Dialog/DialogMain.js +7 -1
  256. package/esm/core/Dialog/DialogTitleBar.d.ts +1 -1
  257. package/esm/core/Dialog/DialogTitleBar.js +1 -2
  258. package/esm/core/ExpandableBlock/ExpandableBlock.js +5 -6
  259. package/esm/core/FileUpload/FileUploadTemplate.js +1 -2
  260. package/esm/core/Header/Header.d.ts +16 -6
  261. package/esm/core/Header/Header.js +9 -12
  262. package/esm/core/Header/HeaderBasicButton.d.ts +6 -0
  263. package/esm/core/Header/HeaderBasicButton.js +46 -0
  264. package/esm/core/Header/HeaderBreadcrumbs.js +7 -6
  265. package/esm/core/Header/HeaderButton.d.ts +3 -2
  266. package/esm/core/Header/HeaderButton.js +10 -18
  267. package/esm/core/Header/HeaderDropdownButton.d.ts +6 -0
  268. package/esm/core/Header/HeaderDropdownButton.js +47 -0
  269. package/esm/core/Header/HeaderLogo.js +3 -3
  270. package/esm/core/Header/HeaderSplitButton.d.ts +6 -0
  271. package/esm/core/Header/HeaderSplitButton.js +48 -0
  272. package/esm/core/InformationPanel/InformationPanelHeader.js +1 -2
  273. package/esm/core/Input/Input.d.ts +1 -1
  274. package/esm/core/Input/Input.js +3 -4
  275. package/esm/core/InputGroup/InputGroup.d.ts +1 -1
  276. package/esm/core/InputGroup/InputGroup.js +1 -1
  277. package/esm/core/Label/Label.d.ts +1 -1
  278. package/esm/core/Label/Label.js +1 -1
  279. package/esm/core/LabeledInput/LabeledInput.d.ts +2 -2
  280. package/esm/core/LabeledInput/LabeledInput.js +1 -1
  281. package/esm/core/LabeledSelect/LabeledSelect.d.ts +1 -1
  282. package/esm/core/LabeledSelect/LabeledSelect.js +1 -1
  283. package/esm/core/LabeledTextarea/LabeledTextarea.d.ts +1 -1
  284. package/esm/core/LabeledTextarea/LabeledTextarea.js +1 -1
  285. package/esm/core/Menu/MenuItem.js +1 -2
  286. package/esm/core/ProgressIndicators/ProgressRadial/ProgressRadial.js +3 -5
  287. package/esm/core/Radio/Radio.d.ts +1 -29
  288. package/esm/core/Radio/Radio.js +3 -3
  289. package/esm/core/RadioTiles/RadioTileGroup.d.ts +1 -1
  290. package/esm/core/RadioTiles/RadioTileGroup.js +1 -1
  291. package/esm/core/Select/Select.d.ts +1 -1
  292. package/esm/core/Select/Select.js +10 -14
  293. package/esm/core/Select/SelectTag.d.ts +1 -1
  294. package/esm/core/Select/SelectTag.js +1 -1
  295. package/esm/core/SideNavigation/SideNavigation.js +1 -2
  296. package/esm/core/SideNavigation/SidenavButton.js +1 -2
  297. package/esm/core/Stepper/Stepper.d.ts +40 -0
  298. package/esm/core/{Wizard/Wizard.js → Stepper/Stepper.js} +10 -27
  299. package/esm/core/{Wizard/Step.d.ts → Stepper/StepperStep.d.ts} +6 -7
  300. package/esm/core/{Wizard/Step.js → Stepper/StepperStep.js} +8 -8
  301. package/esm/core/Stepper/Wizard.d.ts +46 -0
  302. package/esm/core/Stepper/Wizard.js +49 -0
  303. package/esm/core/Stepper/WorkflowDiagram.d.ts +6 -0
  304. package/esm/core/Stepper/WorkflowDiagram.js +37 -0
  305. package/esm/core/Stepper/WorkflowDiagramStep.d.ts +5 -0
  306. package/esm/core/Stepper/WorkflowDiagramStep.js +35 -0
  307. package/esm/core/Stepper/index.d.ts +8 -0
  308. package/esm/core/{Wizard → Stepper}/index.js +2 -0
  309. package/esm/core/Surface/Surface.d.ts +0 -2
  310. package/esm/core/Surface/Surface.js +11 -11
  311. package/esm/core/Table/SubRowExpander.js +2 -2
  312. package/esm/core/Table/Table.d.ts +5 -4
  313. package/esm/core/Table/Table.js +31 -24
  314. package/esm/core/Table/TableCell.js +4 -4
  315. package/esm/core/Table/TablePaginator.js +15 -18
  316. package/esm/core/Table/TableRowMemoized.d.ts +2 -0
  317. package/esm/core/Table/TableRowMemoized.js +10 -13
  318. package/esm/core/Table/cells/DefaultCell.js +4 -9
  319. package/esm/core/Table/columns/actionColumn.js +2 -2
  320. package/esm/core/Table/columns/expanderColumn.js +2 -2
  321. package/esm/core/Table/filters/BaseFilter.js +1 -1
  322. package/esm/core/Table/filters/DateRangeFilter/DatePickerInput.js +1 -2
  323. package/esm/core/Table/filters/FilterToggle.js +2 -4
  324. package/esm/core/Table/hooks/useColumnDragAndDrop.js +4 -4
  325. package/esm/core/Table/hooks/useResizeColumns.js +110 -106
  326. package/esm/core/Tabs/Tab.d.ts +0 -8
  327. package/esm/core/Tabs/Tab.js +0 -4
  328. package/esm/core/Tabs/Tabs.d.ts +32 -12
  329. package/esm/core/Tabs/Tabs.js +17 -13
  330. package/esm/core/Tabs/index.d.ts +4 -4
  331. package/esm/core/Tabs/index.js +2 -2
  332. package/esm/core/Tag/Tag.js +1 -2
  333. package/esm/core/Textarea/Textarea.d.ts +1 -1
  334. package/esm/core/Textarea/Textarea.js +2 -2
  335. package/esm/core/ThemeProvider/ThemeProvider.d.ts +27 -17
  336. package/esm/core/ThemeProvider/ThemeProvider.js +64 -6
  337. package/esm/core/Tile/Tile.d.ts +19 -1
  338. package/esm/core/Tile/Tile.js +36 -16
  339. package/esm/core/Toast/Toast.d.ts +3 -3
  340. package/esm/core/Toast/Toast.js +4 -5
  341. package/esm/core/Toast/ToastWrapper.d.ts +1 -1
  342. package/esm/core/Toast/ToastWrapper.js +1 -1
  343. package/esm/core/Tree/TreeNode.js +2 -8
  344. package/esm/core/Tree/TreeNodeExpander.js +1 -1
  345. package/esm/core/Typography/Body/Body.d.ts +5 -3
  346. package/esm/core/Typography/Body/Body.js +2 -3
  347. package/esm/core/Typography/Headline/Headline.d.ts +2 -3
  348. package/esm/core/Typography/Headline/Headline.js +2 -3
  349. package/esm/core/Typography/Leading/Leading.d.ts +2 -3
  350. package/esm/core/Typography/Leading/Leading.js +2 -3
  351. package/esm/core/Typography/Small/Small.d.ts +2 -3
  352. package/esm/core/Typography/Small/Small.js +2 -3
  353. package/esm/core/Typography/Subheading/Subheading.d.ts +2 -3
  354. package/esm/core/Typography/Subheading/Subheading.js +2 -3
  355. package/esm/core/Typography/Text/Text.d.ts +2 -0
  356. package/esm/core/Typography/Text/Text.js +2 -0
  357. package/esm/core/Typography/Title/Title.d.ts +2 -3
  358. package/esm/core/Typography/Title/Title.js +2 -3
  359. package/esm/core/index.d.ts +8 -8
  360. package/esm/core/index.js +4 -4
  361. package/esm/core/utils/components/Popover.d.ts +2 -2
  362. package/esm/core/utils/components/Popover.js +1 -1
  363. package/esm/core/utils/components/Resizer.d.ts +5 -0
  364. package/esm/core/utils/components/Resizer.js +7 -1
  365. package/esm/core/utils/components/VisuallyHidden.d.ts +1 -0
  366. package/esm/core/utils/components/VisuallyHidden.js +1 -0
  367. package/esm/core/utils/components/index.d.ts +0 -1
  368. package/esm/core/utils/components/index.js +0 -1
  369. package/esm/core/utils/functions/colors.d.ts +12 -12
  370. package/esm/core/utils/functions/colors.js +12 -12
  371. package/esm/core/utils/hooks/index.d.ts +1 -0
  372. package/esm/core/utils/hooks/index.js +1 -0
  373. package/esm/core/utils/hooks/useIsomorphicLayoutEffect.d.ts +7 -0
  374. package/esm/core/utils/hooks/useIsomorphicLayoutEffect.js +11 -0
  375. package/esm/core/utils/hooks/useMediaQuery.js +2 -1
  376. package/esm/core/utils/hooks/useTheme.d.ts +20 -3
  377. package/esm/core/utils/hooks/useTheme.js +56 -57
  378. package/esm/core/utils/{components/icons.d.ts → icons/StatusIconMap.d.ts} +1 -1
  379. package/esm/core/utils/{components/icons.js → icons/StatusIconMap.js} +5 -5
  380. package/esm/core/utils/icons/SvgCalendar.d.ts +2 -0
  381. package/esm/core/utils/icons/SvgCalendar.js +20 -0
  382. package/esm/core/utils/icons/SvgCaretDownSmall.d.ts +2 -0
  383. package/esm/core/utils/icons/SvgCaretDownSmall.js +20 -0
  384. package/esm/core/utils/icons/SvgCaretRightSmall.d.ts +2 -0
  385. package/esm/core/utils/icons/SvgCaretRightSmall.js +20 -0
  386. package/esm/core/utils/icons/SvgCaretUpSmall.d.ts +2 -0
  387. package/esm/core/utils/icons/SvgCaretUpSmall.js +20 -0
  388. package/esm/core/utils/icons/SvgCheckmark.d.ts +2 -0
  389. package/esm/core/utils/icons/SvgCheckmark.js +20 -0
  390. package/esm/core/utils/icons/SvgCheckmarkSmall.d.ts +2 -0
  391. package/esm/core/utils/icons/SvgCheckmarkSmall.js +20 -0
  392. package/esm/core/utils/icons/SvgChevronLeft.d.ts +2 -0
  393. package/esm/core/utils/icons/SvgChevronLeft.js +20 -0
  394. package/esm/core/utils/icons/SvgChevronLeftDouble.d.ts +2 -0
  395. package/esm/core/utils/icons/SvgChevronLeftDouble.js +20 -0
  396. package/esm/core/utils/icons/SvgChevronRight.d.ts +2 -0
  397. package/esm/core/utils/icons/SvgChevronRight.js +20 -0
  398. package/esm/core/utils/icons/SvgChevronRightDouble.d.ts +2 -0
  399. package/esm/core/utils/icons/SvgChevronRightDouble.js +20 -0
  400. package/esm/core/utils/icons/SvgClose.d.ts +2 -0
  401. package/esm/core/utils/icons/SvgClose.js +20 -0
  402. package/esm/core/utils/icons/SvgCloseSmall.d.ts +2 -0
  403. package/esm/core/utils/icons/SvgCloseSmall.js +20 -0
  404. package/esm/core/utils/icons/SvgColumnManager.d.ts +2 -0
  405. package/esm/core/utils/icons/SvgColumnManager.js +20 -0
  406. package/esm/core/utils/icons/SvgFilter.d.ts +2 -0
  407. package/esm/core/utils/icons/SvgFilter.js +20 -0
  408. package/esm/core/utils/icons/SvgFilterHollow.d.ts +2 -0
  409. package/esm/core/utils/icons/SvgFilterHollow.js +20 -0
  410. package/esm/core/utils/icons/SvgImportantSmall.d.ts +2 -0
  411. package/esm/core/utils/icons/SvgImportantSmall.js +20 -0
  412. package/esm/core/utils/icons/SvgInfoCircular.d.ts +2 -0
  413. package/esm/core/utils/icons/SvgInfoCircular.js +20 -0
  414. package/esm/core/utils/icons/SvgMore.d.ts +2 -0
  415. package/esm/core/utils/icons/SvgMore.js +20 -0
  416. package/esm/core/utils/icons/SvgMoreVertical.d.ts +2 -0
  417. package/esm/core/utils/icons/SvgMoreVertical.js +20 -0
  418. package/esm/core/utils/icons/SvgNew.d.ts +2 -0
  419. package/esm/core/utils/icons/SvgNew.js +20 -0
  420. package/esm/core/utils/icons/SvgSmileyHappy.d.ts +2 -0
  421. package/esm/core/utils/icons/SvgSmileyHappy.js +20 -0
  422. package/esm/core/utils/icons/SvgSortDown.d.ts +2 -0
  423. package/esm/core/utils/icons/SvgSortDown.js +20 -0
  424. package/esm/core/utils/icons/SvgSortUp.d.ts +2 -0
  425. package/esm/core/utils/icons/SvgSortUp.js +20 -0
  426. package/esm/core/utils/icons/SvgStatusError.d.ts +2 -0
  427. package/esm/core/utils/icons/SvgStatusError.js +20 -0
  428. package/esm/core/utils/icons/SvgStatusSuccess.d.ts +2 -0
  429. package/esm/core/utils/icons/SvgStatusSuccess.js +20 -0
  430. package/esm/core/utils/icons/SvgStatusWarning.d.ts +2 -0
  431. package/esm/core/utils/icons/SvgStatusWarning.js +20 -0
  432. package/esm/core/utils/icons/SvgSwap.d.ts +2 -0
  433. package/esm/core/utils/icons/SvgSwap.js +20 -0
  434. package/esm/core/utils/icons/SvgUpload.d.ts +2 -0
  435. package/esm/core/utils/icons/SvgUpload.js +20 -0
  436. package/esm/core/utils/icons/index.d.ts +29 -0
  437. package/esm/core/utils/icons/index.js +33 -0
  438. package/esm/core/utils/index.d.ts +1 -0
  439. package/esm/core/utils/index.js +1 -0
  440. package/package.json +3 -3
  441. package/cjs/core/UserIcon/UserIcon.d.ts +0 -57
  442. package/cjs/core/UserIcon/index.d.ts +0 -4
  443. package/cjs/core/UserIconGroup/UserIconGroup.d.ts +0 -62
  444. package/cjs/core/UserIconGroup/index.d.ts +0 -4
  445. package/cjs/core/Wizard/Wizard.d.ts +0 -54
  446. package/cjs/core/Wizard/index.d.ts +0 -4
  447. package/cjs/core/utils/components/icons.js +0 -32
  448. package/esm/core/UserIcon/UserIcon.d.ts +0 -57
  449. package/esm/core/UserIcon/index.d.ts +0 -4
  450. package/esm/core/UserIconGroup/UserIconGroup.d.ts +0 -62
  451. package/esm/core/UserIconGroup/index.d.ts +0 -4
  452. package/esm/core/Wizard/Wizard.d.ts +0 -54
  453. package/esm/core/Wizard/index.d.ts +0 -4
@@ -1,10 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Wizard = void 0;
3
+ exports.WorkflowDiagram = exports.Stepper = exports.Wizard = void 0;
4
4
  /*---------------------------------------------------------------------------------------------
5
5
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
6
6
  * See LICENSE.md in the project root for license terms and full copyright notice.
7
7
  *--------------------------------------------------------------------------------------------*/
8
8
  var Wizard_1 = require("./Wizard");
9
9
  Object.defineProperty(exports, "Wizard", { enumerable: true, get: function () { return Wizard_1.Wizard; } });
10
+ var Stepper_1 = require("./Stepper");
11
+ Object.defineProperty(exports, "Stepper", { enumerable: true, get: function () { return Stepper_1.Stepper; } });
12
+ var WorkflowDiagram_1 = require("./WorkflowDiagram");
13
+ Object.defineProperty(exports, "WorkflowDiagram", { enumerable: true, get: function () { return WorkflowDiagram_1.WorkflowDiagram; } });
10
14
  exports.default = './Wizard';
@@ -4,7 +4,6 @@ import '@itwin/itwinui-css/css/surface.css';
4
4
  export declare type SurfaceProps = {
5
5
  /**
6
6
  * Sets the elevation of the surface
7
- * @default 0
8
7
  */
9
8
  elevation?: 0 | 1 | 2 | 3 | 4 | 5;
10
9
  /**
@@ -21,7 +20,6 @@ export declare type SurfaceProps = {
21
20
  export declare const Surface: React.ForwardRefExoticComponent<{
22
21
  /**
23
22
  * Sets the elevation of the surface
24
- * @default 0
25
23
  */
26
24
  elevation?: 0 | 1 | 2 | 3 | 4 | 5 | undefined;
27
25
  /**
@@ -39,18 +39,20 @@ require("@itwin/itwinui-css/css/surface.css");
39
39
  */
40
40
  var getSurfaceElevationValue = function (elevation) {
41
41
  switch (elevation) {
42
+ case 0:
43
+ return 'none';
42
44
  case 1:
43
- return '0 1px 5px rgba(0, 0, 0, 0.25)';
45
+ return 'var(--iui-shadow-1)';
44
46
  case 2:
45
- return '0 1px 10px rgba(0, 0, 0, 0.25)';
47
+ return 'var(--iui-shadow-2)';
46
48
  case 3:
47
- return '0 3px 14px rgba(0, 0, 0, 0.25)';
49
+ return 'var(--iui-shadow-3)';
48
50
  case 4:
49
- return '0 6px 30px rgba(0, 0, 0, 0.25)';
51
+ return 'var(--iui-shadow-4)';
50
52
  case 5:
51
- return '0 9px 46px rgba(0, 0, 0, 0.25)';
53
+ return 'var(--iui-shadow-5)';
52
54
  default:
53
- return 'none';
55
+ return '';
54
56
  }
55
57
  };
56
58
  /**
@@ -60,11 +62,9 @@ var getSurfaceElevationValue = function (elevation) {
60
62
  * <Surface elevation={2}>Surface Content</Surface>
61
63
  */
62
64
  exports.Surface = react_1.default.forwardRef(function (props, ref) {
63
- var _a, _b, _c;
64
- var _d = props.elevation, elevation = _d === void 0 ? 0 : _d, className = props.className, style = props.style, children = props.children, rest = __rest(props, ["elevation", "className", "style", "children"]);
65
+ var elevation = props.elevation, className = props.className, style = props.style, children = props.children, rest = __rest(props, ["elevation", "className", "style", "children"]);
65
66
  (0, utils_1.useTheme)();
66
- var _style = ((_c = (_b = (_a = (0, utils_1.getWindow)()) === null || _a === void 0 ? void 0 : _a.CSS) === null || _b === void 0 ? void 0 : _b.supports) === null || _c === void 0 ? void 0 : _c.call(_b, "--iui-surface-elevation: ".concat(getSurfaceElevationValue(elevation))))
67
- ? __assign({ '--iui-surface-elevation': getSurfaceElevationValue(elevation) }, style) : __assign({ boxShadow: getSurfaceElevationValue(elevation) }, style);
67
+ var _style = __assign({ '--iui-surface-elevation': getSurfaceElevationValue(elevation) }, style);
68
68
  return (react_1.default.createElement("div", __assign({ className: (0, classnames_1.default)('iui-surface', className), style: _style, ref: ref }, rest), children));
69
69
  });
70
70
  exports.default = exports.Surface;
@@ -9,14 +9,14 @@ exports.SubRowExpander = void 0;
9
9
  * See LICENSE.md in the project root for license terms and full copyright notice.
10
10
  *--------------------------------------------------------------------------------------------*/
11
11
  var react_1 = __importDefault(require("react"));
12
- var ChevronRight_1 = __importDefault(require("@itwin/itwinui-icons-react/cjs/icons/ChevronRight"));
12
+ var utils_1 = require("../utils");
13
13
  var Buttons_1 = require("../Buttons");
14
14
  var SubRowExpander = function (props) {
15
15
  var cell = props.cell, isDisabled = props.isDisabled, cellProps = props.cellProps, expanderCell = props.expanderCell;
16
- return (react_1.default.createElement(react_1.default.Fragment, null, expanderCell ? (expanderCell(cellProps)) : (react_1.default.createElement(Buttons_1.IconButton, { style: { marginRight: 8 }, className: 'iui-row-expander', styleType: 'borderless', size: 'small', onClick: function (e) {
16
+ return (react_1.default.createElement(react_1.default.Fragment, null, expanderCell ? (expanderCell(cellProps)) : (react_1.default.createElement(Buttons_1.IconButton, { style: { marginRight: 8 }, className: 'iui-table-row-expander', styleType: 'borderless', size: 'small', onClick: function (e) {
17
17
  e.stopPropagation();
18
18
  cell.row.toggleRowExpanded();
19
- }, disabled: isDisabled }, react_1.default.createElement(ChevronRight_1.default, { style: {
19
+ }, disabled: isDisabled }, react_1.default.createElement(utils_1.SvgChevronRight, { style: {
20
20
  transform: cell.row.isExpanded ? 'rotate(90deg)' : undefined,
21
21
  } })))));
22
22
  };
@@ -35,6 +35,10 @@ export declare type TablePaginatorRendererProps = {
35
35
  * @default false
36
36
  */
37
37
  isLoading?: boolean;
38
+ /**
39
+ * Total number of rows selected (for mutli-selection mode only)
40
+ */
41
+ totalSelectedRowsCount?: number;
38
42
  };
39
43
  /**
40
44
  * Table props.
@@ -83,12 +87,10 @@ export declare type TableProps<T extends Record<string, unknown> = Record<string
83
87
  onSort?: (state: TableState<T>) => void;
84
88
  /**
85
89
  * Callback function when scroll reaches bottom. Can be used for lazy-loading the data.
86
- * If you want to use it in older browsers e.g. IE, then you need to have IntersectionObserver polyfill.
87
90
  */
88
91
  onBottomReached?: () => void;
89
92
  /**
90
93
  * Callback function when row is in viewport.
91
- * If you want to use it in older browsers e.g. IE, then you need to have IntersectionObserver polyfill.
92
94
  */
93
95
  onRowInViewport?: (rowData: T) => void;
94
96
  /**
@@ -137,6 +139,7 @@ export declare type TableProps<T extends Record<string, unknown> = Record<string
137
139
  */
138
140
  rowProps?: (row: Row<T>) => React.ComponentPropsWithRef<'div'> & {
139
141
  status?: 'positive' | 'warning' | 'negative';
142
+ isLoading?: boolean;
140
143
  };
141
144
  /**
142
145
  * Modify the density of the table (adjusts the row height).
@@ -166,8 +169,6 @@ export declare type TableProps<T extends Record<string, unknown> = Record<string
166
169
  /**
167
170
  * Flag whether columns are resizable.
168
171
  * In order to disable resizing for specific column, set `disableResizing: true` for that column.
169
- *
170
- * If you want to use it in older browsers e.g. IE, then you need to have `ResizeObserver` polyfill.
171
172
  * @default false
172
173
  */
173
174
  isResizable?: boolean;
@@ -36,8 +36,6 @@ var react_table_1 = require("react-table");
36
36
  var ProgressIndicators_1 = require("../ProgressIndicators");
37
37
  var utils_1 = require("../utils");
38
38
  require("@itwin/itwinui-css/css/table.css");
39
- var SortDown_1 = __importDefault(require("@itwin/itwinui-icons-react/cjs/icons/SortDown"));
40
- var SortUp_1 = __importDefault(require("@itwin/itwinui-icons-react/cjs/icons/SortUp"));
41
39
  var utils_2 = require("./utils");
42
40
  var TableRowMemoized_1 = require("./TableRowMemoized");
43
41
  var filters_1 = require("./filters");
@@ -103,8 +101,7 @@ var flattenColumns = function (columns) {
103
101
  * />
104
102
  */
105
103
  var Table = function (props) {
106
- var _a;
107
- var data = props.data, columns = props.columns, _b = props.isLoading, isLoading = _b === void 0 ? false : _b, emptyTableContent = props.emptyTableContent, className = props.className, style = props.style, id = props.id, _c = props.isSelectable, isSelectable = _c === void 0 ? false : _c, onSelect = props.onSelect, onRowClick = props.onRowClick, _d = props.selectionMode, selectionMode = _d === void 0 ? 'multi' : _d, _e = props.isSortable, isSortable = _e === void 0 ? false : _e, onSort = props.onSort, stateReducer = props.stateReducer, onBottomReached = props.onBottomReached, onRowInViewport = props.onRowInViewport, _f = props.intersectionMargin, intersectionMargin = _f === void 0 ? 300 : _f, subComponent = props.subComponent, onExpand = props.onExpand, onFilter = props.onFilter, globalFilterValue = props.globalFilterValue, emptyFilteredTableContent = props.emptyFilteredTableContent, filterFunctions = props.filterTypes, expanderCell = props.expanderCell, isRowDisabled = props.isRowDisabled, rowProps = props.rowProps, _g = props.density, density = _g === void 0 ? 'default' : _g, _h = props.selectSubRows, selectSubRows = _h === void 0 ? true : _h, getSubRows = props.getSubRows, _j = props.selectRowOnClick, selectRowOnClick = _j === void 0 ? true : _j, paginatorRenderer = props.paginatorRenderer, _k = props.pageSize, pageSize = _k === void 0 ? 25 : _k, _l = props.isResizable, isResizable = _l === void 0 ? false : _l, _m = props.columnResizeMode, columnResizeMode = _m === void 0 ? 'fit' : _m, _o = props.styleType, styleType = _o === void 0 ? 'default' : _o, _p = props.enableVirtualization, enableVirtualization = _p === void 0 ? false : _p, _q = props.enableColumnReordering, enableColumnReordering = _q === void 0 ? false : _q, rest = __rest(props, ["data", "columns", "isLoading", "emptyTableContent", "className", "style", "id", "isSelectable", "onSelect", "onRowClick", "selectionMode", "isSortable", "onSort", "stateReducer", "onBottomReached", "onRowInViewport", "intersectionMargin", "subComponent", "onExpand", "onFilter", "globalFilterValue", "emptyFilteredTableContent", "filterTypes", "expanderCell", "isRowDisabled", "rowProps", "density", "selectSubRows", "getSubRows", "selectRowOnClick", "paginatorRenderer", "pageSize", "isResizable", "columnResizeMode", "styleType", "enableVirtualization", "enableColumnReordering"]);
104
+ var data = props.data, columns = props.columns, _a = props.isLoading, isLoading = _a === void 0 ? false : _a, emptyTableContent = props.emptyTableContent, className = props.className, style = props.style, id = props.id, _b = props.isSelectable, isSelectable = _b === void 0 ? false : _b, onSelect = props.onSelect, onRowClick = props.onRowClick, _c = props.selectionMode, selectionMode = _c === void 0 ? 'multi' : _c, _d = props.isSortable, isSortable = _d === void 0 ? false : _d, onSort = props.onSort, stateReducer = props.stateReducer, onBottomReached = props.onBottomReached, onRowInViewport = props.onRowInViewport, _e = props.intersectionMargin, intersectionMargin = _e === void 0 ? 300 : _e, subComponent = props.subComponent, onExpand = props.onExpand, onFilter = props.onFilter, globalFilterValue = props.globalFilterValue, emptyFilteredTableContent = props.emptyFilteredTableContent, filterFunctions = props.filterTypes, expanderCell = props.expanderCell, isRowDisabled = props.isRowDisabled, rowProps = props.rowProps, _f = props.density, density = _f === void 0 ? 'default' : _f, _g = props.selectSubRows, selectSubRows = _g === void 0 ? true : _g, getSubRows = props.getSubRows, _h = props.selectRowOnClick, selectRowOnClick = _h === void 0 ? true : _h, paginatorRenderer = props.paginatorRenderer, _j = props.pageSize, pageSize = _j === void 0 ? 25 : _j, _k = props.isResizable, isResizable = _k === void 0 ? false : _k, _l = props.columnResizeMode, columnResizeMode = _l === void 0 ? 'fit' : _l, _m = props.styleType, styleType = _m === void 0 ? 'default' : _m, _o = props.enableVirtualization, enableVirtualization = _o === void 0 ? false : _o, _p = props.enableColumnReordering, enableColumnReordering = _p === void 0 ? false : _p, rest = __rest(props, ["data", "columns", "isLoading", "emptyTableContent", "className", "style", "id", "isSelectable", "onSelect", "onRowClick", "selectionMode", "isSortable", "onSort", "stateReducer", "onBottomReached", "onRowInViewport", "intersectionMargin", "subComponent", "onExpand", "onFilter", "globalFilterValue", "emptyFilteredTableContent", "filterTypes", "expanderCell", "isRowDisabled", "rowProps", "density", "selectSubRows", "getSubRows", "selectRowOnClick", "paginatorRenderer", "pageSize", "isResizable", "columnResizeMode", "styleType", "enableVirtualization", "enableColumnReordering"]);
108
105
  (0, utils_1.useTheme)();
109
106
  var ownerDocument = react_1.default.useRef();
110
107
  var defaultColumn = react_1.default.useMemo(function () { return ({
@@ -278,6 +275,7 @@ var Table = function (props) {
278
275
  isLoading: isLoading,
279
276
  onPageChange: gotoPage,
280
277
  onPageSizeChange: setPageSize,
278
+ totalSelectedRowsCount: selectionMode === 'single' ? 0 : instance.selectedFlatRows.length, // 0 when selectionMode = 'single' since totalSelectedRowCount is for multi-selection mode only
281
279
  }); }, [
282
280
  density,
283
281
  gotoPage,
@@ -286,8 +284,10 @@ var Table = function (props) {
286
284
  setPageSize,
287
285
  state.pageIndex,
288
286
  state.pageSize,
287
+ instance.selectedFlatRows,
288
+ selectionMode,
289
289
  ]);
290
- var _r = (0, hooks_1.useScrollToRow)(__assign(__assign({}, props), { page: page })), scrollToIndex = _r.scrollToIndex, tableRowRef = _r.tableRowRef;
290
+ var _q = (0, hooks_1.useScrollToRow)(__assign(__assign({}, props), { page: page })), scrollToIndex = _q.scrollToIndex, tableRowRef = _q.tableRowRef;
291
291
  var columnRefs = react_1.default.useRef({});
292
292
  var previousTableWidth = react_1.default.useRef(0);
293
293
  var onTableResize = react_1.default.useCallback(function (_a) {
@@ -300,7 +300,8 @@ var Table = function (props) {
300
300
  // Update column widths when table was resized
301
301
  flatHeaders.forEach(function (header) {
302
302
  if (columnRefs.current[header.id]) {
303
- header.resizeWidth = columnRefs.current[header.id].getBoundingClientRect().width;
303
+ header.resizeWidth =
304
+ columnRefs.current[header.id].getBoundingClientRect().width;
304
305
  }
305
306
  });
306
307
  // If no column was resized then leave table resize handling to the flexbox
@@ -316,7 +317,8 @@ var Table = function (props) {
316
317
  var newColumnWidths_1 = {};
317
318
  flatHeaders.forEach(function (column) {
318
319
  if (columnRefs.current[column.id]) {
319
- newColumnWidths_1[column.id] = columnRefs.current[column.id].getBoundingClientRect().width;
320
+ newColumnWidths_1[column.id] =
321
+ columnRefs.current[column.id].getBoundingClientRect().width;
320
322
  }
321
323
  });
322
324
  dispatch({ type: tableResizeEndAction, columnWidths: newColumnWidths_1 });
@@ -376,9 +378,9 @@ var Table = function (props) {
376
378
  resizeRef(element);
377
379
  }
378
380
  }, id: id }, getTableProps({
379
- className: (0, classnames_1.default)('iui-table', (_a = {}, _a["iui-".concat(density)] = density !== 'default', _a), className),
381
+ className: (0, classnames_1.default)('iui-table', className),
380
382
  style: __assign({ minWidth: 0 }, style),
381
- }), ariaDataAttributes),
383
+ }), { "data-iui-size": density === 'default' ? undefined : density }, ariaDataAttributes),
382
384
  react_1.default.createElement("div", { className: 'iui-table-header-wrapper', ref: headerRef, onScroll: function () {
383
385
  if (headerRef.current && bodyRef.current) {
384
386
  bodyRef.current.scrollLeft = headerRef.current.scrollLeft;
@@ -387,19 +389,20 @@ var Table = function (props) {
387
389
  } },
388
390
  react_1.default.createElement("div", { className: 'iui-table-header' }, headerGroups.slice(1).map(function (headerGroup) {
389
391
  var headerGroupProps = headerGroup.getHeaderGroupProps({
390
- className: 'iui-row',
392
+ className: 'iui-table-row',
391
393
  });
392
394
  return (react_1.default.createElement("div", __assign({}, headerGroupProps, { key: headerGroupProps.key }), headerGroup.headers.map(function (column, index) {
393
395
  var _a = column.getSortByToggleProps(), onClick = _a.onClick, restSortProps = __rest(_a, ["onClick"]);
394
- var columnProps = column.getHeaderProps(__assign(__assign({}, restSortProps), { className: (0, classnames_1.default)('iui-cell', {
396
+ var columnProps = column.getHeaderProps(__assign(__assign({}, restSortProps), { className: (0, classnames_1.default)('iui-table-cell', {
395
397
  'iui-actionable': column.canSort,
396
398
  'iui-sorted': column.isSorted,
397
- 'iui-cell-sticky': !!column.sticky,
399
+ 'iui-table-cell-sticky': !!column.sticky,
398
400
  }, column.columnClassName), style: __assign(__assign(__assign({}, (0, utils_2.getCellStyle)(column, !!state.isTableResizing)), (0, utils_2.getStickyStyle)(column, visibleColumns)), { flexWrap: 'unset' }) }));
399
401
  return (react_1.default.createElement("div", __assign({}, columnProps, column.getDragAndDropProps(), { key: columnProps.key, title: undefined, ref: function (el) {
400
402
  if (el) {
401
403
  columnRefs.current[column.id] = el;
402
- column.resizeWidth = el.getBoundingClientRect().width;
404
+ column.resizeWidth =
405
+ el.getBoundingClientRect().width;
403
406
  }
404
407
  }, onMouseDown: function () {
405
408
  isHeaderDirectClick.current = true;
@@ -409,24 +412,28 @@ var Table = function (props) {
409
412
  onClick === null || onClick === void 0 ? void 0 : onClick(e);
410
413
  isHeaderDirectClick.current = false;
411
414
  }
415
+ }, tabIndex: showSortButton(column) ? 0 : undefined, onKeyDown: function (e) {
416
+ if (e.key == 'Enter' && showSortButton(column)) {
417
+ column.toggleSortBy();
418
+ }
412
419
  } }),
413
420
  column.render('Header'),
414
421
  (showFilterButton(column) ||
415
422
  showSortButton(column)) && (react_1.default.createElement("div", { className: 'iui-table-header-actions-container' },
416
423
  showFilterButton(column) && (react_1.default.createElement(filters_1.FilterToggle, { column: column })),
417
- showSortButton(column) && (react_1.default.createElement("div", { className: 'iui-cell-end-icon' }, column.isSortedDesc ||
418
- (!column.isSorted && column.sortDescFirst) ? (react_1.default.createElement(SortDown_1.default, { className: 'iui-icon iui-sort', "aria-hidden": true })) : (react_1.default.createElement(SortUp_1.default, { className: 'iui-icon iui-sort', "aria-hidden": true })))))),
424
+ showSortButton(column) && (react_1.default.createElement("div", { className: 'iui-table-cell-end-icon' }, column.isSortedDesc ||
425
+ (!column.isSorted && column.sortDescFirst) ? (react_1.default.createElement(utils_1.SvgSortDown, { className: 'iui-table-sort', "aria-hidden": true })) : (react_1.default.createElement(utils_1.SvgSortUp, { className: 'iui-table-sort', "aria-hidden": true })))))),
419
426
  isResizable &&
420
427
  column.isResizerVisible &&
421
428
  (index !== headerGroup.headers.length - 1 ||
422
- columnResizeMode === 'expand') && (react_1.default.createElement("div", __assign({}, column.getResizerProps(), { className: 'iui-resizer' }),
423
- react_1.default.createElement("div", { className: 'iui-resizer-bar' }))),
429
+ columnResizeMode === 'expand') && (react_1.default.createElement("div", __assign({}, column.getResizerProps(), { className: 'iui-table-resizer' }),
430
+ react_1.default.createElement("div", { className: 'iui-table-resizer-bar' }))),
424
431
  enableColumnReordering &&
425
- !column.disableReordering && (react_1.default.createElement("div", { className: 'iui-reorder-bar' })),
432
+ !column.disableReordering && (react_1.default.createElement("div", { className: 'iui-table-reorder-bar' })),
426
433
  column.sticky === 'left' &&
427
- state.sticky.isScrolledToRight && (react_1.default.createElement("div", { className: 'iui-cell-shadow-right' })),
434
+ state.sticky.isScrolledToRight && (react_1.default.createElement("div", { className: 'iui-table-cell-shadow-right' })),
428
435
  column.sticky === 'right' &&
429
- state.sticky.isScrolledToLeft && (react_1.default.createElement("div", { className: 'iui-cell-shadow-left' }))));
436
+ state.sticky.isScrolledToLeft && (react_1.default.createElement("div", { className: 'iui-table-cell-shadow-left' }))));
430
437
  })));
431
438
  }))),
432
439
  react_1.default.createElement("div", __assign({}, getTableBodyProps({
@@ -439,12 +446,12 @@ var Table = function (props) {
439
446
  headerRef.current.scrollLeft = bodyRef.current.scrollLeft;
440
447
  updateStickyState();
441
448
  }
442
- }, tabIndex: -1 }),
449
+ }, tabIndex: -1, "aria-multiselectable": (isSelectable && selectionMode === 'multi') || undefined }),
443
450
  data.length !== 0 && (react_1.default.createElement(react_1.default.Fragment, null, enableVirtualization ? (react_1.default.createElement(VirtualScroll_1.default, { itemsLength: page.length, itemRenderer: virtualizedItemRenderer, scrollToIndex: scrollToIndex })) : (page.map(function (_, index) { return getPreparedRow(index); })))),
444
451
  isLoading && data.length === 0 && (react_1.default.createElement("div", { className: 'iui-table-empty' },
445
452
  react_1.default.createElement(ProgressIndicators_1.ProgressRadial, { indeterminate: true }))),
446
- isLoading && data.length !== 0 && (react_1.default.createElement("div", { className: 'iui-row' },
447
- react_1.default.createElement("div", { className: 'iui-cell', style: { justifyContent: 'center' } },
453
+ isLoading && data.length !== 0 && (react_1.default.createElement("div", { className: 'iui-table-row' },
454
+ react_1.default.createElement("div", { className: 'iui-table-cell', style: { justifyContent: 'center' } },
448
455
  react_1.default.createElement(ProgressIndicators_1.ProgressRadial, { indeterminate: true, size: 'small', style: { float: 'none', marginLeft: 0 } })))),
449
456
  !isLoading && data.length === 0 && !areFiltersSet && (react_1.default.createElement("div", { className: 'iui-table-empty' },
450
457
  react_1.default.createElement("div", null, emptyTableContent))),
@@ -40,8 +40,8 @@ var TableCell = function (props) {
40
40
  };
41
41
  };
42
42
  var cellElementProps = cell.getCellProps({
43
- className: (0, classnames_1.default)('iui-cell', cell.column.cellClassName, {
44
- 'iui-cell-sticky': !!cell.column.sticky,
43
+ className: (0, classnames_1.default)('iui-table-cell', cell.column.cellClassName, {
44
+ 'iui-table-cell-sticky': !!cell.column.sticky,
45
45
  }),
46
46
  style: __assign(__assign(__assign({}, (0, utils_1.getCellStyle)(cell.column, !!tableInstance.state.isTableResizing)), getSubRowStyle()), (0, utils_1.getStickyStyle)(cell.column, tableInstance.visibleColumns)),
47
47
  });
@@ -55,9 +55,9 @@ var TableCell = function (props) {
55
55
  children: (react_1.default.createElement(react_1.default.Fragment, null,
56
56
  cellContent,
57
57
  cell.column.sticky === 'left' &&
58
- tableInstance.state.sticky.isScrolledToRight && (react_1.default.createElement("div", { className: 'iui-cell-shadow-right' })),
58
+ tableInstance.state.sticky.isScrolledToRight && (react_1.default.createElement("div", { className: 'iui-table-cell-shadow-right' })),
59
59
  cell.column.sticky === 'right' &&
60
- tableInstance.state.sticky.isScrolledToLeft && (react_1.default.createElement("div", { className: 'iui-cell-shadow-left' })))),
60
+ tableInstance.state.sticky.isScrolledToLeft && (react_1.default.createElement("div", { className: 'iui-table-cell-shadow-left' })))),
61
61
  };
62
62
  return (react_1.default.createElement(react_1.default.Fragment, null, cell.column.cellRenderer ? (cell.column.cellRenderer(__assign(__assign({}, cellRendererProps), { isDisabled: function () { return isDisabled; } }))) : (react_1.default.createElement(cells_1.DefaultCell, __assign({}, cellRendererProps, { isDisabled: function () { return isDisabled; } })))));
63
63
  };
@@ -33,8 +33,6 @@ exports.TablePaginator = void 0;
33
33
  var react_1 = __importDefault(require("react"));
34
34
  var classnames_1 = __importDefault(require("classnames"));
35
35
  require("@itwin/itwinui-css/css/table.css");
36
- var ChevronLeft_1 = __importDefault(require("@itwin/itwinui-icons-react/cjs/icons/ChevronLeft"));
37
- var ChevronRight_1 = __importDefault(require("@itwin/itwinui-icons-react/cjs/icons/ChevronRight"));
38
36
  var Buttons_1 = require("../Buttons");
39
37
  var ProgressIndicators_1 = require("../ProgressIndicators");
40
38
  var Menu_1 = require("../Menu");
@@ -61,11 +59,11 @@ var defaultLocalization = {
61
59
  * />
62
60
  */
63
61
  var TablePaginator = function (props) {
64
- var currentPage = props.currentPage, totalRowsCount = props.totalRowsCount, pageSize = props.pageSize, onPageChange = props.onPageChange, _a = props.focusActivationMode, focusActivationMode = _a === void 0 ? 'manual' : _a, _b = props.isLoading, isLoading = _b === void 0 ? false : _b, _c = props.size, size = _c === void 0 ? 'default' : _c, pageSizeList = props.pageSizeList, onPageSizeChange = props.onPageSizeChange, userLocalization = props.localization, className = props.className, rest = __rest(props, ["currentPage", "totalRowsCount", "pageSize", "onPageChange", "focusActivationMode", "isLoading", "size", "pageSizeList", "onPageSizeChange", "localization", "className"]);
62
+ var currentPage = props.currentPage, totalRowsCount = props.totalRowsCount, pageSize = props.pageSize, onPageChange = props.onPageChange, _a = props.totalSelectedRowsCount, totalSelectedRowsCount = _a === void 0 ? 0 : _a, _b = props.focusActivationMode, focusActivationMode = _b === void 0 ? 'manual' : _b, _c = props.isLoading, isLoading = _c === void 0 ? false : _c, _d = props.size, size = _d === void 0 ? 'default' : _d, pageSizeList = props.pageSizeList, onPageSizeChange = props.onPageSizeChange, userLocalization = props.localization, className = props.className, rest = __rest(props, ["currentPage", "totalRowsCount", "pageSize", "onPageChange", "totalSelectedRowsCount", "focusActivationMode", "isLoading", "size", "pageSizeList", "onPageSizeChange", "localization", "className"]);
65
63
  (0, utils_1.useTheme)();
66
64
  var localization = react_1.default.useMemo(function () { return (__assign(__assign({}, defaultLocalization), userLocalization)); }, [userLocalization]);
67
65
  var pageListRef = react_1.default.useRef(null);
68
- var _d = react_1.default.useState(currentPage), focusedIndex = _d[0], setFocusedIndex = _d[1];
66
+ var _e = react_1.default.useState(currentPage), focusedIndex = _e[0], setFocusedIndex = _e[1];
69
67
  react_1.default.useEffect(function () {
70
68
  setFocusedIndex(currentPage);
71
69
  }, [currentPage]);
@@ -76,7 +74,7 @@ var TablePaginator = function (props) {
76
74
  // Checking `isMounted.current` prevents from focusing on initial load.
77
75
  // Checking `needFocus.current` prevents from focusing page when clicked on previous/next page.
78
76
  if (isMounted.current && needFocus.current) {
79
- var buttonToFocus = Array.from((_b = (_a = pageListRef.current) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.iui-paginator-page-button')) !== null && _b !== void 0 ? _b : []).find(function (el) { var _a; return ((_a = el.textContent) === null || _a === void 0 ? void 0 : _a.trim()) === (focusedIndex + 1).toString(); });
77
+ var 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(function (el) { var _a; return ((_a = el.textContent) === null || _a === void 0 ? void 0 : _a.trim()) === (focusedIndex + 1).toString(); });
80
78
  buttonToFocus === null || buttonToFocus === void 0 ? void 0 : buttonToFocus.focus();
81
79
  needFocus.current = false;
82
80
  }
@@ -85,10 +83,9 @@ var TablePaginator = function (props) {
85
83
  var buttonSize = size != 'default' ? 'small' : undefined;
86
84
  var pageButton = react_1.default.useCallback(function (index, tabIndex) {
87
85
  if (tabIndex === void 0) { tabIndex = index === focusedIndex ? 0 : -1; }
88
- return (react_1.default.createElement("button", { key: index, className: (0, classnames_1.default)('iui-paginator-page-button', {
89
- 'iui-active': index === currentPage,
90
- 'iui-paginator-page-button-small': buttonSize === 'small',
91
- }), onClick: function () { return onPageChange(index); }, "aria-current": index === currentPage, "aria-label": localization.goToPageLabel(index + 1), tabIndex: tabIndex }, index + 1));
86
+ return (react_1.default.createElement("button", { key: index, className: (0, classnames_1.default)('iui-table-paginator-page-button', {
87
+ 'iui-table-paginator-page-button-small': buttonSize === 'small',
88
+ }), "data-iui-active": index === currentPage, onClick: function () { return onPageChange(index); }, "aria-current": index === currentPage, "aria-label": localization.goToPageLabel(index + 1), tabIndex: tabIndex }, index + 1));
92
89
  }, [focusedIndex, currentPage, localization, buttonSize, onPageChange]);
93
90
  var totalPagesCount = Math.ceil(totalRowsCount / pageSize);
94
91
  var pageList = react_1.default.useMemo(function () {
@@ -96,8 +93,8 @@ var TablePaginator = function (props) {
96
93
  .fill(null)
97
94
  .map(function (_, index) { return pageButton(index); });
98
95
  }, [pageButton, totalPagesCount]);
99
- var _e = (0, utils_1.useOverflow)(pageList), overflowRef = _e[0], visibleCount = _e[1];
100
- var _f = (0, utils_1.useContainerWidth)(), paginatorResizeRef = _f[0], paginatorWidth = _f[1];
96
+ var _f = (0, utils_1.useOverflow)(pageList), overflowRef = _f[0], visibleCount = _f[1];
97
+ var _g = (0, utils_1.useContainerWidth)(), paginatorResizeRef = _g[0], paginatorWidth = _g[1];
101
98
  var onKeyDown = function (event) {
102
99
  // alt + arrow keys are used by browser/assistive technologies
103
100
  if (event.altKey) {
@@ -150,19 +147,19 @@ var TablePaginator = function (props) {
150
147
  var hasNoRows = totalPagesCount === 0;
151
148
  var showPagesList = totalPagesCount > 1 || isLoading;
152
149
  var showPageSizeList = pageSizeList && !!onPageSizeChange && !!totalRowsCount;
153
- var ellipsis = (react_1.default.createElement("span", { className: (0, classnames_1.default)('iui-paginator-ellipsis', {
154
- 'iui-paginator-ellipsis-small': size === 'small',
150
+ var ellipsis = (react_1.default.createElement("span", { className: (0, classnames_1.default)('iui-table-paginator-ellipsis', {
151
+ 'iui-table-paginator-ellipsis-small': size === 'small',
155
152
  }) }, "\u2026"));
156
153
  var noRowsContent = (react_1.default.createElement(react_1.default.Fragment, null, isLoading ? (react_1.default.createElement(ProgressIndicators_1.ProgressRadial, { indeterminate: true, size: 'small' })) : (react_1.default.createElement(Buttons_1.Button, { styleType: 'borderless', disabled: true, size: buttonSize }, "1"))));
157
154
  if (!showPagesList && !showPageSizeList) {
158
155
  return null;
159
156
  }
160
- return (react_1.default.createElement("div", __assign({ className: (0, classnames_1.default)('iui-paginator', className), ref: paginatorResizeRef }, rest),
161
- react_1.default.createElement("div", { className: 'iui-left' }),
157
+ return (react_1.default.createElement("div", __assign({ className: (0, classnames_1.default)('iui-table-paginator', className), ref: paginatorResizeRef }, rest),
158
+ react_1.default.createElement("div", { className: 'iui-left' }, totalSelectedRowsCount > 0 && (react_1.default.createElement("span", null, "".concat(totalSelectedRowsCount, " ").concat(totalSelectedRowsCount === 1 ? 'row' : 'rows', " selected")))),
162
159
  showPagesList && (react_1.default.createElement("div", { className: 'iui-center', ref: overflowRef },
163
160
  react_1.default.createElement(Buttons_1.IconButton, { styleType: 'borderless', disabled: currentPage === 0, onClick: function () { return onPageChange(currentPage - 1); }, size: buttonSize, "aria-label": localization.previousPage },
164
- react_1.default.createElement(ChevronLeft_1.default, null)),
165
- react_1.default.createElement("span", { className: 'iui-paginator-pages-group', onKeyDown: onKeyDown, ref: pageListRef }, (function () {
161
+ react_1.default.createElement(utils_1.SvgChevronLeft, null)),
162
+ react_1.default.createElement("span", { className: 'iui-table-paginator-pages-group', onKeyDown: onKeyDown, ref: pageListRef }, (function () {
166
163
  if (hasNoRows) {
167
164
  return noRowsContent;
168
165
  }
@@ -182,10 +179,10 @@ var TablePaginator = function (props) {
182
179
  react_1.default.createElement(ProgressIndicators_1.ProgressRadial, { indeterminate: true, size: 'small' })))));
183
180
  })()),
184
181
  react_1.default.createElement(Buttons_1.IconButton, { styleType: 'borderless', disabled: currentPage === totalPagesCount - 1 || hasNoRows, onClick: function () { return onPageChange(currentPage + 1); }, size: buttonSize, "aria-label": localization.nextPage },
185
- react_1.default.createElement(ChevronRight_1.default, null)))),
182
+ react_1.default.createElement(utils_1.SvgChevronRight, null)))),
186
183
  react_1.default.createElement("div", { className: 'iui-right' }, showPageSizeList && (react_1.default.createElement(react_1.default.Fragment, null,
187
184
  localization.rowsPerPageLabel !== null &&
188
- paginatorWidth >= 1024 && (react_1.default.createElement("span", { className: 'iui-paginator-page-size-label' }, localization.rowsPerPageLabel)),
185
+ paginatorWidth >= 1024 && (react_1.default.createElement("span", { className: 'iui-table-paginator-page-size-label' }, localization.rowsPerPageLabel)),
189
186
  react_1.default.createElement(Buttons_1.DropdownButton, { styleType: 'borderless', size: buttonSize, menuItems: function (close) {
190
187
  return pageSizeList.map(function (size) { return (react_1.default.createElement(Menu_1.MenuItem, { key: size, isSelected: size === pageSize, onClick: function () {
191
188
  close();
@@ -12,6 +12,7 @@ export declare const TableRow: <T extends Record<string, unknown>>(props: {
12
12
  ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
13
13
  } & {
14
14
  status?: "positive" | "warning" | "negative" | undefined;
15
+ isLoading?: boolean | undefined;
15
16
  }) | undefined;
16
17
  isLast: boolean;
17
18
  onRowInViewport: React.MutableRefObject<((rowData: T) => void) | undefined>;
@@ -33,6 +34,7 @@ export declare const TableRowMemoized: <T extends Record<string, unknown>>(props
33
34
  ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
34
35
  } & {
35
36
  status?: "positive" | "warning" | "negative" | undefined;
37
+ isLoading?: boolean | undefined;
36
38
  }) | undefined;
37
39
  isLast: boolean;
38
40
  onRowInViewport: React.MutableRefObject<((rowData: T) => void) | undefined>;
@@ -42,7 +42,6 @@ var TableCell_1 = require("./TableCell");
42
42
  */
43
43
  var TableRow = function (props) {
44
44
  var _a;
45
- var _b;
46
45
  var row = props.row, rowProps = props.rowProps, isLast = props.isLast, onRowInViewport = props.onRowInViewport, onBottomReached = props.onBottomReached, intersectionMargin = props.intersectionMargin, onClick = props.onClick, subComponent = props.subComponent, isDisabled = props.isDisabled, tableHasSubRows = props.tableHasSubRows, tableInstance = props.tableInstance, expanderCell = props.expanderCell, bodyRef = props.bodyRef, tableRowRef = props.tableRowRef;
47
46
  var onIntersect = react_1.default.useCallback(function () {
48
47
  var _a, _b;
@@ -63,16 +62,16 @@ var TableRow = function (props) {
63
62
  rootMargin: "".concat(intersectionMargin, "px"),
64
63
  root: intersectionRoot,
65
64
  });
66
- var userRowProps = (_b = rowProps === null || rowProps === void 0 ? void 0 : rowProps(row)) !== null && _b !== void 0 ? _b : {};
67
- var status = userRowProps.status, restUserRowProps = __rest(userRowProps, ["status"]);
65
+ var userRowProps = (_a = rowProps === null || rowProps === void 0 ? void 0 : rowProps(row)) !== null && _a !== void 0 ? _a : {};
66
+ var status = userRowProps.status, isLoading = userRowProps.isLoading, restUserRowProps = __rest(userRowProps, ["status", "isLoading"]);
68
67
  var mergedProps = __assign(__assign(__assign({}, row.getRowProps({ style: { flex: "0 0 auto", minWidth: '100%' } })), restUserRowProps), {
69
- className: (0, classnames_1.default)('iui-row', (_a = {
70
- 'iui-selected': row.isSelected,
71
- 'iui-row-expanded': row.isExpanded && subComponent,
72
- 'iui-disabled': isDisabled
73
- },
74
- _a["iui-".concat(status)] = !!status,
75
- _a), userRowProps === null || userRowProps === void 0 ? void 0 : userRowProps.className),
68
+ className: (0, classnames_1.default)('iui-table-row', {
69
+ 'iui-table-row-expanded': row.isExpanded && subComponent,
70
+ 'iui-loading': isLoading,
71
+ }, userRowProps === null || userRowProps === void 0 ? void 0 : userRowProps.className),
72
+ 'aria-selected': row.isSelected || undefined,
73
+ 'aria-disabled': isDisabled || undefined,
74
+ 'data-iui-status': status,
76
75
  });
77
76
  var refs = (0, utils_1.useMergedRefs)(intersectionRef, mergedProps.ref, tableRowRef);
78
77
  return (react_1.default.createElement(react_1.default.Fragment, null,
@@ -84,9 +83,7 @@ var TableRow = function (props) {
84
83
  return (react_1.default.createElement(TableCell_1.TableCell, { key: cell.getCellProps().key, cell: cell, cellIndex: index, isDisabled: isDisabled, tableHasSubRows: tableHasSubRows, tableInstance: tableInstance, expanderCell: expanderCell }));
85
84
  })),
86
85
  subComponent && (react_1.default.createElement(utils_1.WithCSSTransition, { in: row.isExpanded },
87
- react_1.default.createElement("div", { className: (0, classnames_1.default)('iui-row', 'iui-expanded-content', {
88
- 'iui-disabled': isDisabled,
89
- }) }, subComponent(row))))));
86
+ react_1.default.createElement("div", { className: (0, classnames_1.default)('iui-table-row', 'iui-table-expanded-content'), "aria-disabled": isDisabled }, subComponent(row))))));
90
87
  };
91
88
  exports.TableRow = TableRow;
92
89
  var hasAnySelectedSubRow = function (row, selectedRowIds) {
@@ -44,18 +44,13 @@ var classnames_1 = __importDefault(require("classnames"));
44
44
  * }
45
45
  */
46
46
  var DefaultCell = function (props) {
47
- var _a;
48
47
  // Omitting `cellProps`
49
48
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
50
- var _b = props.cellElementProps, cellElementClassName = _b.className, cellElementStyle = _b.style, cellElementProps = __rest(_b, ["className", "style"]), children = props.children, startIcon = props.startIcon, endIcon = props.endIcon, cellProps = props.cellProps, isDisabled = props.isDisabled, className = props.className, style = props.style, status = props.status, rest = __rest(props, ["cellElementProps", "children", "startIcon", "endIcon", "cellProps", "isDisabled", "className", "style", "status"]);
51
- return (react_1.default.createElement("div", __assign({}, cellElementProps, rest, { className: (0, classnames_1.default)(cellElementClassName, className, (_a = {
52
- 'iui-disabled': isDisabled === null || isDisabled === void 0 ? void 0 : isDisabled(cellProps.row.original)
53
- },
54
- _a["iui-".concat(status)] = !!status,
55
- _a)), style: __assign(__assign({}, cellElementStyle), style) }),
56
- startIcon && react_1.default.createElement("div", { className: 'iui-cell-start-icon' }, startIcon),
49
+ var _a = props.cellElementProps, cellElementClassName = _a.className, cellElementStyle = _a.style, cellElementProps = __rest(_a, ["className", "style"]), children = props.children, startIcon = props.startIcon, endIcon = props.endIcon, cellProps = props.cellProps, isDisabled = props.isDisabled, className = props.className, style = props.style, status = props.status, rest = __rest(props, ["cellElementProps", "children", "startIcon", "endIcon", "cellProps", "isDisabled", "className", "style", "status"]);
50
+ return (react_1.default.createElement("div", __assign({}, 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: __assign(__assign({}, cellElementStyle), style) }),
51
+ startIcon && (react_1.default.createElement("div", { className: 'iui-table-cell-start-icon' }, startIcon)),
57
52
  children,
58
- endIcon && react_1.default.createElement("div", { className: 'iui-cell-end-icon' }, endIcon)));
53
+ endIcon && react_1.default.createElement("div", { className: 'iui-table-cell-end-icon' }, endIcon)));
59
54
  };
60
55
  exports.DefaultCell = DefaultCell;
61
56
  exports.default = exports.DefaultCell;
@@ -21,7 +21,7 @@ exports.ActionColumn = void 0;
21
21
  *--------------------------------------------------------------------------------------------*/
22
22
  var react_1 = __importDefault(require("react"));
23
23
  var Checkbox_1 = require("../../Checkbox");
24
- var ColumnManager_1 = __importDefault(require("@itwin/itwinui-icons-react/cjs/icons/ColumnManager"));
24
+ var utils_1 = require("../../utils");
25
25
  var DropdownMenu_1 = require("../../DropdownMenu");
26
26
  var IconButton_1 = require("../../Buttons/IconButton");
27
27
  var Menu_1 = require("../../Menu");
@@ -113,9 +113,9 @@ var ActionColumn = function (_a) {
113
113
  var _a;
114
114
  setIsOpen(true);
115
115
  (_a = dropdownMenuProps.onShow) === null || _a === void 0 ? void 0 : _a.call(dropdownMenuProps, i);
116
- }, style: __assign({ maxHeight: '315px' }, dropdownMenuProps.style), className: (0, classnames_1.default)('iui-scroll', dropdownMenuProps.className) }),
116
+ }, className: (0, classnames_1.default)('iui-scroll', dropdownMenuProps.className) }),
117
117
  react_1.default.createElement(IconButton_1.IconButton, { styleType: 'borderless', isActive: isOpen, ref: buttonRef },
118
- react_1.default.createElement(ColumnManager_1.default, null))));
118
+ react_1.default.createElement(utils_1.SvgColumnManager, null))));
119
119
  },
120
120
  };
121
121
  };
@@ -20,7 +20,7 @@ exports.ExpanderColumn = exports.EXPANDER_CELL_ID = void 0;
20
20
  * See LICENSE.md in the project root for license terms and full copyright notice.
21
21
  *--------------------------------------------------------------------------------------------*/
22
22
  var react_1 = __importDefault(require("react"));
23
- var ChevronRight_1 = __importDefault(require("@itwin/itwinui-icons-react/cjs/icons/ChevronRight"));
23
+ var utils_1 = require("../../utils");
24
24
  var Buttons_1 = require("../../Buttons");
25
25
  var cells_1 = require("../cells");
26
26
  exports.EXPANDER_CELL_ID = 'iui-table-expander';
@@ -69,10 +69,10 @@ var ExpanderColumn = function (props) {
69
69
  return null;
70
70
  }
71
71
  else {
72
- return (react_1.default.createElement(Buttons_1.IconButton, { className: 'iui-row-expander', styleType: 'borderless', size: 'small', onClick: function (e) {
72
+ return (react_1.default.createElement(Buttons_1.IconButton, { className: 'iui-table-row-expander', styleType: 'borderless', size: 'small', onClick: function (e) {
73
73
  e.stopPropagation();
74
74
  row.toggleRowExpanded();
75
- }, disabled: isDisabled === null || isDisabled === void 0 ? void 0 : isDisabled(props.row.original) }, react_1.default.createElement(ChevronRight_1.default, null)));
75
+ }, disabled: isDisabled === null || isDisabled === void 0 ? void 0 : isDisabled(props.row.original) }, react_1.default.createElement(utils_1.SvgChevronRight, null)));
76
76
  }
77
77
  },
78
78
  cellRenderer: function (props) { return (react_1.default.createElement(cells_1.DefaultCell, __assign({}, props, { isDisabled: function (rowData) { return !!(isDisabled === null || isDisabled === void 0 ? void 0 : isDisabled(rowData)); } }))); },
@@ -29,7 +29,7 @@ var utils_1 = require("../../utils");
29
29
  var BaseFilter = function (props) {
30
30
  var children = props.children, className = props.className, style = props.style, id = props.id;
31
31
  (0, utils_1.useTheme)();
32
- return (react_1.default.createElement("div", { className: (0, classnames_1.default)('iui-column-filter', className), style: style,
32
+ return (react_1.default.createElement("div", { className: (0, classnames_1.default)('iui-table-column-filter', className), style: style,
33
33
  // Prevents from triggering sort
34
34
  onClick: function (e) {
35
35
  e.stopPropagation();
@@ -30,7 +30,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
30
30
  * See LICENSE.md in the project root for license terms and full copyright notice.
31
31
  *--------------------------------------------------------------------------------------------*/
32
32
  var react_1 = __importDefault(require("react"));
33
- var Calendar_1 = __importDefault(require("@itwin/itwinui-icons-react/cjs/icons/Calendar"));
34
33
  var utils_1 = require("../../../utils");
35
34
  var LabeledInput_1 = require("../../../LabeledInput");
36
35
  var DatePicker_1 = require("../../../DatePicker");
@@ -70,6 +69,6 @@ var DatePickerInput = function (props) {
70
69
  }
71
70
  }, appendTo: 'parent' },
72
71
  react_1.default.createElement(LabeledInput_1.LabeledInput, __assign({ displayStyle: 'inline', value: inputValue, onChange: onInputChange, onClick: close, svgIcon: react_1.default.createElement(Buttons_1.IconButton, { styleType: 'borderless', onClick: function () { return setIsVisible(function (v) { return !v; }); }, ref: buttonRef },
73
- react_1.default.createElement(Calendar_1.default, null)) }, rest))));
72
+ react_1.default.createElement(utils_1.SvgCalendar, null)) }, rest))));
74
73
  };
75
74
  exports.default = DatePickerInput;
@@ -30,8 +30,6 @@ exports.FilterToggle = void 0;
30
30
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
31
31
  * See LICENSE.md in the project root for license terms and full copyright notice.
32
32
  *--------------------------------------------------------------------------------------------*/
33
- var FilterHollow_1 = __importDefault(require("@itwin/itwinui-icons-react/cjs/icons/FilterHollow"));
34
- var Filter_1 = __importDefault(require("@itwin/itwinui-icons-react/cjs/icons/Filter"));
35
33
  var react_1 = __importDefault(require("react"));
36
34
  var classnames_1 = __importDefault(require("classnames"));
37
35
  require("@itwin/itwinui-css/css/table.css");
@@ -55,10 +53,10 @@ var FilterToggle = function (props) {
55
53
  }, [close, column]);
56
54
  var isColumnFiltered = column.filterValue != null && column.filterValue !== '';
57
55
  return (react_1.default.createElement(react_1.default.Fragment, null, column.canFilter && column.Filter && (react_1.default.createElement(utils_1.Popover, { content: column.render('Filter', { close: close, setFilter: setFilter, clearFilter: clearFilter }), placement: 'bottom-start', visible: isVisible, onClickOutside: close },
58
- react_1.default.createElement(Buttons_1.IconButton, __assign({ styleType: 'borderless', isActive: isVisible || isColumnFiltered, className: (0, classnames_1.default)('iui-filter-button', className), onClick: function (e) {
56
+ react_1.default.createElement(Buttons_1.IconButton, __assign({ styleType: 'borderless', isActive: isVisible || isColumnFiltered, className: (0, classnames_1.default)('iui-table-filter-button', className), onClick: function (e) {
59
57
  setIsVisible(function (v) { return !v; });
60
58
  // Prevents from triggering sort
61
59
  e.stopPropagation();
62
- } }, rest), isColumnFiltered ? react_1.default.createElement(Filter_1.default, null) : react_1.default.createElement(FilterHollow_1.default, null))))));
60
+ } }, rest), isColumnFiltered ? react_1.default.createElement(utils_1.SvgFilter, null) : react_1.default.createElement(utils_1.SvgFilterHollow, null))))));
63
61
  };
64
62
  exports.FilterToggle = FilterToggle;