@wordpress/components 25.15.1-next.79a6196f.0 → 25.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +27 -2
- package/build/border-box-control/border-box-control/component.js.map +1 -1
- package/build/border-box-control/border-box-control/hook.js +3 -1
- package/build/border-box-control/border-box-control/hook.js.map +1 -1
- package/build/border-box-control/types.js.map +1 -1
- package/build/border-control/border-control/component.js +5 -1
- package/build/border-control/border-control/component.js.map +1 -1
- package/build/border-control/border-control/hook.js +18 -15
- package/build/border-control/border-control/hook.js.map +1 -1
- package/build/border-control/border-control-dropdown/component.js +2 -1
- package/build/border-control/border-control-dropdown/component.js.map +1 -1
- package/build/border-control/border-control-style-picker/component.js +21 -49
- package/build/border-control/border-control-style-picker/component.js.map +1 -1
- package/build/border-control/styles.js +15 -27
- package/build/border-control/styles.js.map +1 -1
- package/build/border-control/types.js.map +1 -1
- package/build/box-control/all-input-control.js +35 -29
- package/build/box-control/all-input-control.js.map +1 -1
- package/build/box-control/axial-input-controls.js +40 -54
- package/build/box-control/axial-input-controls.js.map +1 -1
- package/build/box-control/index.js +21 -24
- package/build/box-control/index.js.map +1 -1
- package/build/box-control/input-controls.js +45 -37
- package/build/box-control/input-controls.js.map +1 -1
- package/build/box-control/styles/box-control-styles.js +50 -112
- package/build/box-control/styles/box-control-styles.js.map +1 -1
- package/build/box-control/types.js.map +1 -1
- package/build/box-control/utils.js +123 -8
- package/build/box-control/utils.js.map +1 -1
- package/build/button/index.js +14 -16
- package/build/button/index.js.map +1 -1
- package/build/button/types.js.map +1 -1
- package/build/color-picker/hsl-input.js +55 -33
- package/build/color-picker/hsl-input.js.map +1 -1
- package/build/custom-select-control-v2/index.js +3 -2
- package/build/custom-select-control-v2/index.js.map +1 -1
- package/build/slot-fill/bubbles-virtually/use-slot-fills.js +1 -1
- package/build/slot-fill/bubbles-virtually/use-slot-fills.js.map +1 -1
- package/build/theme/styles.js +11 -6
- package/build/theme/styles.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/utils.js +7 -1
- package/build/toggle-group-control/toggle-group-control/utils.js.map +1 -1
- package/build/tooltip/index.js +15 -12
- package/build/tooltip/index.js.map +1 -1
- package/build/tooltip/types.js.map +1 -1
- package/build-module/border-box-control/border-box-control/component.js.map +1 -1
- package/build-module/border-box-control/border-box-control/hook.js +3 -1
- package/build-module/border-box-control/border-box-control/hook.js.map +1 -1
- package/build-module/border-box-control/types.js.map +1 -1
- package/build-module/border-control/border-control/component.js +5 -1
- package/build-module/border-control/border-control/component.js.map +1 -1
- package/build-module/border-control/border-control/hook.js +18 -15
- package/build-module/border-control/border-control/hook.js.map +1 -1
- package/build-module/border-control/border-control-dropdown/component.js +2 -1
- package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
- package/build-module/border-control/border-control-style-picker/component.js +21 -48
- package/build-module/border-control/border-control-style-picker/component.js.map +1 -1
- package/build-module/border-control/styles.js +14 -24
- package/build-module/border-control/styles.js.map +1 -1
- package/build-module/border-control/types.js.map +1 -1
- package/build-module/box-control/all-input-control.js +38 -28
- package/build-module/box-control/all-input-control.js.map +1 -1
- package/build-module/box-control/axial-input-controls.js +42 -57
- package/build-module/box-control/axial-input-controls.js.map +1 -1
- package/build-module/box-control/index.js +22 -25
- package/build-module/box-control/index.js.map +1 -1
- package/build-module/box-control/input-controls.js +47 -40
- package/build-module/box-control/input-controls.js.map +1 -1
- package/build-module/box-control/styles/box-control-styles.js +45 -105
- package/build-module/box-control/styles/box-control-styles.js.map +1 -1
- package/build-module/box-control/types.js.map +1 -1
- package/build-module/box-control/utils.js +121 -7
- package/build-module/box-control/utils.js.map +1 -1
- package/build-module/button/index.js +14 -16
- package/build-module/button/index.js.map +1 -1
- package/build-module/button/types.js.map +1 -1
- package/build-module/color-picker/hsl-input.js +55 -33
- package/build-module/color-picker/hsl-input.js.map +1 -1
- package/build-module/custom-select-control-v2/index.js +3 -2
- package/build-module/custom-select-control-v2/index.js.map +1 -1
- package/build-module/slot-fill/bubbles-virtually/use-slot-fills.js +1 -1
- package/build-module/slot-fill/bubbles-virtually/use-slot-fills.js.map +1 -1
- package/build-module/theme/styles.js +11 -2
- package/build-module/theme/styles.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/utils.js +7 -1
- package/build-module/toggle-group-control/toggle-group-control/utils.js.map +1 -1
- package/build-module/tooltip/index.js +16 -13
- package/build-module/tooltip/index.js.map +1 -1
- package/build-module/tooltip/types.js.map +1 -1
- package/build-style/style-rtl.css +6 -4
- package/build-style/style.css +6 -4
- package/build-types/border-box-control/border-box-control/component.d.ts +1 -0
- package/build-types/border-box-control/border-box-control/component.d.ts.map +1 -1
- package/build-types/border-box-control/border-box-control/hook.d.ts +4 -4
- package/build-types/border-box-control/border-box-control/hook.d.ts.map +1 -1
- package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts +5 -5
- package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +4 -4
- package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts +4 -4
- package/build-types/border-box-control/stories/index.story.d.ts +2 -1
- package/build-types/border-box-control/stories/index.story.d.ts.map +1 -1
- package/build-types/border-box-control/types.d.ts +6 -0
- package/build-types/border-box-control/types.d.ts.map +1 -1
- package/build-types/border-control/border-control/component.d.ts +1 -0
- package/build-types/border-control/border-control/component.d.ts.map +1 -1
- package/build-types/border-control/border-control/hook.d.ts +6 -4
- package/build-types/border-control/border-control/hook.d.ts.map +1 -1
- package/build-types/border-control/border-control-dropdown/component.d.ts +1 -0
- package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -1
- package/build-types/border-control/border-control-dropdown/hook.d.ts +5 -4
- package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -1
- package/build-types/border-control/border-control-style-picker/component.d.ts +3 -4
- package/build-types/border-control/border-control-style-picker/component.d.ts.map +1 -1
- package/build-types/border-control/stories/index.story.d.ts +12 -6
- package/build-types/border-control/stories/index.story.d.ts.map +1 -1
- package/build-types/border-control/styles.d.ts +0 -2
- package/build-types/border-control/styles.d.ts.map +1 -1
- package/build-types/border-control/types.d.ts +12 -1
- package/build-types/border-control/types.d.ts.map +1 -1
- package/build-types/box-control/all-input-control.d.ts +1 -1
- package/build-types/box-control/all-input-control.d.ts.map +1 -1
- package/build-types/box-control/axial-input-controls.d.ts +1 -1
- package/build-types/box-control/axial-input-controls.d.ts.map +1 -1
- package/build-types/box-control/index.d.ts +1 -1
- package/build-types/box-control/index.d.ts.map +1 -1
- package/build-types/box-control/input-controls.d.ts +1 -1
- package/build-types/box-control/input-controls.d.ts.map +1 -1
- package/build-types/box-control/stories/index.story.d.ts +42 -36
- package/build-types/box-control/stories/index.story.d.ts.map +1 -1
- package/build-types/box-control/styles/box-control-styles.d.ts +49 -23
- package/build-types/box-control/styles/box-control-styles.d.ts.map +1 -1
- package/build-types/box-control/types.d.ts +12 -12
- package/build-types/box-control/types.d.ts.map +1 -1
- package/build-types/box-control/utils.d.ts +2 -1
- package/build-types/box-control/utils.d.ts.map +1 -1
- package/build-types/button/deprecated.d.ts +3 -3
- package/build-types/button/index.d.ts.map +1 -1
- package/build-types/button/types.d.ts +7 -3
- package/build-types/button/types.d.ts.map +1 -1
- package/build-types/card/card/hook.d.ts +4 -4
- package/build-types/card/card-body/hook.d.ts +4 -4
- package/build-types/card/card-divider/hook.d.ts +4 -4
- package/build-types/card/card-footer/hook.d.ts +4 -4
- package/build-types/card/card-header/hook.d.ts +4 -4
- package/build-types/card/card-media/hook.d.ts +4 -4
- package/build-types/color-palette/styles.d.ts +2 -2
- package/build-types/color-picker/component.d.ts +1 -1
- package/build-types/color-picker/hsl-input.d.ts.map +1 -1
- package/build-types/color-picker/stories/index.story.d.ts +1 -1
- package/build-types/color-picker/styles.d.ts +3 -3
- package/build-types/custom-select-control-v2/index.d.ts.map +1 -1
- package/build-types/date-time/date/styles.d.ts +3 -3
- package/build-types/date-time/date-time/styles.d.ts +1 -1
- package/build-types/date-time/time/styles.d.ts +4 -4
- package/build-types/elevation/hook.d.ts +4 -4
- package/build-types/flex/flex/hook.d.ts +4 -4
- package/build-types/flex/flex-block/hook.d.ts +4 -4
- package/build-types/flex/flex-item/hook.d.ts +4 -4
- package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts +1 -1
- package/build-types/font-size-picker/styles.d.ts +1 -1
- package/build-types/grid/hook.d.ts +4 -4
- package/build-types/h-stack/hook.d.ts +4 -4
- package/build-types/heading/component.d.ts +1 -1
- package/build-types/heading/hook.d.ts +4 -4
- package/build-types/item-group/item/hook.d.ts +4 -4
- package/build-types/item-group/item-group/hook.d.ts +4 -4
- package/build-types/menu-item/index.d.ts +1 -1
- package/build-types/menu-item/stories/index.story.d.ts +4 -4
- package/build-types/navigation/styles/navigation-styles.d.ts +2 -2
- package/build-types/navigator/navigator-back-button/hook.d.ts +4 -4
- package/build-types/navigator/navigator-button/hook.d.ts +4 -4
- package/build-types/number-control/index.d.ts +1 -1
- package/build-types/number-control/stories/index.story.d.ts +1 -1
- package/build-types/palette-edit/styles.d.ts +3 -3
- package/build-types/range-control/index.d.ts +1 -1
- package/build-types/range-control/styles/range-control-styles.d.ts +1 -1
- package/build-types/resizable-box/index.d.ts +1 -1
- package/build-types/resizable-box/resize-tooltip/index.d.ts +1 -1
- package/build-types/resizable-box/stories/index.story.d.ts +2 -2
- package/build-types/scrollable/hook.d.ts +4 -4
- package/build-types/spacer/hook.d.ts +4 -4
- package/build-types/surface/hook.d.ts +4 -4
- package/build-types/text/hook.d.ts +4 -4
- package/build-types/theme/styles.d.ts.map +1 -1
- package/build-types/toggle-control/stories/index.story.d.ts +2 -2
- package/build-types/toggle-group-control/toggle-group-control/utils.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts +1 -1
- package/build-types/toolbar/toolbar-button/index.d.ts +3 -3
- package/build-types/tools-panel/tools-panel/hook.d.ts +4 -4
- package/build-types/tools-panel/tools-panel-header/hook.d.ts +4 -4
- package/build-types/tools-panel/tools-panel-item/hook.d.ts +4 -4
- package/build-types/tooltip/index.d.ts +1 -1
- package/build-types/tooltip/index.d.ts.map +1 -1
- package/build-types/tooltip/stories/index.story.d.ts +1 -1
- package/build-types/tooltip/stories/index.story.d.ts.map +1 -1
- package/build-types/tooltip/types.d.ts +1 -1
- package/build-types/tooltip/types.d.ts.map +1 -1
- package/build-types/truncate/hook.d.ts +4 -4
- package/build-types/unit-control/index.d.ts +1 -1
- package/build-types/unit-control/styles/unit-control-styles.d.ts +1 -1
- package/build-types/v-stack/hook.d.ts +4 -4
- package/build-types/v-stack/stories/index.story.d.ts +1 -1
- package/package.json +19 -19
- package/src/border-box-control/border-box-control/component.tsx +0 -1
- package/src/border-box-control/border-box-control/hook.ts +5 -1
- package/src/border-box-control/types.ts +6 -0
- package/src/border-control/border-control/component.tsx +4 -0
- package/src/border-control/border-control/hook.ts +22 -16
- package/src/border-control/border-control-dropdown/component.tsx +2 -1
- package/src/border-control/border-control-style-picker/component.tsx +31 -66
- package/src/border-control/styles.ts +0 -15
- package/src/border-control/types.ts +15 -1
- package/src/box-control/all-input-control.tsx +57 -34
- package/src/box-control/axial-input-controls.tsx +79 -69
- package/src/box-control/index.tsx +47 -54
- package/src/box-control/input-controls.tsx +114 -83
- package/src/box-control/styles/box-control-styles.ts +21 -61
- package/src/box-control/test/index.tsx +126 -18
- package/src/box-control/types.ts +10 -21
- package/src/box-control/utils.ts +43 -8
- package/src/button/README.md +1 -1
- package/src/button/index.tsx +21 -33
- package/src/button/test/index.tsx +122 -0
- package/src/button/types.ts +7 -3
- package/src/circular-option-picker/test/index.tsx +10 -16
- package/src/color-picker/hsl-input.tsx +56 -30
- package/src/color-picker/test/index.tsx +190 -16
- package/src/custom-select-control-v2/index.tsx +5 -2
- package/src/palette-edit/test/index.tsx +326 -10
- package/src/slot-fill/bubbles-virtually/use-slot-fills.ts +1 -1
- package/src/tabs/test/index.tsx +3 -1
- package/src/theme/styles.ts +3 -1
- package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +6 -6
- package/src/toggle-group-control/test/index.tsx +73 -36
- package/src/toggle-group-control/toggle-group-control/utils.ts +8 -3
- package/src/tooltip/index.tsx +29 -29
- package/src/tooltip/test/index.tsx +32 -13
- package/src/tooltip/types.ts +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/build/border-control/border-control-style-picker/hook.js +0 -41
- package/build/border-control/border-control-style-picker/hook.js.map +0 -1
- package/build/box-control/styles/box-control-visualizer-styles.js +0 -93
- package/build/box-control/styles/box-control-visualizer-styles.js.map +0 -1
- package/build/box-control/unit-control.js +0 -76
- package/build/box-control/unit-control.js.map +0 -1
- package/build-module/border-control/border-control-style-picker/hook.js +0 -32
- package/build-module/border-control/border-control-style-picker/hook.js.map +0 -1
- package/build-module/box-control/styles/box-control-visualizer-styles.js +0 -86
- package/build-module/box-control/styles/box-control-visualizer-styles.js.map +0 -1
- package/build-module/box-control/unit-control.js +0 -68
- package/build-module/box-control/unit-control.js.map +0 -1
- package/build-types/border-control/border-control-style-picker/hook.d.ts +0 -267
- package/build-types/border-control/border-control-style-picker/hook.d.ts.map +0 -1
- package/build-types/box-control/styles/box-control-visualizer-styles.d.ts +0 -46
- package/build-types/box-control/styles/box-control-visualizer-styles.d.ts.map +0 -1
- package/build-types/box-control/unit-control.d.ts +0 -4
- package/build-types/box-control/unit-control.d.ts.map +0 -1
- package/src/border-control/border-control-style-picker/hook.ts +0 -35
- package/src/box-control/styles/box-control-visualizer-styles.ts +0 -75
- package/src/box-control/unit-control.tsx +0 -74
package/src/tooltip/index.tsx
CHANGED
|
@@ -8,21 +8,27 @@ import * as Ariakit from '@ariakit/react';
|
|
|
8
8
|
* WordPress dependencies
|
|
9
9
|
*/
|
|
10
10
|
import { useInstanceId } from '@wordpress/compose';
|
|
11
|
-
import {
|
|
11
|
+
import {
|
|
12
|
+
Children,
|
|
13
|
+
useContext,
|
|
14
|
+
createContext,
|
|
15
|
+
forwardRef,
|
|
16
|
+
} from '@wordpress/element';
|
|
12
17
|
import deprecated from '@wordpress/deprecated';
|
|
13
18
|
|
|
14
19
|
/**
|
|
15
20
|
* Internal dependencies
|
|
16
21
|
*/
|
|
17
|
-
import type {
|
|
22
|
+
import type {
|
|
23
|
+
TooltipProps,
|
|
24
|
+
TooltipInternalContext as TooltipInternalContextType,
|
|
25
|
+
} from './types';
|
|
18
26
|
import Shortcut from '../shortcut';
|
|
19
27
|
import { positionToPlacement } from '../popover/utils';
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
} from '../context';
|
|
25
|
-
import type { WordPressComponentProps } from '../context';
|
|
28
|
+
|
|
29
|
+
const TooltipInternalContext = createContext< TooltipInternalContextType >( {
|
|
30
|
+
isNestedInTooltip: false,
|
|
31
|
+
} );
|
|
26
32
|
|
|
27
33
|
/**
|
|
28
34
|
* Time over anchor to wait before showing tooltip
|
|
@@ -30,13 +36,11 @@ import type { WordPressComponentProps } from '../context';
|
|
|
30
36
|
export const TOOLTIP_DELAY = 700;
|
|
31
37
|
|
|
32
38
|
const CONTEXT_VALUE = {
|
|
33
|
-
|
|
34
|
-
isNestedInTooltip: true,
|
|
35
|
-
},
|
|
39
|
+
isNestedInTooltip: true,
|
|
36
40
|
};
|
|
37
41
|
|
|
38
|
-
function
|
|
39
|
-
props:
|
|
42
|
+
function UnforwardedTooltip(
|
|
43
|
+
props: TooltipProps,
|
|
40
44
|
ref: React.ForwardedRef< any >
|
|
41
45
|
) {
|
|
42
46
|
const {
|
|
@@ -48,14 +52,10 @@ function UnconnectedTooltip(
|
|
|
48
52
|
shortcut,
|
|
49
53
|
text,
|
|
50
54
|
|
|
51
|
-
// From Internal Context system
|
|
52
|
-
isNestedInTooltip,
|
|
53
|
-
|
|
54
55
|
...restProps
|
|
55
|
-
} =
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
);
|
|
56
|
+
} = props;
|
|
57
|
+
|
|
58
|
+
const { isNestedInTooltip } = useContext( TooltipInternalContext );
|
|
59
59
|
|
|
60
60
|
const baseId = useInstanceId( Tooltip, 'tooltip' );
|
|
61
61
|
const describedById = text || shortcut ? baseId : undefined;
|
|
@@ -96,16 +96,15 @@ function UnconnectedTooltip(
|
|
|
96
96
|
} );
|
|
97
97
|
|
|
98
98
|
if ( isNestedInTooltip ) {
|
|
99
|
-
return isOnlyChild
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
: children;
|
|
99
|
+
return isOnlyChild ? (
|
|
100
|
+
<Ariakit.Role { ...restProps } render={ children } />
|
|
101
|
+
) : (
|
|
102
|
+
children
|
|
103
|
+
);
|
|
105
104
|
}
|
|
106
105
|
|
|
107
106
|
return (
|
|
108
|
-
<
|
|
107
|
+
<TooltipInternalContext.Provider value={ CONTEXT_VALUE }>
|
|
109
108
|
<Ariakit.TooltipAnchor
|
|
110
109
|
onClick={ hideOnClick ? tooltipStore.hide : undefined }
|
|
111
110
|
store={ tooltipStore }
|
|
@@ -117,6 +116,7 @@ function UnconnectedTooltip(
|
|
|
117
116
|
{ isOnlyChild && ( text || shortcut ) && (
|
|
118
117
|
<Ariakit.Tooltip
|
|
119
118
|
{ ...restProps }
|
|
119
|
+
className="components-tooltip"
|
|
120
120
|
unmountOnHide
|
|
121
121
|
gutter={ 4 }
|
|
122
122
|
id={ describedById }
|
|
@@ -134,10 +134,10 @@ function UnconnectedTooltip(
|
|
|
134
134
|
) }
|
|
135
135
|
</Ariakit.Tooltip>
|
|
136
136
|
) }
|
|
137
|
-
</
|
|
137
|
+
</TooltipInternalContext.Provider>
|
|
138
138
|
);
|
|
139
139
|
}
|
|
140
140
|
|
|
141
|
-
export const Tooltip =
|
|
141
|
+
export const Tooltip = forwardRef( UnforwardedTooltip );
|
|
142
142
|
|
|
143
143
|
export default Tooltip;
|
|
@@ -12,12 +12,11 @@ import { shortcutAriaLabel } from '@wordpress/keycodes';
|
|
|
12
12
|
/**
|
|
13
13
|
* Internal dependencies
|
|
14
14
|
*/
|
|
15
|
-
import Button from '../../button';
|
|
16
15
|
import Modal from '../../modal';
|
|
17
16
|
import Tooltip, { TOOLTIP_DELAY } from '..';
|
|
18
17
|
|
|
19
18
|
const props = {
|
|
20
|
-
children: <
|
|
19
|
+
children: <button>Tooltip anchor</button>,
|
|
21
20
|
text: 'tooltip text',
|
|
22
21
|
};
|
|
23
22
|
|
|
@@ -56,8 +55,8 @@ describe( 'Tooltip', () => {
|
|
|
56
55
|
render(
|
|
57
56
|
// @ts-expect-error Tooltip cannot have more than one child element
|
|
58
57
|
<Tooltip { ...props }>
|
|
59
|
-
<
|
|
60
|
-
<
|
|
58
|
+
<button>First button</button>
|
|
59
|
+
<button>Second button</button>
|
|
61
60
|
</Tooltip>
|
|
62
61
|
);
|
|
63
62
|
|
|
@@ -102,6 +101,17 @@ describe( 'Tooltip', () => {
|
|
|
102
101
|
screen.queryByRole( 'button', { description: 'tooltip text' } )
|
|
103
102
|
).not.toBeInTheDocument();
|
|
104
103
|
} );
|
|
104
|
+
|
|
105
|
+
it( 'should not leak Tooltip props to the tooltip anchor', () => {
|
|
106
|
+
render(
|
|
107
|
+
<Tooltip data-foo>
|
|
108
|
+
<button>Anchor</button>
|
|
109
|
+
</Tooltip>
|
|
110
|
+
);
|
|
111
|
+
expect(
|
|
112
|
+
screen.getByRole( 'button', { name: 'Anchor' } )
|
|
113
|
+
).not.toHaveAttribute( 'data-foo' );
|
|
114
|
+
} );
|
|
105
115
|
} );
|
|
106
116
|
|
|
107
117
|
describe( 'keyboard focus', () => {
|
|
@@ -142,9 +152,7 @@ describe( 'Tooltip', () => {
|
|
|
142
152
|
render(
|
|
143
153
|
<>
|
|
144
154
|
<Tooltip { ...props }>
|
|
145
|
-
<
|
|
146
|
-
Tooltip anchor
|
|
147
|
-
</Button>
|
|
155
|
+
<button aria-disabled="true">Tooltip anchor</button>
|
|
148
156
|
</Tooltip>
|
|
149
157
|
<button>Focus me</button>
|
|
150
158
|
</>
|
|
@@ -196,9 +204,7 @@ describe( 'Tooltip', () => {
|
|
|
196
204
|
render(
|
|
197
205
|
<>
|
|
198
206
|
<Tooltip { ...props }>
|
|
199
|
-
<
|
|
200
|
-
Tooltip anchor
|
|
201
|
-
</Button>
|
|
207
|
+
<button aria-disabled="true">Tooltip anchor</button>
|
|
202
208
|
</Tooltip>
|
|
203
209
|
<button>Focus me</button>
|
|
204
210
|
</>
|
|
@@ -310,12 +316,12 @@ describe( 'Tooltip', () => {
|
|
|
310
316
|
|
|
311
317
|
render(
|
|
312
318
|
<Tooltip { ...props }>
|
|
313
|
-
<
|
|
319
|
+
<button
|
|
314
320
|
onMouseEnter={ onMouseEnterMock }
|
|
315
321
|
onMouseLeave={ onMouseLeaveMock }
|
|
316
322
|
>
|
|
317
323
|
Tooltip anchor
|
|
318
|
-
</
|
|
324
|
+
</button>
|
|
319
325
|
</Tooltip>
|
|
320
326
|
);
|
|
321
327
|
|
|
@@ -443,7 +449,7 @@ describe( 'Tooltip', () => {
|
|
|
443
449
|
<Tooltip text="Outer tooltip">
|
|
444
450
|
<Tooltip text="Middle tooltip">
|
|
445
451
|
<Tooltip text="Inner tooltip">
|
|
446
|
-
<
|
|
452
|
+
<button>Tooltip anchor</button>
|
|
447
453
|
</Tooltip>
|
|
448
454
|
</Tooltip>
|
|
449
455
|
</Tooltip>
|
|
@@ -481,5 +487,18 @@ describe( 'Tooltip', () => {
|
|
|
481
487
|
).not.toBeInTheDocument()
|
|
482
488
|
);
|
|
483
489
|
} );
|
|
490
|
+
|
|
491
|
+
it( 'should not leak Tooltip component classname to the anchor element', () => {
|
|
492
|
+
render(
|
|
493
|
+
<Tooltip>
|
|
494
|
+
<Tooltip>
|
|
495
|
+
<button>Anchor</button>
|
|
496
|
+
</Tooltip>
|
|
497
|
+
</Tooltip>
|
|
498
|
+
);
|
|
499
|
+
expect(
|
|
500
|
+
screen.getByRole( 'button', { name: 'Anchor' } )
|
|
501
|
+
).not.toHaveClass( 'components-tooltip' );
|
|
502
|
+
} );
|
|
484
503
|
} );
|
|
485
504
|
} );
|
package/src/tooltip/types.ts
CHANGED