// Revealer from end-4 https://github.com/end-4/dots-hyprland/blob/eac4ab3e3c249008d9596023f79dbc2d31012600/.config/quickshell/ii/modules/common/widgets/Revealer.qml import qs.common import QtQuick /** * Recreation of GTK revealer. Expects one single child. */ Item { id: root property bool reveal property bool vertical: false clip: true implicitWidth: (reveal || vertical) ? childrenRect.width : 0 implicitHeight: (reveal || !vertical) ? childrenRect.height : 0 visible: reveal || (width > 0 && height > 0) Behavior on implicitWidth { enabled: !vertical animation: Appearance.animation.elementMoveEnter.numberAnimation.createObject(this) } Behavior on implicitHeight { enabled: vertical animation: Appearance.animation.elementMoveEnter.numberAnimation.createObject(this) } }