import QtQuick import "../config" as Cfg Rectangle { id: card required property bool popupOpen required property bool isTop property bool animEnabled: true width: parent.width anchors.top: isTop ? parent.top : undefined anchors.bottom: isTop ? undefined : parent.bottom transform: Translate { y: popupOpen ? 0 : (isTop ? -card.height : card.height) Behavior on y { NumberAnimation { duration: Cfg.Config.popupAnimDuration easing.type: Easing.OutExpo } enabled: animEnabled } } opacity: popupOpen ? 1.0 : 0.0 Behavior on opacity { NumberAnimation { duration: 200 } } default property alias _popupCardContent: _content.data Item { id: _content anchors.fill: parent z: 2 } MouseArea { anchors.fill: parent propagateComposedEvents: false z: 1 } }