File tree Expand file tree Collapse file tree 1 file changed +16
-7
lines changed Expand file tree Collapse file tree 1 file changed +16
-7
lines changed Original file line number Diff line number Diff line change @@ -192,17 +192,26 @@ class ReactTooltip extends React.Component {
192
192
* Pick out corresponded target elements
193
193
*/
194
194
getTargetArray ( id ) {
195
- let targetArray ;
195
+ let targetArray = [ ] ;
196
+ let selector ;
196
197
if ( ! id ) {
197
- targetArray = document . querySelectorAll ( "[data-tip]:not([data-for])" ) ;
198
+ selector = "[data-tip]:not([data-for])" ;
198
199
} else {
199
200
const escaped = id . replace ( / \\ / g, "\\\\" ) . replace ( / " / g, '\\"' ) ;
200
- targetArray = document . querySelectorAll (
201
- `[data-tip][data-for="${ escaped } "]`
202
- ) ;
201
+ selector = `[data-tip][data-for="${ escaped } "]` ;
203
202
}
204
- // targetArray is a NodeList, convert it to a real array
205
- return nodeListToArray ( targetArray ) ;
203
+
204
+ // Scan document for shadow DOM elements
205
+ nodeListToArray ( document . getElementsByTagName ( "*" ) )
206
+ . filter ( element => element . shadowRoot )
207
+ . forEach ( element => {
208
+ targetArray = targetArray . concat (
209
+ nodeListToArray ( element . shadowRoot . querySelectorAll ( selector ) )
210
+ ) ;
211
+ } ) ;
212
+ return targetArray . concat (
213
+ nodeListToArray ( document . querySelectorAll ( selector ) )
214
+ ) ;
206
215
}
207
216
208
217
/**
You can’t perform that action at this time.
0 commit comments