import Quickshell import QtQuick import qs.Components import qs.Config import qs.Helpers Item { id: root required property var panels required property ShellScreen screen required property PersistentProperties visibilities implicitHeight: 0 implicitWidth: content.implicitWidth visible: height > 0 states: State { name: "visible" when: root.visibilities.settings PropertyChanges { root.implicitHeight: content.implicitHeight } } transitions: [ Transition { from: "" to: "visible" Anim { duration: MaterialEasing.expressiveEffectsTime easing.bezierCurve: MaterialEasing.expressiveEffects property: "implicitHeight" target: root } }, Transition { from: "visible" to: "" Anim { easing.bezierCurve: MaterialEasing.expressiveEffects property: "implicitHeight" target: root } } ] CustomClippingRect { anchors.fill: parent Loader { id: content active: true anchors.bottom: parent.bottom anchors.horizontalCenter: parent.horizontalCenter visible: true sourceComponent: Content { screen: root.screen visibilities: root.visibilities } } } }