import QtQuick import QtQuick.Window import QtQuick.Controls import QtQuick.Layouts import FluentUI Item { property alias logo : image_logo.source property string title: "" property FluObject items property FluObject footerItems property int displayMode: width<=700 ? FluNavigationView.Minimal : FluNavigationView.Open property bool displaMinimalMenu : false property Component autoSuggestBox id:root onDisplayModeChanged: { if(displayMode === FluNavigationView.Minimal){ anim_navi.enabled = false displaMinimalMenu = false timer_anim_enable.restart() } } Timer{ id:timer_anim_enable interval: 150 onTriggered: { anim_navi.enabled = true } } enum DisplayMode { Minimal, Open, Auto } property var window : { if(Window.window == null) return null return Window.window } Component{ id:com_panel_item_separatorr FluDivider{ width: nav_list.width height: { if(model.parent){ return model.parent.isExpand ? 1 : 0 } return 1 } Behavior on height { NumberAnimation{ duration: 150 } } } } Component{ id:com_panel_item_header Item{ height: { if(model.parent){ return model.parent.isExpand ? 30 : 0 } return 30 } Behavior on height { NumberAnimation{ duration: 150 } } width: nav_list.width FluText{ text:model.title fontStyle: FluText.BodyStrong anchors{ bottom: parent.bottom left:parent.left leftMargin: 10 } } } } Component{ id:com_panel_item_expander Item{ height: 38 width: nav_list.width Rectangle{ radius: 4 anchors{ top: parent.top bottom: parent.bottom left: parent.left right: parent.right topMargin: 2 bottomMargin: 2 leftMargin: 6 rightMargin: 6 } Rectangle{ width: 3 height: 18 radius: 1.5 color: FluTheme.primaryColor.dark visible: { for(var i=0;i