@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.
- package/CHANGELOG.md +6 -0
- package/README.md +4 -22
- package/cjs/core/Alert/Alert.d.ts +7 -6
- package/cjs/core/Alert/Alert.js +12 -7
- package/cjs/core/Avatar/Avatar.d.ts +69 -0
- package/cjs/core/{UserIcon/UserIcon.js → Avatar/Avatar.js} +15 -11
- package/cjs/core/Avatar/index.d.ts +4 -0
- package/cjs/core/{UserIcon → Avatar}/index.js +5 -4
- package/cjs/core/AvatarGroup/AvatarGroup.d.ts +70 -0
- package/cjs/core/{UserIconGroup/UserIconGroup.js → AvatarGroup/AvatarGroup.js} +23 -19
- package/cjs/core/AvatarGroup/index.d.ts +4 -0
- package/cjs/core/{UserIconGroup → AvatarGroup}/index.js +5 -4
- package/cjs/core/Badge/Badge.js +2 -4
- package/cjs/core/ButtonGroup/ButtonGroup.d.ts +1 -1
- package/cjs/core/Buttons/Button/Button.js +5 -14
- package/cjs/core/Buttons/DropdownButton/DropdownButton.js +1 -1
- package/cjs/core/Buttons/IconButton/IconButton.js +3 -9
- package/cjs/core/Buttons/IdeasButton/IdeasButton.js +1 -1
- package/cjs/core/Buttons/SplitButton/SplitButton.js +4 -6
- package/cjs/core/Checkbox/Checkbox.d.ts +1 -29
- package/cjs/core/Checkbox/Checkbox.js +3 -3
- package/cjs/core/ColorPicker/ColorBuilder.js +16 -27
- package/cjs/core/ColorPicker/ColorSwatch.d.ts +1 -1
- package/cjs/core/ColorPicker/ColorSwatch.js +1 -6
- package/cjs/core/ComboBox/ComboBoxDropdown.d.ts +1 -1
- package/cjs/core/ComboBox/ComboBoxMenu.js +2 -4
- package/cjs/core/Dialog/Dialog.d.ts +4 -4
- package/cjs/core/Dialog/Dialog.js +1 -1
- package/cjs/core/Dialog/DialogBackdrop.d.ts +1 -1
- package/cjs/core/Dialog/DialogBackdrop.js +5 -2
- package/cjs/core/Dialog/DialogMain.d.ts +1 -1
- package/cjs/core/Dialog/DialogMain.js +7 -1
- package/cjs/core/Dialog/DialogTitleBar.d.ts +1 -1
- package/cjs/core/ExpandableBlock/ExpandableBlock.js +4 -4
- package/cjs/core/Header/Header.d.ts +16 -6
- package/cjs/core/Header/Header.js +7 -9
- package/cjs/core/Header/HeaderBasicButton.d.ts +6 -0
- package/cjs/core/Header/HeaderBasicButton.js +52 -0
- package/cjs/core/Header/HeaderBreadcrumbs.js +6 -4
- package/cjs/core/Header/HeaderButton.d.ts +3 -2
- package/cjs/core/Header/HeaderButton.js +10 -18
- package/cjs/core/Header/HeaderDropdownButton.d.ts +6 -0
- package/cjs/core/Header/HeaderDropdownButton.js +56 -0
- package/cjs/core/Header/HeaderLogo.js +3 -3
- package/cjs/core/Header/HeaderSplitButton.d.ts +6 -0
- package/cjs/core/Header/HeaderSplitButton.js +56 -0
- package/cjs/core/Input/Input.d.ts +1 -1
- package/cjs/core/Input/Input.js +3 -4
- package/cjs/core/InputGroup/InputGroup.d.ts +1 -1
- package/cjs/core/InputGroup/InputGroup.js +1 -1
- package/cjs/core/Label/Label.d.ts +1 -1
- package/cjs/core/Label/Label.js +1 -1
- package/cjs/core/LabeledInput/LabeledInput.d.ts +2 -2
- package/cjs/core/LabeledInput/LabeledInput.js +1 -1
- package/cjs/core/LabeledSelect/LabeledSelect.d.ts +1 -1
- package/cjs/core/LabeledSelect/LabeledSelect.js +1 -1
- package/cjs/core/LabeledTextarea/LabeledTextarea.d.ts +1 -1
- package/cjs/core/LabeledTextarea/LabeledTextarea.js +1 -1
- package/cjs/core/Radio/Radio.d.ts +1 -29
- package/cjs/core/Radio/Radio.js +3 -3
- package/cjs/core/RadioTiles/RadioTileGroup.d.ts +1 -1
- package/cjs/core/RadioTiles/RadioTileGroup.js +1 -1
- package/cjs/core/Select/Select.d.ts +1 -1
- package/cjs/core/Select/Select.js +9 -12
- package/cjs/core/Select/SelectTag.d.ts +1 -1
- package/cjs/core/Select/SelectTag.js +1 -1
- package/cjs/core/SideNavigation/SidenavButton.js +1 -2
- package/cjs/core/Stepper/Stepper.d.ts +40 -0
- package/cjs/core/{Wizard/Wizard.js → Stepper/Stepper.js} +11 -28
- package/cjs/core/{Wizard/Step.d.ts → Stepper/StepperStep.d.ts} +6 -7
- package/cjs/core/{Wizard/Step.js → Stepper/StepperStep.js} +10 -10
- package/cjs/core/Stepper/Wizard.d.ts +46 -0
- package/cjs/core/Stepper/Wizard.js +55 -0
- package/cjs/core/Stepper/WorkflowDiagram.d.ts +6 -0
- package/cjs/core/Stepper/WorkflowDiagram.js +43 -0
- package/cjs/core/Stepper/WorkflowDiagramStep.d.ts +5 -0
- package/cjs/core/Stepper/WorkflowDiagramStep.js +42 -0
- package/cjs/core/Stepper/index.d.ts +8 -0
- package/cjs/core/{Wizard → Stepper}/index.js +5 -1
- package/cjs/core/Surface/Surface.js +2 -4
- package/cjs/core/Table/SubRowExpander.js +1 -1
- package/cjs/core/Table/Table.d.ts +5 -4
- package/cjs/core/Table/Table.js +30 -21
- package/cjs/core/Table/TableCell.js +4 -4
- package/cjs/core/Table/TablePaginator.js +14 -15
- package/cjs/core/Table/TableRowMemoized.d.ts +2 -0
- package/cjs/core/Table/TableRowMemoized.js +10 -13
- package/cjs/core/Table/cells/DefaultCell.js +4 -9
- package/cjs/core/Table/columns/actionColumn.js +1 -1
- package/cjs/core/Table/columns/expanderColumn.js +1 -1
- package/cjs/core/Table/filters/BaseFilter.js +1 -1
- package/cjs/core/Table/filters/FilterToggle.js +1 -1
- package/cjs/core/Table/hooks/useColumnDragAndDrop.js +4 -4
- package/cjs/core/Table/hooks/useResizeColumns.js +110 -106
- package/cjs/core/Tabs/Tab.d.ts +0 -8
- package/cjs/core/Tabs/Tab.js +1 -5
- package/cjs/core/Tabs/Tabs.js +8 -11
- package/cjs/core/Tabs/index.d.ts +2 -2
- package/cjs/core/Tabs/index.js +1 -2
- package/cjs/core/Textarea/Textarea.d.ts +1 -1
- package/cjs/core/Textarea/Textarea.js +2 -2
- package/cjs/core/ThemeProvider/ThemeProvider.d.ts +27 -17
- package/cjs/core/ThemeProvider/ThemeProvider.js +64 -7
- package/cjs/core/Tile/Tile.d.ts +19 -1
- package/cjs/core/Tile/Tile.js +35 -12
- package/cjs/core/Toast/Toast.d.ts +3 -3
- package/cjs/core/Toast/Toast.js +3 -3
- package/cjs/core/Toast/ToastWrapper.d.ts +1 -1
- package/cjs/core/Toast/ToastWrapper.js +1 -1
- package/cjs/core/Tree/TreeNode.js +1 -7
- package/cjs/core/index.d.ts +8 -8
- package/cjs/core/index.js +13 -10
- package/cjs/core/utils/components/Popover.d.ts +2 -2
- package/cjs/core/utils/components/Popover.js +1 -1
- package/cjs/core/utils/components/Resizer.d.ts +5 -0
- package/cjs/core/utils/components/Resizer.js +7 -1
- package/cjs/core/utils/components/VisuallyHidden.d.ts +1 -0
- package/cjs/core/utils/components/VisuallyHidden.js +1 -0
- package/cjs/core/utils/functions/colors.d.ts +1 -1
- package/cjs/core/utils/functions/colors.js +1 -1
- package/cjs/core/utils/functions/dom.js +1 -0
- package/cjs/core/utils/hooks/index.d.ts +1 -0
- package/cjs/core/utils/hooks/index.js +1 -0
- package/cjs/core/utils/hooks/useIsomorphicLayoutEffect.d.ts +7 -0
- package/cjs/core/utils/hooks/useIsomorphicLayoutEffect.js +17 -0
- package/cjs/core/utils/hooks/useMediaQuery.js +2 -1
- package/cjs/core/utils/hooks/useTheme.d.ts +20 -3
- package/cjs/core/utils/hooks/useTheme.js +57 -58
- package/esm/core/Alert/Alert.d.ts +7 -6
- package/esm/core/Alert/Alert.js +12 -7
- package/esm/core/Avatar/Avatar.d.ts +69 -0
- package/esm/core/{UserIcon/UserIcon.js → Avatar/Avatar.js} +13 -9
- package/esm/core/Avatar/index.d.ts +4 -0
- package/esm/core/{UserIcon → Avatar}/index.js +2 -2
- package/esm/core/AvatarGroup/AvatarGroup.d.ts +70 -0
- package/esm/core/{UserIconGroup/UserIconGroup.js → AvatarGroup/AvatarGroup.js} +21 -17
- package/esm/core/AvatarGroup/index.d.ts +4 -0
- package/esm/core/{UserIconGroup → AvatarGroup}/index.js +2 -2
- package/esm/core/Badge/Badge.js +3 -5
- package/esm/core/ButtonGroup/ButtonGroup.d.ts +1 -1
- package/esm/core/Buttons/Button/Button.js +5 -14
- package/esm/core/Buttons/DropdownButton/DropdownButton.js +1 -1
- package/esm/core/Buttons/IconButton/IconButton.js +3 -9
- package/esm/core/Buttons/IdeasButton/IdeasButton.js +1 -1
- package/esm/core/Buttons/SplitButton/SplitButton.js +4 -6
- package/esm/core/Checkbox/Checkbox.d.ts +1 -29
- package/esm/core/Checkbox/Checkbox.js +3 -3
- package/esm/core/ColorPicker/ColorBuilder.js +17 -28
- package/esm/core/ColorPicker/ColorSwatch.d.ts +1 -1
- package/esm/core/ColorPicker/ColorSwatch.js +2 -7
- package/esm/core/ComboBox/ComboBoxDropdown.d.ts +1 -1
- package/esm/core/ComboBox/ComboBoxMenu.js +2 -4
- package/esm/core/Dialog/Dialog.d.ts +4 -4
- package/esm/core/Dialog/Dialog.js +1 -1
- package/esm/core/Dialog/DialogBackdrop.d.ts +1 -1
- package/esm/core/Dialog/DialogBackdrop.js +5 -2
- package/esm/core/Dialog/DialogMain.d.ts +1 -1
- package/esm/core/Dialog/DialogMain.js +7 -1
- package/esm/core/Dialog/DialogTitleBar.d.ts +1 -1
- package/esm/core/ExpandableBlock/ExpandableBlock.js +4 -4
- package/esm/core/Header/Header.d.ts +16 -6
- package/esm/core/Header/Header.js +7 -9
- package/esm/core/Header/HeaderBasicButton.d.ts +6 -0
- package/esm/core/Header/HeaderBasicButton.js +46 -0
- package/esm/core/Header/HeaderBreadcrumbs.js +6 -4
- package/esm/core/Header/HeaderButton.d.ts +3 -2
- package/esm/core/Header/HeaderButton.js +10 -18
- package/esm/core/Header/HeaderDropdownButton.d.ts +6 -0
- package/esm/core/Header/HeaderDropdownButton.js +50 -0
- package/esm/core/Header/HeaderLogo.js +3 -3
- package/esm/core/Header/HeaderSplitButton.d.ts +6 -0
- package/esm/core/Header/HeaderSplitButton.js +50 -0
- package/esm/core/Input/Input.d.ts +1 -1
- package/esm/core/Input/Input.js +3 -4
- package/esm/core/InputGroup/InputGroup.d.ts +1 -1
- package/esm/core/InputGroup/InputGroup.js +1 -1
- package/esm/core/Label/Label.d.ts +1 -1
- package/esm/core/Label/Label.js +1 -1
- package/esm/core/LabeledInput/LabeledInput.d.ts +2 -2
- package/esm/core/LabeledInput/LabeledInput.js +1 -1
- package/esm/core/LabeledSelect/LabeledSelect.d.ts +1 -1
- package/esm/core/LabeledSelect/LabeledSelect.js +1 -1
- package/esm/core/LabeledTextarea/LabeledTextarea.d.ts +1 -1
- package/esm/core/LabeledTextarea/LabeledTextarea.js +1 -1
- package/esm/core/Radio/Radio.d.ts +1 -29
- package/esm/core/Radio/Radio.js +3 -3
- package/esm/core/RadioTiles/RadioTileGroup.d.ts +1 -1
- package/esm/core/RadioTiles/RadioTileGroup.js +1 -1
- package/esm/core/Select/Select.d.ts +1 -1
- package/esm/core/Select/Select.js +9 -12
- package/esm/core/Select/SelectTag.d.ts +1 -1
- package/esm/core/Select/SelectTag.js +1 -1
- package/esm/core/SideNavigation/SidenavButton.js +1 -2
- package/esm/core/Stepper/Stepper.d.ts +40 -0
- package/esm/core/{Wizard/Wizard.js → Stepper/Stepper.js} +10 -27
- package/esm/core/{Wizard/Step.d.ts → Stepper/StepperStep.d.ts} +6 -7
- package/esm/core/{Wizard/Step.js → Stepper/StepperStep.js} +8 -8
- package/esm/core/Stepper/Wizard.d.ts +46 -0
- package/esm/core/Stepper/Wizard.js +49 -0
- package/esm/core/Stepper/WorkflowDiagram.d.ts +6 -0
- package/esm/core/Stepper/WorkflowDiagram.js +37 -0
- package/esm/core/Stepper/WorkflowDiagramStep.d.ts +5 -0
- package/esm/core/Stepper/WorkflowDiagramStep.js +35 -0
- package/esm/core/Stepper/index.d.ts +8 -0
- package/esm/core/{Wizard → Stepper}/index.js +2 -0
- package/esm/core/Surface/Surface.js +3 -5
- package/esm/core/Table/SubRowExpander.js +1 -1
- package/esm/core/Table/Table.d.ts +5 -4
- package/esm/core/Table/Table.js +30 -21
- package/esm/core/Table/TableCell.js +4 -4
- package/esm/core/Table/TablePaginator.js +14 -15
- package/esm/core/Table/TableRowMemoized.d.ts +2 -0
- package/esm/core/Table/TableRowMemoized.js +10 -13
- package/esm/core/Table/cells/DefaultCell.js +4 -9
- package/esm/core/Table/columns/actionColumn.js +1 -1
- package/esm/core/Table/columns/expanderColumn.js +1 -1
- package/esm/core/Table/filters/BaseFilter.js +1 -1
- package/esm/core/Table/filters/FilterToggle.js +1 -1
- package/esm/core/Table/hooks/useColumnDragAndDrop.js +4 -4
- package/esm/core/Table/hooks/useResizeColumns.js +110 -106
- package/esm/core/Tabs/Tab.d.ts +0 -8
- package/esm/core/Tabs/Tab.js +0 -4
- package/esm/core/Tabs/Tabs.js +9 -12
- package/esm/core/Tabs/index.d.ts +2 -2
- package/esm/core/Tabs/index.js +1 -1
- package/esm/core/Textarea/Textarea.d.ts +1 -1
- package/esm/core/Textarea/Textarea.js +2 -2
- package/esm/core/ThemeProvider/ThemeProvider.d.ts +27 -17
- package/esm/core/ThemeProvider/ThemeProvider.js +64 -6
- package/esm/core/Tile/Tile.d.ts +19 -1
- package/esm/core/Tile/Tile.js +36 -13
- package/esm/core/Toast/Toast.d.ts +3 -3
- package/esm/core/Toast/Toast.js +3 -3
- package/esm/core/Toast/ToastWrapper.d.ts +1 -1
- package/esm/core/Toast/ToastWrapper.js +1 -1
- package/esm/core/Tree/TreeNode.js +2 -8
- package/esm/core/index.d.ts +8 -8
- package/esm/core/index.js +4 -4
- package/esm/core/utils/components/Popover.d.ts +2 -2
- package/esm/core/utils/components/Popover.js +1 -1
- package/esm/core/utils/components/Resizer.d.ts +5 -0
- package/esm/core/utils/components/Resizer.js +7 -1
- package/esm/core/utils/components/VisuallyHidden.d.ts +1 -0
- package/esm/core/utils/components/VisuallyHidden.js +1 -0
- package/esm/core/utils/functions/colors.d.ts +1 -1
- package/esm/core/utils/functions/colors.js +1 -1
- package/esm/core/utils/functions/dom.js +1 -0
- package/esm/core/utils/hooks/index.d.ts +1 -0
- package/esm/core/utils/hooks/index.js +1 -0
- package/esm/core/utils/hooks/useIsomorphicLayoutEffect.d.ts +7 -0
- package/esm/core/utils/hooks/useIsomorphicLayoutEffect.js +11 -0
- package/esm/core/utils/hooks/useMediaQuery.js +2 -1
- package/esm/core/utils/hooks/useTheme.d.ts +20 -3
- package/esm/core/utils/hooks/useTheme.js +56 -57
- package/package.json +3 -2
- package/cjs/core/UserIcon/UserIcon.d.ts +0 -57
- package/cjs/core/UserIcon/index.d.ts +0 -4
- package/cjs/core/UserIconGroup/UserIconGroup.d.ts +0 -62
- package/cjs/core/UserIconGroup/index.d.ts +0 -4
- package/cjs/core/Wizard/Wizard.d.ts +0 -54
- package/cjs/core/Wizard/index.d.ts +0 -4
- package/esm/core/UserIcon/UserIcon.d.ts +0 -57
- package/esm/core/UserIcon/index.d.ts +0 -4
- package/esm/core/UserIconGroup/UserIconGroup.d.ts +0 -62
- package/esm/core/UserIconGroup/index.d.ts +0 -4
- package/esm/core/Wizard/Wizard.d.ts +0 -54
- 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.
|
|
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/
|
|
37
|
-
var
|
|
38
|
-
var
|
|
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
|
-
|
|
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:
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
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.
|
|
52
|
+
exports.default = exports.Stepper;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { StylingProps } from '../utils';
|
|
3
|
-
|
|
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
|
|
13
|
+
* the Stepper's current step number, 0-based.
|
|
15
14
|
*/
|
|
16
15
|
currentStepNumber: number;
|
|
17
16
|
/**
|
|
18
|
-
* number of total steps in the
|
|
17
|
+
* number of total steps in the stepper.
|
|
19
18
|
*/
|
|
20
19
|
totalSteps: number;
|
|
21
20
|
/**
|
|
22
|
-
*
|
|
21
|
+
* Stepper type.
|
|
23
22
|
*/
|
|
24
|
-
type:
|
|
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
|
|
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.
|
|
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
|
|
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 =
|
|
39
|
-
var isActive =
|
|
40
|
-
var isClickable =
|
|
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-
|
|
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-
|
|
59
|
-
react_1.default.createElement("span", { className: 'iui-
|
|
60
|
-
type === 'default' && (react_1.default.createElement("span", { className: 'iui-
|
|
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.
|
|
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,
|
|
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 = (
|
|
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;
|
package/cjs/core/Table/Table.js
CHANGED
|
@@ -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
|
|
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 =
|
|
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] =
|
|
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',
|
|
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 =
|
|
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
|
};
|