diff --git a/new-lamassu-admin/src/components/Popper.js b/new-lamassu-admin/src/components/Popper.js
index db01740d..a933e39d 100644
--- a/new-lamassu-admin/src/components/Popper.js
+++ b/new-lamassu-admin/src/components/Popper.js
@@ -105,20 +105,29 @@ const Popover = ({
const classes = useStyles()
- const arrowClasses = {
+ const getArrowClasses = placement => ({
[classes.arrow]: true,
- [classes.arrowBottom]: props.placement === 'bottom',
- [classes.arrowTop]: props.placement === 'top',
- [classes.arrowRight]: props.placement === 'right',
- [classes.arrowLeft]: props.placement === 'left'
+ [classes.arrowBottom]: placement === 'bottom',
+ [classes.arrowTop]: placement === 'top',
+ [classes.arrowRight]: placement === 'right',
+ [classes.arrowLeft]: placement === 'left'
+ })
+
+ const flipPlacements = {
+ top: ['bottom'],
+ bottom: ['top'],
+ left: ['right'],
+ right: ['left']
}
- const modifiers = R.merge(props.modifiers, {
+ const modifiers = R.mergeDeepLeft(props.modifiers, {
flip: {
- enabled: false
+ enabled: R.defaultTo(false, props.flip),
+ allowedAutoPlacements: flipPlacements[props.placement],
+ boundary: 'clippingParents'
},
preventOverflow: {
- enabled: true,
+ enabled: R.defaultTo(true, props.preventOverflow),
boundariesElement: 'scrollParent'
},
offset: {
@@ -126,7 +135,7 @@ const Popover = ({
offset: '0, 10'
},
arrow: {
- enabled: true,
+ enabled: R.defaultTo(true, props.showArrow),
element: arrowRef
},
computeStyle: {
@@ -134,6 +143,12 @@ const Popover = ({
}
})
+ if (props.preventOverflow === false) {
+ modifiers.hide = {
+ enabled: false
+ }
+ }
+
return (
<>