@itwin/itwinui-react 3.3.2 → 3.3.4
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 +16 -0
- package/cjs/core/Avatar/Avatar.d.ts +0 -1
- package/cjs/core/Buttons/DropdownButton.d.ts +0 -1
- package/cjs/core/Dialog/DialogMain.js +4 -3
- package/cjs/core/Header/HeaderLogo.d.ts +0 -1
- package/cjs/core/List/ListItem.d.ts +0 -1
- package/cjs/core/Menu/MenuDivider.d.ts +0 -1
- package/cjs/core/Table/Table.js +22 -9
- package/cjs/core/ThemeProvider/ThemeProvider.js +2 -2
- package/cjs/core/utils/functions/dev.d.ts +2 -2
- package/cjs/core/utils/functions/dev.js +11 -5
- package/cjs/core/utils/functions/dom.d.ts +0 -1
- package/cjs/core/utils/hooks/useResizeObserver.js +12 -1
- package/esm/core/Avatar/Avatar.d.ts +0 -1
- package/esm/core/Buttons/DropdownButton.d.ts +0 -1
- package/esm/core/Dialog/DialogMain.js +4 -3
- package/esm/core/Header/HeaderLogo.d.ts +0 -1
- package/esm/core/List/ListItem.d.ts +0 -1
- package/esm/core/Menu/MenuDivider.d.ts +0 -1
- package/esm/core/Table/Table.js +22 -9
- package/esm/core/ThemeProvider/ThemeProvider.js +3 -3
- package/esm/core/utils/functions/dev.d.ts +2 -2
- package/esm/core/utils/functions/dev.js +9 -3
- package/esm/core/utils/functions/dom.d.ts +0 -1
- package/esm/core/utils/hooks/useResizeObserver.js +12 -1
- package/package.json +9 -13
- package/styles.css +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.3.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#1816](https://github.com/iTwin/iTwinUI/pull/1816): Fixed an issue where `Table` was showing a dummy vertical scrollbar track inside the table header in Chromium 121 + Windows.
|
|
8
|
+
- [#1810](https://github.com/iTwin/iTwinUI/pull/1810): Fixed `Surface.Body` not being visually aligned with `Surface.Header` depending on scrollbar visibility.
|
|
9
|
+
- [#1776](https://github.com/iTwin/iTwinUI/pull/1776): Fixed broken animation in full-page `Modal` and `Dialog`.
|
|
10
|
+
- [#1809](https://github.com/iTwin/iTwinUI/pull/1809): Fixed `Table` bug where the table-body had an incorrect horizontal scrollbar/overflow when the `Table`'s width is reduced below the initial width.
|
|
11
|
+
|
|
12
|
+
## 3.3.3
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- [#1800](https://github.com/iTwin/iTwinUI/pull/1800): Updated internal usage of `ResizeObserver` to prevent throwing a benign "ResizeObserver loop limit exceeded" error in React 17 apps. Some affected components: `ButtonGroup`, `Tabs`, `Table`, `Tree`, `Breadcrumbs`, etc.
|
|
17
|
+
- [#1807](https://github.com/iTwin/iTwinUI/pull/1807): iTwinUI will now also check for `vitest` and `mocha` (in addition to `jest`) before running any code that would cause problems in these test runners.
|
|
18
|
+
|
|
3
19
|
## 3.3.2
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
|
@@ -38,6 +38,7 @@ const DialogContext_js_1 = require("./DialogContext.js");
|
|
|
38
38
|
const react_transition_group_1 = require("react-transition-group");
|
|
39
39
|
const DialogDragContext_js_1 = require("./DialogDragContext.js");
|
|
40
40
|
const useDragAndDrop_js_1 = __importDefault(require("../utils/hooks/useDragAndDrop.js"));
|
|
41
|
+
const styles_js_1 = __importDefault(require("../../styles.js"));
|
|
41
42
|
/**
|
|
42
43
|
* Dialog component which can wrap any content.
|
|
43
44
|
* @example
|
|
@@ -133,7 +134,6 @@ exports.DialogMain = React.forwardRef((props, ref) => {
|
|
|
133
134
|
const content = (React.createElement(index_js_1.Box, { className: (0, classnames_1.default)('iui-dialog', {
|
|
134
135
|
'iui-dialog-default': styleType === 'default',
|
|
135
136
|
'iui-dialog-full-page': styleType === 'fullPage',
|
|
136
|
-
'iui-dialog-visible': isOpen,
|
|
137
137
|
'iui-dialog-draggable': isDraggable,
|
|
138
138
|
}, className), role: 'dialog', ref: (0, index_js_1.useMergedRefs)(dialogRef, ref), onKeyDown: handleKeyDown, tabIndex: -1, "data-iui-placement": placement, style: {
|
|
139
139
|
transform,
|
|
@@ -148,8 +148,9 @@ exports.DialogMain = React.forwardRef((props, ref) => {
|
|
|
148
148
|
}, onResizeEnd: setResizeStyle })),
|
|
149
149
|
children));
|
|
150
150
|
return (React.createElement(react_transition_group_1.CSSTransition, { in: isOpen, classNames: {
|
|
151
|
-
enter: 'iui-dialog-animation-enter',
|
|
152
|
-
enterActive: 'iui-dialog-animation-enter-active',
|
|
151
|
+
enter: styles_js_1.default['iui-dialog-animation-enter'],
|
|
152
|
+
enterActive: styles_js_1.default['iui-dialog-animation-enter-active'],
|
|
153
|
+
enterDone: styles_js_1.default['iui-dialog-visible'],
|
|
153
154
|
}, timeout: { exit: 600 },
|
|
154
155
|
// Focuses dialog when opened
|
|
155
156
|
onEntered: () => {
|
package/cjs/core/Table/Table.js
CHANGED
|
@@ -316,10 +316,19 @@ const Table = (props) => {
|
|
|
316
316
|
instance.selectedFlatRows,
|
|
317
317
|
selectionMode,
|
|
318
318
|
]);
|
|
319
|
+
const headerRef = React.useRef(null);
|
|
320
|
+
const bodyRef = React.useRef(null);
|
|
319
321
|
const { scrollToIndex, tableRowRef } = (0, index_js_3.useScrollToRow)({ ...props, page });
|
|
320
322
|
const columnRefs = React.useRef({});
|
|
321
323
|
const previousTableWidth = React.useRef(0);
|
|
322
324
|
const onTableResize = React.useCallback(({ width }) => {
|
|
325
|
+
// Handle header properties, regardless of whether the table is resizable
|
|
326
|
+
setHeaderScrollWidth(headerRef.current?.scrollWidth ?? 0);
|
|
327
|
+
setHeaderClientWidth(headerRef.current?.clientWidth ?? 0);
|
|
328
|
+
// Handle table properties, but only when table is resizable
|
|
329
|
+
if (!isResizable) {
|
|
330
|
+
return;
|
|
331
|
+
}
|
|
323
332
|
instance.tableWidth = width;
|
|
324
333
|
if (width === previousTableWidth.current) {
|
|
325
334
|
return;
|
|
@@ -337,8 +346,16 @@ const Table = (props) => {
|
|
|
337
346
|
return;
|
|
338
347
|
}
|
|
339
348
|
dispatch({ type: exports.tableResizeStartAction });
|
|
340
|
-
}, [
|
|
349
|
+
}, [
|
|
350
|
+
dispatch,
|
|
351
|
+
state.columnResizing.columnWidths,
|
|
352
|
+
flatHeaders,
|
|
353
|
+
instance,
|
|
354
|
+
isResizable,
|
|
355
|
+
]);
|
|
341
356
|
const [resizeRef] = (0, index_js_1.useResizeObserver)(onTableResize);
|
|
357
|
+
const [headerScrollWidth, setHeaderScrollWidth] = React.useState(0);
|
|
358
|
+
const [headerClientWidth, setHeaderClientWidth] = React.useState(0);
|
|
342
359
|
// Flexbox handles columns resize so we take new column widths before browser repaints.
|
|
343
360
|
(0, index_js_1.useIsomorphicLayoutEffect)(() => {
|
|
344
361
|
if (state.isTableResizing) {
|
|
@@ -352,8 +369,6 @@ const Table = (props) => {
|
|
|
352
369
|
dispatch({ type: tableResizeEndAction, columnWidths: newColumnWidths });
|
|
353
370
|
}
|
|
354
371
|
});
|
|
355
|
-
const headerRef = React.useRef(null);
|
|
356
|
-
const bodyRef = React.useRef(null);
|
|
357
372
|
const getPreparedRow = React.useCallback((index) => {
|
|
358
373
|
const row = page[index];
|
|
359
374
|
prepareRow(row);
|
|
@@ -403,9 +418,7 @@ const Table = (props) => {
|
|
|
403
418
|
return (React.createElement(React.Fragment, null,
|
|
404
419
|
React.createElement(index_js_1.Box, { ref: (element) => {
|
|
405
420
|
ownerDocument.current = element?.ownerDocument;
|
|
406
|
-
|
|
407
|
-
resizeRef(element);
|
|
408
|
-
}
|
|
421
|
+
resizeRef(element);
|
|
409
422
|
}, id: id, ...getTableProps({
|
|
410
423
|
className: (0, classnames_1.default)('iui-table', className),
|
|
411
424
|
style: {
|
|
@@ -497,12 +510,12 @@ const Table = (props) => {
|
|
|
497
510
|
}, tabIndex: -1, "aria-multiselectable": (isSelectable && selectionMode === 'multi') || undefined },
|
|
498
511
|
React.createElement(ShadowTemplate, null,
|
|
499
512
|
React.createElement("slot", null),
|
|
500
|
-
React.createElement("div", { "aria-hidden": true, style: {
|
|
513
|
+
rows.length === 0 && headerScrollWidth > headerClientWidth && (React.createElement("div", { "aria-hidden": true, style: {
|
|
501
514
|
// This ensures that the table-body is always the same width as the table-header,
|
|
502
515
|
// even if the table has no rows. See https://github.com/iTwin/iTwinUI/pull/1725
|
|
503
|
-
width:
|
|
516
|
+
width: headerScrollWidth,
|
|
504
517
|
height: 0.1,
|
|
505
|
-
} })),
|
|
518
|
+
} }))),
|
|
506
519
|
data.length !== 0 && (React.createElement(React.Fragment, null, enableVirtualization ? (React.createElement(VirtualScroll_js_1.default, { itemsLength: page.length, itemRenderer: virtualizedItemRenderer, scrollToIndex: scrollToIndex })) : (page.map((_, index) => getPreparedRow(index))))),
|
|
507
520
|
isLoading && data.length === 0 && (React.createElement(index_js_1.Box, { as: 'div', ...emptyTableContentProps, className: (0, classnames_1.default)('iui-table-empty', emptyTableContentProps?.className) },
|
|
508
521
|
React.createElement(ProgressRadial_js_1.ProgressRadial, { indeterminate: true }))),
|
|
@@ -160,8 +160,8 @@ const FallbackStyles = ({ root }) => {
|
|
|
160
160
|
if (getComputedStyle(root).getPropertyValue('--_iui-v3-loaded') === 'yes') {
|
|
161
161
|
return;
|
|
162
162
|
}
|
|
163
|
-
// bail if
|
|
164
|
-
if (index_js_1.
|
|
163
|
+
// bail if isUnitTest because unit tests don't care about CSS 🤷
|
|
164
|
+
if (index_js_1.isUnitTest) {
|
|
165
165
|
return;
|
|
166
166
|
}
|
|
167
167
|
(async () => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare const
|
|
1
|
+
declare const isUnitTest: boolean;
|
|
2
2
|
declare let isDev: boolean;
|
|
3
3
|
/**
|
|
4
4
|
* Logs message one time only in dev environments.
|
|
@@ -8,4 +8,4 @@ declare let isDev: boolean;
|
|
|
8
8
|
* logWarningInDev("please don't use this")
|
|
9
9
|
*/
|
|
10
10
|
declare const createWarningLogger: () => (message: string) => void;
|
|
11
|
-
export {
|
|
11
|
+
export { isUnitTest, isDev, createWarningLogger };
|
|
@@ -1,17 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createWarningLogger = exports.isDev = exports.isJest = void 0;
|
|
4
2
|
/*---------------------------------------------------------------------------------------------
|
|
5
3
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
6
4
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
7
5
|
*--------------------------------------------------------------------------------------------*/
|
|
8
|
-
|
|
9
|
-
exports
|
|
6
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.createWarningLogger = exports.isDev = exports.isUnitTest = void 0;
|
|
9
|
+
const isJest = typeof globalThis.jest !== 'undefined';
|
|
10
|
+
const isMocha = typeof globalThis.beforeEach !== 'undefined' &&
|
|
11
|
+
`${globalThis.beforeEach}`.replace(/\s/g, '') ===
|
|
12
|
+
'function(name,fn){suites[0].beforeEach(name,fn);}';
|
|
13
|
+
const isVitest = typeof globalThis.__vitest_index__ !== 'undefined';
|
|
14
|
+
const isUnitTest = isJest || isVitest || isMocha;
|
|
15
|
+
exports.isUnitTest = isUnitTest;
|
|
10
16
|
let isDev = false;
|
|
11
17
|
exports.isDev = isDev;
|
|
12
18
|
// wrapping in try-catch because process might be undefined
|
|
13
19
|
try {
|
|
14
|
-
exports.isDev = isDev = process.env.NODE_ENV !== 'production' && !
|
|
20
|
+
exports.isDev = isDev = process.env.NODE_ENV !== 'production' && !isUnitTest;
|
|
15
21
|
}
|
|
16
22
|
catch { }
|
|
17
23
|
/**
|
|
@@ -50,7 +50,18 @@ const useResizeObserver = (onResize) => {
|
|
|
50
50
|
}
|
|
51
51
|
resizeObserver.current?.disconnect?.();
|
|
52
52
|
if (element) {
|
|
53
|
-
resizeObserver.current = new ResizeObserver((
|
|
53
|
+
resizeObserver.current = new ResizeObserver((entries) => {
|
|
54
|
+
// We wrap onResize with requestAnimationFrame to avoid this error - ResizeObserver loop limit exceeded
|
|
55
|
+
// See: https://github.com/iTwin/iTwinUI/issues/1317
|
|
56
|
+
// See: https://stackoverflow.com/a/58701523/11547064
|
|
57
|
+
window.requestAnimationFrame(() => {
|
|
58
|
+
if (!Array.isArray(entries) || !entries.length) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
const [{ contentRect }] = entries;
|
|
62
|
+
return onResize(contentRect);
|
|
63
|
+
});
|
|
64
|
+
});
|
|
54
65
|
resizeObserver.current?.observe?.(element);
|
|
55
66
|
}
|
|
56
67
|
}, [onResize]);
|
|
@@ -9,6 +9,7 @@ import { useDialogContext } from './DialogContext.js';
|
|
|
9
9
|
import { CSSTransition } from 'react-transition-group';
|
|
10
10
|
import { DialogDragContext } from './DialogDragContext.js';
|
|
11
11
|
import useDragAndDrop from '../utils/hooks/useDragAndDrop.js';
|
|
12
|
+
import styles from '../../styles.js';
|
|
12
13
|
/**
|
|
13
14
|
* Dialog component which can wrap any content.
|
|
14
15
|
* @example
|
|
@@ -104,7 +105,6 @@ export const DialogMain = React.forwardRef((props, ref) => {
|
|
|
104
105
|
const content = (React.createElement(Box, { className: cx('iui-dialog', {
|
|
105
106
|
'iui-dialog-default': styleType === 'default',
|
|
106
107
|
'iui-dialog-full-page': styleType === 'fullPage',
|
|
107
|
-
'iui-dialog-visible': isOpen,
|
|
108
108
|
'iui-dialog-draggable': isDraggable,
|
|
109
109
|
}, className), role: 'dialog', ref: useMergedRefs(dialogRef, ref), onKeyDown: handleKeyDown, tabIndex: -1, "data-iui-placement": placement, style: {
|
|
110
110
|
transform,
|
|
@@ -119,8 +119,9 @@ export const DialogMain = React.forwardRef((props, ref) => {
|
|
|
119
119
|
}, onResizeEnd: setResizeStyle })),
|
|
120
120
|
children));
|
|
121
121
|
return (React.createElement(CSSTransition, { in: isOpen, classNames: {
|
|
122
|
-
enter: 'iui-dialog-animation-enter',
|
|
123
|
-
enterActive: 'iui-dialog-animation-enter-active',
|
|
122
|
+
enter: styles['iui-dialog-animation-enter'],
|
|
123
|
+
enterActive: styles['iui-dialog-animation-enter-active'],
|
|
124
|
+
enterDone: styles['iui-dialog-visible'],
|
|
124
125
|
}, timeout: { exit: 600 },
|
|
125
126
|
// Focuses dialog when opened
|
|
126
127
|
onEntered: () => {
|
package/esm/core/Table/Table.js
CHANGED
|
@@ -287,10 +287,19 @@ export const Table = (props) => {
|
|
|
287
287
|
instance.selectedFlatRows,
|
|
288
288
|
selectionMode,
|
|
289
289
|
]);
|
|
290
|
+
const headerRef = React.useRef(null);
|
|
291
|
+
const bodyRef = React.useRef(null);
|
|
290
292
|
const { scrollToIndex, tableRowRef } = useScrollToRow({ ...props, page });
|
|
291
293
|
const columnRefs = React.useRef({});
|
|
292
294
|
const previousTableWidth = React.useRef(0);
|
|
293
295
|
const onTableResize = React.useCallback(({ width }) => {
|
|
296
|
+
// Handle header properties, regardless of whether the table is resizable
|
|
297
|
+
setHeaderScrollWidth(headerRef.current?.scrollWidth ?? 0);
|
|
298
|
+
setHeaderClientWidth(headerRef.current?.clientWidth ?? 0);
|
|
299
|
+
// Handle table properties, but only when table is resizable
|
|
300
|
+
if (!isResizable) {
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
294
303
|
instance.tableWidth = width;
|
|
295
304
|
if (width === previousTableWidth.current) {
|
|
296
305
|
return;
|
|
@@ -308,8 +317,16 @@ export const Table = (props) => {
|
|
|
308
317
|
return;
|
|
309
318
|
}
|
|
310
319
|
dispatch({ type: tableResizeStartAction });
|
|
311
|
-
}, [
|
|
320
|
+
}, [
|
|
321
|
+
dispatch,
|
|
322
|
+
state.columnResizing.columnWidths,
|
|
323
|
+
flatHeaders,
|
|
324
|
+
instance,
|
|
325
|
+
isResizable,
|
|
326
|
+
]);
|
|
312
327
|
const [resizeRef] = useResizeObserver(onTableResize);
|
|
328
|
+
const [headerScrollWidth, setHeaderScrollWidth] = React.useState(0);
|
|
329
|
+
const [headerClientWidth, setHeaderClientWidth] = React.useState(0);
|
|
313
330
|
// Flexbox handles columns resize so we take new column widths before browser repaints.
|
|
314
331
|
useIsomorphicLayoutEffect(() => {
|
|
315
332
|
if (state.isTableResizing) {
|
|
@@ -323,8 +340,6 @@ export const Table = (props) => {
|
|
|
323
340
|
dispatch({ type: tableResizeEndAction, columnWidths: newColumnWidths });
|
|
324
341
|
}
|
|
325
342
|
});
|
|
326
|
-
const headerRef = React.useRef(null);
|
|
327
|
-
const bodyRef = React.useRef(null);
|
|
328
343
|
const getPreparedRow = React.useCallback((index) => {
|
|
329
344
|
const row = page[index];
|
|
330
345
|
prepareRow(row);
|
|
@@ -374,9 +389,7 @@ export const Table = (props) => {
|
|
|
374
389
|
return (React.createElement(React.Fragment, null,
|
|
375
390
|
React.createElement(Box, { ref: (element) => {
|
|
376
391
|
ownerDocument.current = element?.ownerDocument;
|
|
377
|
-
|
|
378
|
-
resizeRef(element);
|
|
379
|
-
}
|
|
392
|
+
resizeRef(element);
|
|
380
393
|
}, id: id, ...getTableProps({
|
|
381
394
|
className: cx('iui-table', className),
|
|
382
395
|
style: {
|
|
@@ -468,12 +481,12 @@ export const Table = (props) => {
|
|
|
468
481
|
}, tabIndex: -1, "aria-multiselectable": (isSelectable && selectionMode === 'multi') || undefined },
|
|
469
482
|
React.createElement(ShadowTemplate, null,
|
|
470
483
|
React.createElement("slot", null),
|
|
471
|
-
React.createElement("div", { "aria-hidden": true, style: {
|
|
484
|
+
rows.length === 0 && headerScrollWidth > headerClientWidth && (React.createElement("div", { "aria-hidden": true, style: {
|
|
472
485
|
// This ensures that the table-body is always the same width as the table-header,
|
|
473
486
|
// even if the table has no rows. See https://github.com/iTwin/iTwinUI/pull/1725
|
|
474
|
-
width:
|
|
487
|
+
width: headerScrollWidth,
|
|
475
488
|
height: 0.1,
|
|
476
|
-
} })),
|
|
489
|
+
} }))),
|
|
477
490
|
data.length !== 0 && (React.createElement(React.Fragment, null, enableVirtualization ? (React.createElement(VirtualScroll, { itemsLength: page.length, itemRenderer: virtualizedItemRenderer, scrollToIndex: scrollToIndex })) : (page.map((_, index) => getPreparedRow(index))))),
|
|
478
491
|
isLoading && data.length === 0 && (React.createElement(Box, { as: 'div', ...emptyTableContentProps, className: cx('iui-table-empty', emptyTableContentProps?.className) },
|
|
479
492
|
React.createElement(ProgressRadial, { indeterminate: true }))),
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import * as ReactDOM from 'react-dom';
|
|
7
7
|
import cx from 'classnames';
|
|
8
|
-
import { useMediaQuery, useMergedRefs, Box, useIsomorphicLayoutEffect, useControlledState, useLatestRef, importCss,
|
|
8
|
+
import { useMediaQuery, useMergedRefs, Box, useIsomorphicLayoutEffect, useControlledState, useLatestRef, importCss, isUnitTest, } from '../utils/index.js';
|
|
9
9
|
import { ThemeContext } from './ThemeContext.js';
|
|
10
10
|
import { ToastProvider, Toaster } from '../Toast/Toaster.js';
|
|
11
11
|
/**
|
|
@@ -131,8 +131,8 @@ const FallbackStyles = ({ root }) => {
|
|
|
131
131
|
if (getComputedStyle(root).getPropertyValue('--_iui-v3-loaded') === 'yes') {
|
|
132
132
|
return;
|
|
133
133
|
}
|
|
134
|
-
// bail if
|
|
135
|
-
if (
|
|
134
|
+
// bail if isUnitTest because unit tests don't care about CSS 🤷
|
|
135
|
+
if (isUnitTest) {
|
|
136
136
|
return;
|
|
137
137
|
}
|
|
138
138
|
(async () => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare const
|
|
1
|
+
declare const isUnitTest: boolean;
|
|
2
2
|
declare let isDev: boolean;
|
|
3
3
|
/**
|
|
4
4
|
* Logs message one time only in dev environments.
|
|
@@ -8,4 +8,4 @@ declare let isDev: boolean;
|
|
|
8
8
|
* logWarningInDev("please don't use this")
|
|
9
9
|
*/
|
|
10
10
|
declare const createWarningLogger: () => (message: string) => void;
|
|
11
|
-
export {
|
|
11
|
+
export { isUnitTest, isDev, createWarningLogger };
|
|
@@ -2,11 +2,17 @@
|
|
|
2
2
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
3
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
4
|
*--------------------------------------------------------------------------------------------*/
|
|
5
|
-
|
|
5
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
6
|
+
const isJest = typeof globalThis.jest !== 'undefined';
|
|
7
|
+
const isMocha = typeof globalThis.beforeEach !== 'undefined' &&
|
|
8
|
+
`${globalThis.beforeEach}`.replace(/\s/g, '') ===
|
|
9
|
+
'function(name,fn){suites[0].beforeEach(name,fn);}';
|
|
10
|
+
const isVitest = typeof globalThis.__vitest_index__ !== 'undefined';
|
|
11
|
+
const isUnitTest = isJest || isVitest || isMocha;
|
|
6
12
|
let isDev = false;
|
|
7
13
|
// wrapping in try-catch because process might be undefined
|
|
8
14
|
try {
|
|
9
|
-
isDev = process.env.NODE_ENV !== 'production' && !
|
|
15
|
+
isDev = process.env.NODE_ENV !== 'production' && !isUnitTest;
|
|
10
16
|
}
|
|
11
17
|
catch { }
|
|
12
18
|
/**
|
|
@@ -27,4 +33,4 @@ const createWarningLogger = !isDev
|
|
|
27
33
|
}
|
|
28
34
|
};
|
|
29
35
|
};
|
|
30
|
-
export {
|
|
36
|
+
export { isUnitTest, isDev, createWarningLogger };
|
|
@@ -24,7 +24,18 @@ export const useResizeObserver = (onResize) => {
|
|
|
24
24
|
}
|
|
25
25
|
resizeObserver.current?.disconnect?.();
|
|
26
26
|
if (element) {
|
|
27
|
-
resizeObserver.current = new ResizeObserver((
|
|
27
|
+
resizeObserver.current = new ResizeObserver((entries) => {
|
|
28
|
+
// We wrap onResize with requestAnimationFrame to avoid this error - ResizeObserver loop limit exceeded
|
|
29
|
+
// See: https://github.com/iTwin/iTwinUI/issues/1317
|
|
30
|
+
// See: https://stackoverflow.com/a/58701523/11547064
|
|
31
|
+
window.requestAnimationFrame(() => {
|
|
32
|
+
if (!Array.isArray(entries) || !entries.length) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const [{ contentRect }] = entries;
|
|
36
|
+
return onResize(contentRect);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
28
39
|
resizeObserver.current?.observe?.(element);
|
|
29
40
|
}
|
|
30
41
|
}, [onResize]);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@itwin/itwinui-react",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.4",
|
|
4
4
|
"author": "Bentley Systems",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"clean:coverage": "rimraf coverage",
|
|
65
65
|
"clean": "rimraf .turbo && yarn clean:coverage && yarn clean:build && rimraf node_modules",
|
|
66
66
|
"test": "yarn test:types && yarn test:unit",
|
|
67
|
-
"test:unit": "
|
|
67
|
+
"test:unit": "vitest run",
|
|
68
68
|
"test:unit:watch": "yarn test:unit --watch",
|
|
69
69
|
"test:types": "tsc -p tsconfig.test.json --noEmit",
|
|
70
70
|
"format": "prettier --config .prettierrc **/*.{tsx,ts,js} --ignore-path .gitignore --write",
|
|
@@ -77,42 +77,38 @@
|
|
|
77
77
|
"dev:styles": "yarn build:styles --watch"
|
|
78
78
|
},
|
|
79
79
|
"dependencies": {
|
|
80
|
-
"@itwin/itwinui-illustrations-react": "^2.1.0",
|
|
81
80
|
"@floating-ui/react": "^0.26.3",
|
|
81
|
+
"@itwin/itwinui-illustrations-react": "^2.1.0",
|
|
82
82
|
"classnames": "^2.3.2",
|
|
83
|
+
"jsdom": "^24.0.0",
|
|
83
84
|
"react-table": "^7.8.0",
|
|
84
85
|
"react-transition-group": "^4.4.5",
|
|
85
86
|
"tslib": "^2.6.0"
|
|
86
87
|
},
|
|
87
88
|
"devDependencies": {
|
|
88
|
-
"@itwin/itwinui-css": "^2.2.
|
|
89
|
+
"@itwin/itwinui-css": "^2.2.2",
|
|
89
90
|
"@itwin/itwinui-variables": "3.0.0",
|
|
90
91
|
"@swc/cli": "^0.1.62",
|
|
91
92
|
"@swc/core": "^1.3.68",
|
|
92
|
-
"@testing-library/jest-dom": "^
|
|
93
|
+
"@testing-library/jest-dom": "^6.3.0",
|
|
93
94
|
"@testing-library/react": "^13.2.0",
|
|
94
95
|
"@testing-library/user-event": "^14.5.1",
|
|
95
|
-
"@types/jest": "^29.0.0",
|
|
96
96
|
"@types/node": "^18.0.0",
|
|
97
97
|
"@types/react": "^18.2.0",
|
|
98
98
|
"@types/react-dom": "^18.2.0",
|
|
99
99
|
"@types/react-transition-group": "^4.4.10",
|
|
100
100
|
"@typescript-eslint/eslint-plugin": "^5.60.0",
|
|
101
101
|
"@typescript-eslint/parser": "^5.60.0",
|
|
102
|
+
"@vitest/coverage-v8": "^1.2.1",
|
|
102
103
|
"concurrently": "^5.3.0",
|
|
103
104
|
"eslint": "^8.43.0",
|
|
104
105
|
"eslint-config-prettier": "^8.8.0",
|
|
105
106
|
"eslint-plugin-require-extensions": "^0.1.3",
|
|
106
|
-
"jest": "^29.0.0",
|
|
107
|
-
"jest-cli": "^29.0.0",
|
|
108
|
-
"jest-environment-jsdom": "^29.0.0",
|
|
109
|
-
"jest-junit": "^13.2.0",
|
|
110
107
|
"react": "^18.0.0",
|
|
111
108
|
"react-dom": "^18.0.0",
|
|
112
|
-
"ts-jest": "^29.0.0",
|
|
113
|
-
"ts-node": "^10.0.0",
|
|
114
109
|
"typescript": "~5.1.6",
|
|
115
|
-
"vite": "^5.0.12"
|
|
110
|
+
"vite": "^5.0.12",
|
|
111
|
+
"vitest": "^1.2.1"
|
|
116
112
|
},
|
|
117
113
|
"peerDependencies": {
|
|
118
114
|
"react": ">= 17.0.0 < 19.0.0",
|
package/styles.css
CHANGED
|
@@ -699,14 +699,14 @@
|
|
|
699
699
|
}
|
|
700
700
|
|
|
701
701
|
@layer itwinui.v3{
|
|
702
|
-
._iui3-progress-indicator-radial :is(svg,img){inline-size:var(--iui-size-m);block-size:var(--iui-size-m);fill:var(--iui-color-icon);flex-shrink:0;display:flex}._iui3-progress-indicator-radial[data-iui-status=positive]{color:var(--iui-color-text-positive)}._iui3-progress-indicator-radial[data-iui-status=positive]:after{background-color:var(--iui-color-border-positive)}._iui3-progress-indicator-radial[data-iui-status=positive] :is(svg,img){fill:var(--iui-color-icon-positive)}._iui3-progress-indicator-radial[data-iui-status=negative]{color:var(--iui-color-text-negative)}._iui3-progress-indicator-radial[data-iui-status=negative]:after{background-color:var(--iui-color-border-negative)}._iui3-progress-indicator-radial[data-iui-status=negative] :is(svg,img){fill:var(--iui-color-icon-negative)}._iui3-progress-indicator-radial[data-iui-size=x-small]{--_iui-progress-indicator-radial-size:var(--iui-size-m)}._iui3-progress-indicator-radial[data-iui-size=x-small]:before,._iui3-progress-indicator-radial[data-iui-size=x-small]:after{border-width:var(--iui-size-3xs)}._iui3-progress-indicator-radial[data-iui-size=x-small]>*{display:none}._iui3-progress-indicator-radial[data-iui-size=small]{--_iui-progress-indicator-radial-size:calc(1.5*var(--iui-size-m))}._iui3-progress-indicator-radial[data-iui-size=small]:before,._iui3-progress-indicator-radial[data-iui-size=small]:after{border-width:calc(var(--iui-size-3xs)*1.5)}._iui3-progress-indicator-radial[data-iui-size=large]{--_iui-progress-indicator-radial-size:calc(3*var(--iui-size-m));font-size:var(--iui-font-size-2)}._iui3-progress-indicator-radial[data-iui-size=large]:before,._iui3-progress-indicator-radial[data-iui-size=large]:after{border-width:calc(var(--iui-size-2xs)*1.5)}._iui3-progress-indicator-radial[data-iui-size=large] :is(svg,img){inline-size:calc(1.5*var(--iui-size-m));block-size:calc(1.5*var(--iui-size-m));flex-shrink:0;display:flex}._iui3-progress-indicator-radial:where(:not([data-iui-indeterminate=true])):after{-webkit-mask-image:conic-gradient(#000 var(--iui-progress-percentage,100%),#0000 var(--iui-progress-percentage,100%)),linear-gradient(#000 0 0);mask-image:conic-gradient(#000 var(--iui-progress-percentage,100%),#0000 var(--iui-progress-percentage,100%)),linear-gradient(#000 0 0)}._iui3-progress-indicator-radial:where([data-iui-indeterminate=true]):after{animation:.8s cubic-bezier(.6,.4,.4,.6) infinite _iui3-
|
|
702
|
+
._iui3-progress-indicator-radial :is(svg,img){inline-size:var(--iui-size-m);block-size:var(--iui-size-m);fill:var(--iui-color-icon);flex-shrink:0;display:flex}._iui3-progress-indicator-radial[data-iui-status=positive]{color:var(--iui-color-text-positive)}._iui3-progress-indicator-radial[data-iui-status=positive]:after{background-color:var(--iui-color-border-positive)}._iui3-progress-indicator-radial[data-iui-status=positive] :is(svg,img){fill:var(--iui-color-icon-positive)}._iui3-progress-indicator-radial[data-iui-status=negative]{color:var(--iui-color-text-negative)}._iui3-progress-indicator-radial[data-iui-status=negative]:after{background-color:var(--iui-color-border-negative)}._iui3-progress-indicator-radial[data-iui-status=negative] :is(svg,img){fill:var(--iui-color-icon-negative)}._iui3-progress-indicator-radial[data-iui-size=x-small]{--_iui-progress-indicator-radial-size:var(--iui-size-m)}._iui3-progress-indicator-radial[data-iui-size=x-small]:before,._iui3-progress-indicator-radial[data-iui-size=x-small]:after{border-width:var(--iui-size-3xs)}._iui3-progress-indicator-radial[data-iui-size=x-small]>*{display:none}._iui3-progress-indicator-radial[data-iui-size=small]{--_iui-progress-indicator-radial-size:calc(1.5*var(--iui-size-m))}._iui3-progress-indicator-radial[data-iui-size=small]:before,._iui3-progress-indicator-radial[data-iui-size=small]:after{border-width:calc(var(--iui-size-3xs)*1.5)}._iui3-progress-indicator-radial[data-iui-size=large]{--_iui-progress-indicator-radial-size:calc(3*var(--iui-size-m));font-size:var(--iui-font-size-2)}._iui3-progress-indicator-radial[data-iui-size=large]:before,._iui3-progress-indicator-radial[data-iui-size=large]:after{border-width:calc(var(--iui-size-2xs)*1.5)}._iui3-progress-indicator-radial[data-iui-size=large] :is(svg,img){inline-size:calc(1.5*var(--iui-size-m));block-size:calc(1.5*var(--iui-size-m));flex-shrink:0;display:flex}._iui3-progress-indicator-radial:where(:not([data-iui-indeterminate=true])):after{-webkit-mask-image:conic-gradient(#000 var(--iui-progress-percentage,100%),#0000 var(--iui-progress-percentage,100%)),linear-gradient(#000 0 0);mask-image:conic-gradient(#000 var(--iui-progress-percentage,100%),#0000 var(--iui-progress-percentage,100%)),linear-gradient(#000 0 0)}._iui3-progress-indicator-radial:where([data-iui-indeterminate=true]):after{animation:.8s cubic-bezier(.6,.4,.4,.6) infinite _iui3-uf33jja;-webkit-mask-image:conic-gradient(#0000,#000),linear-gradient(#000 0 0);mask-image:conic-gradient(#0000,#000),linear-gradient(#000 0 0)}@keyframes _iui3-uf33jja{to{transform:rotate(360deg)}}._iui3-progress-indicator-linear-label{font-size:var(--iui-font-size-0);color:var(--_iui-progress-indicator-linear-label-color);--iui-svg-fill:var(--_iui-progress-indicator-linear-label-fill);justify-content:space-between;align-items:center;display:flex}._iui3-progress-indicator-linear-label>:only-child{margin-inline:auto}._iui3-progress-indicator-linear{gap:var(--iui-size-2xs);display:grid}._iui3-progress-indicator-linear:before{content:"";block-size:var(--iui-size-2xs);background-color:var(--iui-color-border);background-image:linear-gradient(90deg,var(--_iui-progress-indicator-track-fill,var(--iui-color-border-accent))0% 100%);background-repeat:no-repeat;background-size:var(--iui-progress-percentage,100%)100%;forced-color-adjust:none}
|
|
703
703
|
}
|
|
704
704
|
|
|
705
705
|
@layer itwinui.v3{@media (forced-colors:active){._iui3-progress-indicator-linear:before{background-color:#0000;background-image:linear-gradient(90deg,CanvasText 0% 100%);border:.5px solid}}
|
|
706
706
|
}
|
|
707
707
|
|
|
708
708
|
@layer itwinui.v3{
|
|
709
|
-
._iui3-progress-indicator-linear[data-iui-status=positive]{--_iui-progress-indicator-track-fill:var(--iui-color-border-positive);--_iui-progress-indicator-linear-label-color:var(--iui-color-text-positive);--_iui-progress-indicator-linear-label-fill:var(--iui-color-icon-positive)}._iui3-progress-indicator-linear[data-iui-status=positive]::selection,._iui3-progress-indicator-linear[data-iui-status=positive] ::selection{background-color:hsl(var(--iui-color-positive-hsl)/var(--iui-opacity-5))}._iui3-progress-indicator-linear[data-iui-status=negative]{--_iui-progress-indicator-track-fill:var(--iui-color-border-negative);--_iui-progress-indicator-linear-label-color:var(--iui-color-text-negative);--_iui-progress-indicator-linear-label-fill:var(--iui-color-icon-negative)}._iui3-progress-indicator-linear[data-iui-status=negative]::selection,._iui3-progress-indicator-linear[data-iui-status=negative] ::selection{background-color:hsl(var(--iui-color-negative-hsl)/var(--iui-opacity-5))}._iui3-progress-indicator-linear:where([data-iui-animated=true]:not([data-iui-indeterminate=true])):before{transition:background-size 1s ease-in-out}._iui3-progress-indicator-linear:where([data-iui-indeterminate=true]):before{animation:1.5s linear infinite _iui3-
|
|
709
|
+
._iui3-progress-indicator-linear[data-iui-status=positive]{--_iui-progress-indicator-track-fill:var(--iui-color-border-positive);--_iui-progress-indicator-linear-label-color:var(--iui-color-text-positive);--_iui-progress-indicator-linear-label-fill:var(--iui-color-icon-positive)}._iui3-progress-indicator-linear[data-iui-status=positive]::selection,._iui3-progress-indicator-linear[data-iui-status=positive] ::selection{background-color:hsl(var(--iui-color-positive-hsl)/var(--iui-opacity-5))}._iui3-progress-indicator-linear[data-iui-status=negative]{--_iui-progress-indicator-track-fill:var(--iui-color-border-negative);--_iui-progress-indicator-linear-label-color:var(--iui-color-text-negative);--_iui-progress-indicator-linear-label-fill:var(--iui-color-icon-negative)}._iui3-progress-indicator-linear[data-iui-status=negative]::selection,._iui3-progress-indicator-linear[data-iui-status=negative] ::selection{background-color:hsl(var(--iui-color-negative-hsl)/var(--iui-opacity-5))}._iui3-progress-indicator-linear:where([data-iui-animated=true]:not([data-iui-indeterminate=true])):before{transition:background-size 1s ease-in-out}._iui3-progress-indicator-linear:where([data-iui-indeterminate=true]):before{animation:1.5s linear infinite _iui3-uf33jjz}@keyframes _iui3-uf33jjz{0%{background-position:-60% 0;background-size:30% 100%}40%{background-position:-40% 0;background-size:40% 100%}to{background-position:200% 0;background-size:50% 100%}}._iui3-radio-wrapper{vertical-align:baseline;font-size:var(--iui-font-size-1);-webkit-user-select:none;user-select:none;cursor:pointer;color:var(--iui-color-text);align-items:center;gap:var(--iui-size-xs);border:none;inline-size:-moz-fit-content;inline-size:fit-content;margin:0;padding:0;display:flex;position:relative}._iui3-radio-wrapper._iui3-loading{cursor:progress;color:var(--iui-color-text-disabled);font-style:italic}._iui3-radio-wrapper>._iui3-checkbox-label,._iui3-radio-wrapper>._iui3-radio-label{line-height:var(--iui-size-l)}._iui3-radio-wrapper>._iui3-checkbox-label svg,._iui3-radio-wrapper>._iui3-radio-label svg{inline-size:var(--iui-size-m);block-size:var(--iui-size-m);vertical-align:middle;fill:var(--iui-color-icon);flex-shrink:0;display:flex}._iui3-radio-wrapper._iui3-disabled{cursor:not-allowed;color:var(--iui-color-text-disabled)}._iui3-radio-wrapper._iui3-disabled svg{fill:var(--iui-color-icon-disabled)}._iui3-radio-wrapper._iui3-positive{color:var(--iui-color-text-positive)}._iui3-radio-wrapper._iui3-warning{color:var(--iui-color-text-warning)}._iui3-radio-wrapper._iui3-negative{color:var(--iui-color-text-negative)}._iui3-radio{--_iui-checkbox-checkmark-svg:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><path d=\"m6.5 12.5-4.5-4.5 1.5-1.5 3 3 6-6 1.5 1.5z\" /></svg>");--_iui-checkbox-indeterminate-svg:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><path d=\"m2.75 6.875h10.5v2.25h-10.5z\" /></svg>");--_iui-checkbox-unchecked-svg:url("data:image/svg+xml;utf8,<svg viewBox=\"0 0 16 16\"></svg>");--_iui-checkbox-svg-color:var(--iui-color-icon-accent);--_iui-checkbox-border-color:var(--iui-color-border-foreground);--_iui-checkbox-background-color:var(--iui-color-background);--_iui-checkbox-mask-image:initial;inline-size:var(--iui-size-m);block-size:var(--iui-size-m);appearance:none;border-radius:var(--iui-border-radius-1);background-color:var(--_iui-checkbox-background-color);cursor:pointer;transition:outline-color var(--iui-duration-1)ease-out;outline:solid 1px var(--_iui-checkbox-border-color);outline-offset:-1px;border-radius:50%;flex-shrink:0;margin:0;display:flex;position:relative}._iui3-radio:before{content:"";inset:calc((var(--iui-checkbox-target-size,24px) - 16px)/-2);position:absolute}._iui3-radio:after{content:"";background-color:var(--_iui-checkbox-svg-color);-webkit-mask:var(--_iui-checkbox-mask-image)no-repeat center;mask:var(--_iui-checkbox-mask-image)no-repeat center;position:absolute;inset:0}._iui3-radio:not(:checked){--_iui-checkbox-mask-image:var(--_iui-checkbox-unchecked-svg)}._iui3-radio:indeterminate{--_iui-checkbox-mask-image:var(--_iui-checkbox-indeterminate-svg)}._iui3-radio:hover{--_iui-checkbox-border-color:var(--iui-color-border-foreground-hover)}._iui3-radio:focus-visible{outline:2px solid var(--iui-color-border-accent);outline-offset:-1px}@supports not selector(*:focus-visible){._iui3-radio:focus{outline:2px solid var(--iui-color-border-accent);outline-offset:-1px}}._iui3-radio:disabled{--_iui-checkbox-svg-color:var(--iui-color-icon-disabled);--_iui-checkbox-border-color:var(--iui-color-border-disabled);--_iui-checkbox-background-color:var(--iui-color-background-disabled);cursor:not-allowed}._iui3-radio._iui3-checkbox-visibility{--_iui-checkbox-checkmark-svg:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><path d=\"m8 2.99051a8.81883 8.81883 0 0 0 -8 4.95062 8.74664 8.74664 0 0 0 8 5.06836 8.63266 8.63266 0 0 0 8-5.06836 8.83631 8.83631 0 0 0 -8-4.95062zm-1.31445 1.86981a1.47663 1.47663 0 1 1 -1.47663 1.47668 1.47665 1.47665 0 0 1 1.47663-1.47668zm1.31445 6.64917a7.17486 7.17486 0 0 1 -6.30475-3.55237 7.4952 7.4952 0 0 1 2.81475-2.6336 3.83956 3.83956 0 1 0 6.98126.00244 7.522 7.522 0 0 1 2.81774 2.63916 7.09785 7.09785 0 0 1 -6.309 3.54437z\" /></svg>");--_iui-checkbox-indeterminate-svg:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><path d=\"m8 3v7.9a4.01179 4.01179 0 0 0 4-4 6.7509 6.7509 0 0 0 -.2-1.4l.1.1a6.89429 6.89429 0 0 1 2.4 2.4 8.39088 8.39088 0 0 1 -2.3 2.3 6.89412 6.89412 0 0 1 -3.9 1.2c-.03345 0-.06653-.00677-.1-.0072v1.5072a8.90686 8.90686 0 0 0 8-5 8.90686 8.90686 0 0 0 -8-5z\" opacity=\".33\" /><path d=\"m8 0a1 1 0 0 0 -1 1v2.07135a8.91637 8.91637 0 0 0 -7 4.92865 8.91637 8.91637 0 0 0 7 4.92865v2.07135a1 1 0 0 0 2 0v-14a1 1 0 0 0 -1-1zm-1.5 4.9a1.55426 1.55426 0 0 1 .5.087v2.81451a1.40746 1.40746 0 0 1 -.5.09849 1.538 1.538 0 0 1 -1.5-1.5 1.53794 1.53794 0 0 1 1.5-1.5zm-2.3 5.4a6.97279 6.97279 0 0 1 -2.5-2.3 6.89429 6.89429 0 0 1 2.4-2.4c.1 0 .1-.1.2-.1a3.194 3.194 0 0 0 -.3 1.4 4.0047 4.0047 0 0 0 3 3.857v.65289a6.37491 6.37491 0 0 1 -2.8-1.10989z\" /></svg>");--_iui-checkbox-unchecked-svg:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><path d=\"m1.70671 12.879 11.17218-11.17219 1.4142 1.4142-11.17218 11.17218zm.99329-1.679 1.1-1.1a5.06317 5.06317 0 0 1 -2-2.1 7.48268 7.48268 0 0 1 6.2-3.5 4.86877 4.86877 0 0 1 1.2.1l1.3-1.3a10.07431 10.07431 0 0 0 -2.5-.3 8.84129 8.84129 0 0 0 -8 5 8.42455 8.42455 0 0 0 2.7 3.2zm10.7-6.4-1.1 1.1a7.08625 7.08625 0 0 1 2 2.1 7.50323 7.50323 0 0 1 -6.2 3.5 8.31665 8.31665 0 0 1 -1.3-.2l-1.3 1.3a8.909 8.909 0 0 0 6.4-.5 9.04344 9.04344 0 0 0 4.1-4.1 9.168 9.168 0 0 0 -2.6-3.2z\" /></svg>");--_iui-checkbox-border-color:transparent;--_iui-checkbox-background-color:transparent;outline-width:1px}._iui3-radio._iui3-checkbox-visibility:where(:not(:checked):not(:indeterminate)){--_iui-checkbox-svg-color:var(--iui-color-icon)}._iui3-radio._iui3-checkbox-visibility:where(:hover){--_iui-checkbox-border-color:transparent;--_iui-checkbox-background-color:var(--iui-color-background-transparent-hover)}._iui3-radio._iui3-checkbox-visibility:where(:disabled){--_iui-checkbox-svg-color:var(--iui-color-icon-disabled);--_iui-checkbox-background-color:var(--iui-color-background-disabled)}._iui3-radio._iui3-loading{--_iui-checkbox-border-color:transparent;--_iui-checkbox-background-color:transparent;opacity:0;cursor:wait;position:absolute}._iui3-radio:checked{--_iui-checkbox-mask-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" ><circle cx=\"8\" cy=\"8\" r=\"4\" /></svg>")}._iui3-radio:not(:checked),._iui3-radio:indeterminate{--_iui-checkbox-mask-image:var(--_iui-checkbox-unchecked-svg)}._iui3-radio-tile{-webkit-tap-highlight-color:hsl(var(--iui-color-accent-hsl)/var(--iui-opacity-6));inline-size:calc(var(--iui-size-xl)*5);padding:var(--iui-size-xs);z-index:1;outline:1px solid var(--iui-color-border);background-color:var(--iui-color-background);transition:outline-color var(--iui-duration-1)ease-out;align-content:center;justify-items:center;display:grid;position:relative}._iui3-radio-tile:where(:hover){z-index:2;outline-color:var(--iui-color-border-hover)}._iui3-radio-tile:where(:hover) ._iui3-radio-tile-icon svg{fill:var(--iui-color-icon-hover)}._iui3-radio-tile:where(:has(input:disabled),[data-iui-disabled=true]){outline-color:var(--iui-color-border-disabled);background-color:var(--iui-color-background-disabled)}._iui3-radio-tile-container{-webkit-user-select:none;user-select:none;isolation:isolate;flex-wrap:wrap;gap:1px;display:inline-flex;position:relative}._iui3-radio-tile-input{z-index:1;appearance:none;cursor:pointer;margin:0;position:absolute;inset:0}._iui3-radio-tile-input:checked{z-index:3;outline:2px solid var(--iui-color-border-accent);outline-offset:-2px}
|
|
710
710
|
}
|
|
711
711
|
|
|
712
712
|
@layer itwinui.v3{@media (forced-colors:active){._iui3-radio-tile-input:checked{outline-color:Highlight}}
|
|
@@ -842,7 +842,7 @@
|
|
|
842
842
|
}
|
|
843
843
|
|
|
844
844
|
@layer itwinui.v3{
|
|
845
|
-
._iui3-status-message{gap:var(--iui-size-2xs);font-size:var(--iui-font-size-0);color:var(--iui-color-text-muted);align-items:center;display:flex}._iui3-status-message[data-iui-status=positive]{color:var(--iui-color-text-positive);--_iui-svg-fill:var(--iui-color-icon-positive)}._iui3-status-message[data-iui-status=positive] a{color:var(--iui-color-text-positive);text-decoration:underline}._iui3-status-message[data-iui-status=positive] a:hover{color:var(--iui-color-text-positive-hover);text-decoration:none}._iui3-status-message[data-iui-status=warning]{color:var(--iui-color-text-warning);--_iui-svg-fill:var(--iui-color-icon-warning)}._iui3-status-message[data-iui-status=warning] a{color:var(--iui-color-text-warning);text-decoration:underline}._iui3-status-message[data-iui-status=warning] a:hover{color:var(--iui-color-text-warning-hover);text-decoration:none}._iui3-status-message[data-iui-status=negative]{color:var(--iui-color-text-negative);--_iui-svg-fill:var(--iui-color-icon-negative)}._iui3-status-message[data-iui-status=negative] a{color:var(--iui-color-text-negative);text-decoration:underline}._iui3-status-message[data-iui-status=negative] a:hover{color:var(--iui-color-text-negative-hover);text-decoration:none}._iui3-stepper{row-gap:calc(var(--iui-size-s)*.5);flex-direction:column;display:flex}._iui3-stepper>ol{vertical-align:baseline;border:none;justify-content:space-around;align-items:flex-start;inline-size:100%;margin:0;padding:0;display:flex}._iui3-stepper-step{--_iui-stepper-step-background-color:var(--iui-color-background);--_iui-stepper-step-border-color:var(--iui-color-border-positive);--_iui-stepper-step-number-color:var(--iui-color-text-positive);--_iui-stepper-step-text-color:var(--iui-color-text-positive);--_iui-stepper-step-track-before-color:var(--iui-color-border-positive);--_iui-stepper-step-track-after-color:var(--iui-color-border-positive);gap:var(--iui-size-3xs);vertical-align:baseline;font-size:var(--iui-font-size-0);font-weight:var(--iui-font-weight-normal);color:var(--_iui-stepper-step-text-color);border:none;flex-direction:column;flex:1;align-items:center;margin:0;padding:0;display:flex}._iui3-stepper-step._iui3-current{--_iui-stepper-step-background-color:var(--iui-color-background-positive);--_iui-stepper-step-border-color:var(--iui-color-background-positive);--_iui-stepper-step-number-color:var(--iui-color-white);--_iui-stepper-step-track-after-color:var(--iui-color-border);font-weight:var(--iui-font-weight-semibold)}._iui3-stepper-step._iui3-current~._iui3-stepper-step{--_iui-stepper-step-background-color:var(--iui-color-background);--_iui-stepper-step-border-color:var(--iui-color-border);--_iui-stepper-step-number-color:var(--iui-color-text-muted);--_iui-stepper-step-text-color:var(--iui-color-text-muted);--_iui-stepper-step-track-before-color:var(--iui-color-border)}._iui3-stepper-step._iui3-current~._iui3-stepper-step:not(:last-of-type){--_iui-stepper-step-track-after-color:var(--iui-color-border)}._iui3-stepper-step._iui3-clickable:focus{outline:0}._iui3-stepper-step:first-of-type{--_iui-stepper-step-track-before-color:transparent}._iui3-stepper-step:last-of-type{--_iui-stepper-step-track-after-color:transparent}._iui3-stepper-circle{border-radius:var(--iui-border-radius-round);inline-size:var(--iui-size-l);block-size:var(--iui-size-l);overflow-wrap:break-word;-webkit-user-select:none;user-select:none;border:1px solid var(--_iui-stepper-step-border-color);background-color:var(--_iui-stepper-step-background-color);color:var(--_iui-stepper-step-number-color);justify-content:center;align-items:center;display:flex}._iui3-clickable ._iui3-stepper-circle{cursor:pointer;transition:background-color var(--iui-duration-1)ease-out,border-color var(--iui-duration-1)ease-out,color var(--iui-duration-1)ease-out}._iui3-clickable ._iui3-stepper-circle:hover{--_iui-stepper-step-background-color:var(--iui-color-background-positive);--_iui-stepper-step-border-color:var(--iui-color-background-positive);--_iui-stepper-step-number-color:var(--iui-color-white)}._iui3-clickable:focus ._iui3-stepper-circle{outline:2px solid var(--iui-color-border-positive);outline-offset:-1px}._iui3-clickable:focus:not(:focus-visible) ._iui3-stepper-circle{outline:none}._iui3-stepper-track-content{align-items:center;inline-size:100%;display:flex}._iui3-stepper-track-content:before,._iui3-stepper-track-content:after{content:"";block-size:var(--iui-size-3xs);flex:1 2 auto}._iui3-stepper-track-content:before{background-color:var(--_iui-stepper-step-track-before-color)}._iui3-stepper-track-content:after{background-color:var(--_iui-stepper-step-track-after-color)}._iui3-stepper-step-name{text-align:center;-webkit-user-select:all;user-select:all;color:var(--_iui-stepper-step-text-color)}._iui3-stepper-steps-label{font-size:var(--iui-font-size-3);text-align:center;display:block}._iui3-stepper-steps-label-count{-webkit-user-select:none;user-select:none;color:var(--iui-color-text-muted);margin-inline-end:var(--iui-size-xs)}._iui3-surface{--iui-surface-border:1px solid var(--iui-color-border-subtle);--iui-surface-elevation:var(--iui-shadow-1);background-color:var(--iui-color-background);border:var(--iui-surface-border);border-radius:var(--iui-border-radius-1);box-shadow:var(--iui-surface-elevation);color:var(--iui-color-text)}._iui3-surface:where(:has(._iui3-surface-body),:has(._iui3-surface-header),[data-iui-layout=true]){flex-direction:column;display:flex}._iui3-popover-surface{--iui-surface-border:1px solid var(--iui-color-border);--iui-surface-elevation:var(--iui-shadow-2);background-color:var(--iui-color-background);border:var(--iui-surface-border);border-radius:var(--iui-border-radius-1);box-shadow:var(--iui-surface-elevation);color:var(--iui-color-text)}._iui3-surface-header{border-block-end:1px solid var(--iui-color-border-subtle);padding-inline:var(--iui-size-s);min-block-size:var(--iui-component-height);flex-shrink:0;align-items:center;display:flex;overflow:hidden}._iui3-surface-body{flex-grow:1;overflow:hidden auto}._iui3-surface-body[data-iui-padded=true]{scrollbar-gutter:stable both-edges;padding-inline:var(--iui-size-2xs);padding-block:var(--iui-size-s)}@supports not (scrollbar-gutter:stable){._iui3-surface-body[data-iui-padded=true]{padding-inline:var(--iui-size-s)}}._iui3-table{vertical-align:baseline;isolation:isolate;--_iui-table-header-size:calc(var(--iui-size-s)*5);--_iui-table-row-size:calc(var(--iui-size-s)*5 + 2px);border:none;flex-direction:column;margin:0;padding:0;display:flex}._iui3-table ._iui3-table-cell-end-icon,._iui3-table ._iui3-table-cell-start-icon{fill:var(--_iui-table-cell-icon-fill);flex-shrink:0;justify-content:center;align-items:center;display:flex}._iui3-table ._iui3-table-cell-end-icon svg,._iui3-table ._iui3-table-cell-start-icon svg{inline-size:var(--iui-size-m);block-size:var(--iui-size-m);flex-shrink:0;display:flex}._iui3-table ._iui3-table-cell-start-icon{margin-inline-end:var(--iui-size-xs)}._iui3-table ._iui3-table-cell-end-icon{inline-size:var(--iui-size-l);block-size:var(--iui-size-l);margin-inline-start:auto;margin-inline-end:var(--iui-size-s)}._iui3-table ._iui3-table-cell-end-icon :where(svg){fill:var(--_iui-table-cell-icon-fill)}._iui3-table[data-iui-size=condensed]{--_iui-table-header-size:calc(var(--iui-size-s)*4);--_iui-table-row-size:calc(var(--iui-size-s)*4 + 2px)}._iui3-table[data-iui-size=extra-condensed]{--_iui-table-header-size:calc(var(--iui-size-s)*3);--_iui-table-row-size:calc(var(--iui-size-s)*3 + 2px)}._iui3-table[data-iui-size=extra-condensed] ._iui3-table-header ._iui3-table-cell{padding-block:calc(var(--iui-size-s)*.25)}._iui3-table ._iui3-table-header,._iui3-table ._iui3-table-paginator{min-block-size:var(--_iui-table-header-size)}._iui3-table ._iui3-table-body ._iui3-table-cell{min-block-size:var(--_iui-table-row-size)}._iui3-table-header-wrapper{scrollbar-gutter:stable;background-color:var(--iui-color-background);border-start-start-radius:var(--iui-border-radius-1);border-start-end-radius:var(--iui-border-radius-1);flex-shrink:0;display:flex;overflow:hidden scroll}._iui3-table-header{-webkit-user-select:none;user-select:none;font-weight:var(--iui-font-weight-semibold);border-block-end:1px solid var(--iui-color-border);flex-shrink:0;min-inline-size:100%;display:flex}._iui3-table-header ._iui3-table-cell{background-color:var(--iui-color-background)}._iui3-table-header ._iui3-table-cell:not(._iui3-slot){column-gap:var(--iui-size-2xs);padding-block:calc(var(--iui-size-s)*.5)}._iui3-table-header ._iui3-table-cell:not(._iui3-slot):focus-visible{outline:1px solid var(--iui-color-border-accent);outline-offset:-1px}@supports not selector(*:focus-visible){._iui3-table-header ._iui3-table-cell:not(._iui3-slot):focus{outline:1px solid var(--iui-color-border-accent);outline-offset:-1px}}._iui3-table-header ._iui3-table-cell:not(._iui3-slot)._iui3-actionable{cursor:pointer}._iui3-table-header ._iui3-table-cell:not(._iui3-slot)._iui3-grabbing{cursor:grabbing}._iui3-table-header ._iui3-table-cell:not(._iui3-slot) ._iui3-table-filter-button:not([data-iui-active=true]){opacity:0}._iui3-table-header ._iui3-table-cell:not(._iui3-slot)>._iui3-table-resizer{inline-size:var(--iui-size-m);touch-action:none;cursor:ew-resize;z-index:1;opacity:0;block-size:100%;position:absolute;inset-block-start:0;inset-inline-end:0;transform:translate(50%)}._iui3-table-header ._iui3-table-cell:not(._iui3-slot)>._iui3-table-resizer>._iui3-table-resizer-bar{inline-size:var(--iui-size-3xs);transition:background-color var(--iui-duration-1)ease-out,width var(--iui-duration-1)ease-out;background-color:var(--iui-color-border);block-size:100%;margin-inline:auto}._iui3-table-header ._iui3-table-cell:not(._iui3-slot)>._iui3-table-resizer:hover>._iui3-table-resizer-bar{inline-size:var(--iui-size-2xs);background-color:var(--iui-color-border-accent)}._iui3-table-header ._iui3-table-cell:not(._iui3-slot):hover>._iui3-table-resizer{opacity:1}._iui3-table-header ._iui3-table-cell:not(._iui3-slot):is(:hover,:focus-visible,:has(:focus-visible)){background-color:var(--iui-color-background-hover)}._iui3-table-header ._iui3-table-cell:not(._iui3-slot):is(:hover,:focus-visible,:has(:focus-visible)) :is(._iui3-table-sort,._iui3-table-filter-button){opacity:1}@supports not selector(:has(+ *)){._iui3-table-header ._iui3-table-cell:not(._iui3-slot):focus-within{background-color:var(--iui-color-background-hover)}._iui3-table-header ._iui3-table-cell:not(._iui3-slot):focus-within :is(._iui3-table-sort,._iui3-table-filter-button){opacity:1}}._iui3-table-header ._iui3-table-reorder-bar{inline-size:var(--iui-size-3xs);block-size:100%;position:absolute}._iui3-table-header ._iui3-table-reorder-column-right>._iui3-table-reorder-bar{inset-inline-end:0}._iui3-table-header ._iui3-table-reorder-column-left>._iui3-table-reorder-bar{inset-inline-start:0}._iui3-table-header ._iui3-table-reorder-column-left>._iui3-table-reorder-bar,._iui3-table-header ._iui3-table-reorder-column-right>._iui3-table-reorder-bar{background-color:var(--iui-color-border-accent)}._iui3-table-header ._iui3-table-sort{opacity:0;--_iui-table-cell-icon-fill:var(--iui-color-icon-muted)}._iui3-table-header ._iui3-sorted{background-color:var(--iui-color-background-hover)}._iui3-table-header ._iui3-sorted ._iui3-table-sort{opacity:1;--_iui-table-cell-icon-fill:var(--iui-color-icon)}._iui3-table-row{--_iui-table-cell-icon-fill:var(--iui-color-icon-muted);min-inline-size:100%;display:flex}._iui3-table-row:last-of-type{border-radius:inherit}._iui3-table-row[data-iui-loading=true]{position:sticky;inset-inline-start:0}._iui3-table-row[data-iui-loading=true] ._iui3-table-cell{justify-content:center}._iui3-table-header ._iui3-table-row{flex-grow:1}._iui3-table-body ._iui3-table-row ._iui3-table-cell{border-block:1px solid #0000;border-block-end-color:var(--iui-color-border);background-color:var(--iui-color-background);transition:border var(--iui-duration-1)ease-out}._iui3-table-body ._iui3-table-row>._iui3-slot>._iui3-table-more-options{opacity:0}._iui3-table-body ._iui3-table-row:where(:hover,:focus-within)>._iui3-slot>._iui3-table-more-options{opacity:1}._iui3-table-body ._iui3-table-row:where(:hover:not(._iui3-loading):not([aria-disabled=true])) ._iui3-table-cell{background-color:var(--iui-color-background-hover)}
|
|
845
|
+
._iui3-status-message{gap:var(--iui-size-2xs);font-size:var(--iui-font-size-0);color:var(--iui-color-text-muted);align-items:center;display:flex}._iui3-status-message[data-iui-status=positive]{color:var(--iui-color-text-positive);--_iui-svg-fill:var(--iui-color-icon-positive)}._iui3-status-message[data-iui-status=positive] a{color:var(--iui-color-text-positive);text-decoration:underline}._iui3-status-message[data-iui-status=positive] a:hover{color:var(--iui-color-text-positive-hover);text-decoration:none}._iui3-status-message[data-iui-status=warning]{color:var(--iui-color-text-warning);--_iui-svg-fill:var(--iui-color-icon-warning)}._iui3-status-message[data-iui-status=warning] a{color:var(--iui-color-text-warning);text-decoration:underline}._iui3-status-message[data-iui-status=warning] a:hover{color:var(--iui-color-text-warning-hover);text-decoration:none}._iui3-status-message[data-iui-status=negative]{color:var(--iui-color-text-negative);--_iui-svg-fill:var(--iui-color-icon-negative)}._iui3-status-message[data-iui-status=negative] a{color:var(--iui-color-text-negative);text-decoration:underline}._iui3-status-message[data-iui-status=negative] a:hover{color:var(--iui-color-text-negative-hover);text-decoration:none}._iui3-stepper{row-gap:calc(var(--iui-size-s)*.5);flex-direction:column;display:flex}._iui3-stepper>ol{vertical-align:baseline;border:none;justify-content:space-around;align-items:flex-start;inline-size:100%;margin:0;padding:0;display:flex}._iui3-stepper-step{--_iui-stepper-step-background-color:var(--iui-color-background);--_iui-stepper-step-border-color:var(--iui-color-border-positive);--_iui-stepper-step-number-color:var(--iui-color-text-positive);--_iui-stepper-step-text-color:var(--iui-color-text-positive);--_iui-stepper-step-track-before-color:var(--iui-color-border-positive);--_iui-stepper-step-track-after-color:var(--iui-color-border-positive);gap:var(--iui-size-3xs);vertical-align:baseline;font-size:var(--iui-font-size-0);font-weight:var(--iui-font-weight-normal);color:var(--_iui-stepper-step-text-color);border:none;flex-direction:column;flex:1;align-items:center;margin:0;padding:0;display:flex}._iui3-stepper-step._iui3-current{--_iui-stepper-step-background-color:var(--iui-color-background-positive);--_iui-stepper-step-border-color:var(--iui-color-background-positive);--_iui-stepper-step-number-color:var(--iui-color-white);--_iui-stepper-step-track-after-color:var(--iui-color-border);font-weight:var(--iui-font-weight-semibold)}._iui3-stepper-step._iui3-current~._iui3-stepper-step{--_iui-stepper-step-background-color:var(--iui-color-background);--_iui-stepper-step-border-color:var(--iui-color-border);--_iui-stepper-step-number-color:var(--iui-color-text-muted);--_iui-stepper-step-text-color:var(--iui-color-text-muted);--_iui-stepper-step-track-before-color:var(--iui-color-border)}._iui3-stepper-step._iui3-current~._iui3-stepper-step:not(:last-of-type){--_iui-stepper-step-track-after-color:var(--iui-color-border)}._iui3-stepper-step._iui3-clickable:focus{outline:0}._iui3-stepper-step:first-of-type{--_iui-stepper-step-track-before-color:transparent}._iui3-stepper-step:last-of-type{--_iui-stepper-step-track-after-color:transparent}._iui3-stepper-circle{border-radius:var(--iui-border-radius-round);inline-size:var(--iui-size-l);block-size:var(--iui-size-l);overflow-wrap:break-word;-webkit-user-select:none;user-select:none;border:1px solid var(--_iui-stepper-step-border-color);background-color:var(--_iui-stepper-step-background-color);color:var(--_iui-stepper-step-number-color);justify-content:center;align-items:center;display:flex}._iui3-clickable ._iui3-stepper-circle{cursor:pointer;transition:background-color var(--iui-duration-1)ease-out,border-color var(--iui-duration-1)ease-out,color var(--iui-duration-1)ease-out}._iui3-clickable ._iui3-stepper-circle:hover{--_iui-stepper-step-background-color:var(--iui-color-background-positive);--_iui-stepper-step-border-color:var(--iui-color-background-positive);--_iui-stepper-step-number-color:var(--iui-color-white)}._iui3-clickable:focus ._iui3-stepper-circle{outline:2px solid var(--iui-color-border-positive);outline-offset:-1px}._iui3-clickable:focus:not(:focus-visible) ._iui3-stepper-circle{outline:none}._iui3-stepper-track-content{align-items:center;inline-size:100%;display:flex}._iui3-stepper-track-content:before,._iui3-stepper-track-content:after{content:"";block-size:var(--iui-size-3xs);flex:1 2 auto}._iui3-stepper-track-content:before{background-color:var(--_iui-stepper-step-track-before-color)}._iui3-stepper-track-content:after{background-color:var(--_iui-stepper-step-track-after-color)}._iui3-stepper-step-name{text-align:center;-webkit-user-select:all;user-select:all;color:var(--_iui-stepper-step-text-color)}._iui3-stepper-steps-label{font-size:var(--iui-font-size-3);text-align:center;display:block}._iui3-stepper-steps-label-count{-webkit-user-select:none;user-select:none;color:var(--iui-color-text-muted);margin-inline-end:var(--iui-size-xs)}._iui3-surface{--iui-surface-border:1px solid var(--iui-color-border-subtle);--iui-surface-elevation:var(--iui-shadow-1);background-color:var(--iui-color-background);border:var(--iui-surface-border);border-radius:var(--iui-border-radius-1);box-shadow:var(--iui-surface-elevation);color:var(--iui-color-text)}._iui3-surface:where(:has(._iui3-surface-body),:has(._iui3-surface-header),[data-iui-layout=true]){flex-direction:column;display:flex}._iui3-popover-surface{--iui-surface-border:1px solid var(--iui-color-border);--iui-surface-elevation:var(--iui-shadow-2);background-color:var(--iui-color-background);border:var(--iui-surface-border);border-radius:var(--iui-border-radius-1);box-shadow:var(--iui-surface-elevation);color:var(--iui-color-text)}._iui3-surface-header{border-block-end:1px solid var(--iui-color-border-subtle);padding-inline:var(--iui-size-s);min-block-size:var(--iui-component-height);flex-shrink:0;align-items:center;display:flex;overflow:hidden}._iui3-surface-body{flex-grow:1;overflow:hidden auto}._iui3-surface-body[data-iui-padded=true]{padding:var(--iui-size-s);scrollbar-gutter:stable;padding-inline-end:var(--iui-size-2xs)}._iui3-table{vertical-align:baseline;isolation:isolate;--_iui-table-header-size:calc(var(--iui-size-s)*5);--_iui-table-row-size:calc(var(--iui-size-s)*5 + 2px);border:none;flex-direction:column;margin:0;padding:0;display:flex}._iui3-table ._iui3-table-cell-end-icon,._iui3-table ._iui3-table-cell-start-icon{fill:var(--_iui-table-cell-icon-fill);flex-shrink:0;justify-content:center;align-items:center;display:flex}._iui3-table ._iui3-table-cell-end-icon svg,._iui3-table ._iui3-table-cell-start-icon svg{inline-size:var(--iui-size-m);block-size:var(--iui-size-m);flex-shrink:0;display:flex}._iui3-table ._iui3-table-cell-start-icon{margin-inline-end:var(--iui-size-xs)}._iui3-table ._iui3-table-cell-end-icon{inline-size:var(--iui-size-l);block-size:var(--iui-size-l);margin-inline-start:auto;margin-inline-end:var(--iui-size-s)}._iui3-table ._iui3-table-cell-end-icon :where(svg){fill:var(--_iui-table-cell-icon-fill)}._iui3-table[data-iui-size=condensed]{--_iui-table-header-size:calc(var(--iui-size-s)*4);--_iui-table-row-size:calc(var(--iui-size-s)*4 + 2px)}._iui3-table[data-iui-size=extra-condensed]{--_iui-table-header-size:calc(var(--iui-size-s)*3);--_iui-table-row-size:calc(var(--iui-size-s)*3 + 2px)}._iui3-table[data-iui-size=extra-condensed] ._iui3-table-header ._iui3-table-cell{padding-block:calc(var(--iui-size-s)*.25)}._iui3-table ._iui3-table-header,._iui3-table ._iui3-table-paginator{min-block-size:var(--_iui-table-header-size)}._iui3-table ._iui3-table-body ._iui3-table-cell{min-block-size:var(--_iui-table-row-size)}._iui3-table-header-wrapper{scrollbar-gutter:stable;scrollbar-color:transparent transparent;background-color:var(--iui-color-background);border-start-start-radius:var(--iui-border-radius-1);border-start-end-radius:var(--iui-border-radius-1);flex-shrink:0;display:flex;overflow:hidden scroll}._iui3-table-header{-webkit-user-select:none;user-select:none;font-weight:var(--iui-font-weight-semibold);border-block-end:1px solid var(--iui-color-border);flex-shrink:0;min-inline-size:100%;display:flex}._iui3-table-header ._iui3-table-cell{background-color:var(--iui-color-background)}._iui3-table-header ._iui3-table-cell:not(._iui3-slot){column-gap:var(--iui-size-2xs);padding-block:calc(var(--iui-size-s)*.5)}._iui3-table-header ._iui3-table-cell:not(._iui3-slot):focus-visible{outline:1px solid var(--iui-color-border-accent);outline-offset:-1px}@supports not selector(*:focus-visible){._iui3-table-header ._iui3-table-cell:not(._iui3-slot):focus{outline:1px solid var(--iui-color-border-accent);outline-offset:-1px}}._iui3-table-header ._iui3-table-cell:not(._iui3-slot)._iui3-actionable{cursor:pointer}._iui3-table-header ._iui3-table-cell:not(._iui3-slot)._iui3-grabbing{cursor:grabbing}._iui3-table-header ._iui3-table-cell:not(._iui3-slot) ._iui3-table-filter-button:not([data-iui-active=true]){opacity:0}._iui3-table-header ._iui3-table-cell:not(._iui3-slot)>._iui3-table-resizer{inline-size:var(--iui-size-m);touch-action:none;cursor:ew-resize;z-index:1;opacity:0;block-size:100%;position:absolute;inset-block-start:0;inset-inline-end:0;transform:translate(50%)}._iui3-table-header ._iui3-table-cell:not(._iui3-slot)>._iui3-table-resizer>._iui3-table-resizer-bar{inline-size:var(--iui-size-3xs);transition:background-color var(--iui-duration-1)ease-out,width var(--iui-duration-1)ease-out;background-color:var(--iui-color-border);block-size:100%;margin-inline:auto}._iui3-table-header ._iui3-table-cell:not(._iui3-slot)>._iui3-table-resizer:hover>._iui3-table-resizer-bar{inline-size:var(--iui-size-2xs);background-color:var(--iui-color-border-accent)}._iui3-table-header ._iui3-table-cell:not(._iui3-slot):hover>._iui3-table-resizer{opacity:1}._iui3-table-header ._iui3-table-cell:not(._iui3-slot):is(:hover,:focus-visible,:has(:focus-visible)){background-color:var(--iui-color-background-hover)}._iui3-table-header ._iui3-table-cell:not(._iui3-slot):is(:hover,:focus-visible,:has(:focus-visible)) :is(._iui3-table-sort,._iui3-table-filter-button){opacity:1}@supports not selector(:has(+ *)){._iui3-table-header ._iui3-table-cell:not(._iui3-slot):focus-within{background-color:var(--iui-color-background-hover)}._iui3-table-header ._iui3-table-cell:not(._iui3-slot):focus-within :is(._iui3-table-sort,._iui3-table-filter-button){opacity:1}}._iui3-table-header ._iui3-table-reorder-bar{inline-size:var(--iui-size-3xs);block-size:100%;position:absolute}._iui3-table-header ._iui3-table-reorder-column-right>._iui3-table-reorder-bar{inset-inline-end:0}._iui3-table-header ._iui3-table-reorder-column-left>._iui3-table-reorder-bar{inset-inline-start:0}._iui3-table-header ._iui3-table-reorder-column-left>._iui3-table-reorder-bar,._iui3-table-header ._iui3-table-reorder-column-right>._iui3-table-reorder-bar{background-color:var(--iui-color-border-accent)}._iui3-table-header ._iui3-table-sort{opacity:0;--_iui-table-cell-icon-fill:var(--iui-color-icon-muted)}._iui3-table-header ._iui3-sorted{background-color:var(--iui-color-background-hover)}._iui3-table-header ._iui3-sorted ._iui3-table-sort{opacity:1;--_iui-table-cell-icon-fill:var(--iui-color-icon)}._iui3-table-row{--_iui-table-cell-icon-fill:var(--iui-color-icon-muted);min-inline-size:100%;display:flex}._iui3-table-row:last-of-type{border-radius:inherit}._iui3-table-row[data-iui-loading=true]{position:sticky;inset-inline-start:0}._iui3-table-row[data-iui-loading=true] ._iui3-table-cell{justify-content:center}._iui3-table-header ._iui3-table-row{flex-grow:1}._iui3-table-body ._iui3-table-row ._iui3-table-cell{border-block:1px solid #0000;border-block-end-color:var(--iui-color-border);background-color:var(--iui-color-background);transition:border var(--iui-duration-1)ease-out}._iui3-table-body ._iui3-table-row>._iui3-slot>._iui3-table-more-options{opacity:0}._iui3-table-body ._iui3-table-row:where(:hover,:focus-within)>._iui3-slot>._iui3-table-more-options{opacity:1}._iui3-table-body ._iui3-table-row:where(:hover:not(._iui3-loading):not([aria-disabled=true])) ._iui3-table-cell{background-color:var(--iui-color-background-hover)}
|
|
846
846
|
}
|
|
847
847
|
|
|
848
848
|
@layer itwinui.v3{@media (prefers-reduced-motion:no-preference){._iui3-table-body ._iui3-table-row ._iui3-table-row-expander>._iui3-button-icon{transition:transform var(--iui-duration-1)ease-out}}
|