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