@itwin/itwinui-react 1.38.0 → 1.40.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 +30 -0
- package/cjs/core/Carousel/Carousel.js +21 -12
- package/cjs/core/Carousel/CarouselContext.d.ts +4 -2
- package/cjs/core/Carousel/CarouselDotsList.js +1 -0
- package/cjs/core/Carousel/CarouselNavigation.js +8 -10
- package/cjs/core/Carousel/CarouselSlide.js +3 -7
- package/cjs/core/Carousel/CarouselSlider.js +23 -28
- package/cjs/core/ColorPicker/ColorPickerContext.d.ts +2 -2
- package/cjs/core/ComboBox/ComboBox.d.ts +17 -1
- package/cjs/core/ComboBox/ComboBox.js +50 -24
- package/cjs/core/ComboBox/ComboBoxDropdown.d.ts +5 -6
- package/cjs/core/ComboBox/ComboBoxInput.js +28 -9
- package/cjs/core/ComboBox/ComboBoxMenu.js +46 -2
- package/cjs/core/ComboBox/ComboBoxMenuItem.js +2 -3
- package/cjs/core/ComboBox/helpers.d.ts +8 -3
- package/cjs/core/ComboBox/helpers.js +1 -1
- package/cjs/core/DatePicker/DatePicker.d.ts +1 -1
- package/cjs/core/Menu/MenuItemSkeleton.d.ts +32 -0
- package/cjs/core/Menu/MenuItemSkeleton.js +53 -0
- package/cjs/core/Menu/index.d.ts +2 -0
- package/cjs/core/Menu/index.js +3 -1
- package/cjs/core/Select/Select.js +1 -1
- package/cjs/core/Table/Table.js +68 -25
- package/cjs/core/Table/TableCell.js +10 -3
- package/cjs/core/Table/TablePaginator.js +1 -1
- package/cjs/core/Table/TableRowMemoized.js +5 -1
- package/cjs/core/Table/actionHandlers/resizeHandler.d.ts +8 -0
- package/cjs/core/Table/actionHandlers/selectHandler.d.ts +4 -0
- package/cjs/core/Table/columns/selectionColumn.js +4 -2
- package/cjs/core/Table/filters/tableFilters.d.ts +3 -3
- package/cjs/core/Table/hooks/index.d.ts +1 -0
- package/cjs/core/Table/hooks/index.js +3 -1
- package/cjs/core/Table/hooks/useExpanderCell.js +11 -1
- package/cjs/core/Table/hooks/useStickyColumns.d.ts +2 -0
- package/cjs/core/Table/hooks/useStickyColumns.js +84 -0
- package/cjs/core/Table/utils.d.ts +1 -0
- package/cjs/core/Table/utils.js +36 -1
- package/cjs/core/Toast/Toaster.d.ts +1 -1
- package/cjs/core/Toast/Toaster.js +72 -29
- package/cjs/core/index.d.ts +2 -2
- package/cjs/core/index.js +4 -3
- package/cjs/core/utils/components/Popover.d.ts +1 -18
- package/cjs/core/utils/components/VirtualScroll.d.ts +35 -1
- package/cjs/core/utils/components/VirtualScroll.js +159 -26
- package/cjs/core/utils/components/VisuallyHidden.d.ts +9 -0
- package/cjs/core/utils/components/VisuallyHidden.js +44 -0
- package/cjs/core/utils/components/WithCSSTransition.d.ts +1 -2
- package/cjs/core/utils/components/icons.d.ts +4 -4
- package/cjs/core/utils/components/index.d.ts +1 -0
- package/cjs/core/utils/components/index.js +1 -0
- package/cjs/core/utils/hooks/useOverflow.js +4 -2
- package/cjs/core/utils/hooks/useTheme.d.ts +1 -1
- package/cjs/types/react-table-config.d.ts +9 -0
- package/esm/core/Carousel/Carousel.js +21 -12
- package/esm/core/Carousel/CarouselContext.d.ts +4 -2
- package/esm/core/Carousel/CarouselDotsList.js +1 -0
- package/esm/core/Carousel/CarouselNavigation.js +8 -10
- package/esm/core/Carousel/CarouselSlide.js +3 -7
- package/esm/core/Carousel/CarouselSlider.js +24 -29
- package/esm/core/ColorPicker/ColorPickerContext.d.ts +2 -2
- package/esm/core/ComboBox/ComboBox.d.ts +17 -1
- package/esm/core/ComboBox/ComboBox.js +50 -24
- package/esm/core/ComboBox/ComboBoxDropdown.d.ts +5 -6
- package/esm/core/ComboBox/ComboBoxInput.js +28 -9
- package/esm/core/ComboBox/ComboBoxMenu.js +47 -3
- package/esm/core/ComboBox/ComboBoxMenuItem.js +2 -3
- package/esm/core/ComboBox/helpers.d.ts +8 -3
- package/esm/core/ComboBox/helpers.js +1 -1
- package/esm/core/DatePicker/DatePicker.d.ts +1 -1
- package/esm/core/Menu/MenuItemSkeleton.d.ts +32 -0
- package/esm/core/Menu/MenuItemSkeleton.js +46 -0
- package/esm/core/Menu/index.d.ts +2 -0
- package/esm/core/Menu/index.js +1 -0
- package/esm/core/Select/Select.js +1 -1
- package/esm/core/Table/Table.js +70 -27
- package/esm/core/Table/TableCell.js +11 -4
- package/esm/core/Table/TablePaginator.js +1 -1
- package/esm/core/Table/TableRowMemoized.js +5 -1
- package/esm/core/Table/actionHandlers/resizeHandler.d.ts +8 -0
- package/esm/core/Table/actionHandlers/selectHandler.d.ts +4 -0
- package/esm/core/Table/columns/selectionColumn.js +4 -2
- package/esm/core/Table/filters/tableFilters.d.ts +3 -3
- package/esm/core/Table/hooks/index.d.ts +1 -0
- package/esm/core/Table/hooks/index.js +1 -0
- package/esm/core/Table/hooks/useExpanderCell.js +8 -1
- package/esm/core/Table/hooks/useStickyColumns.d.ts +2 -0
- package/esm/core/Table/hooks/useStickyColumns.js +80 -0
- package/esm/core/Table/utils.d.ts +1 -0
- package/esm/core/Table/utils.js +34 -0
- package/esm/core/Toast/Toaster.d.ts +1 -1
- package/esm/core/Toast/Toaster.js +50 -30
- package/esm/core/index.d.ts +2 -2
- package/esm/core/index.js +1 -1
- package/esm/core/utils/components/Popover.d.ts +1 -18
- package/esm/core/utils/components/VirtualScroll.d.ts +35 -1
- package/esm/core/utils/components/VirtualScroll.js +157 -25
- package/esm/core/utils/components/VisuallyHidden.d.ts +9 -0
- package/esm/core/utils/components/VisuallyHidden.js +38 -0
- package/esm/core/utils/components/WithCSSTransition.d.ts +1 -2
- package/esm/core/utils/components/icons.d.ts +4 -4
- package/esm/core/utils/components/index.d.ts +1 -0
- package/esm/core/utils/components/index.js +1 -0
- package/esm/core/utils/hooks/useOverflow.js +4 -2
- package/esm/core/utils/hooks/useTheme.d.ts +1 -1
- package/esm/types/react-table-config.d.ts +9 -0
- package/package.json +24 -39
|
@@ -0,0 +1,84 @@
|
|
|
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 __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
14
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
15
|
+
if (ar || !(i in from)) {
|
|
16
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
17
|
+
ar[i] = from[i];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
exports.useStickyColumns = void 0;
|
|
24
|
+
/*---------------------------------------------------------------------------------------------
|
|
25
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
26
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
27
|
+
*--------------------------------------------------------------------------------------------*/
|
|
28
|
+
var react_table_1 = require("react-table");
|
|
29
|
+
react_table_1.actions.setScrolledLeft = 'setScrolledLeft';
|
|
30
|
+
react_table_1.actions.setScrolledRight = 'setScrolledRight';
|
|
31
|
+
var useStickyColumns = function (hooks) {
|
|
32
|
+
hooks.stateReducers.push(reducer);
|
|
33
|
+
hooks.useInstance.push(useInstance);
|
|
34
|
+
};
|
|
35
|
+
exports.useStickyColumns = useStickyColumns;
|
|
36
|
+
var reducer = function (newState, action) {
|
|
37
|
+
var _a, _b;
|
|
38
|
+
if (action.type === react_table_1.actions.init) {
|
|
39
|
+
return __assign(__assign({}, newState), { sticky: {} });
|
|
40
|
+
}
|
|
41
|
+
if (action.type === react_table_1.actions.setScrolledLeft &&
|
|
42
|
+
((_a = newState.sticky) === null || _a === void 0 ? void 0 : _a.isScrolledToLeft) !== action.value // Prevents unnecessary re-render
|
|
43
|
+
) {
|
|
44
|
+
return __assign(__assign({}, newState), { sticky: __assign(__assign({}, newState.sticky), { isScrolledToLeft: action.value }) });
|
|
45
|
+
}
|
|
46
|
+
if (action.type === react_table_1.actions.setScrolledRight &&
|
|
47
|
+
((_b = newState.sticky) === null || _b === void 0 ? void 0 : _b.isScrolledToRight) !== action.value // Prevents unnecessary re-render
|
|
48
|
+
) {
|
|
49
|
+
return __assign(__assign({}, newState), { sticky: __assign(__assign({}, newState.sticky), { isScrolledToRight: action.value }) });
|
|
50
|
+
}
|
|
51
|
+
return newState;
|
|
52
|
+
};
|
|
53
|
+
var useInstance = function (instance) {
|
|
54
|
+
var flatHeaders = instance.flatHeaders;
|
|
55
|
+
// Edge case. Saving original sticky state in case sticky columns are reordered.
|
|
56
|
+
flatHeaders.forEach(function (header) {
|
|
57
|
+
var _a;
|
|
58
|
+
if (!header.originalSticky) {
|
|
59
|
+
header.originalSticky = (_a = header.sticky) !== null && _a !== void 0 ? _a : 'none';
|
|
60
|
+
}
|
|
61
|
+
header.sticky =
|
|
62
|
+
header.originalSticky === 'none' ? undefined : header.originalSticky;
|
|
63
|
+
});
|
|
64
|
+
// If there is a column that is sticked to the left, make every column prior to that sticky too.
|
|
65
|
+
var hasLeftStickyColumn = false;
|
|
66
|
+
__spreadArray([], flatHeaders, true).reverse().forEach(function (header) {
|
|
67
|
+
if (header.sticky === 'left') {
|
|
68
|
+
hasLeftStickyColumn = true;
|
|
69
|
+
}
|
|
70
|
+
if (hasLeftStickyColumn) {
|
|
71
|
+
header.sticky = 'left';
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
// If there is a column that is sticked to the right, make every column after to that sticky too.
|
|
75
|
+
var hasRightStickyColumn = false;
|
|
76
|
+
flatHeaders.forEach(function (header) {
|
|
77
|
+
if (header.sticky === 'right') {
|
|
78
|
+
hasRightStickyColumn = true;
|
|
79
|
+
}
|
|
80
|
+
if (hasRightStickyColumn) {
|
|
81
|
+
header.sticky = 'right';
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
};
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import { ColumnInstance } from 'react-table';
|
|
2
2
|
export declare const getCellStyle: <T extends Record<string, unknown>>(column: ColumnInstance<T>, isTableResizing: boolean) => React.CSSProperties | undefined;
|
|
3
|
+
export declare const getStickyStyle: <T extends Record<string, unknown>>(column: ColumnInstance<T>, columnList: ColumnInstance<T>[]) => React.CSSProperties;
|
package/cjs/core/Table/utils.js
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
3
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
4
|
+
if (ar || !(i in from)) {
|
|
5
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
6
|
+
ar[i] = from[i];
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
10
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getCellStyle = void 0;
|
|
12
|
+
exports.getStickyStyle = exports.getCellStyle = void 0;
|
|
4
13
|
var getCellStyle = function (column, isTableResizing) {
|
|
5
14
|
var style = {};
|
|
6
15
|
style.flex = "1 1 145px";
|
|
@@ -24,3 +33,29 @@ var getCellStyle = function (column, isTableResizing) {
|
|
|
24
33
|
return style;
|
|
25
34
|
};
|
|
26
35
|
exports.getCellStyle = getCellStyle;
|
|
36
|
+
var getStickyStyle = function (column, columnList) {
|
|
37
|
+
if (!column.sticky) {
|
|
38
|
+
return {};
|
|
39
|
+
}
|
|
40
|
+
var left = 0;
|
|
41
|
+
for (var _i = 0, columnList_1 = columnList; _i < columnList_1.length; _i++) {
|
|
42
|
+
var col = columnList_1[_i];
|
|
43
|
+
if (col.id === column.id) {
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
left += Number(col.width || col.resizeWidth || 0);
|
|
47
|
+
}
|
|
48
|
+
var right = 0;
|
|
49
|
+
for (var _a = 0, _b = __spreadArray([], columnList, true).reverse(); _a < _b.length; _a++) {
|
|
50
|
+
var col = _b[_a];
|
|
51
|
+
if (col.id === column.id) {
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
right += Number(col.width || col.resizeWidth || 0);
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
'--iui-table-sticky-left': column.sticky === 'left' ? "".concat(left, "px") : undefined,
|
|
58
|
+
'--iui-table-sticky-right': column.sticky === 'right' ? "".concat(right, "px") : undefined,
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
exports.getStickyStyle = getStickyStyle;
|
|
@@ -22,6 +22,7 @@ export default class Toaster {
|
|
|
22
22
|
private settings;
|
|
23
23
|
private toastsRef;
|
|
24
24
|
private isInitialized;
|
|
25
|
+
private asyncInit;
|
|
25
26
|
/**
|
|
26
27
|
* Set global Toaster settings for toasts order and placement.
|
|
27
28
|
* Settings will be applied to new toasts on the page.
|
|
@@ -41,7 +42,6 @@ export default class Toaster {
|
|
|
41
42
|
};
|
|
42
43
|
private createToast;
|
|
43
44
|
private removeToast;
|
|
44
|
-
private createContainer;
|
|
45
45
|
private updateView;
|
|
46
46
|
private closeToast;
|
|
47
47
|
closeAll(): void;
|
|
@@ -10,6 +10,29 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
13
36
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
37
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
38
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -64,12 +87,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
64
87
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
65
88
|
*--------------------------------------------------------------------------------------------*/
|
|
66
89
|
var react_1 = __importDefault(require("react"));
|
|
67
|
-
var
|
|
90
|
+
var ReactDOM = __importStar(require("react-dom"));
|
|
68
91
|
var utils_1 = require("../utils");
|
|
69
92
|
var ToastWrapper_1 = require("./ToastWrapper");
|
|
70
93
|
var TOASTS_CONTAINER_ID = 'iui-toasts-container';
|
|
71
94
|
var Toaster = /** @class */ (function () {
|
|
72
95
|
function Toaster() {
|
|
96
|
+
var _this = this;
|
|
73
97
|
this.toasts = [];
|
|
74
98
|
this.lastId = 0;
|
|
75
99
|
this.settings = {
|
|
@@ -78,19 +102,60 @@ var Toaster = /** @class */ (function () {
|
|
|
78
102
|
};
|
|
79
103
|
this.toastsRef = react_1.default.createRef();
|
|
80
104
|
this.isInitialized = false;
|
|
105
|
+
// Create container on demand.
|
|
106
|
+
// Cannot do it in constructor, because SSG/SSR apps would fail.
|
|
107
|
+
this.asyncInit = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
108
|
+
var container, toastWrapper, _ReactDOM, _ReactDOMInternals, root;
|
|
109
|
+
var _a, _b;
|
|
110
|
+
return __generator(this, function (_c) {
|
|
111
|
+
if (this.isInitialized) {
|
|
112
|
+
return [2 /*return*/];
|
|
113
|
+
}
|
|
114
|
+
container = (_a = (0, utils_1.getContainer)(TOASTS_CONTAINER_ID)) !== null && _a !== void 0 ? _a : (_b = (0, utils_1.getDocument)()) === null || _b === void 0 ? void 0 : _b.body;
|
|
115
|
+
if (!container) {
|
|
116
|
+
return [2 /*return*/];
|
|
117
|
+
}
|
|
118
|
+
this.isInitialized = true;
|
|
119
|
+
toastWrapper = react_1.default.createElement(ToastWrapper_1.ToastWrapper, { ref: this.toastsRef });
|
|
120
|
+
_ReactDOM = ReactDOM;
|
|
121
|
+
// v18 mode
|
|
122
|
+
if (_ReactDOM.createRoot) {
|
|
123
|
+
_ReactDOMInternals = _ReactDOM.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
|
|
124
|
+
// suppress warning about importing createRoot from react-dom/client
|
|
125
|
+
if (_ReactDOMInternals) {
|
|
126
|
+
_ReactDOMInternals.usingClientEntryPoint = true;
|
|
127
|
+
}
|
|
128
|
+
root = _ReactDOM.createRoot(container);
|
|
129
|
+
root.render(toastWrapper);
|
|
130
|
+
// revert suppression, not to influence users app
|
|
131
|
+
if (_ReactDOMInternals) {
|
|
132
|
+
_ReactDOMInternals.usingClientEntryPoint = false;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
// v17 and before
|
|
137
|
+
ReactDOM.render(toastWrapper, container);
|
|
138
|
+
}
|
|
139
|
+
return [2 /*return*/];
|
|
140
|
+
});
|
|
141
|
+
}); };
|
|
81
142
|
}
|
|
82
143
|
/**
|
|
83
144
|
* Set global Toaster settings for toasts order and placement.
|
|
84
145
|
* Settings will be applied to new toasts on the page.
|
|
85
146
|
*/
|
|
86
147
|
Toaster.prototype.setSettings = function (newSettings) {
|
|
87
|
-
var
|
|
148
|
+
var _this = this;
|
|
149
|
+
var _a, _b, _c;
|
|
88
150
|
(_a = newSettings.placement) !== null && _a !== void 0 ? _a : (newSettings.placement = this.settings.placement);
|
|
89
151
|
(_b = newSettings.order) !== null && _b !== void 0 ? _b : (newSettings.order = ((_c = newSettings.placement) === null || _c === void 0 ? void 0 : _c.startsWith('bottom'))
|
|
90
152
|
? 'ascending'
|
|
91
153
|
: 'descending');
|
|
92
154
|
this.settings = newSettings;
|
|
93
|
-
|
|
155
|
+
this.asyncInit().then(function () {
|
|
156
|
+
var _a, _b;
|
|
157
|
+
(_a = _this.toastsRef.current) === null || _a === void 0 ? void 0 : _a.setPlacement((_b = _this.settings.placement) !== null && _b !== void 0 ? _b : 'top');
|
|
158
|
+
});
|
|
94
159
|
};
|
|
95
160
|
Toaster.prototype.positive = function (content, options) {
|
|
96
161
|
return this.createToast(content, 'positive', options);
|
|
@@ -122,34 +187,12 @@ var Toaster = /** @class */ (function () {
|
|
|
122
187
|
this.toasts = this.toasts.filter(function (toast) { return toast.id !== id; });
|
|
123
188
|
this.updateView();
|
|
124
189
|
};
|
|
125
|
-
// Create container on demand.
|
|
126
|
-
// Cannot do it in constructor, because SSG/SSR apps would fail.
|
|
127
|
-
Toaster.prototype.createContainer = function () {
|
|
128
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
129
|
-
var container;
|
|
130
|
-
return __generator(this, function (_a) {
|
|
131
|
-
container = (0, utils_1.getContainer)(TOASTS_CONTAINER_ID);
|
|
132
|
-
if (!container) {
|
|
133
|
-
return [2 /*return*/];
|
|
134
|
-
}
|
|
135
|
-
react_dom_1.default.render(react_1.default.createElement(ToastWrapper_1.ToastWrapper, { ref: this.toastsRef }), container);
|
|
136
|
-
return [2 /*return*/];
|
|
137
|
-
});
|
|
138
|
-
});
|
|
139
|
-
};
|
|
140
190
|
Toaster.prototype.updateView = function () {
|
|
141
191
|
var _this = this;
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
_this.isInitialized = true;
|
|
147
|
-
(_a = _this.toastsRef.current) === null || _a === void 0 ? void 0 : _a.setToasts(_this.toasts);
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
else {
|
|
151
|
-
(_a = this.toastsRef.current) === null || _a === void 0 ? void 0 : _a.setToasts(this.toasts);
|
|
152
|
-
}
|
|
192
|
+
this.asyncInit().then(function () {
|
|
193
|
+
var _a;
|
|
194
|
+
(_a = _this.toastsRef.current) === null || _a === void 0 ? void 0 : _a.setToasts(_this.toasts);
|
|
195
|
+
});
|
|
153
196
|
};
|
|
154
197
|
Toaster.prototype.closeToast = function (toastId) {
|
|
155
198
|
this.toasts = this.toasts.map(function (toast) {
|
package/cjs/core/index.d.ts
CHANGED
|
@@ -48,8 +48,8 @@ export { LabeledSelect } from './LabeledSelect';
|
|
|
48
48
|
export type { LabeledSelectProps } from './LabeledSelect';
|
|
49
49
|
export { LabeledTextarea } from './LabeledTextarea';
|
|
50
50
|
export type { LabeledTextareaProps } from './LabeledTextarea';
|
|
51
|
-
export { Menu, MenuItem, MenuDivider, MenuExtraContent } from './Menu';
|
|
52
|
-
export type { MenuProps, MenuItemProps, MenuDividerProps, MenuExtraContentProps, } from './Menu';
|
|
51
|
+
export { Menu, MenuItem, MenuDivider, MenuExtraContent, MenuItemSkeleton, } from './Menu';
|
|
52
|
+
export type { MenuProps, MenuItemProps, MenuDividerProps, MenuExtraContentProps, MenuItemSkeletonProps, } from './Menu';
|
|
53
53
|
export { Modal, ModalButtonBar, ModalContent } from './Modal';
|
|
54
54
|
export type { ModalProps, ModalButtonBarProps, ModalContentProps, } from './Modal';
|
|
55
55
|
export { ProgressLinear, ProgressRadial } from './ProgressIndicators';
|
package/cjs/core/index.js
CHANGED
|
@@ -3,9 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
7
|
-
exports.
|
|
8
|
-
exports.MiddleTextTruncation = exports.ColorValue = exports.useTheme = exports.getUserColor = exports.Wizard = exports.UserIconGroup = void 0;
|
|
6
|
+
exports.MenuItemSkeleton = exports.MenuExtraContent = exports.MenuDivider = exports.MenuItem = exports.Menu = exports.LabeledTextarea = exports.LabeledSelect = exports.InputGroup = exports.LabeledInput = exports.Label = exports.Input = exports.InformationPanelContent = exports.InformationPanelBody = exports.InformationPanelHeader = exports.InformationPanelWrapper = exports.InformationPanel = exports.HorizontalTab = exports.HorizontalTabs = exports.Tab = exports.VerticalTabs = exports.HeaderLogo = exports.HeaderButton = exports.HeaderBreadcrumbs = exports.Header = exports.Footer = exports.FileUploadTemplate = exports.FileUpload = exports.Fieldset = exports.ExpandableBlock = exports.ErrorPage = exports.DropdownMenu = exports.generateLocalizedStrings = exports.DatePicker = exports.ComboBox = exports.ColorPalette = exports.ColorInputPanel = exports.ColorBuilder = exports.ColorSwatch = exports.ColorPicker = exports.Checkbox = exports.Carousel = exports.ButtonGroup = exports.SplitButton = exports.IdeasButton = exports.IconButton = exports.DropdownButton = exports.Button = exports.Breadcrumbs = exports.Badge = exports.Alert = void 0;
|
|
7
|
+
exports.Text = exports.KbdKeys = exports.Kbd = exports.Code = exports.Blockquote = exports.Title = exports.Subheading = exports.Small = exports.Leading = exports.Headline = exports.Body = exports.Anchor = exports.TreeNodeExpander = exports.TreeNode = exports.Tree = exports.Tooltip = exports.ToggleSwitch = exports.ThemeProvider = exports.toaster = exports.TimePicker = exports.Tile = exports.Textarea = exports.TagContainer = exports.Tag = exports.SelectionColumn = exports.ExpanderColumn = exports.ActionColumn = exports.TablePaginator = exports.EditableCell = exports.DefaultCell = exports.FilterButtonBar = exports.tableFilters = exports.Table = exports.Surface = exports.StatusMessage = exports.Slider = exports.SkipToContentLink = exports.SidenavSubmenuHeader = exports.SidenavSubmenu = exports.SidenavButton = exports.SideNavigation = exports.Select = exports.RadioTileGroup = exports.RadioTile = exports.Radio = exports.ProgressRadial = exports.ProgressLinear = exports.ModalContent = exports.ModalButtonBar = exports.Modal = void 0;
|
|
8
|
+
exports.MiddleTextTruncation = exports.ColorValue = exports.useTheme = exports.getUserColor = exports.Wizard = exports.UserIconGroup = exports.UserIcon = void 0;
|
|
9
9
|
/*---------------------------------------------------------------------------------------------
|
|
10
10
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
11
11
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -85,6 +85,7 @@ Object.defineProperty(exports, "Menu", { enumerable: true, get: function () { re
|
|
|
85
85
|
Object.defineProperty(exports, "MenuItem", { enumerable: true, get: function () { return Menu_1.MenuItem; } });
|
|
86
86
|
Object.defineProperty(exports, "MenuDivider", { enumerable: true, get: function () { return Menu_1.MenuDivider; } });
|
|
87
87
|
Object.defineProperty(exports, "MenuExtraContent", { enumerable: true, get: function () { return Menu_1.MenuExtraContent; } });
|
|
88
|
+
Object.defineProperty(exports, "MenuItemSkeleton", { enumerable: true, get: function () { return Menu_1.MenuItemSkeleton; } });
|
|
88
89
|
var Modal_1 = require("./Modal");
|
|
89
90
|
Object.defineProperty(exports, "Modal", { enumerable: true, get: function () { return Modal_1.Modal; } });
|
|
90
91
|
Object.defineProperty(exports, "ModalButtonBar", { enumerable: true, get: function () { return Modal_1.ModalButtonBar; } });
|
|
@@ -26,24 +26,7 @@ export declare type PopoverProps = {
|
|
|
26
26
|
* with pre-configured props and plugins (e.g. lazy mounting, focus, etc).
|
|
27
27
|
* @private
|
|
28
28
|
*/
|
|
29
|
-
export declare const Popover: React.ForwardRefExoticComponent<Pick<
|
|
30
|
-
/**
|
|
31
|
-
* Controlled flag for whether the popover is visible.
|
|
32
|
-
*/
|
|
33
|
-
visible?: boolean | undefined;
|
|
34
|
-
/**
|
|
35
|
-
* Determines the events that cause the popover to show.
|
|
36
|
-
* Should not be used when `visible` is set.
|
|
37
|
-
* @see [tippy.js trigger prop](https://atomiks.github.io/tippyjs/v6/all-props/#trigger)
|
|
38
|
-
*/
|
|
39
|
-
trigger?: string | undefined;
|
|
40
|
-
/**
|
|
41
|
-
* Placement of the popover content.
|
|
42
|
-
* @default 'bottom-start'
|
|
43
|
-
* @see [tippy.js placement prop](https://atomiks.github.io/tippyjs/v6/all-props/#placement).
|
|
44
|
-
*/
|
|
45
|
-
placement?: import("@popperjs/core").Placement | undefined;
|
|
46
|
-
} & Omit<TippyProps, "placement" | "trigger" | "visible">, "disabled" | "children" | "placement" | "trigger" | "visible" | "content" | "render" | "animateFill" | "appendTo" | "aria" | "delay" | "duration" | "followCursor" | "getReferenceClientRect" | "hideOnClick" | "ignoreAttributes" | "inlinePositioning" | "interactive" | "interactiveBorder" | "interactiveDebounce" | "moveTransition" | "offset" | "plugins" | "popperOptions" | "showOnCreate" | "sticky" | "touch" | "triggerTarget" | "onAfterUpdate" | "onBeforeUpdate" | "onCreate" | "onDestroy" | "onHidden" | "onHide" | "onMount" | "onShow" | "onShown" | "onTrigger" | "onUntrigger" | "onClickOutside" | "allowHTML" | "animation" | "arrow" | "inertia" | "maxWidth" | "role" | "theme" | "zIndex" | "className" | "singleton" | "reference"> & React.RefAttributes<unknown>>;
|
|
29
|
+
export declare const Popover: React.ForwardRefExoticComponent<Pick<PopoverProps, "disabled" | "children" | "placement" | "trigger" | "visible" | "content" | "render" | "animateFill" | "appendTo" | "aria" | "delay" | "duration" | "followCursor" | "getReferenceClientRect" | "hideOnClick" | "ignoreAttributes" | "inlinePositioning" | "interactive" | "interactiveBorder" | "interactiveDebounce" | "moveTransition" | "offset" | "plugins" | "popperOptions" | "showOnCreate" | "sticky" | "touch" | "triggerTarget" | "onAfterUpdate" | "onBeforeUpdate" | "onCreate" | "onDestroy" | "onHidden" | "onHide" | "onMount" | "onShow" | "onShown" | "onTrigger" | "onUntrigger" | "onClickOutside" | "allowHTML" | "animation" | "arrow" | "inertia" | "maxWidth" | "role" | "theme" | "zIndex" | "className" | "singleton" | "reference"> & React.RefAttributes<unknown>>;
|
|
47
30
|
/**
|
|
48
31
|
* Plugin to hide Popover when either Esc key is pressed,
|
|
49
32
|
* or when the content inside is not tabbable and Tab key is pressed.
|
|
@@ -16,6 +16,10 @@ export declare type VirtualScrollProps = {
|
|
|
16
16
|
* @default 10
|
|
17
17
|
*/
|
|
18
18
|
bufferSize?: number;
|
|
19
|
+
/**
|
|
20
|
+
* Index of the first element on initial render.
|
|
21
|
+
*/
|
|
22
|
+
scrollToIndex?: number;
|
|
19
23
|
} & React.ComponentPropsWithRef<'div'>;
|
|
20
24
|
/**
|
|
21
25
|
* `VirtualScroll` component is used to render a huge amount of items in the DOM. It renders only the ones which are visible
|
|
@@ -38,5 +42,35 @@ export declare type VirtualScrollProps = {
|
|
|
38
42
|
* />
|
|
39
43
|
* @private
|
|
40
44
|
*/
|
|
41
|
-
export declare const VirtualScroll: React.ForwardRefExoticComponent<Pick<VirtualScrollProps, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "itemsLength" | "itemRenderer" | "bufferSize"> & React.RefAttributes<HTMLDivElement>>;
|
|
45
|
+
export declare const VirtualScroll: React.ForwardRefExoticComponent<Pick<VirtualScrollProps, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "itemsLength" | "itemRenderer" | "bufferSize" | "scrollToIndex"> & React.RefAttributes<HTMLDivElement>>;
|
|
46
|
+
/**
|
|
47
|
+
* `useVirtualization` is used for efficiently rendering only the visible rows from a large list.
|
|
48
|
+
* It returns `outerProps` and `innerProps`, which need to be applied on 2 container elements and `visibleChildren` which is a list of virtualized items.
|
|
49
|
+
* @example
|
|
50
|
+
* const itemRenderer = React.useCallback((index: number) => (
|
|
51
|
+
* <li key={index}>
|
|
52
|
+
* This is my item #{index}
|
|
53
|
+
* </li>
|
|
54
|
+
* ), [])
|
|
55
|
+
*
|
|
56
|
+
* const { outerProps, innerProps, visibleChildren } = useVirtualization({itemsLength: 1000, itemRenderer: itemRenderer});
|
|
57
|
+
* return (
|
|
58
|
+
* <div {...outerProps}>
|
|
59
|
+
* <ul {...innerProps}>
|
|
60
|
+
* {visibleChildren}
|
|
61
|
+
* </ul>
|
|
62
|
+
* </div>
|
|
63
|
+
* );
|
|
64
|
+
* @private
|
|
65
|
+
*/
|
|
66
|
+
export declare const useVirtualization: (props: VirtualScrollProps) => {
|
|
67
|
+
outerProps: React.HTMLAttributes<HTMLElement>;
|
|
68
|
+
innerProps: {
|
|
69
|
+
readonly style: {
|
|
70
|
+
readonly willChange: "transform";
|
|
71
|
+
};
|
|
72
|
+
readonly ref: (instance: HTMLElement | null) => void;
|
|
73
|
+
};
|
|
74
|
+
visibleChildren: JSX.Element[];
|
|
75
|
+
};
|
|
42
76
|
export default VirtualScroll;
|