summaryrefslogtreecommitdiff
path: root/widgets/StateLayer.qml
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/StateLayer.qml')
-rw-r--r--widgets/StateLayer.qml45
1 files changed, 45 insertions, 0 deletions
diff --git a/widgets/StateLayer.qml b/widgets/StateLayer.qml
new file mode 100644
index 0000000..e1a7b61
--- /dev/null
+++ b/widgets/StateLayer.qml
@@ -0,0 +1,45 @@
+import "root:/widgets"
+import "root:/config"
+import QtQuick
+
+Rectangle {
+ id: root
+
+ function onClicked(event: MouseEvent): void {
+ }
+
+ anchors.fill: parent
+
+ color: Appearance.colours.m3onSurface
+ opacity: mouse.pressed ? 0.1 : mouse.hovered ? 0.08 : 0
+
+ MouseArea {
+ id: mouse
+
+ property bool hovered
+
+ anchors.fill: parent
+ hoverEnabled: true
+
+ onEntered: hovered = true
+ onExited: hovered = false
+
+ onClicked: event => root.onClicked(event)
+ }
+
+ Behavior on opacity {
+ NumberAnimation {
+ duration: Appearance.anim.durations.smaller
+ easing.type: Easing.BezierSpline
+ easing.bezierCurve: Appearance.anim.curves.standard
+ }
+ }
+
+ Behavior on color {
+ ColorAnimation {
+ duration: Appearance.anim.durations.normal
+ easing.type: Easing.BezierSpline
+ easing.bezierCurve: Appearance.anim.curves.standard
+ }
+ }
+}