@itwin/itwinui-react 3.0.5 → 3.0.6

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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 3.0.6
4
+
5
+ ### Patch Changes
6
+
7
+ - [#1693](https://github.com/iTwin/iTwinUI/pull/1693): Fixed an issue where Dialog content was appearing blurred on Windows.
8
+
3
9
  ## 3.0.5
4
10
 
5
11
  ### Patch Changes
@@ -38,7 +38,7 @@ exports.DialogMain = React.forwardRef((props, ref) => {
38
38
  const { className, children, styleType = 'default', isOpen = dialogContext.isOpen, isDismissible = dialogContext.isDismissible, onClose = dialogContext.onClose, closeOnEsc = dialogContext.closeOnEsc, trapFocus = dialogContext.trapFocus, setFocus = dialogContext.setFocus, preventDocumentScroll = dialogContext.preventDocumentScroll, onKeyDown, isDraggable = dialogContext.isDraggable, isResizable = dialogContext.isResizable, style: propStyle, placement = dialogContext.placement, ...rest } = props;
39
39
  const [style, setStyle] = React.useState();
40
40
  const dialogRef = React.useRef(null);
41
- const refs = (0, index_js_1.useMergedRefs)(dialogRef, ref);
41
+ const [dialogElement, setDialogElement] = React.useState();
42
42
  const hasBeenResized = React.useRef(false);
43
43
  const previousFocusedElement = React.useRef();
44
44
  const originalBodyOverflow = React.useRef('');
@@ -90,7 +90,7 @@ exports.DialogMain = React.forwardRef((props, ref) => {
90
90
  return;
91
91
  }
92
92
  const rect = dialogRef.current?.getBoundingClientRect();
93
- const [translateX, translateY] = (0, index_js_1.getTranslateValues)(dialogRef.current);
93
+ const [translateX, translateY] = (0, index_js_1.getTranslateValuesFromElement)(dialogRef.current);
94
94
  setStyle((oldStyle) => ({
95
95
  ...oldStyle,
96
96
  inlineSize: rect?.width,
@@ -106,13 +106,17 @@ exports.DialogMain = React.forwardRef((props, ref) => {
106
106
  ...newStyle,
107
107
  }));
108
108
  }, []);
109
+ const roundedTransform = useRoundedTransform({
110
+ element: dialogElement,
111
+ transform,
112
+ });
109
113
  const content = (React.createElement(index_js_1.Box, { className: (0, classnames_1.default)('iui-dialog', {
110
114
  'iui-dialog-default': styleType === 'default',
111
115
  'iui-dialog-full-page': styleType === 'fullPage',
112
116
  'iui-dialog-visible': isOpen,
113
117
  'iui-dialog-draggable': isDraggable,
114
- }, className), role: 'dialog', ref: refs, onKeyDown: handleKeyDown, tabIndex: -1, "data-iui-placement": placement, style: {
115
- transform,
118
+ }, className), role: 'dialog', ref: (0, index_js_1.useMergedRefs)(dialogRef, ref, setDialogElement), onKeyDown: handleKeyDown, tabIndex: -1, "data-iui-placement": placement, style: {
119
+ transform: roundedTransform,
116
120
  ...style,
117
121
  ...propStyle,
118
122
  }, ...rest },
@@ -144,3 +148,20 @@ exports.DialogMain = React.forwardRef((props, ref) => {
144
148
  !trapFocus && content)));
145
149
  });
146
150
  exports.default = exports.DialogMain;
151
+ // ----------------------------------------------------------------------------
152
+ /**
153
+ * Rounds off an element's transform value based on the device's pixel grid, to avoid blurring.
154
+ */
155
+ const useRoundedTransform = ({ element, transform, }) => {
156
+ const [roundedStyles, setRoundedStyles] = React.useState(transform);
157
+ (0, index_js_1.useIsomorphicLayoutEffect)(() => {
158
+ if (!element || typeof DOMMatrix === 'undefined') {
159
+ return;
160
+ }
161
+ const [x, y] = transform
162
+ ? (0, index_js_1.getTranslateValues)(transform)
163
+ : (0, index_js_1.getTranslateValuesFromElement)(element);
164
+ setRoundedStyles(`translate(${(0, index_js_1.roundByDPR)(x)}px, ${(0, index_js_1.roundByDPR)(y)}px)`);
165
+ }, [element, transform]);
166
+ return roundedStyles;
167
+ };
@@ -29,7 +29,7 @@ const Resizer = (props) => {
29
29
  }
30
30
  const initialPointerX = event.clientX;
31
31
  const initialPointerY = event.clientY;
32
- const [initialTranslateX, initialTranslateY] = (0, index_js_1.getTranslateValues)(elementRef.current);
32
+ const [initialTranslateX, initialTranslateY] = (0, index_js_1.getTranslateValuesFromElement)(elementRef.current);
33
33
  const { width: initialWidth, height: initialHeight } = elementRef.current.getBoundingClientRect();
34
34
  let width = `${initialWidth}px`;
35
35
  let height = `${initialHeight}px`;
@@ -19,4 +19,5 @@ export declare const mergeEventHandlers: <E extends import("react").SyntheticEve
19
19
  * @param element HTML element you want to get translate value of
20
20
  * @returns Translate values in pixels in an array `[translateX, translateY]`
21
21
  */
22
- export declare const getTranslateValues: (element: HTMLElement | null | undefined) => number[];
22
+ export declare const getTranslateValuesFromElement: (element: HTMLElement | null | undefined) => number[];
23
+ export declare const getTranslateValues: (transformValue: string) => number[];
@@ -4,7 +4,7 @@
4
4
  * See LICENSE.md in the project root for license terms and full copyright notice.
5
5
  *--------------------------------------------------------------------------------------------*/
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.getTranslateValues = exports.mergeEventHandlers = exports.getWindow = exports.getDocument = void 0;
7
+ exports.getTranslateValues = exports.getTranslateValuesFromElement = exports.mergeEventHandlers = exports.getWindow = exports.getDocument = void 0;
8
8
  /**
9
9
  * Get document if it is defined.
10
10
  * Used to support SSR/SSG applications.
@@ -39,11 +39,15 @@ exports.mergeEventHandlers = mergeEventHandlers;
39
39
  * @param element HTML element you want to get translate value of
40
40
  * @returns Translate values in pixels in an array `[translateX, translateY]`
41
41
  */
42
- const getTranslateValues = (element) => {
42
+ const getTranslateValuesFromElement = (element) => {
43
43
  if (!element) {
44
44
  return [];
45
45
  }
46
46
  const transformValue = getComputedStyle(element).getPropertyValue('transform');
47
+ return (0, exports.getTranslateValues)(transformValue);
48
+ };
49
+ exports.getTranslateValuesFromElement = getTranslateValuesFromElement;
50
+ const getTranslateValues = (transformValue) => {
47
51
  const matrix = new DOMMatrix(transformValue);
48
52
  return [matrix.m41, matrix.m42];
49
53
  };
@@ -6,3 +6,10 @@ export declare const getBoundedValue: (val: number, min: number, max: number) =>
6
6
  * Returns a random value of a given length containing `A-Za-z0-9_-` symbols.
7
7
  */
8
8
  export declare const getRandomValue: (length?: number) => string;
9
+ /**
10
+ * Rounds a pixel value based on the device's pixel ratio. This ensures that values can be
11
+ * placed evenly on the device’s pixel grid, avoiding any blurring.
12
+ *
13
+ * @see https://floating-ui.com/docs/misc#subpixel-and-accelerated-positioning
14
+ */
15
+ export declare const roundByDPR: (value: number) => number;
@@ -4,7 +4,7 @@
4
4
  * See LICENSE.md in the project root for license terms and full copyright notice.
5
5
  *--------------------------------------------------------------------------------------------*/
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.getRandomValue = exports.getBoundedValue = void 0;
7
+ exports.roundByDPR = exports.getRandomValue = exports.getBoundedValue = void 0;
8
8
  /**
9
9
  * Return input value bounded by specified range.
10
10
  */
@@ -24,3 +24,14 @@ const getRandomValue = (length = 21) => {
24
24
  return id;
25
25
  };
26
26
  exports.getRandomValue = getRandomValue;
27
+ /**
28
+ * Rounds a pixel value based on the device's pixel ratio. This ensures that values can be
29
+ * placed evenly on the device’s pixel grid, avoiding any blurring.
30
+ *
31
+ * @see https://floating-ui.com/docs/misc#subpixel-and-accelerated-positioning
32
+ */
33
+ const roundByDPR = (value) => {
34
+ const dpr = window.devicePixelRatio || 1;
35
+ return Math.round(value * dpr) / dpr;
36
+ };
37
+ exports.roundByDPR = roundByDPR;
@@ -38,7 +38,7 @@ const useDragAndDrop = (elementRef, containerRef, enabled = true) => {
38
38
  return;
39
39
  }
40
40
  const { top, right, bottom, left } = elementRef.current?.getBoundingClientRect();
41
- let [newTranslateX, newTranslateY] = (0, index_js_1.getTranslateValues)(elementRef.current);
41
+ let [newTranslateX, newTranslateY] = (0, index_js_1.getTranslateValuesFromElement)(elementRef.current);
42
42
  containerRectRef.current = getContainerRect(containerRef);
43
43
  if (bottom > containerRectRef.current.bottom) {
44
44
  newTranslateY -= bottom - containerRectRef.current.bottom;
@@ -84,7 +84,7 @@ const useDragAndDrop = (elementRef, containerRef, enabled = true) => {
84
84
  if (!elementRef.current || e.button !== 0 || !enabled) {
85
85
  return;
86
86
  }
87
- const [x, y] = (0, index_js_1.getTranslateValues)(elementRef.current);
87
+ const [x, y] = (0, index_js_1.getTranslateValuesFromElement)(elementRef.current);
88
88
  grabOffsetX.current = e.clientX - x;
89
89
  grabOffsetY.current = e.clientY - y;
90
90
  originalUserSelect.current = elementRef.current.style.userSelect;
package/cjs/styles.js CHANGED
@@ -208,9 +208,9 @@ const styles = {
208
208
  "iui-overlay-exiting": "_iui3-overlay-exiting",
209
209
  closeAnimation,
210
210
  "iui-progress-indicator-radial": "_iui3-progress-indicator-radial",
211
- "iui-uioihru": "_iui3-uioihru",
211
+ "iui-uj58gze": "_iui3-uj58gze",
212
212
  "iui-progress-indicator-linear-label": "_iui3-progress-indicator-linear-label",
213
- "iui-uioihsj": "_iui3-uioihsj",
213
+ "iui-uj58gzs": "_iui3-uj58gzs",
214
214
  "iui-radio": "_iui3-radio",
215
215
  "iui-radio-tile": "_iui3-radio-tile",
216
216
  "iui-radio-tile-icon": "_iui3-radio-tile-icon",
@@ -4,7 +4,7 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
6
6
  import cx from 'classnames';
7
- import { FocusTrap, getTranslateValues, Resizer, useMergedRefs, useIsomorphicLayoutEffect, Box, } from '../utils/index.js';
7
+ import { FocusTrap, getTranslateValuesFromElement, Resizer, useMergedRefs, useIsomorphicLayoutEffect, Box, getTranslateValues, roundByDPR, } from '../utils/index.js';
8
8
  import { useDialogContext } from './DialogContext.js';
9
9
  import { CSSTransition } from 'react-transition-group';
10
10
  import { DialogDragContext } from './DialogDragContext.js';
@@ -34,7 +34,7 @@ export const DialogMain = React.forwardRef((props, ref) => {
34
34
  const { className, children, styleType = 'default', isOpen = dialogContext.isOpen, isDismissible = dialogContext.isDismissible, onClose = dialogContext.onClose, closeOnEsc = dialogContext.closeOnEsc, trapFocus = dialogContext.trapFocus, setFocus = dialogContext.setFocus, preventDocumentScroll = dialogContext.preventDocumentScroll, onKeyDown, isDraggable = dialogContext.isDraggable, isResizable = dialogContext.isResizable, style: propStyle, placement = dialogContext.placement, ...rest } = props;
35
35
  const [style, setStyle] = React.useState();
36
36
  const dialogRef = React.useRef(null);
37
- const refs = useMergedRefs(dialogRef, ref);
37
+ const [dialogElement, setDialogElement] = React.useState();
38
38
  const hasBeenResized = React.useRef(false);
39
39
  const previousFocusedElement = React.useRef();
40
40
  const originalBodyOverflow = React.useRef('');
@@ -86,7 +86,7 @@ export const DialogMain = React.forwardRef((props, ref) => {
86
86
  return;
87
87
  }
88
88
  const rect = dialogRef.current?.getBoundingClientRect();
89
- const [translateX, translateY] = getTranslateValues(dialogRef.current);
89
+ const [translateX, translateY] = getTranslateValuesFromElement(dialogRef.current);
90
90
  setStyle((oldStyle) => ({
91
91
  ...oldStyle,
92
92
  inlineSize: rect?.width,
@@ -102,13 +102,17 @@ export const DialogMain = React.forwardRef((props, ref) => {
102
102
  ...newStyle,
103
103
  }));
104
104
  }, []);
105
+ const roundedTransform = useRoundedTransform({
106
+ element: dialogElement,
107
+ transform,
108
+ });
105
109
  const content = (React.createElement(Box, { className: cx('iui-dialog', {
106
110
  'iui-dialog-default': styleType === 'default',
107
111
  'iui-dialog-full-page': styleType === 'fullPage',
108
112
  'iui-dialog-visible': isOpen,
109
113
  'iui-dialog-draggable': isDraggable,
110
- }, className), role: 'dialog', ref: refs, onKeyDown: handleKeyDown, tabIndex: -1, "data-iui-placement": placement, style: {
111
- transform,
114
+ }, className), role: 'dialog', ref: useMergedRefs(dialogRef, ref, setDialogElement), onKeyDown: handleKeyDown, tabIndex: -1, "data-iui-placement": placement, style: {
115
+ transform: roundedTransform,
112
116
  ...style,
113
117
  ...propStyle,
114
118
  }, ...rest },
@@ -140,3 +144,20 @@ export const DialogMain = React.forwardRef((props, ref) => {
140
144
  !trapFocus && content)));
141
145
  });
142
146
  export default DialogMain;
147
+ // ----------------------------------------------------------------------------
148
+ /**
149
+ * Rounds off an element's transform value based on the device's pixel grid, to avoid blurring.
150
+ */
151
+ const useRoundedTransform = ({ element, transform, }) => {
152
+ const [roundedStyles, setRoundedStyles] = React.useState(transform);
153
+ useIsomorphicLayoutEffect(() => {
154
+ if (!element || typeof DOMMatrix === 'undefined') {
155
+ return;
156
+ }
157
+ const [x, y] = transform
158
+ ? getTranslateValues(transform)
159
+ : getTranslateValuesFromElement(element);
160
+ setRoundedStyles(`translate(${roundByDPR(x)}px, ${roundByDPR(y)}px)`);
161
+ }, [element, transform]);
162
+ return roundedStyles;
163
+ };
@@ -3,7 +3,7 @@
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
6
- import { getBoundedValue, getTranslateValues } from '../functions/index.js';
6
+ import { getBoundedValue, getTranslateValuesFromElement, } from '../functions/index.js';
7
7
  /**
8
8
  * Component that allows to resize parent element.
9
9
  * Parent must have `position: relative`.
@@ -25,7 +25,7 @@ export const Resizer = (props) => {
25
25
  }
26
26
  const initialPointerX = event.clientX;
27
27
  const initialPointerY = event.clientY;
28
- const [initialTranslateX, initialTranslateY] = getTranslateValues(elementRef.current);
28
+ const [initialTranslateX, initialTranslateY] = getTranslateValuesFromElement(elementRef.current);
29
29
  const { width: initialWidth, height: initialHeight } = elementRef.current.getBoundingClientRect();
30
30
  let width = `${initialWidth}px`;
31
31
  let height = `${initialHeight}px`;
@@ -19,4 +19,5 @@ export declare const mergeEventHandlers: <E extends import("react").SyntheticEve
19
19
  * @param element HTML element you want to get translate value of
20
20
  * @returns Translate values in pixels in an array `[translateX, translateY]`
21
21
  */
22
- export declare const getTranslateValues: (element: HTMLElement | null | undefined) => number[];
22
+ export declare const getTranslateValuesFromElement: (element: HTMLElement | null | undefined) => number[];
23
+ export declare const getTranslateValues: (transformValue: string) => number[];
@@ -33,11 +33,14 @@ export const mergeEventHandlers = (...callbacks) => (event) => {
33
33
  * @param element HTML element you want to get translate value of
34
34
  * @returns Translate values in pixels in an array `[translateX, translateY]`
35
35
  */
36
- export const getTranslateValues = (element) => {
36
+ export const getTranslateValuesFromElement = (element) => {
37
37
  if (!element) {
38
38
  return [];
39
39
  }
40
40
  const transformValue = getComputedStyle(element).getPropertyValue('transform');
41
+ return getTranslateValues(transformValue);
42
+ };
43
+ export const getTranslateValues = (transformValue) => {
41
44
  const matrix = new DOMMatrix(transformValue);
42
45
  return [matrix.m41, matrix.m42];
43
46
  };
@@ -6,3 +6,10 @@ export declare const getBoundedValue: (val: number, min: number, max: number) =>
6
6
  * Returns a random value of a given length containing `A-Za-z0-9_-` symbols.
7
7
  */
8
8
  export declare const getRandomValue: (length?: number) => string;
9
+ /**
10
+ * Rounds a pixel value based on the device's pixel ratio. This ensures that values can be
11
+ * placed evenly on the device’s pixel grid, avoiding any blurring.
12
+ *
13
+ * @see https://floating-ui.com/docs/misc#subpixel-and-accelerated-positioning
14
+ */
15
+ export declare const roundByDPR: (value: number) => number;
@@ -19,3 +19,13 @@ export const getRandomValue = (length = 21) => {
19
19
  }
20
20
  return id;
21
21
  };
22
+ /**
23
+ * Rounds a pixel value based on the device's pixel ratio. This ensures that values can be
24
+ * placed evenly on the device’s pixel grid, avoiding any blurring.
25
+ *
26
+ * @see https://floating-ui.com/docs/misc#subpixel-and-accelerated-positioning
27
+ */
28
+ export const roundByDPR = (value) => {
29
+ const dpr = window.devicePixelRatio || 1;
30
+ return Math.round(value * dpr) / dpr;
31
+ };
@@ -3,7 +3,7 @@
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
6
- import { getTranslateValues, getWindow } from '../functions/index.js';
6
+ import { getTranslateValuesFromElement, getWindow, } from '../functions/index.js';
7
7
  import { useEventListener } from './useEventListener.js';
8
8
  import { useResizeObserver } from './useResizeObserver.js';
9
9
  const getContainerRect = (containerRef) => {
@@ -34,7 +34,7 @@ export const useDragAndDrop = (elementRef, containerRef, enabled = true) => {
34
34
  return;
35
35
  }
36
36
  const { top, right, bottom, left } = elementRef.current?.getBoundingClientRect();
37
- let [newTranslateX, newTranslateY] = getTranslateValues(elementRef.current);
37
+ let [newTranslateX, newTranslateY] = getTranslateValuesFromElement(elementRef.current);
38
38
  containerRectRef.current = getContainerRect(containerRef);
39
39
  if (bottom > containerRectRef.current.bottom) {
40
40
  newTranslateY -= bottom - containerRectRef.current.bottom;
@@ -80,7 +80,7 @@ export const useDragAndDrop = (elementRef, containerRef, enabled = true) => {
80
80
  if (!elementRef.current || e.button !== 0 || !enabled) {
81
81
  return;
82
82
  }
83
- const [x, y] = getTranslateValues(elementRef.current);
83
+ const [x, y] = getTranslateValuesFromElement(elementRef.current);
84
84
  grabOffsetX.current = e.clientX - x;
85
85
  grabOffsetY.current = e.clientY - y;
86
86
  originalUserSelect.current = elementRef.current.style.userSelect;
package/esm/styles.js CHANGED
@@ -207,9 +207,9 @@ const styles = {
207
207
  "iui-overlay-exiting": "_iui3-overlay-exiting",
208
208
  closeAnimation,
209
209
  "iui-progress-indicator-radial": "_iui3-progress-indicator-radial",
210
- "iui-uioihru": "_iui3-uioihru",
210
+ "iui-uj58gze": "_iui3-uj58gze",
211
211
  "iui-progress-indicator-linear-label": "_iui3-progress-indicator-linear-label",
212
- "iui-uioihsj": "_iui3-uioihsj",
212
+ "iui-uj58gzs": "_iui3-uj58gzs",
213
213
  "iui-radio": "_iui3-radio",
214
214
  "iui-radio-tile": "_iui3-radio-tile",
215
215
  "iui-radio-tile-icon": "_iui3-radio-tile-icon",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itwin/itwinui-react",
3
- "version": "3.0.5",
3
+ "version": "3.0.6",
4
4
  "author": "Bentley Systems",
5
5
  "license": "MIT",
6
6
  "type": "module",
package/styles.css CHANGED
@@ -694,14 +694,14 @@
694
694
  }
695
695
 
696
696
  @layer itwinui.v3{
697
- ._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-border-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-border-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-uioihru;-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-uioihru{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}
697
+ ._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-border-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-border-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-uj58gze;-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-uj58gze{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}
698
698
  }
699
699
 
700
700
  @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}}
701
701
  }
702
702
 
703
703
  @layer itwinui.v3{
704
- ._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-uioihsj}@keyframes _iui3-uioihsj{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}
704
+ ._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-uj58gzs}@keyframes _iui3-uj58gzs{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}
705
705
  }
706
706
 
707
707
  @layer itwinui.v3{@media (forced-colors:active){._iui3-radio-tile-input:checked{outline-color:Highlight}}