@itwin/itwinui-react 3.0.0-dev.8 → 3.0.0-dev.9
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 +12 -0
- package/cjs/core/Buttons/DropdownButton/DropdownButton.js +7 -19
- package/cjs/core/Buttons/SplitButton/SplitButton.d.ts +4 -4
- package/cjs/core/Buttons/SplitButton/SplitButton.js +53 -31
- package/cjs/core/ComboBox/ComboBox.d.ts +2 -2
- package/cjs/core/ComboBox/ComboBox.js +32 -24
- package/cjs/core/ComboBox/ComboBoxInput.js +29 -21
- package/cjs/core/ComboBox/ComboBoxMenu.js +73 -93
- package/cjs/core/ComboBox/helpers.d.ts +4 -1
- package/cjs/core/DropdownMenu/DropdownMenu.d.ts +6 -5
- package/cjs/core/DropdownMenu/DropdownMenu.js +59 -55
- package/cjs/core/Header/HeaderDropdownButton.js +1 -2
- package/cjs/core/Header/HeaderSplitButton.js +1 -2
- package/cjs/core/Menu/Menu.js +1 -1
- package/cjs/core/Menu/MenuItem.js +77 -55
- package/cjs/core/Select/Select.d.ts +5 -5
- package/cjs/core/Select/Select.js +74 -93
- package/cjs/core/Table/columns/actionColumn.js +3 -7
- package/cjs/core/Table/filters/DateRangeFilter/DatePickerInput.js +36 -41
- package/cjs/core/Table/filters/FilterToggle.js +3 -2
- package/cjs/core/Tile/Tile.js +21 -22
- package/cjs/core/index.d.ts +1 -1
- package/cjs/core/index.js +8 -1
- package/cjs/core/utils/components/InputContainer.d.ts +4 -4
- package/cjs/core/utils/components/InputContainer.js +7 -3
- package/cjs/core/utils/components/Popover.d.ts +113 -27
- package/cjs/core/utils/components/Popover.js +156 -118
- package/cjs/styles.js +2 -5
- package/esm/core/Buttons/DropdownButton/DropdownButton.js +8 -24
- package/esm/core/Buttons/SplitButton/SplitButton.d.ts +4 -4
- package/esm/core/Buttons/SplitButton/SplitButton.js +53 -28
- package/esm/core/ComboBox/ComboBox.d.ts +2 -2
- package/esm/core/ComboBox/ComboBox.js +33 -24
- package/esm/core/ComboBox/ComboBoxInput.js +22 -21
- package/esm/core/ComboBox/ComboBoxMenu.js +67 -87
- package/esm/core/ComboBox/helpers.d.ts +4 -1
- package/esm/core/DropdownMenu/DropdownMenu.d.ts +6 -5
- package/esm/core/DropdownMenu/DropdownMenu.js +64 -56
- package/esm/core/Header/HeaderDropdownButton.js +1 -2
- package/esm/core/Header/HeaderSplitButton.js +1 -2
- package/esm/core/Menu/Menu.js +7 -2
- package/esm/core/Menu/MenuItem.js +84 -52
- package/esm/core/Select/Select.d.ts +5 -5
- package/esm/core/Select/Select.js +74 -90
- package/esm/core/Table/columns/actionColumn.js +3 -7
- package/esm/core/Table/filters/DateRangeFilter/DatePickerInput.js +36 -41
- package/esm/core/Table/filters/FilterToggle.js +3 -2
- package/esm/core/Tile/Tile.js +21 -22
- package/esm/core/index.d.ts +1 -1
- package/esm/core/index.js +1 -0
- package/esm/core/utils/components/InputContainer.d.ts +4 -4
- package/esm/core/utils/components/InputContainer.js +7 -2
- package/esm/core/utils/components/Popover.d.ts +113 -27
- package/esm/core/utils/components/Popover.js +175 -118
- package/esm/styles.js +2 -5
- package/package.json +2 -4
- package/styles.css +3 -3
- package/cjs/core/ComboBox/ComboBoxDropdown.d.ts +0 -7
- package/cjs/core/ComboBox/ComboBoxDropdown.js +0 -43
- package/esm/core/ComboBox/ComboBoxDropdown.d.ts +0 -7
- package/esm/core/ComboBox/ComboBoxDropdown.js +0 -37
package/esm/core/index.d.ts
CHANGED
|
@@ -65,4 +65,4 @@ export { Anchor, Blockquote, Code, Kbd, KbdKeys, Text, } from './Typography/inde
|
|
|
65
65
|
export { Stepper, WorkflowDiagram } from './Stepper/index.js';
|
|
66
66
|
export type { StepProperties, StepperLocalization } from './Stepper/index.js';
|
|
67
67
|
export { SearchBox } from './SearchBox/index.js';
|
|
68
|
-
export { getUserColor, ColorValue, MiddleTextTruncation, LinkBox, LinkAction, Icon, Flex, VisuallyHidden, Divider, } from './utils/index.js';
|
|
68
|
+
export { getUserColor, ColorValue, MiddleTextTruncation, LinkBox, LinkAction, Icon, Flex, VisuallyHidden, Divider, Popover, } from './utils/index.js';
|
package/esm/core/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import type { PolymorphicForwardRefComponent } from '../props.js';
|
|
3
|
+
export type InputContainerProps = {
|
|
4
4
|
label?: React.ReactNode;
|
|
5
5
|
disabled?: boolean;
|
|
6
6
|
required?: boolean;
|
|
@@ -11,9 +11,9 @@ export type InputContainerProps<T extends React.ElementType = 'div'> = {
|
|
|
11
11
|
statusMessage?: React.ReactNode;
|
|
12
12
|
inputId?: string;
|
|
13
13
|
labelId?: string;
|
|
14
|
-
}
|
|
14
|
+
};
|
|
15
15
|
/**
|
|
16
16
|
* Input container to wrap inputs with label, and add optional message and icon.
|
|
17
17
|
* @private
|
|
18
18
|
*/
|
|
19
|
-
export declare const InputContainer: <
|
|
19
|
+
export declare const InputContainer: PolymorphicForwardRefComponent<"div", InputContainerProps>;
|
|
@@ -11,7 +11,7 @@ import { StatusMessage } from '../../StatusMessage/index.js';
|
|
|
11
11
|
* Input container to wrap inputs with label, and add optional message and icon.
|
|
12
12
|
* @private
|
|
13
13
|
*/
|
|
14
|
-
export const InputContainer = (props) => {
|
|
14
|
+
export const InputContainer = React.forwardRef((props, forwardedRef) => {
|
|
15
15
|
const {
|
|
16
16
|
label,
|
|
17
17
|
disabled,
|
|
@@ -35,12 +35,17 @@ export const InputContainer = (props) => {
|
|
|
35
35
|
'data-iui-status': status,
|
|
36
36
|
'data-iui-label-placement': isLabelInline ? 'inline' : undefined,
|
|
37
37
|
style: style,
|
|
38
|
+
ref: forwardedRef,
|
|
38
39
|
...rest,
|
|
39
40
|
},
|
|
40
41
|
label &&
|
|
41
42
|
React.createElement(
|
|
42
43
|
Label,
|
|
44
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
45
|
+
// @ts-ignore
|
|
43
46
|
{
|
|
47
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
48
|
+
// @ts-ignore
|
|
44
49
|
as: inputId && props.as !== 'label' ? 'label' : 'div',
|
|
45
50
|
required: required,
|
|
46
51
|
disabled: disabled,
|
|
@@ -59,4 +64,4 @@ export const InputContainer = (props) => {
|
|
|
59
64
|
message,
|
|
60
65
|
),
|
|
61
66
|
);
|
|
62
|
-
};
|
|
67
|
+
});
|
|
@@ -1,39 +1,125 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
import type { Placement } from '@floating-ui/react';
|
|
3
|
+
import type { PolymorphicForwardRefComponent } from '../index.js';
|
|
4
|
+
import type { PortalProps } from './Portal.js';
|
|
5
|
+
type PopoverOptions = {
|
|
6
|
+
/**
|
|
7
|
+
* Placement of the popover content.
|
|
8
|
+
* @default 'bottom-start'
|
|
9
|
+
*/
|
|
10
|
+
placement?: Placement;
|
|
6
11
|
/**
|
|
7
12
|
* Controlled flag for whether the popover is visible.
|
|
8
13
|
*/
|
|
9
14
|
visible?: boolean;
|
|
10
15
|
/**
|
|
11
|
-
*
|
|
12
|
-
* Should
|
|
13
|
-
* @see [tippy.js trigger prop](https://atomiks.github.io/tippyjs/v6/all-props/#trigger)
|
|
16
|
+
* Callback invoked every time the popover visibility changes as a result
|
|
17
|
+
* of internal logic. Should be used alongside `visible` prop.
|
|
14
18
|
*/
|
|
15
|
-
|
|
19
|
+
onVisibleChange?: (visible: boolean) => void;
|
|
16
20
|
/**
|
|
17
|
-
*
|
|
18
|
-
* @default 'bottom-start'
|
|
19
|
-
* @see [tippy.js placement prop](https://atomiks.github.io/tippyjs/v6/all-props/#placement).
|
|
21
|
+
* If true, the popover will close when clicking outside it.
|
|
20
22
|
*/
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
23
|
+
closeOnOutsideClick?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Whether the popover should match the width of the trigger.
|
|
26
|
+
*/
|
|
27
|
+
matchWidth?: boolean;
|
|
28
|
+
};
|
|
29
|
+
type PopoverInternalProps = {
|
|
30
|
+
/**
|
|
31
|
+
* autoUpdate options that recalculates position
|
|
32
|
+
* to ensure the floating element remains anchored
|
|
33
|
+
* to its reference element, such as when scrolling
|
|
34
|
+
* and resizing the screen
|
|
35
|
+
*
|
|
36
|
+
* https://floating-ui.com/docs/autoUpdate#options
|
|
37
|
+
*/
|
|
38
|
+
autoUpdateOptions?: {
|
|
39
|
+
ancestorScroll?: boolean;
|
|
40
|
+
ancestorResize?: boolean;
|
|
41
|
+
elementResize?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Use this if you want popover to follow moving trigger element
|
|
44
|
+
*/
|
|
45
|
+
animationFrame?: boolean;
|
|
46
|
+
layoutShift?: boolean;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Middleware options.
|
|
50
|
+
*
|
|
51
|
+
* @see https://floating-ui.com/docs/offset
|
|
52
|
+
*/
|
|
53
|
+
middleware?: {
|
|
54
|
+
offset?: number;
|
|
55
|
+
flip?: boolean;
|
|
56
|
+
shift?: boolean;
|
|
57
|
+
autoPlacement?: boolean;
|
|
58
|
+
hide?: boolean;
|
|
59
|
+
inline?: boolean;
|
|
37
60
|
};
|
|
61
|
+
/**
|
|
62
|
+
* By default, the popover will only open on click.
|
|
63
|
+
* `hover` and `focus` can be manually specified as triggers.
|
|
64
|
+
*/
|
|
65
|
+
trigger?: Partial<Record<'hover' | 'click' | 'focus', boolean>>;
|
|
66
|
+
role?: 'dialog' | 'menu' | 'listbox';
|
|
67
|
+
};
|
|
68
|
+
export declare const usePopover: (options: PopoverOptions & PopoverInternalProps) => {
|
|
69
|
+
placement: Placement;
|
|
70
|
+
strategy: import("@floating-ui/utils").Strategy;
|
|
71
|
+
middlewareData: import("@floating-ui/core").MiddlewareData;
|
|
72
|
+
x: number;
|
|
73
|
+
y: number;
|
|
74
|
+
isPositioned: boolean;
|
|
75
|
+
update: () => void;
|
|
76
|
+
floatingStyles: React.CSSProperties;
|
|
77
|
+
refs: {
|
|
78
|
+
reference: React.MutableRefObject<import("@floating-ui/react-dom").ReferenceType | null>;
|
|
79
|
+
floating: React.MutableRefObject<HTMLElement | null>;
|
|
80
|
+
setReference: (node: import("@floating-ui/react-dom").ReferenceType | null) => void;
|
|
81
|
+
setFloating: (node: HTMLElement | null) => void;
|
|
82
|
+
} & import("@floating-ui/react").ExtendedRefs<import("@floating-ui/react").ReferenceType>;
|
|
83
|
+
elements: {
|
|
84
|
+
reference: import("@floating-ui/react-dom").ReferenceType | null; /**
|
|
85
|
+
* Middleware options.
|
|
86
|
+
*
|
|
87
|
+
* @see https://floating-ui.com/docs/offset
|
|
88
|
+
*/
|
|
89
|
+
floating: HTMLElement | null;
|
|
90
|
+
} & import("@floating-ui/react").ExtendedElements<import("@floating-ui/react").ReferenceType>;
|
|
91
|
+
context: {
|
|
92
|
+
x: number;
|
|
93
|
+
y: number;
|
|
94
|
+
placement: Placement;
|
|
95
|
+
strategy: import("@floating-ui/utils").Strategy;
|
|
96
|
+
middlewareData: import("@floating-ui/core").MiddlewareData;
|
|
97
|
+
isPositioned: boolean;
|
|
98
|
+
update: () => void;
|
|
99
|
+
floatingStyles: React.CSSProperties;
|
|
100
|
+
open: boolean;
|
|
101
|
+
onOpenChange: (open: boolean, event?: Event | undefined) => void;
|
|
102
|
+
events: import("@floating-ui/react").FloatingEvents;
|
|
103
|
+
dataRef: React.MutableRefObject<import("@floating-ui/react").ContextData>;
|
|
104
|
+
nodeId: string | undefined;
|
|
105
|
+
floatingId: string;
|
|
106
|
+
refs: import("@floating-ui/react").ExtendedRefs<import("@floating-ui/react").ReferenceType>;
|
|
107
|
+
elements: import("@floating-ui/react").ExtendedElements<import("@floating-ui/react").ReferenceType>;
|
|
108
|
+
};
|
|
109
|
+
getFloatingProps: (userProps?: React.HTMLProps<HTMLElement>) => Record<string, unknown>;
|
|
110
|
+
getReferenceProps: (userProps?: React.HTMLProps<Element> | undefined) => Record<string, unknown>;
|
|
111
|
+
getItemProps: (userProps?: React.HTMLProps<HTMLElement> | undefined) => Record<string, unknown>;
|
|
112
|
+
open: boolean | undefined;
|
|
113
|
+
onOpenChange: React.Dispatch<React.SetStateAction<boolean | undefined>>;
|
|
38
114
|
};
|
|
115
|
+
type PopoverPublicProps = {
|
|
116
|
+
content?: React.ReactNode;
|
|
117
|
+
children?: React.ReactNode;
|
|
118
|
+
applyBackground?: boolean;
|
|
119
|
+
} & PortalProps & PopoverOptions;
|
|
120
|
+
/**
|
|
121
|
+
* A utility component to help with positioning of floating content.
|
|
122
|
+
* Built on top of [`floating-ui`](https://floating-ui.com/)
|
|
123
|
+
*/
|
|
124
|
+
export declare const Popover: PolymorphicForwardRefComponent<"div", PopoverPublicProps>;
|
|
39
125
|
export default Popover;
|
|
@@ -3,126 +3,183 @@
|
|
|
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
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
6
|
+
import {
|
|
7
|
+
useFloating,
|
|
8
|
+
useClick,
|
|
9
|
+
useDismiss,
|
|
10
|
+
useInteractions,
|
|
11
|
+
size,
|
|
12
|
+
autoUpdate,
|
|
13
|
+
offset,
|
|
14
|
+
flip,
|
|
15
|
+
shift,
|
|
16
|
+
autoPlacement,
|
|
17
|
+
inline,
|
|
18
|
+
hide,
|
|
19
|
+
FloatingFocusManager,
|
|
20
|
+
useHover,
|
|
21
|
+
useFocus,
|
|
22
|
+
safePolygon,
|
|
23
|
+
useRole,
|
|
24
|
+
} from '@floating-ui/react';
|
|
25
|
+
import {
|
|
26
|
+
Box,
|
|
27
|
+
cloneElementWithRef,
|
|
28
|
+
useControlledState,
|
|
29
|
+
useMergedRefs,
|
|
30
|
+
} from '../index.js';
|
|
31
|
+
import { Portal } from './Portal.js';
|
|
32
|
+
import { Surface } from '../../Surface/index.js';
|
|
33
|
+
import { ThemeProvider } from '../../ThemeProvider/index.js';
|
|
34
|
+
// ----------------------------------------------------------------------------
|
|
35
|
+
export const usePopover = (options) => {
|
|
36
|
+
const {
|
|
37
|
+
placement = 'bottom-start',
|
|
38
|
+
visible,
|
|
39
|
+
onVisibleChange,
|
|
40
|
+
closeOnOutsideClick,
|
|
41
|
+
autoUpdateOptions,
|
|
42
|
+
middleware = { flip: true, shift: true },
|
|
43
|
+
matchWidth,
|
|
44
|
+
trigger = { click: true, hover: false, focus: false },
|
|
45
|
+
role,
|
|
46
|
+
} = options;
|
|
47
|
+
const [open, onOpenChange] = useControlledState(
|
|
48
|
+
false,
|
|
49
|
+
visible,
|
|
50
|
+
onVisibleChange,
|
|
51
|
+
);
|
|
52
|
+
const floating = useFloating({
|
|
53
|
+
placement,
|
|
54
|
+
open,
|
|
55
|
+
onOpenChange,
|
|
56
|
+
whileElementsMounted: (...args) => autoUpdate(...args, autoUpdateOptions),
|
|
57
|
+
middleware: [
|
|
58
|
+
middleware.offset !== undefined && offset(middleware.offset),
|
|
59
|
+
middleware.flip && flip(),
|
|
60
|
+
middleware.shift && shift(),
|
|
61
|
+
matchWidth &&
|
|
62
|
+
size({
|
|
63
|
+
apply: ({ rects }) => {
|
|
64
|
+
setReferenceWidth(rects.reference.width);
|
|
65
|
+
},
|
|
66
|
+
}),
|
|
67
|
+
middleware.autoPlacement && autoPlacement(),
|
|
68
|
+
middleware.inline && inline(),
|
|
69
|
+
middleware.hide && hide(),
|
|
70
|
+
].filter(Boolean),
|
|
71
|
+
});
|
|
72
|
+
const interactions = useInteractions([
|
|
73
|
+
useClick(floating.context, { enabled: !!trigger.click }),
|
|
74
|
+
useDismiss(floating.context, { outsidePress: closeOnOutsideClick }),
|
|
75
|
+
useHover(floating.context, {
|
|
76
|
+
enabled: !!trigger.hover,
|
|
77
|
+
delay: 100,
|
|
78
|
+
handleClose: safePolygon({ buffer: 1 }),
|
|
34
79
|
}),
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
plugins: [
|
|
54
|
-
lazyLoad,
|
|
55
|
-
removeTabIndex,
|
|
56
|
-
hideOnEscOrTab,
|
|
57
|
-
...(props.plugins || []),
|
|
58
|
-
],
|
|
59
|
-
popperOptions: {
|
|
60
|
-
strategy: 'fixed',
|
|
61
|
-
...props.popperOptions,
|
|
62
|
-
modifiers: [
|
|
63
|
-
{ name: 'flip' },
|
|
64
|
-
{
|
|
65
|
-
name: 'preventOverflow',
|
|
66
|
-
options: { padding: 0 },
|
|
80
|
+
useFocus(floating.context, { enabled: !!trigger.focus }),
|
|
81
|
+
useRole(floating.context, { role: 'dialog', enabled: !!role }),
|
|
82
|
+
]);
|
|
83
|
+
const [referenceWidth, setReferenceWidth] = React.useState();
|
|
84
|
+
const getFloatingProps = React.useCallback(
|
|
85
|
+
(userProps) =>
|
|
86
|
+
interactions.getFloatingProps({
|
|
87
|
+
...userProps,
|
|
88
|
+
style: {
|
|
89
|
+
...floating.floatingStyles,
|
|
90
|
+
zIndex: 9999,
|
|
91
|
+
...(matchWidth && referenceWidth
|
|
92
|
+
? {
|
|
93
|
+
minInlineSize: `${referenceWidth}px`,
|
|
94
|
+
maxInlineSize: `min(${referenceWidth * 2}px, 90vw)`,
|
|
95
|
+
}
|
|
96
|
+
: {}),
|
|
97
|
+
...userProps?.style,
|
|
67
98
|
},
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
e.stopPropagation();
|
|
83
|
-
props.content.props.onClick?.(e);
|
|
84
|
-
},
|
|
85
|
-
})
|
|
86
|
-
: props.content;
|
|
87
|
-
computedProps.content = mounted ? clonedContent : '';
|
|
88
|
-
}
|
|
89
|
-
return React.createElement(Tippy, { ...computedProps, ref: refs });
|
|
90
|
-
});
|
|
99
|
+
}),
|
|
100
|
+
[floating.floatingStyles, interactions, matchWidth, referenceWidth],
|
|
101
|
+
);
|
|
102
|
+
return React.useMemo(
|
|
103
|
+
() => ({
|
|
104
|
+
open,
|
|
105
|
+
onOpenChange,
|
|
106
|
+
...interactions,
|
|
107
|
+
getFloatingProps,
|
|
108
|
+
...floating,
|
|
109
|
+
}),
|
|
110
|
+
[open, onOpenChange, interactions, getFloatingProps, floating],
|
|
111
|
+
);
|
|
112
|
+
};
|
|
91
113
|
/**
|
|
92
|
-
*
|
|
93
|
-
*
|
|
114
|
+
* A utility component to help with positioning of floating content.
|
|
115
|
+
* Built on top of [`floating-ui`](https://floating-ui.com/)
|
|
94
116
|
*/
|
|
95
|
-
export const
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
117
|
+
export const Popover = React.forwardRef((props, forwardedRef) => {
|
|
118
|
+
const {
|
|
119
|
+
portal = true,
|
|
120
|
+
//
|
|
121
|
+
// popover options
|
|
122
|
+
visible,
|
|
123
|
+
placement,
|
|
124
|
+
onVisibleChange,
|
|
125
|
+
closeOnOutsideClick,
|
|
126
|
+
matchWidth,
|
|
127
|
+
//
|
|
128
|
+
// dom props
|
|
129
|
+
children,
|
|
130
|
+
content,
|
|
131
|
+
applyBackground,
|
|
132
|
+
...rest
|
|
133
|
+
} = props;
|
|
134
|
+
const popover = usePopover({
|
|
135
|
+
visible,
|
|
136
|
+
placement,
|
|
137
|
+
onVisibleChange,
|
|
138
|
+
closeOnOutsideClick,
|
|
139
|
+
matchWidth,
|
|
140
|
+
role: 'dialog',
|
|
141
|
+
});
|
|
142
|
+
const [popoverElement, setPopoverElement] = React.useState();
|
|
143
|
+
const popoverRef = useMergedRefs(
|
|
144
|
+
popover.refs.setFloating,
|
|
145
|
+
forwardedRef,
|
|
146
|
+
setPopoverElement,
|
|
147
|
+
);
|
|
148
|
+
return React.createElement(
|
|
149
|
+
React.Fragment,
|
|
150
|
+
null,
|
|
151
|
+
cloneElementWithRef(children, (children) => ({
|
|
152
|
+
...popover.getReferenceProps(children.props),
|
|
153
|
+
ref: popover.refs.setReference,
|
|
154
|
+
})),
|
|
155
|
+
popover.open
|
|
156
|
+
? React.createElement(
|
|
157
|
+
Portal,
|
|
158
|
+
{ portal: portal },
|
|
159
|
+
React.createElement(
|
|
160
|
+
ThemeProvider,
|
|
161
|
+
{ portalContainer: popoverElement },
|
|
162
|
+
React.createElement(
|
|
163
|
+
FloatingFocusManager,
|
|
164
|
+
{
|
|
165
|
+
context: popover.context,
|
|
166
|
+
modal: false,
|
|
167
|
+
initialFocus: -1,
|
|
168
|
+
returnFocus: true,
|
|
169
|
+
},
|
|
170
|
+
React.createElement(
|
|
171
|
+
Box,
|
|
172
|
+
{
|
|
173
|
+
as: applyBackground ? Surface : 'div',
|
|
174
|
+
...popover.getFloatingProps(rest),
|
|
175
|
+
ref: popoverRef,
|
|
176
|
+
},
|
|
177
|
+
content,
|
|
178
|
+
),
|
|
179
|
+
),
|
|
180
|
+
),
|
|
181
|
+
)
|
|
182
|
+
: null,
|
|
183
|
+
);
|
|
184
|
+
});
|
|
128
185
|
export default Popover;
|
package/esm/styles.js
CHANGED
|
@@ -218,10 +218,10 @@ const styles = {
|
|
|
218
218
|
'iui-overlay-exiting': '_iui3-overlay-exiting',
|
|
219
219
|
closeAnimation,
|
|
220
220
|
'iui-progress-indicator-radial': '_iui3-progress-indicator-radial',
|
|
221
|
-
'iui-
|
|
221
|
+
'iui-ugj3ux4': '_iui3-ugj3ux4',
|
|
222
222
|
'iui-progress-indicator-linear-label':
|
|
223
223
|
'_iui3-progress-indicator-linear-label',
|
|
224
|
-
'iui-
|
|
224
|
+
'iui-ugj3uxq': '_iui3-ugj3uxq',
|
|
225
225
|
'iui-radio': '_iui3-radio',
|
|
226
226
|
'iui-radio-tile': '_iui3-radio-tile',
|
|
227
227
|
'iui-radio-tile-icon': '_iui3-radio-tile-icon',
|
|
@@ -416,9 +416,6 @@ const styles = {
|
|
|
416
416
|
'iui-svg-icon': '_iui3-svg-icon',
|
|
417
417
|
'iui-notification-marker': '_iui3-notification-marker',
|
|
418
418
|
pulse,
|
|
419
|
-
'iui-popover': '_iui3-popover',
|
|
420
|
-
'tippy-box': '_iui3-tippy-box',
|
|
421
|
-
'tippy-content': '_iui3-tippy-content',
|
|
422
419
|
'iui-divider': '_iui3-divider',
|
|
423
420
|
'iui-flex': '_iui3-flex',
|
|
424
421
|
'iui-flex-spacer': '_iui3-flex-spacer',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@itwin/itwinui-react",
|
|
3
|
-
"version": "3.0.0-dev.
|
|
3
|
+
"version": "3.0.0-dev.9",
|
|
4
4
|
"author": "Bentley Systems",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -73,13 +73,11 @@
|
|
|
73
73
|
"dev:styles": "yarn build:styles --watch"
|
|
74
74
|
},
|
|
75
75
|
"dependencies": {
|
|
76
|
-
"@floating-ui/react": "^0.25.
|
|
77
|
-
"@tippyjs/react": "^4.2.6",
|
|
76
|
+
"@floating-ui/react": "^0.25.3",
|
|
78
77
|
"@types/react-table": "^7.0.18",
|
|
79
78
|
"classnames": "^2.2.6",
|
|
80
79
|
"react-table": "^7.1.0",
|
|
81
80
|
"react-transition-group": "^4.4.2",
|
|
82
|
-
"tippy.js": "^6.3.7",
|
|
83
81
|
"tslib": "^2.6.0"
|
|
84
82
|
},
|
|
85
83
|
"devDependencies": {
|
package/styles.css
CHANGED
|
@@ -689,14 +689,14 @@
|
|
|
689
689
|
}
|
|
690
690
|
|
|
691
691
|
@layer itwinui.v3{
|
|
692
|
-
._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-
|
|
692
|
+
._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-ugj3ux4;-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-ugj3ux4{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}
|
|
693
693
|
}
|
|
694
694
|
|
|
695
695
|
@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}}
|
|
696
696
|
}
|
|
697
697
|
|
|
698
698
|
@layer itwinui.v3{
|
|
699
|
-
._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-
|
|
699
|
+
._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-ugj3uxq}@keyframes _iui3-ugj3uxq{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}
|
|
700
700
|
}
|
|
701
701
|
|
|
702
702
|
@layer itwinui.v3{@media (forced-colors:active){._iui3-radio-tile-input:checked{outline-color:Highlight}}
|
|
@@ -1067,7 +1067,7 @@
|
|
|
1067
1067
|
}
|
|
1068
1068
|
|
|
1069
1069
|
@layer itwinui.v3{
|
|
1070
|
-
._iui3-notification-marker[data-iui-variant=positive]{--_iui-notification-marker-color:var(--iui-color-icon-positive)}._iui3-notification-marker[data-iui-variant=warning]{--_iui-notification-marker-color:var(--iui-color-icon-warning)}._iui3-notification-marker[data-iui-variant=negative]{--_iui-notification-marker-color:var(--iui-color-icon-negative)}._iui3-notification-marker[data-iui-variant=white]{--_iui-notification-marker-color:var(--iui-color-white)}._iui3-
|
|
1070
|
+
._iui3-notification-marker[data-iui-variant=positive]{--_iui-notification-marker-color:var(--iui-color-icon-positive)}._iui3-notification-marker[data-iui-variant=warning]{--_iui-notification-marker-color:var(--iui-color-icon-warning)}._iui3-notification-marker[data-iui-variant=negative]{--_iui-notification-marker-color:var(--iui-color-icon-negative)}._iui3-notification-marker[data-iui-variant=white]{--_iui-notification-marker-color:var(--iui-color-white)}._iui3-divider{background-color:var(--iui-color-border-subtle);flex:none;align-self:stretch}
|
|
1071
1071
|
}
|
|
1072
1072
|
|
|
1073
1073
|
@layer itwinui.v3{@media (forced-colors:active){._iui3-divider{background-color:CanvasText}}
|