@itwin/itwinui-react 1.48.0 → 2.0.0-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (267) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +4 -22
  3. package/cjs/core/Alert/Alert.d.ts +7 -6
  4. package/cjs/core/Alert/Alert.js +12 -7
  5. package/cjs/core/Avatar/Avatar.d.ts +69 -0
  6. package/cjs/core/{UserIcon/UserIcon.js → Avatar/Avatar.js} +15 -11
  7. package/cjs/core/Avatar/index.d.ts +4 -0
  8. package/cjs/core/{UserIcon → Avatar}/index.js +5 -4
  9. package/cjs/core/AvatarGroup/AvatarGroup.d.ts +70 -0
  10. package/cjs/core/{UserIconGroup/UserIconGroup.js → AvatarGroup/AvatarGroup.js} +23 -19
  11. package/cjs/core/AvatarGroup/index.d.ts +4 -0
  12. package/cjs/core/{UserIconGroup → AvatarGroup}/index.js +5 -4
  13. package/cjs/core/Badge/Badge.js +2 -4
  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 -1
  17. package/cjs/core/Buttons/IconButton/IconButton.js +3 -9
  18. package/cjs/core/Buttons/IdeasButton/IdeasButton.js +1 -1
  19. package/cjs/core/Buttons/SplitButton/SplitButton.js +4 -6
  20. package/cjs/core/Checkbox/Checkbox.d.ts +1 -29
  21. package/cjs/core/Checkbox/Checkbox.js +3 -3
  22. package/cjs/core/ColorPicker/ColorBuilder.js +16 -27
  23. package/cjs/core/ColorPicker/ColorSwatch.d.ts +1 -1
  24. package/cjs/core/ColorPicker/ColorSwatch.js +1 -6
  25. package/cjs/core/ComboBox/ComboBoxDropdown.d.ts +1 -1
  26. package/cjs/core/ComboBox/ComboBoxMenu.js +2 -4
  27. package/cjs/core/Dialog/Dialog.d.ts +4 -4
  28. package/cjs/core/Dialog/Dialog.js +1 -1
  29. package/cjs/core/Dialog/DialogBackdrop.d.ts +1 -1
  30. package/cjs/core/Dialog/DialogBackdrop.js +5 -2
  31. package/cjs/core/Dialog/DialogMain.d.ts +1 -1
  32. package/cjs/core/Dialog/DialogMain.js +7 -1
  33. package/cjs/core/Dialog/DialogTitleBar.d.ts +1 -1
  34. package/cjs/core/ExpandableBlock/ExpandableBlock.js +4 -4
  35. package/cjs/core/Header/Header.d.ts +16 -6
  36. package/cjs/core/Header/Header.js +7 -9
  37. package/cjs/core/Header/HeaderBasicButton.d.ts +6 -0
  38. package/cjs/core/Header/HeaderBasicButton.js +52 -0
  39. package/cjs/core/Header/HeaderBreadcrumbs.js +6 -4
  40. package/cjs/core/Header/HeaderButton.d.ts +3 -2
  41. package/cjs/core/Header/HeaderButton.js +10 -18
  42. package/cjs/core/Header/HeaderDropdownButton.d.ts +6 -0
  43. package/cjs/core/Header/HeaderDropdownButton.js +56 -0
  44. package/cjs/core/Header/HeaderLogo.js +3 -3
  45. package/cjs/core/Header/HeaderSplitButton.d.ts +6 -0
  46. package/cjs/core/Header/HeaderSplitButton.js +56 -0
  47. package/cjs/core/Input/Input.d.ts +1 -1
  48. package/cjs/core/Input/Input.js +3 -4
  49. package/cjs/core/InputGroup/InputGroup.d.ts +1 -1
  50. package/cjs/core/InputGroup/InputGroup.js +1 -1
  51. package/cjs/core/Label/Label.d.ts +1 -1
  52. package/cjs/core/Label/Label.js +1 -1
  53. package/cjs/core/LabeledInput/LabeledInput.d.ts +2 -2
  54. package/cjs/core/LabeledInput/LabeledInput.js +1 -1
  55. package/cjs/core/LabeledSelect/LabeledSelect.d.ts +1 -1
  56. package/cjs/core/LabeledSelect/LabeledSelect.js +1 -1
  57. package/cjs/core/LabeledTextarea/LabeledTextarea.d.ts +1 -1
  58. package/cjs/core/LabeledTextarea/LabeledTextarea.js +1 -1
  59. package/cjs/core/Radio/Radio.d.ts +1 -29
  60. package/cjs/core/Radio/Radio.js +3 -3
  61. package/cjs/core/RadioTiles/RadioTileGroup.d.ts +1 -1
  62. package/cjs/core/RadioTiles/RadioTileGroup.js +1 -1
  63. package/cjs/core/Select/Select.d.ts +1 -1
  64. package/cjs/core/Select/Select.js +9 -12
  65. package/cjs/core/Select/SelectTag.d.ts +1 -1
  66. package/cjs/core/Select/SelectTag.js +1 -1
  67. package/cjs/core/SideNavigation/SidenavButton.js +1 -2
  68. package/cjs/core/Stepper/Stepper.d.ts +40 -0
  69. package/cjs/core/{Wizard/Wizard.js → Stepper/Stepper.js} +11 -28
  70. package/cjs/core/{Wizard/Step.d.ts → Stepper/StepperStep.d.ts} +6 -7
  71. package/cjs/core/{Wizard/Step.js → Stepper/StepperStep.js} +10 -10
  72. package/cjs/core/Stepper/Wizard.d.ts +46 -0
  73. package/cjs/core/Stepper/Wizard.js +55 -0
  74. package/cjs/core/Stepper/WorkflowDiagram.d.ts +6 -0
  75. package/cjs/core/Stepper/WorkflowDiagram.js +43 -0
  76. package/cjs/core/Stepper/WorkflowDiagramStep.d.ts +5 -0
  77. package/cjs/core/Stepper/WorkflowDiagramStep.js +42 -0
  78. package/cjs/core/Stepper/index.d.ts +8 -0
  79. package/cjs/core/{Wizard → Stepper}/index.js +5 -1
  80. package/cjs/core/Surface/Surface.js +2 -4
  81. package/cjs/core/Table/SubRowExpander.js +1 -1
  82. package/cjs/core/Table/Table.d.ts +5 -4
  83. package/cjs/core/Table/Table.js +30 -21
  84. package/cjs/core/Table/TableCell.js +4 -4
  85. package/cjs/core/Table/TablePaginator.js +14 -15
  86. package/cjs/core/Table/TableRowMemoized.d.ts +2 -0
  87. package/cjs/core/Table/TableRowMemoized.js +10 -13
  88. package/cjs/core/Table/cells/DefaultCell.js +4 -9
  89. package/cjs/core/Table/columns/actionColumn.js +1 -1
  90. package/cjs/core/Table/columns/expanderColumn.js +1 -1
  91. package/cjs/core/Table/filters/BaseFilter.js +1 -1
  92. package/cjs/core/Table/filters/FilterToggle.js +1 -1
  93. package/cjs/core/Table/hooks/useColumnDragAndDrop.js +4 -4
  94. package/cjs/core/Table/hooks/useResizeColumns.js +110 -106
  95. package/cjs/core/Tabs/Tab.d.ts +0 -8
  96. package/cjs/core/Tabs/Tab.js +1 -5
  97. package/cjs/core/Tabs/Tabs.js +8 -11
  98. package/cjs/core/Tabs/index.d.ts +2 -2
  99. package/cjs/core/Tabs/index.js +1 -2
  100. package/cjs/core/Textarea/Textarea.d.ts +1 -1
  101. package/cjs/core/Textarea/Textarea.js +2 -2
  102. package/cjs/core/ThemeProvider/ThemeProvider.d.ts +27 -17
  103. package/cjs/core/ThemeProvider/ThemeProvider.js +64 -7
  104. package/cjs/core/Tile/Tile.d.ts +19 -1
  105. package/cjs/core/Tile/Tile.js +35 -12
  106. package/cjs/core/Toast/Toast.d.ts +3 -3
  107. package/cjs/core/Toast/Toast.js +3 -3
  108. package/cjs/core/Toast/ToastWrapper.d.ts +1 -1
  109. package/cjs/core/Toast/ToastWrapper.js +1 -1
  110. package/cjs/core/Tree/TreeNode.js +1 -7
  111. package/cjs/core/index.d.ts +8 -8
  112. package/cjs/core/index.js +13 -10
  113. package/cjs/core/utils/components/Popover.d.ts +2 -2
  114. package/cjs/core/utils/components/Popover.js +1 -1
  115. package/cjs/core/utils/components/Resizer.d.ts +5 -0
  116. package/cjs/core/utils/components/Resizer.js +7 -1
  117. package/cjs/core/utils/components/VisuallyHidden.d.ts +1 -0
  118. package/cjs/core/utils/components/VisuallyHidden.js +1 -0
  119. package/cjs/core/utils/functions/colors.d.ts +1 -1
  120. package/cjs/core/utils/functions/colors.js +1 -1
  121. package/cjs/core/utils/functions/dom.js +1 -0
  122. package/cjs/core/utils/hooks/index.d.ts +1 -0
  123. package/cjs/core/utils/hooks/index.js +1 -0
  124. package/cjs/core/utils/hooks/useIsomorphicLayoutEffect.d.ts +7 -0
  125. package/cjs/core/utils/hooks/useIsomorphicLayoutEffect.js +17 -0
  126. package/cjs/core/utils/hooks/useMediaQuery.js +2 -1
  127. package/cjs/core/utils/hooks/useTheme.d.ts +20 -3
  128. package/cjs/core/utils/hooks/useTheme.js +57 -58
  129. package/esm/core/Alert/Alert.d.ts +7 -6
  130. package/esm/core/Alert/Alert.js +12 -7
  131. package/esm/core/Avatar/Avatar.d.ts +69 -0
  132. package/esm/core/{UserIcon/UserIcon.js → Avatar/Avatar.js} +13 -9
  133. package/esm/core/Avatar/index.d.ts +4 -0
  134. package/esm/core/{UserIcon → Avatar}/index.js +2 -2
  135. package/esm/core/AvatarGroup/AvatarGroup.d.ts +70 -0
  136. package/esm/core/{UserIconGroup/UserIconGroup.js → AvatarGroup/AvatarGroup.js} +21 -17
  137. package/esm/core/AvatarGroup/index.d.ts +4 -0
  138. package/esm/core/{UserIconGroup → AvatarGroup}/index.js +2 -2
  139. package/esm/core/Badge/Badge.js +3 -5
  140. package/esm/core/ButtonGroup/ButtonGroup.d.ts +1 -1
  141. package/esm/core/Buttons/Button/Button.js +5 -14
  142. package/esm/core/Buttons/DropdownButton/DropdownButton.js +1 -1
  143. package/esm/core/Buttons/IconButton/IconButton.js +3 -9
  144. package/esm/core/Buttons/IdeasButton/IdeasButton.js +1 -1
  145. package/esm/core/Buttons/SplitButton/SplitButton.js +4 -6
  146. package/esm/core/Checkbox/Checkbox.d.ts +1 -29
  147. package/esm/core/Checkbox/Checkbox.js +3 -3
  148. package/esm/core/ColorPicker/ColorBuilder.js +17 -28
  149. package/esm/core/ColorPicker/ColorSwatch.d.ts +1 -1
  150. package/esm/core/ColorPicker/ColorSwatch.js +2 -7
  151. package/esm/core/ComboBox/ComboBoxDropdown.d.ts +1 -1
  152. package/esm/core/ComboBox/ComboBoxMenu.js +2 -4
  153. package/esm/core/Dialog/Dialog.d.ts +4 -4
  154. package/esm/core/Dialog/Dialog.js +1 -1
  155. package/esm/core/Dialog/DialogBackdrop.d.ts +1 -1
  156. package/esm/core/Dialog/DialogBackdrop.js +5 -2
  157. package/esm/core/Dialog/DialogMain.d.ts +1 -1
  158. package/esm/core/Dialog/DialogMain.js +7 -1
  159. package/esm/core/Dialog/DialogTitleBar.d.ts +1 -1
  160. package/esm/core/ExpandableBlock/ExpandableBlock.js +4 -4
  161. package/esm/core/Header/Header.d.ts +16 -6
  162. package/esm/core/Header/Header.js +7 -9
  163. package/esm/core/Header/HeaderBasicButton.d.ts +6 -0
  164. package/esm/core/Header/HeaderBasicButton.js +46 -0
  165. package/esm/core/Header/HeaderBreadcrumbs.js +6 -4
  166. package/esm/core/Header/HeaderButton.d.ts +3 -2
  167. package/esm/core/Header/HeaderButton.js +10 -18
  168. package/esm/core/Header/HeaderDropdownButton.d.ts +6 -0
  169. package/esm/core/Header/HeaderDropdownButton.js +50 -0
  170. package/esm/core/Header/HeaderLogo.js +3 -3
  171. package/esm/core/Header/HeaderSplitButton.d.ts +6 -0
  172. package/esm/core/Header/HeaderSplitButton.js +50 -0
  173. package/esm/core/Input/Input.d.ts +1 -1
  174. package/esm/core/Input/Input.js +3 -4
  175. package/esm/core/InputGroup/InputGroup.d.ts +1 -1
  176. package/esm/core/InputGroup/InputGroup.js +1 -1
  177. package/esm/core/Label/Label.d.ts +1 -1
  178. package/esm/core/Label/Label.js +1 -1
  179. package/esm/core/LabeledInput/LabeledInput.d.ts +2 -2
  180. package/esm/core/LabeledInput/LabeledInput.js +1 -1
  181. package/esm/core/LabeledSelect/LabeledSelect.d.ts +1 -1
  182. package/esm/core/LabeledSelect/LabeledSelect.js +1 -1
  183. package/esm/core/LabeledTextarea/LabeledTextarea.d.ts +1 -1
  184. package/esm/core/LabeledTextarea/LabeledTextarea.js +1 -1
  185. package/esm/core/Radio/Radio.d.ts +1 -29
  186. package/esm/core/Radio/Radio.js +3 -3
  187. package/esm/core/RadioTiles/RadioTileGroup.d.ts +1 -1
  188. package/esm/core/RadioTiles/RadioTileGroup.js +1 -1
  189. package/esm/core/Select/Select.d.ts +1 -1
  190. package/esm/core/Select/Select.js +9 -12
  191. package/esm/core/Select/SelectTag.d.ts +1 -1
  192. package/esm/core/Select/SelectTag.js +1 -1
  193. package/esm/core/SideNavigation/SidenavButton.js +1 -2
  194. package/esm/core/Stepper/Stepper.d.ts +40 -0
  195. package/esm/core/{Wizard/Wizard.js → Stepper/Stepper.js} +10 -27
  196. package/esm/core/{Wizard/Step.d.ts → Stepper/StepperStep.d.ts} +6 -7
  197. package/esm/core/{Wizard/Step.js → Stepper/StepperStep.js} +8 -8
  198. package/esm/core/Stepper/Wizard.d.ts +46 -0
  199. package/esm/core/Stepper/Wizard.js +49 -0
  200. package/esm/core/Stepper/WorkflowDiagram.d.ts +6 -0
  201. package/esm/core/Stepper/WorkflowDiagram.js +37 -0
  202. package/esm/core/Stepper/WorkflowDiagramStep.d.ts +5 -0
  203. package/esm/core/Stepper/WorkflowDiagramStep.js +35 -0
  204. package/esm/core/Stepper/index.d.ts +8 -0
  205. package/esm/core/{Wizard → Stepper}/index.js +2 -0
  206. package/esm/core/Surface/Surface.js +3 -5
  207. package/esm/core/Table/SubRowExpander.js +1 -1
  208. package/esm/core/Table/Table.d.ts +5 -4
  209. package/esm/core/Table/Table.js +30 -21
  210. package/esm/core/Table/TableCell.js +4 -4
  211. package/esm/core/Table/TablePaginator.js +14 -15
  212. package/esm/core/Table/TableRowMemoized.d.ts +2 -0
  213. package/esm/core/Table/TableRowMemoized.js +10 -13
  214. package/esm/core/Table/cells/DefaultCell.js +4 -9
  215. package/esm/core/Table/columns/actionColumn.js +1 -1
  216. package/esm/core/Table/columns/expanderColumn.js +1 -1
  217. package/esm/core/Table/filters/BaseFilter.js +1 -1
  218. package/esm/core/Table/filters/FilterToggle.js +1 -1
  219. package/esm/core/Table/hooks/useColumnDragAndDrop.js +4 -4
  220. package/esm/core/Table/hooks/useResizeColumns.js +110 -106
  221. package/esm/core/Tabs/Tab.d.ts +0 -8
  222. package/esm/core/Tabs/Tab.js +0 -4
  223. package/esm/core/Tabs/Tabs.js +9 -12
  224. package/esm/core/Tabs/index.d.ts +2 -2
  225. package/esm/core/Tabs/index.js +1 -1
  226. package/esm/core/Textarea/Textarea.d.ts +1 -1
  227. package/esm/core/Textarea/Textarea.js +2 -2
  228. package/esm/core/ThemeProvider/ThemeProvider.d.ts +27 -17
  229. package/esm/core/ThemeProvider/ThemeProvider.js +64 -6
  230. package/esm/core/Tile/Tile.d.ts +19 -1
  231. package/esm/core/Tile/Tile.js +36 -13
  232. package/esm/core/Toast/Toast.d.ts +3 -3
  233. package/esm/core/Toast/Toast.js +3 -3
  234. package/esm/core/Toast/ToastWrapper.d.ts +1 -1
  235. package/esm/core/Toast/ToastWrapper.js +1 -1
  236. package/esm/core/Tree/TreeNode.js +2 -8
  237. package/esm/core/index.d.ts +8 -8
  238. package/esm/core/index.js +4 -4
  239. package/esm/core/utils/components/Popover.d.ts +2 -2
  240. package/esm/core/utils/components/Popover.js +1 -1
  241. package/esm/core/utils/components/Resizer.d.ts +5 -0
  242. package/esm/core/utils/components/Resizer.js +7 -1
  243. package/esm/core/utils/components/VisuallyHidden.d.ts +1 -0
  244. package/esm/core/utils/components/VisuallyHidden.js +1 -0
  245. package/esm/core/utils/functions/colors.d.ts +1 -1
  246. package/esm/core/utils/functions/colors.js +1 -1
  247. package/esm/core/utils/functions/dom.js +1 -0
  248. package/esm/core/utils/hooks/index.d.ts +1 -0
  249. package/esm/core/utils/hooks/index.js +1 -0
  250. package/esm/core/utils/hooks/useIsomorphicLayoutEffect.d.ts +7 -0
  251. package/esm/core/utils/hooks/useIsomorphicLayoutEffect.js +11 -0
  252. package/esm/core/utils/hooks/useMediaQuery.js +2 -1
  253. package/esm/core/utils/hooks/useTheme.d.ts +20 -3
  254. package/esm/core/utils/hooks/useTheme.js +56 -57
  255. package/package.json +3 -2
  256. package/cjs/core/UserIcon/UserIcon.d.ts +0 -57
  257. package/cjs/core/UserIcon/index.d.ts +0 -4
  258. package/cjs/core/UserIconGroup/UserIconGroup.d.ts +0 -62
  259. package/cjs/core/UserIconGroup/index.d.ts +0 -4
  260. package/cjs/core/Wizard/Wizard.d.ts +0 -54
  261. package/cjs/core/Wizard/index.d.ts +0 -4
  262. package/esm/core/UserIcon/UserIcon.d.ts +0 -57
  263. package/esm/core/UserIcon/index.d.ts +0 -4
  264. package/esm/core/UserIconGroup/UserIconGroup.d.ts +0 -62
  265. package/esm/core/UserIconGroup/index.d.ts +0 -4
  266. package/esm/core/Wizard/Wizard.d.ts +0 -54
  267. package/esm/core/Wizard/index.d.ts +0 -4
