pragma ComponentBehavior: Bound import QtQuick import QtQuick.Layouts import qs.Components import ZShell.Config import qs.Services ConnectedRect { id: root property string icon property color iconColor: Colors.palette.m3onSurfaceVariant property alias label: label.text property Component leadingComponent: icon ? iconComp : null property string subtext property alias value: value.text Layout.fillWidth: true implicitHeight: rowLayout.implicitHeight + rowLayout.anchors.margins * 2 Component { id: iconComp MaterialIcon { color: root.iconColor font.pointSize: Tokens.font.size.small text: root.icon } } RowLayout { id: rowLayout anchors.fill: parent anchors.leftMargin: Tokens.padding.largeIncreased anchors.margins: Tokens.padding.small anchors.rightMargin: Tokens.padding.largeIncreased spacing: Tokens.spacing.small Loader { active: root.leadingComponent sourceComponent: root.leadingComponent visible: root.leadingComponent } ColumnLayout { Layout.fillWidth: true spacing: 0 CustomText { id: label Layout.fillWidth: true elide: Text.ElideRight font.pointSize: Tokens.font.size.small } CustomText { Layout.fillWidth: true color: Colors.palette.m3outline elide: Text.ElideRight font.pointSize: Tokens.font.size.small text: root.subtext visible: root.subtext } } CustomText { id: value Layout.maximumWidth: root.width / 2 color: Colors.palette.m3onSurfaceVariant elide: Text.ElideRight font.pointSize: Tokens.font.size.small horizontalAlignment: Text.AlignRight } } }