@@ -4,9 +4,10 @@ export const tooltip = (element, props) => {
44 let component = null ;
55 let title = element . getAttribute ( 'title' ) ;
66 let action = props ?. action || element . getAttribute ( 'action' ) || 'hover' ;
7+ const hideOnClickOutside = props ?. hideOnClickOutside || element . getAttribute ( 'hideOnClickOutside' ) || false ;
78
89 const detect = ( { target } ) => {
9- if ( config . hideOnClickOutside && target && ! target . classList . contains ( 'tooltip' ) ) {
10+ if ( hideOnClickOutside && target && ! target . classList . contains ( 'tooltip' ) ) {
1011 onHide ( ) ;
1112 }
1213 } ;
@@ -16,6 +17,10 @@ export const tooltip = (element, props) => {
1617 targetElement : element
1718 } ;
1819
20+ if ( config . hideOnClickOutside ) {
21+ delete config . hideOnClickOutside ;
22+ }
23+
1924 if ( title ) {
2025 element . removeAttribute ( 'title' ) ;
2126 config . content = title ;
@@ -24,7 +29,7 @@ export const tooltip = (element, props) => {
2429 const onClick = ( ) => {
2530 if ( component ) {
2631 if (
27- ! ( action === 'click' && config . hideOnClickOutside )
32+ ! ( action === 'click' && hideOnClickOutside )
2833 ) {
2934 onHide ( ) ;
3035 }
@@ -56,7 +61,7 @@ export const tooltip = (element, props) => {
5661 if ( action === 'click' ) {
5762 element . addEventListener ( 'click' , onClick ) ;
5863
59- if ( config . hideOnClickOutside ) {
64+ if ( hideOnClickOutside ) {
6065 document . addEventListener ( 'click' , detect , {
6166 passive : true ,
6267 capture : true
@@ -72,7 +77,7 @@ export const tooltip = (element, props) => {
7277 } ;
7378
7479 const removeListeners = ( ) => {
75- if ( config . hideOnClickOutside ) {
80+ if ( hideOnClickOutside ) {
7681 document . removeEventListener ( 'click' , detect ) ;
7782 }
7883
0 commit comments