@@ -72,7 +72,7 @@ const PLACEMENT_RIGHT = isRTL ? 'left-start' : 'right-start'
72
72
const PLACEMENT_LEFT = isRTL ? 'right-start' : 'left-start'
73
73
74
74
const Default = {
75
- offset : [ 0 , 0 ] ,
75
+ offset : [ 0 , 2 ] ,
76
76
flip : true ,
77
77
boundary : 'clippingParents' ,
78
78
reference : 'toggle' ,
@@ -194,20 +194,19 @@ class Dropdown extends BaseComponent {
194
194
195
195
this . _menu . classList . toggle ( CLASS_NAME_SHOW )
196
196
this . _element . classList . toggle ( CLASS_NAME_SHOW )
197
- EventHandler . trigger ( parent , EVENT_SHOWN , relatedTarget )
197
+ EventHandler . trigger ( this . _element , EVENT_SHOWN , relatedTarget )
198
198
}
199
199
200
200
hide ( ) {
201
201
if ( this . _element . disabled || this . _element . classList . contains ( CLASS_NAME_DISABLED ) || ! this . _menu . classList . contains ( CLASS_NAME_SHOW ) ) {
202
202
return
203
203
}
204
204
205
- const parent = Dropdown . getParentFromElement ( this . _element )
206
205
const relatedTarget = {
207
206
relatedTarget : this . _element
208
207
}
209
208
210
- const hideEvent = EventHandler . trigger ( parent , EVENT_HIDE , relatedTarget )
209
+ const hideEvent = EventHandler . trigger ( this . _element , EVENT_HIDE , relatedTarget )
211
210
212
211
if ( hideEvent . defaultPrevented ) {
213
212
return
@@ -219,7 +218,7 @@ class Dropdown extends BaseComponent {
219
218
220
219
this . _menu . classList . toggle ( CLASS_NAME_SHOW )
221
220
this . _element . classList . toggle ( CLASS_NAME_SHOW )
222
- EventHandler . trigger ( parent , EVENT_HIDDEN , relatedTarget )
221
+ EventHandler . trigger ( this . _element , EVENT_HIDDEN , relatedTarget )
223
222
}
224
223
225
224
dispose ( ) {
@@ -319,7 +318,7 @@ class Dropdown extends BaseComponent {
319
318
name : 'preventOverflow' ,
320
319
options : {
321
320
altBoundary : this . _config . flip ,
322
- rootBoundary : this . _config . boundary
321
+ boundary : this . _config . boundary
323
322
}
324
323
} ,
325
324
{
@@ -383,7 +382,6 @@ class Dropdown extends BaseComponent {
383
382
const toggles = SelectorEngine . find ( SELECTOR_DATA_TOGGLE )
384
383
385
384
for ( let i = 0 , len = toggles . length ; i < len ; i ++ ) {
386
- const parent = Dropdown . getParentFromElement ( toggles [ i ] )
387
385
const context = Data . getData ( toggles [ i ] , DATA_KEY )
388
386
const relatedTarget = {
389
387
relatedTarget : toggles [ i ]
@@ -409,7 +407,7 @@ class Dropdown extends BaseComponent {
409
407
continue
410
408
}
411
409
412
- const hideEvent = EventHandler . trigger ( parent , EVENT_HIDE , relatedTarget )
410
+ const hideEvent = EventHandler . trigger ( toggles [ i ] , EVENT_HIDE , relatedTarget )
413
411
if ( hideEvent . defaultPrevented ) {
414
412
continue
415
413
}
@@ -429,7 +427,7 @@ class Dropdown extends BaseComponent {
429
427
430
428
dropdownMenu . classList . remove ( CLASS_NAME_SHOW )
431
429
toggles [ i ] . classList . remove ( CLASS_NAME_SHOW )
432
- EventHandler . trigger ( parent , EVENT_HIDDEN , relatedTarget )
430
+ EventHandler . trigger ( toggles [ i ] , EVENT_HIDDEN , relatedTarget )
433
431
}
434
432
}
435
433
@@ -470,6 +468,12 @@ class Dropdown extends BaseComponent {
470
468
return
471
469
}
472
470
471
+ if ( ! isActive && ( event . key === ARROW_UP_KEY || event . key === ARROW_DOWN_KEY ) ) {
472
+ const button = this . matches ( SELECTOR_DATA_TOGGLE ) ? this : SelectorEngine . prev ( this , SELECTOR_DATA_TOGGLE ) [ 0 ]
473
+ button . click ( )
474
+ return
475
+ }
476
+
473
477
if ( ! isActive || event . key === SPACE_KEY ) {
474
478
Dropdown . clearMenus ( )
475
479
return
0 commit comments