@@ -25,45 +25,28 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
25
25
  return (mod && mod.__esModule) ? mod : { "default": mod };
26
26
  };
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.Wizard = void 0;
28
+ exports.Stepper = void 0;
29
29
  /*---------------------------------------------------------------------------------------------
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 classnames_1 = __importDefault(require("classnames"));
34
33
  var react_1 = __importDefault(require("react"));
35
34
  var utils_1 = require("../utils");
36
- require("@itwin/itwinui-css/css/wizard.css");
37
- var Step_1 = require("./Step");
38
- var defaultWizardLocalization = {
35
+ require("@itwin/itwinui-css/css/stepper.css");
36
+ var StepperStep_1 = require("./StepperStep");
37
+ var defaultStepperLocalization = {
39
38
  stepsCountLabel: function (currentStep, totalSteps) {
40
39
  return "Step ".concat(currentStep, " of ").concat(totalSteps, ":");
41
40
  },
42
41
  };
43
- /**
44
- * A wizard displays progress through a sequence of logical and numbered steps.
45
- * It may also be used for navigation.
46
- *
47
- * The `type` can be set to 'long' to show labels under steps.
48
- *
49
- * @example
50
- * <Wizard
51
- * steps=[{name: "Step One"}, {name: "Step Two"}, {name: "Step Three"}]
52
- * currentStep={0}
53
- * type='long'
54
- * />
55
- */
56
- exports.Wizard = react_1.default.forwardRef(function (props, ref) {
57
- var currentStep = props.currentStep, steps = props.steps, _a = props.type, type = _a === void 0 ? 'default' : _a, _b = props.localization, localization = _b === void 0 ? defaultWizardLocalization : _b, onStepClick = props.onStepClick, rest = __rest(props, ["currentStep", "steps", "type", "localization", "onStepClick"]);
42
+ exports.Stepper = react_1.default.forwardRef(function (props, ref) {
43
+ var currentStep = props.currentStep, steps = props.steps, _a = props.type, type = _a === void 0 ? 'default' : _a, _b = props.localization, localization = _b === void 0 ? defaultStepperLocalization : _b, onStepClick = props.onStepClick, rest = __rest(props, ["currentStep", "steps", "type", "localization", "onStepClick"]);
58
44
  var boundedCurrentStep = Math.min(Math.max(0, currentStep !== null && currentStep !== void 0 ? currentStep : 0), steps.length - 1);
59
45
  (0, utils_1.useTheme)();
60
- return (react_1.default.createElement("div", __assign({ className: (0, classnames_1.default)('iui-wizard', {
61
- 'iui-long': type === 'long',
62
- 'iui-workflow': type === 'workflow',
63
- }), ref: ref }, rest),
64
- react_1.default.createElement("ol", null, steps.map(function (s, index) { return (react_1.default.createElement(Step_1.Step, { key: index, index: index, title: type === 'long' ? '' : s.name, currentStepNumber: boundedCurrentStep, totalSteps: steps.length, type: type, onClick: onStepClick, description: s.description })); })),
65
- type === 'long' && (react_1.default.createElement("div", { className: 'iui-wizard-steps-label' },
66
- react_1.default.createElement("span", { className: 'iui-steps-count' }, localization.stepsCountLabel(boundedCurrentStep + 1, steps.length)),
46
+ return (react_1.default.createElement("div", __assign({ className: 'iui-stepper', ref: ref }, rest),
47
+ react_1.default.createElement("ol", null, steps.map(function (s, index) { return (react_1.default.createElement(StepperStep_1.StepperStep, { key: index, index: index, title: type === 'long' ? '' : s.name, currentStepNumber: boundedCurrentStep, totalSteps: steps.length, type: type, onClick: onStepClick, description: s.description })); })),
48
+ type === 'long' && (react_1.default.createElement("div", { className: 'iui-stepper-steps-label' },
49
+ react_1.default.createElement("span", { className: 'iui-stepper-steps-label-count' }, localization.stepsCountLabel(boundedCurrentStep + 1, steps.length)),
67
50
  steps[boundedCurrentStep].name))));
68
51
  });
69
- exports.default = exports.Wizard;
52
+ exports.default = exports.Stepper;
@@ -1,7 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { StylingProps } from '../utils';
3
- import { WizardType } from './Wizard';
4
- export declare type StepProps = {
3
+ export declare type StepperStepProps = {
5
4
  /**
6
5
  * The title/label of the step.
7
6
  */
@@ -11,17 +10,17 @@ export declare type StepProps = {
11
10
  */
12
11
  index: number;
13
12
  /**
14
- * the Wizard's current step number, 0-based.
13
+ * the Stepper's current step number, 0-based.
15
14
  */
16
15
  currentStepNumber: number;
17
16
  /**
18
- * number of total steps in the wizard.
17
+ * number of total steps in the stepper.
19
18
  */
20
19
  totalSteps: number;
21
20
  /**
22
- * Wizard type.
21
+ * Stepper type.
23
22
  */
24
- type: WizardType;
23
+ type: 'default' | 'long';
25
24
  /**
26
25
  * Click handler on completed step.
27
26
  */
@@ -31,4 +30,4 @@ export declare type StepProps = {
31
30
  */
32
31
  description?: string;
33
32
  } & StylingProps;
34
- export declare const Step: (props: StepProps) => JSX.Element;
33
+ export declare const StepperStep: (props: StepperStepProps) => JSX.Element;
@@ -25,7 +25,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
25
25
  return (mod && mod.__esModule) ? mod : { "default": mod };
26
26
  };
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.Step = void 0;
28
+ exports.StepperStep = void 0;
29
29
  /*---------------------------------------------------------------------------------------------
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.
@@ -33,11 +33,11 @@ exports.Step = void 0;
33
33
  var classnames_1 = __importDefault(require("classnames"));
34
34
  var react_1 = __importDefault(require("react"));
35
35
  var Tooltip_1 = require("../Tooltip");
36
- var Step = function (props) {
36
+ var StepperStep = function (props) {
37
37
  var title = props.title, index = props.index, currentStepNumber = props.currentStepNumber, totalSteps = props.totalSteps, type = props.type, onClick = props.onClick, description = props.description, className = props.className, style = props.style, rest = __rest(props, ["title", "index", "currentStepNumber", "totalSteps", "type", "onClick", "description", "className", "style"]);
38
- var isPast = type !== 'workflow' && currentStepNumber > index;
39
- var isActive = type !== 'workflow' && currentStepNumber === index;
40
- var isClickable = type !== 'workflow' && isPast && !!onClick;
38
+ var isPast = currentStepNumber > index;
39
+ var isActive = currentStepNumber === index;
40
+ var isClickable = isPast && !!onClick;
41
41
  var onCompletedClick = function () {
42
42
  if (isClickable) {
43
43
  onClick === null || onClick === void 0 ? void 0 : onClick(index);
@@ -51,13 +51,13 @@ var Step = function (props) {
51
51
  onCompletedClick();
52
52
  }
53
53
  };
54
- var stepShape = (react_1.default.createElement("li", __assign({ className: (0, classnames_1.default)('iui-wizard-step', {
54
+ var stepShape = (react_1.default.createElement("li", __assign({ className: (0, classnames_1.default)('iui-stepper-step', {
55
55
  'iui-current': isActive,
56
56
  'iui-clickable': isClickable,
57
57
  }, className), style: __assign({ width: type === 'default' ? "".concat(100 / totalSteps, "%") : undefined }, style), onClick: onCompletedClick, onKeyDown: onKeyDown, "aria-current": isActive ? 'step' : undefined, tabIndex: isClickable ? 0 : undefined }, rest),
58
- react_1.default.createElement("div", { className: 'iui-wizard-track-content' },
59
- react_1.default.createElement("span", { className: 'iui-wizard-circle' }, type === 'workflow' ? title : index + 1)),
60
- type === 'default' && (react_1.default.createElement("span", { className: 'iui-wizard-step-name' }, title))));
58
+ react_1.default.createElement("div", { className: 'iui-stepper-track-content' },
59
+ react_1.default.createElement("span", { className: 'iui-stepper-circle' }, index + 1)),
60
+ type === 'default' && (react_1.default.createElement("span", { className: 'iui-stepper-step-name' }, title))));
61
61
  return description ? (react_1.default.createElement(Tooltip_1.Tooltip, { content: description }, stepShape)) : (stepShape);
62
62
  };
63
- exports.Step = Step;
63
+ exports.StepperStep = StepperStep;
@@ -0,0 +1,46 @@
1
+ import React from 'react';
2
+ import { StepperProps, StepperLocalization } from './Stepper';
3
+ /**
4
+ * @deprecated Since v2:
5
+ *
6
+ * - For `default` | `long`, use `StepperType` with `Stepper` instead
7
+ * - For `workflow`, use `WorkflowDiagram` instead
8
+ */
9
+ export declare type WizardType = 'default' | 'long' | 'workflow';
10
+ /**
11
+ * @deprecated Since v2, use `StepperLocalization` with `Stepper`
12
+ */
13
+ export declare type WizardLocalization = StepperLocalization;
14
+ /**
15
+ * @deprecated Since v2, use `StepperProps` with `Stepper` or `WorkflowDiagramProps` with `WorkflowDiagram`
16
+ */
17
+ export declare type WizardProps = {
18
+ /**
19
+ * The type of Wizard to display.
20
+ * @default 'default'
21
+ */
22
+ type?: WizardType;
23
+ } & Omit<StepperProps, 'type'>;
24
+ /**
25
+ * @deprecated Since v2, use `Stepper` (type = `default` | `long`) or WorkflowDiagram (type = `workflow`)
26
+ *
27
+ * A wizard displays progress through a sequence of logical and numbered steps.
28
+ * It may also be used for navigation.
29
+ *
30
+ * The `type` can be set to 'long' to show labels under steps.
31
+ *
32
+ * @example
33
+ * <Wizard
34
+ * steps=[{name: "Step One"}, {name: "Step Two"}, {name: "Step Three"}]
35
+ * currentStep={0}
36
+ * type='long'
37
+ * />
38
+ */
39
+ export declare const Wizard: React.ForwardRefExoticComponent<{
40
+ /**
41
+ * The type of Wizard to display.
42
+ * @default 'default'
43
+ */
44
+ type?: WizardType | undefined;
45
+ } & Omit<StepperProps, "type"> & React.RefAttributes<HTMLDivElement>>;
46
+ export default Wizard;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.Wizard = void 0;
29
+ /*---------------------------------------------------------------------------------------------
30
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
31
+ * See LICENSE.md in the project root for license terms and full copyright notice.
32
+ *--------------------------------------------------------------------------------------------*/
33
+ var react_1 = __importDefault(require("react"));
34
+ var Stepper_1 = require("./Stepper");
35
+ var WorkflowDiagram_1 = require("./WorkflowDiagram");
36
+ /**
37
+ * @deprecated Since v2, use `Stepper` (type = `default` | `long`) or WorkflowDiagram (type = `workflow`)
38
+ *
39
+ * A wizard displays progress through a sequence of logical and numbered steps.
40
+ * It may also be used for navigation.
41
+ *
42
+ * The `type` can be set to 'long' to show labels under steps.
43
+ *
44
+ * @example
45
+ * <Wizard
46
+ * steps=[{name: "Step One"}, {name: "Step Two"}, {name: "Step Three"}]
47
+ * currentStep={0}
48
+ * type='long'
49
+ * />
50
+ */
51
+ exports.Wizard = react_1.default.forwardRef(function (props, ref) {
52
+ var currentStep = props.currentStep, steps = props.steps, _a = props.type, type = _a === void 0 ? 'default' : _a, localization = props.localization, onStepClick = props.onStepClick, rest = __rest(props, ["currentStep", "steps", "type", "localization", "onStepClick"]);
53
+ return type !== 'workflow' ? (react_1.default.createElement(Stepper_1.Stepper, __assign({ type: type, currentStep: currentStep, steps: steps, localization: localization, onStepClick: onStepClick, ref: ref }, rest))) : (react_1.default.createElement(WorkflowDiagram_1.WorkflowDiagram, __assign({ steps: steps, ref: ref }, rest)));
54
+ });
55
+ exports.default = exports.Wizard;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import '@itwin/itwinui-css/css/workflow-diagram.css';
3
+ import { StepperProps } from './Stepper';
4
+ export declare type WorkflowDiagramProps = Pick<StepperProps, 'steps'>;
5
+ export declare const WorkflowDiagram: React.ForwardRefExoticComponent<WorkflowDiagramProps & React.RefAttributes<HTMLDivElement>>;
6
+ export default WorkflowDiagram;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.WorkflowDiagram = void 0;
29
+ /*---------------------------------------------------------------------------------------------
30
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
31
+ * See LICENSE.md in the project root for license terms and full copyright notice.
32
+ *--------------------------------------------------------------------------------------------*/
33
+ var react_1 = __importDefault(require("react"));
34
+ var utils_1 = require("../utils");
35
+ require("@itwin/itwinui-css/css/workflow-diagram.css");
36
+ var WorkflowDiagramStep_1 = require("./WorkflowDiagramStep");
37
+ exports.WorkflowDiagram = react_1.default.forwardRef(function (props, ref) {
38
+ var steps = props.steps, rest = __rest(props, ["steps"]);
39
+ (0, utils_1.useTheme)();
40
+ return (react_1.default.createElement("div", { ref: ref },
41
+ react_1.default.createElement("ol", __assign({ className: 'iui-workflow-diagram' }, rest), steps.map(function (s, index) { return (react_1.default.createElement(WorkflowDiagramStep_1.WorkflowDiagramStep, { key: index, title: s.name, description: s.description })); }))));
42
+ });
43
+ exports.default = exports.WorkflowDiagram;
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import { StylingProps } from '../utils';
3
+ import { StepperStepProps } from './StepperStep';
4
+ export declare type WorkflowDiagramStepProps = Pick<StepperStepProps, 'title' | 'description'> & StylingProps;
5
+ export declare const WorkflowDiagramStep: (props: WorkflowDiagramStepProps) => JSX.Element;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.WorkflowDiagramStep = void 0;
29
+ /*---------------------------------------------------------------------------------------------
30
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
31
+ * See LICENSE.md in the project root for license terms and full copyright notice.
32
+ *--------------------------------------------------------------------------------------------*/
33
+ var classnames_1 = __importDefault(require("classnames"));
34
+ var react_1 = __importDefault(require("react"));
35
+ var Tooltip_1 = require("../Tooltip");
36
+ var WorkflowDiagramStep = function (props) {
37
+ var title = props.title, description = props.description, className = props.className, style = props.style, rest = __rest(props, ["title", "description", "className", "style"]);
38
+ var stepShape = (react_1.default.createElement("li", __assign({ className: (0, classnames_1.default)('iui-workflow-diagram-step', className), style: style }, rest),
39
+ react_1.default.createElement("span", { className: 'iui-workflow-diagram-content' }, title)));
40
+ return description ? (react_1.default.createElement(Tooltip_1.Tooltip, { content: description }, stepShape)) : (stepShape);
41
+ };
42
+ exports.WorkflowDiagramStep = WorkflowDiagramStep;
@@ -0,0 +1,8 @@
1
+ export { Wizard } from './Wizard';
2
+ export { Stepper } from './Stepper';
3
+ export { WorkflowDiagram } from './WorkflowDiagram';
4
+ export type { WizardProps, WizardType, WizardLocalization } from './Wizard';
5
+ export type { StepperProps, StepProperties, StepperLocalization, } from './Stepper';
6
+ export type { WorkflowDiagramProps } from './WorkflowDiagram';
7
+ declare const _default: "./Wizard";
8
+ export default _default;
@@ -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';
@@ -60,11 +60,9 @@ var getSurfaceElevationValue = function (elevation) {
60
60
  * <Surface elevation={2}>Surface Content</Surface>
61
61
  */
62
62
  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"]);
63
+ var _a = props.elevation, elevation = _a === void 0 ? 0 : _a, className = props.className, style = props.style, children = props.children, rest = __rest(props, ["elevation", "className", "style", "children"]);
65
64
  (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);
65
+ var _style = __assign({ '--iui-surface-elevation': getSurfaceElevationValue(elevation) }, style);
68
66
  return (react_1.default.createElement("div", __assign({ className: (0, classnames_1.default)('iui-surface', className), style: _style, ref: ref }, rest), children));
69
67
  });
70
68
  exports.default = exports.Surface;
@@ -13,7 +13,7 @@ var ChevronRight_1 = __importDefault(require("@itwin/itwinui-icons-react/cjs/ico
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
19
  }, disabled: isDisabled }, react_1.default.createElement(ChevronRight_1.default, { style: {
@@ -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;
@@ -103,8 +103,7 @@ var flattenColumns = function (columns) {
103
103
  * />
104
104
  */
105
105
  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"]);
106
+ 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
107
  (0, utils_1.useTheme)();
109
108
  var ownerDocument = react_1.default.useRef();
110
109
  var defaultColumn = react_1.default.useMemo(function () { return ({
@@ -278,6 +277,7 @@ var Table = function (props) {
278
277
  isLoading: isLoading,
279
278
  onPageChange: gotoPage,
280
279
  onPageSizeChange: setPageSize,
280
+ totalSelectedRowsCount: selectionMode === 'single' ? 0 : instance.selectedFlatRows.length, // 0 when selectionMode = 'single' since totalSelectedRowCount is for multi-selection mode only
281
281
  }); }, [
282
282
  density,
283
283
  gotoPage,
@@ -286,8 +286,10 @@ var Table = function (props) {
286
286
  setPageSize,
287
287
  state.pageIndex,
288
288
  state.pageSize,
289
+ instance.selectedFlatRows,
290
+ selectionMode,
289
291
  ]);
290
- var _r = (0, hooks_1.useScrollToRow)(__assign(__assign({}, props), { page: page })), scrollToIndex = _r.scrollToIndex, tableRowRef = _r.tableRowRef;
292
+ var _q = (0, hooks_1.useScrollToRow)(__assign(__assign({}, props), { page: page })), scrollToIndex = _q.scrollToIndex, tableRowRef = _q.tableRowRef;
291
293
  var columnRefs = react_1.default.useRef({});
292
294
  var previousTableWidth = react_1.default.useRef(0);
293
295
  var onTableResize = react_1.default.useCallback(function (_a) {
@@ -300,7 +302,8 @@ var Table = function (props) {
300
302
  // Update column widths when table was resized
301
303
  flatHeaders.forEach(function (header) {
302
304
  if (columnRefs.current[header.id]) {
303
- header.resizeWidth = columnRefs.current[header.id].getBoundingClientRect().width;
305
+ header.resizeWidth =
306
+ columnRefs.current[header.id].getBoundingClientRect().width;
304
307
  }
305
308
  });
306
309
  // If no column was resized then leave table resize handling to the flexbox
@@ -316,7 +319,8 @@ var Table = function (props) {
316
319
  var newColumnWidths_1 = {};
317
320
  flatHeaders.forEach(function (column) {
318
321
  if (columnRefs.current[column.id]) {
319
- newColumnWidths_1[column.id] = columnRefs.current[column.id].getBoundingClientRect().width;
322
+ newColumnWidths_1[column.id] =
323
+ columnRefs.current[column.id].getBoundingClientRect().width;
320
324
  }
321
325
  });
322
326
  dispatch({ type: tableResizeEndAction, columnWidths: newColumnWidths_1 });
@@ -376,9 +380,9 @@ var Table = function (props) {
376
380
  resizeRef(element);
377
381
  }
378
382
  }, id: id }, getTableProps({
379
- className: (0, classnames_1.default)('iui-table', (_a = {}, _a["iui-".concat(density)] = density !== 'default', _a), className),
383
+ className: (0, classnames_1.default)('iui-table', className),
380
384
  style: __assign({ minWidth: 0 }, style),
381
- }), ariaDataAttributes),
385
+ }), { "data-iui-size": density === 'default' ? undefined : density }, ariaDataAttributes),
382
386
  react_1.default.createElement("div", { className: 'iui-table-header-wrapper', ref: headerRef, onScroll: function () {
383
387
  if (headerRef.current && bodyRef.current) {
384
388
  bodyRef.current.scrollLeft = headerRef.current.scrollLeft;
@@ -387,19 +391,20 @@ var Table = function (props) {
387
391
  } },
388
392
  react_1.default.createElement("div", { className: 'iui-table-header' }, headerGroups.slice(1).map(function (headerGroup) {
389
393
  var headerGroupProps = headerGroup.getHeaderGroupProps({
390
- className: 'iui-row',
394
+ className: 'iui-table-row',
391
395
  });
392
396
  return (react_1.default.createElement("div", __assign({}, headerGroupProps, { key: headerGroupProps.key }), headerGroup.headers.map(function (column, index) {
393
397
  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', {
398
+ var columnProps = column.getHeaderProps(__assign(__assign({}, restSortProps), { className: (0, classnames_1.default)('iui-table-cell', {
395
399
  'iui-actionable': column.canSort,
396
400
  'iui-sorted': column.isSorted,
397
- 'iui-cell-sticky': !!column.sticky,
401
+ 'iui-table-cell-sticky': !!column.sticky,
398
402
  }, column.columnClassName), style: __assign(__assign(__assign({}, (0, utils_2.getCellStyle)(column, !!state.isTableResizing)), (0, utils_2.getStickyStyle)(column, visibleColumns)), { flexWrap: 'unset' }) }));
399
403
  return (react_1.default.createElement("div", __assign({}, columnProps, column.getDragAndDropProps(), { key: columnProps.key, title: undefined, ref: function (el) {
400
404
  if (el) {
401
405
  columnRefs.current[column.id] = el;
402
- column.resizeWidth = el.getBoundingClientRect().width;
406
+ column.resizeWidth =
407
+ el.getBoundingClientRect().width;
403
408
  }
404
409
  }, onMouseDown: function () {
405
410
  isHeaderDirectClick.current = true;
@@ -409,24 +414,28 @@ var Table = function (props) {
409
414
  onClick === null || onClick === void 0 ? void 0 : onClick(e);
410
415
  isHeaderDirectClick.current = false;
411
416
  }
417
+ }, tabIndex: showSortButton(column) ? 0 : undefined, onKeyDown: function (e) {
418
+ if (e.key == 'Enter' && showSortButton(column)) {
419
+ column.toggleSortBy();
420
+ }
412
421
  } }),
413
422
  column.render('Header'),
414
423
  (showFilterButton(column) ||
415
424
  showSortButton(column)) && (react_1.default.createElement("div", { className: 'iui-table-header-actions-container' },
416
425
  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 })))))),
426
+ showSortButton(column) && (react_1.default.createElement("div", { className: 'iui-table-cell-end-icon' }, column.isSortedDesc ||
427
+ (!column.isSorted && column.sortDescFirst) ? (react_1.default.createElement(SortDown_1.default, { className: 'iui-icon iui-table-sort', "aria-hidden": true })) : (react_1.default.createElement(SortUp_1.default, { className: 'iui-icon iui-table-sort', "aria-hidden": true })))))),
419
428
  isResizable &&
420
429
  column.isResizerVisible &&
421
430
  (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' }))),
431
+ columnResizeMode === 'expand') && (react_1.default.createElement("div", __assign({}, column.getResizerProps(), { className: 'iui-table-resizer' }),
432
+ react_1.default.createElement("div", { className: 'iui-table-resizer-bar' }))),
424
433
  enableColumnReordering &&
425
- !column.disableReordering && (react_1.default.createElement("div", { className: 'iui-reorder-bar' })),
434
+ !column.disableReordering && (react_1.default.createElement("div", { className: 'iui-table-reorder-bar' })),
426
435
  column.sticky === 'left' &&
427
- state.sticky.isScrolledToRight && (react_1.default.createElement("div", { className: 'iui-cell-shadow-right' })),
436
+ state.sticky.isScrolledToRight && (react_1.default.createElement("div", { className: 'iui-table-cell-shadow-right' })),
428
437
  column.sticky === 'right' &&
429
- state.sticky.isScrolledToLeft && (react_1.default.createElement("div", { className: 'iui-cell-shadow-left' }))));
438
+ state.sticky.isScrolledToLeft && (react_1.default.createElement("div", { className: 'iui-table-cell-shadow-left' }))));
430
439
  })));
431
440
  }))),
432
441
  react_1.default.createElement("div", __assign({}, getTableBodyProps({
@@ -439,12 +448,12 @@ var Table = function (props) {
439
448
  headerRef.current.scrollLeft = bodyRef.current.scrollLeft;
440
449
  updateStickyState();
441
450
  }
442
- }, tabIndex: -1 }),
451
+ }, tabIndex: -1, "aria-multiselectable": (isSelectable && selectionMode === 'multi') || undefined }),
443
452
  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
453
  isLoading && data.length === 0 && (react_1.default.createElement("div", { className: 'iui-table-empty' },
445
454
  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' } },
455
+ isLoading && data.length !== 0 && (react_1.default.createElement("div", { className: 'iui-table-row' },
456
+ react_1.default.createElement("div", { className: 'iui-table-cell', style: { justifyContent: 'center' } },
448
457
  react_1.default.createElement(ProgressIndicators_1.ProgressRadial, { indeterminate: true, size: 'small', style: { float: 'none', marginLeft: 0 } })))),
449
458
  !isLoading && data.length === 0 && !areFiltersSet && (react_1.default.createElement("div", { className: 'iui-table-empty' },
450
459
  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
  };