@@ -3,30 +3,32 @@ const COMPONENT_SELECTOR = `[${COMPONENT_NAME}]`
33const BODY_SELECTOR = 'data-popover-body'
44const TRIGGER_SELECTOR = '[data-popover-target]'
55
6- const components = document . querySelectorAll ( COMPONENT_SELECTOR )
6+ export default function ( ) {
7+ const components = document . querySelectorAll ( COMPONENT_SELECTOR )
78
8- for ( let i = 0 ; i < components . length ; i ++ ) {
9- const triggers = components [ i ] . querySelectorAll ( TRIGGER_SELECTOR )
9+ for ( let i = 0 ; i < components . length ; i ++ ) {
10+ const triggers = components [ i ] . querySelectorAll ( TRIGGER_SELECTOR )
1011
11- for ( let i = 0 ; i < triggers . length ; i ++ ) {
12- triggers [ i ] . addEventListener ( 'click' , e => {
13- e . preventDefault ( )
12+ for ( let i = 0 ; i < triggers . length ; i ++ ) {
13+ triggers [ i ] . addEventListener ( 'click' , e => {
14+ e . preventDefault ( )
1415
15- const targetBody = document . querySelector ( `[${ BODY_SELECTOR } =${ e . target . dataset . popoverTarget } ]` )
16+ const targetBody = document . querySelector ( `[${ BODY_SELECTOR } =${ e . target . dataset . popoverTarget } ]` )
1617
17- components [ i ] . classList . toggle ( components [ i ] . dataset . activeClass )
18- } )
19- }
18+ components [ i ] . classList . toggle ( components [ i ] . dataset . activeClass )
19+ } )
20+ }
2021
21- document . addEventListener ( 'click' , e => {
22- if ( components [ i ] . classList . contains ( components [ i ] . dataset . activeClass ) ) {
23- const popoverBody = components [ i ] . querySelector ( `[${ BODY_SELECTOR } ]` )
22+ document . addEventListener ( 'click' , e => {
23+ if ( components [ i ] . classList . contains ( components [ i ] . dataset . activeClass ) ) {
24+ const popoverBody = components [ i ] . querySelector ( `[${ BODY_SELECTOR } ]` )
2425
25- for ( let i = 0 ; i < triggers . length ; i ++ ) {
26- if ( ! popoverBody . contains ( e . target ) && e . target !== triggers [ i ] ) {
27- components [ i ] . classList . remove ( components [ i ] . dataset . activeClass )
26+ for ( let i = 0 ; i < triggers . length ; i ++ ) {
27+ if ( ! popoverBody . contains ( e . target ) && e . target !== triggers [ i ] ) {
28+ components [ i ] . classList . remove ( components [ i ] . dataset . activeClass )
29+ }
2830}
2931}
30- }
31- } )
32+ } )
33+ }
3234}