@@ -84,6 +84,12 @@ export interface IPopoverAttrs extends IOverlayableAttrs, IAttrs {
84
84
85
85
/** Trigger element */
86
86
trigger : m . Vnode < any , any > ;
87
+
88
+ /**
89
+ * Class added to trigger element on interaction
90
+ * @default 'cui-active'
91
+ */
92
+ triggerActiveClass ?: string ;
87
93
}
88
94
89
95
export interface IPopoverTriggerAttrs extends IAttrs {
@@ -109,7 +115,8 @@ export class Popover extends AbstractComponent<IPopoverAttrs> {
109
115
hoverOpenDelay : 0 ,
110
116
interactionType : 'click' ,
111
117
position : 'bottom' ,
112
- hasArrow : true
118
+ hasArrow : true ,
119
+ triggerActiveClass : Classes . ACTIVE
113
120
} as IPopoverAttrs ;
114
121
}
115
122
@@ -167,9 +174,9 @@ export class Popover extends AbstractComponent<IPopoverAttrs> {
167
174
onmouseleave : this . handleTriggerMouseLeave ,
168
175
style
169
176
} , [
170
- hasArrow && m ( `.${ Classes . POPOVER_ARROW } ` ) ,
171
- m ( `.${ Classes . POPOVER_CONTENT } ` , content )
172
- ] ) ;
177
+ hasArrow && m ( `.${ Classes . POPOVER_ARROW } ` ) ,
178
+ m ( `.${ Classes . POPOVER_CONTENT } ` , content )
179
+ ] ) ;
173
180
174
181
return m . fragment ( { } , [
175
182
this . trigger ,
@@ -262,7 +269,7 @@ export class Popover extends AbstractComponent<IPopoverAttrs> {
262
269
if ( this . isOpen ) {
263
270
triggerAttrs . class = classnames (
264
271
triggerAttrs . className || triggerAttrs . class ,
265
- Classes . ACTIVE ,
272
+ this . attrs . triggerActiveClass ,
266
273
Classes . POPOVER_TRIGGER_ACTIVE
267
274
) ;
268
275
} else triggerAttrs . class = triggerAttrs . className || triggerAttrs . class || '' ;
0 commit comments