pragma ComponentBehavior: Bound import QtQuick import Quickshell import ZShell.Config import qs.Components import qs.Modules.Bar.Popouts as BarPopouts Item { id: root property real offsetScale: shouldBeActive ? 0 : 1 required property ScreenState screenState readonly property bool shouldBeActive: screenState.sidebar && !sidebar.chatActive required property Item sidebar anchors.bottomMargin: (-implicitHeight - 5) * offsetScale implicitHeight: content.implicitHeight + 8 * 2 implicitWidth: sidebar.width * (1 - sidebar.offsetScale) opacity: 1 - offsetScale visible: offsetScale < 1 Behavior on offsetScale { Anim { duration: Tokens.anim.durations.expressiveDefaultSpatial easing: Tokens.anim.expressiveDefaultSpatial } } Loader { id: content active: root.shouldBeActive || root.visible anchors.left: parent.left anchors.margins: 8 anchors.top: parent.top sourceComponent: Content { implicitWidth: root.implicitWidth - 8 * 2 screenState: root.screenState } } }