pragma ComponentBehavior: Bound import QtQuick import qs.components import Caelestia.Config Item { id: root required property DrawerVisibilities visibilities required property bool sidebarVisible readonly property real nonAnimWidth: content.implicitWidth readonly property bool shouldBeActive: visibilities.session && Config.session.enabled property real offsetScale: shouldBeActive ? 0 : 1 property real sidebarOffset: sidebarVisible ? 14 : 0 visible: offsetScale < 1 anchors.rightMargin: (-implicitWidth - 5 - sidebarOffset) * offsetScale implicitWidth: content.implicitWidth implicitHeight: content.implicitHeight || 510 // Hard coded fallback for first open opacity: 1 - offsetScale Behavior on offsetScale { Anim { duration: Tokens.anim.durations.expressiveDefaultSpatial easing: Tokens.anim.expressiveDefaultSpatial } } Loader { id: content anchors.verticalCenter: parent.verticalCenter anchors.left: parent.left active: root.shouldBeActive || root.visible sourceComponent: Content { visibilities: root.visibilities } } }