44 lines
956 B
QML
44 lines
956 B
QML
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
|
|
}
|
|
}
|